From 88c4de848ec25d3e0d415da646ee6b1725776a2c Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 27 Sep 2023 07:25:11 -0400 Subject: [PATCH 001/259] Add a general sub-clause (#957) * Add a general sub-clause In a recent PR, we broke apart local variable declarations into three different sections. When we did that, we created a clause that has both text and sub-clauses. This PR fixes that. I spoke offline with @RexJaeschke and he's making the appropriate edit to the Word doc for submission. I'll cherry-pick this PR and the subsequent automated PR into `draft-v8` once this is merged. * run section renumber locally This will make it easier to cherry pick this once it's merged. --- standard/README.md | 7 +- standard/grammar.md | 356 ++++++++++++++++++++--------------------- standard/statements.md | 8 +- 3 files changed, 187 insertions(+), 184 deletions(-) diff --git a/standard/README.md b/standard/README.md index e30c6541d..0cf40598e 100644 --- a/standard/README.md +++ b/standard/README.md @@ -438,9 +438,10 @@ - [§13.6](statements.md#136-declaration-statements) Declaration statements - [§13.6.1](statements.md#1361-general) General - [§13.6.2](statements.md#1362-local-variable-declarations) Local variable declarations - - [§13.6.2.1](statements.md#13621-implicitly-typed-local-variable-declarations) Implicitly typed local variable declarations - - [§13.6.2.2](statements.md#13622-explicitly-typed-local-variable-declarations) Explicitly typed local variable declarations - - [§13.6.2.3](statements.md#13623-ref-local-variable-declarations) Ref local variable declarations + - [§13.6.2.1](statements.md#13621-general) General + - [§13.6.2.2](statements.md#13622-implicitly-typed-local-variable-declarations) Implicitly typed local variable declarations + - [§13.6.2.3](statements.md#13623-explicitly-typed-local-variable-declarations) Explicitly typed local variable declarations + - [§13.6.2.4](statements.md#13624-ref-local-variable-declarations) Ref local variable declarations - [§13.6.3](statements.md#1363-local-constant-declarations) Local constant declarations - [§13.6.4](statements.md#1364-local-function-declarations) Local function declarations - [§13.7](statements.md#137-expression-statements) Expression statements diff --git a/standard/grammar.md b/standard/grammar.md index 2d7b1d7b7..9c9e654b2 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -10,7 +10,7 @@ This annex contains the grammar productions found in the specification, includin ```ANTLR -// Source: §6.3.1 General +// Source: [§6.3.1](lexical-structure.md#631-general) General DEFAULT : 'default' ; NULL : 'null' ; TRUE : 'true' ; @@ -18,7 +18,7 @@ FALSE : 'false' ; ASTERISK : '*' ; SLASH : '/' ; -// Source: §6.3.1 General +// Source: [§6.3.1](lexical-structure.md#631-general) General input : input_section? ; @@ -38,13 +38,13 @@ input_element | token ; -// Source: §6.3.2 Line terminators +// Source: [§6.3.2](lexical-structure.md#632-line-terminators) Line terminators New_Line : New_Line_Character | '\u000D\u000A' // carriage return, line feed ; -// Source: §6.3.3 Comments +// Source: [§6.3.3](lexical-structure.md#633-comments) Comments Comment : Single_Line_Comment | Delimited_Comment @@ -80,7 +80,7 @@ fragment Not_Slash_Or_Asterisk : ~('/' | '*') // Any except SLASH or ASTERISK ; -// Source: §6.3.4 White space +// Source: [§6.3.4](lexical-structure.md#634-white-space) White space Whitespace : [\p{Zs}] // any character with Unicode class Zs | '\u0009' // horizontal tab @@ -88,7 +88,7 @@ Whitespace | '\u000C' // form feed ; -// Source: §6.4.1 General +// Source: [§6.4.1](lexical-structure.md#641-general) General token : identifier | keyword @@ -99,14 +99,14 @@ token | operator_or_punctuator ; -// Source: §6.4.2 Unicode character escape sequences +// Source: [§6.4.2](lexical-structure.md#642-unicode-character-escape-sequences) Unicode character escape sequences fragment Unicode_Escape_Sequence : '\\u' Hex_Digit Hex_Digit Hex_Digit Hex_Digit | '\\U' Hex_Digit Hex_Digit Hex_Digit Hex_Digit Hex_Digit Hex_Digit Hex_Digit Hex_Digit ; -// Source: §6.4.3 Identifiers +// Source: [§6.4.3](lexical-structure.md#643-identifiers) Identifiers identifier : Simple_Identifier | contextual_keyword @@ -185,7 +185,7 @@ fragment Formatting_Character | Unicode_Escape_Sequence ; -// Source: §6.4.4 Keywords +// Source: [§6.4.4](lexical-structure.md#644-keywords) Keywords keyword : 'abstract' | 'as' | 'base' | 'bool' | 'break' | 'byte' | 'case' | 'catch' | 'char' | 'checked' @@ -205,7 +205,7 @@ keyword | 'volatile' | 'while' ; -// Source: §6.4.4 Keywords +// Source: [§6.4.4](lexical-structure.md#644-keywords) Keywords contextual_keyword : 'add' | 'alias' | 'ascending' | 'async' | 'await' | 'by' | 'descending' | 'dynamic' | 'equals' | 'from' @@ -215,7 +215,7 @@ contextual_keyword | 'var' | 'when' | 'where' | 'yield' ; -// Source: §6.4.5.1 General +// Source: [§6.4.5.1](lexical-structure.md#6451-general) General literal : boolean_literal | Integer_Literal @@ -225,13 +225,13 @@ literal | null_literal ; -// Source: §6.4.5.2 Boolean literals +// Source: [§6.4.5.2](lexical-structure.md#6452-boolean-literals) Boolean literals boolean_literal : TRUE | FALSE ; -// Source: §6.4.5.3 Integer literals +// Source: [§6.4.5.3](lexical-structure.md#6453-integer-literals) Integer literals Integer_Literal : Decimal_Integer_Literal | Hexadecimal_Integer_Literal @@ -279,7 +279,7 @@ fragment Binary_Digit : '0' | '1' ; -// Source: §6.4.5.4 Real literals +// Source: [§6.4.5.4](lexical-structure.md#6454-real-literals) Real literals Real_Literal : Decimal_Digit Decorated_Decimal_Digit* '.' Decimal_Digit Decorated_Decimal_Digit* Exponent_Part? Real_Type_Suffix? @@ -300,7 +300,7 @@ fragment Real_Type_Suffix : 'F' | 'f' | 'D' | 'd' | 'M' | 'm' ; -// Source: §6.4.5.5 Character literals +// Source: [§6.4.5.5](lexical-structure.md#6455-character-literals) Character literals Character_Literal : '\'' Character '\'' ; @@ -326,7 +326,7 @@ fragment Hexadecimal_Escape_Sequence : '\\x' Hex_Digit Hex_Digit? Hex_Digit? Hex_Digit? ; -// Source: §6.4.5.6 String literals +// Source: [§6.4.5.6](lexical-structure.md#6456-string-literals) String literals String_Literal : Regular_String_Literal | Verbatim_String_Literal @@ -365,12 +365,12 @@ fragment Quote_Escape_Sequence : '""' ; -// Source: §6.4.5.7 The null literal +// Source: [§6.4.5.7](lexical-structure.md#6457-the-null-literal) The null literal null_literal : NULL ; -// Source: §6.4.6 Operators and punctuators +// Source: [§6.4.6](lexical-structure.md#646-operators-and-punctuators) Operators and punctuators operator_or_punctuator : '{' | '}' | '[' | ']' | '(' | ')' | '.' | ',' | ':' | ';' | '+' | '-' | ASTERISK | SLASH | '%' | '&' | '|' | '^' | '!' | '~' @@ -387,7 +387,7 @@ right_shift_assignment : '>' '>=' ; -// Source: §6.5.1 General +// Source: [§6.5.1](lexical-structure.md#651-general) General PP_Directive : PP_Start PP_Kind PP_New_Line ; @@ -419,13 +419,13 @@ fragment PP_New_Line : PP_Whitespace? Single_Line_Comment? New_Line ; -// Source: §6.5.2 Conditional compilation symbols +// Source: [§6.5.2](lexical-structure.md#652-conditional-compilation-symbols) Conditional compilation symbols fragment PP_Conditional_Symbol // Must not be equal to tokens TRUE or FALSE. See note below. : Basic_Identifier ; -// Source: §6.5.3 Pre-processing expressions +// Source: [§6.5.3](lexical-structure.md#653-pre-processing-expressions) Pre-processing expressions fragment PP_Expression : PP_Whitespace? PP_Or_Expression PP_Whitespace? ; @@ -456,13 +456,13 @@ fragment PP_Primary_Expression | '(' PP_Whitespace? PP_Expression PP_Whitespace? ')' ; -// Source: §6.5.4 Definition directives +// Source: [§6.5.4](lexical-structure.md#654-definition-directives) Definition directives fragment PP_Declaration : 'define' PP_Whitespace PP_Conditional_Symbol | 'undef' PP_Whitespace PP_Conditional_Symbol ; -// Source: §6.5.5 Conditional compilation directives +// Source: [§6.5.5](lexical-structure.md#655-conditional-compilation-directives) Conditional compilation directives fragment PP_Conditional : PP_If_Section | PP_Elif_Section @@ -486,7 +486,7 @@ fragment PP_Endif : 'endif' ; -// Source: §6.5.6 Diagnostic directives +// Source: [§6.5.6](lexical-structure.md#656-diagnostic-directives) Diagnostic directives fragment PP_Diagnostic : 'error' PP_Message? | 'warning' PP_Message? @@ -496,7 +496,7 @@ fragment PP_Message : PP_Whitespace Input_Character* ; -// Source: §6.5.7 Region directives +// Source: [§6.5.7](lexical-structure.md#657-region-directives) Region directives fragment PP_Region : PP_Start_Region | PP_End_Region @@ -510,7 +510,7 @@ fragment PP_End_Region : 'endregion' PP_Message? ; -// Source: §6.5.8 Line directives +// Source: [§6.5.8](lexical-structure.md#658-line-directives) Line directives fragment PP_Line : 'line' PP_Whitespace PP_Line_Indicator ; @@ -531,7 +531,7 @@ fragment PP_Compilation_Unit_Name_Character : ~('\u000D' | '\u000A' | '\u0085' | '\u2028' | '\u2029' | '#') ; -// Source: §6.5.9 Pragma directives +// Source: [§6.5.9](lexical-structure.md#659-pragma-directives) Pragma directives fragment PP_Pragma : 'pragma' PP_Pragma_Text? ; @@ -545,7 +545,7 @@ fragment PP_Pragma_Text ```ANTLR -// Source: §7.8.1 General +// Source: [§7.8.1](basic-concepts.md#781-general) General namespace_name : namespace_or_type_name ; @@ -560,7 +560,7 @@ namespace_or_type_name | qualified_alias_member ; -// Source: §8.1 General +// Source: [§8.1](types.md#81-general) General type : reference_type | value_type @@ -568,7 +568,7 @@ type | pointer_type // unsafe code support ; -// Source: §8.2.1 General +// Source: [§8.2.1](types.md#821-general) General reference_type : class_type | interface_type @@ -609,7 +609,7 @@ delegate_type : type_name ; -// Source: §8.3.1 General +// Source: [§8.3.1](types.md#831-general) General value_type : non_nullable_value_type | nullable_value_type @@ -670,7 +670,7 @@ nullable_value_type : non_nullable_value_type '?' ; -// Source: §8.4.2 Type arguments +// Source: [§8.4.2](types.md#842-type-arguments) Type arguments type_argument_list : '<' type_arguments '>' ; @@ -683,30 +683,30 @@ type_argument : type ; -// Source: §8.5 Type parameters +// Source: [§8.5](types.md#85-type-parameters) Type parameters type_parameter : identifier ; -// Source: §8.8 Unmanaged types +// Source: [§8.8](types.md#88-unmanaged-types) Unmanaged types unmanaged_type : value_type | pointer_type // unsafe code support ; -// Source: §9.5 Variable references +// Source: [§9.5](variables.md#95-variable-references) Variable references variable_reference : expression ; -// Source: §11.2.1 General +// Source: [§11.2.1](patterns.md#1121-general) General pattern : declaration_pattern | constant_pattern | var_pattern ; -// Source: §11.2.2 Declaration pattern +// Source: [§11.2.2](patterns.md#1122-declaration-pattern) Declaration pattern declaration_pattern : type simple_designation ; @@ -717,12 +717,12 @@ single_variable_designation : identifier ; -// Source: §11.2.3 Constant pattern +// Source: [§11.2.3](patterns.md#1123-constant-pattern) Constant pattern constant_pattern : constant_expression ; -// Source: §11.2.4 Var pattern +// Source: [§11.2.4](patterns.md#1124-var-pattern) Var pattern var_pattern : 'var' designation ; @@ -730,7 +730,7 @@ designation : simple_designation ; -// Source: §12.6.2.1 General +// Source: [§12.6.2.1](expressions.md#12621-general) General argument_list : argument (',' argument)* ; @@ -750,7 +750,7 @@ argument_value | 'out' variable_reference ; -// Source: §12.8.1 General +// Source: [§12.8.1](expressions.md#1281-general) General primary_expression : primary_no_array_creation_expression | array_creation_expression @@ -786,7 +786,7 @@ primary_no_array_creation_expression | stackalloc_expression ; -// Source: §12.8.3 Interpolated string expressions +// Source: [§12.8.3](expressions.md#1283-interpolated-string-expressions) Interpolated string expressions interpolated_string_expression : interpolated_regular_string_expression | interpolated_verbatim_string_expression @@ -894,17 +894,17 @@ fragment Close_Brace_Escape_Sequence : '}}' ; -// Source: §12.8.4 Simple names +// Source: [§12.8.4](expressions.md#1284-simple-names) Simple names simple_name : identifier type_argument_list? ; -// Source: §12.8.5 Parenthesized expressions +// Source: [§12.8.5](expressions.md#1285-parenthesized-expressions) Parenthesized expressions parenthesized_expression : '(' expression ')' ; -// Source: §12.8.6 Tuple expressions +// Source: [§12.8.6](expressions.md#1286-tuple-expressions) Tuple expressions tuple_expression : '(' tuple_element (',' tuple_element)+ ')' | deconstruction_expression @@ -927,7 +927,7 @@ deconstruction_element | identifier ; -// Source: §12.8.7.1 General +// Source: [§12.8.7.1](expressions.md#12871-general) General member_access : primary_expression '.' identifier type_argument_list? | predefined_type '.' identifier type_argument_list? @@ -940,7 +940,7 @@ predefined_type | 'ushort' ; -// Source: §12.8.8 Null Conditional Member Access +// Source: [§12.8.8](expressions.md#1288-null-conditional-member-access) Null Conditional Member Access null_conditional_member_access : primary_expression '?' '.' identifier type_argument_list? dependent_access* @@ -956,40 +956,40 @@ null_conditional_projection_initializer : primary_expression '?' '.' identifier type_argument_list? ; -// Source: §12.8.9.1 General +// Source: [§12.8.9.1](expressions.md#12891-general) General invocation_expression : primary_expression '(' argument_list? ')' ; -// Source: §12.8.10 Null Conditional Invocation Expression +// Source: [§12.8.10](expressions.md#12810-null-conditional-invocation-expression) Null Conditional Invocation Expression null_conditional_invocation_expression : null_conditional_member_access '(' argument_list? ')' | null_conditional_element_access '(' argument_list? ')' ; -// Source: §12.8.11.1 General +// Source: [§12.8.11.1](expressions.md#128111-general) General element_access : primary_no_array_creation_expression '[' argument_list ']' ; -// Source: §12.8.12 Null Conditional Element Access +// Source: [§12.8.12](expressions.md#12812-null-conditional-element-access) Null Conditional Element Access null_conditional_element_access : primary_no_array_creation_expression '?' '[' argument_list ']' dependent_access* ; -// Source: §12.8.13 This access +// Source: [§12.8.13](expressions.md#12813-this-access) This access this_access : 'this' ; -// Source: §12.8.14 Base access +// Source: [§12.8.14](expressions.md#12814-base-access) Base access base_access : 'base' '.' identifier type_argument_list? | 'base' '[' argument_list ']' ; -// Source: §12.8.15 Postfix increment and decrement operators +// Source: [§12.8.15](expressions.md#12815-postfix-increment-and-decrement-operators) Postfix increment and decrement operators post_increment_expression : primary_expression '++' ; @@ -998,7 +998,7 @@ post_decrement_expression : primary_expression '--' ; -// Source: §12.8.16.2 Object creation expressions +// Source: [§12.8.16.2](expressions.md#128162-object-creation-expressions) Object creation expressions object_creation_expression : 'new' type '(' argument_list? ')' object_or_collection_initializer? | 'new' type object_or_collection_initializer @@ -1009,7 +1009,7 @@ object_or_collection_initializer | collection_initializer ; -// Source: §12.8.16.3 Object initializers +// Source: [§12.8.16.3](expressions.md#128163-object-initializers) Object initializers object_initializer : '{' member_initializer_list? '}' | '{' member_initializer_list ',' '}' @@ -1033,7 +1033,7 @@ initializer_value | object_or_collection_initializer ; -// Source: §12.8.16.4 Collection initializers +// Source: [§12.8.16.4](expressions.md#128164-collection-initializers) Collection initializers collection_initializer : '{' element_initializer_list '}' | '{' element_initializer_list ',' '}' @@ -1053,7 +1053,7 @@ expression_list | expression_list ',' expression ; -// Source: §12.8.16.5 Array creation expressions +// Source: [§12.8.16.5](expressions.md#128165-array-creation-expressions) Array creation expressions array_creation_expression : 'new' non_array_type '[' expression_list ']' rank_specifier* array_initializer? @@ -1061,12 +1061,12 @@ array_creation_expression | 'new' rank_specifier array_initializer ; -// Source: §12.8.16.6 Delegate creation expressions +// Source: [§12.8.16.6](expressions.md#128166-delegate-creation-expressions) Delegate creation expressions delegate_creation_expression : 'new' delegate_type '(' expression ')' ; -// Source: §12.8.16.7 Anonymous object creation expressions +// Source: [§12.8.16.7](expressions.md#128167-anonymous-object-creation-expressions) Anonymous object creation expressions anonymous_object_creation_expression : 'new' anonymous_object_initializer ; @@ -1088,7 +1088,7 @@ member_declarator | identifier '=' expression ; -// Source: §12.8.17 The typeof operator +// Source: [§12.8.17](expressions.md#12817-the-typeof-operator) The typeof operator typeof_expression : 'typeof' '(' type ')' | 'typeof' '(' unbound_type_name ')' @@ -1110,12 +1110,12 @@ comma ; -// Source: §12.8.18 The sizeof operator +// Source: [§12.8.18](expressions.md#12818-the-sizeof-operator) The sizeof operator sizeof_expression : 'sizeof' '(' unmanaged_type ')' ; -// Source: §12.8.19 The checked and unchecked operators +// Source: [§12.8.19](expressions.md#12819-the-checked-and-unchecked-operators) The checked and unchecked operators checked_expression : 'checked' '(' expression ')' ; @@ -1124,7 +1124,7 @@ unchecked_expression : 'unchecked' '(' expression ')' ; -// Source: §12.8.20 Default value expressions +// Source: [§12.8.20](expressions.md#12820-default-value-expressions) Default value expressions default_value_expression : explictly_typed_default | default_literal @@ -1138,7 +1138,7 @@ default_literal : 'default' ; -// Source: §12.8.21 Stack allocation +// Source: [§12.8.21](expressions.md#12821-stack-allocation) Stack allocation stackalloc_expression : 'stackalloc' unmanaged_type '[' expression ']' | 'stackalloc' unmanaged_type? '[' constant_expression? ']' @@ -1157,7 +1157,7 @@ stackalloc_element_initializer : expression ; -// Source: §12.8.22 Nameof expressions +// Source: [§12.8.22](expressions.md#12822-nameof-expressions) Nameof expressions nameof_expression : 'nameof' '(' named_entity ')' ; @@ -1174,7 +1174,7 @@ named_entity_target | qualified_alias_member ; -// Source: §12.9.1 General +// Source: [§12.9.1](expressions.md#1291-general) General unary_expression : primary_expression | '+' unary_expression @@ -1189,7 +1189,7 @@ unary_expression | addressof_expression // unsafe code support ; -// Source: §12.9.6 Prefix increment and decrement operators +// Source: [§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators) Prefix increment and decrement operators pre_increment_expression : '++' unary_expression ; @@ -1198,17 +1198,17 @@ pre_decrement_expression : '--' unary_expression ; -// Source: §12.9.7 Cast expressions +// Source: [§12.9.7](expressions.md#1297-cast-expressions) Cast expressions cast_expression : '(' type ')' unary_expression ; -// Source: §12.9.8.1 General +// Source: [§12.9.8.1](expressions.md#12981-general) General await_expression : 'await' unary_expression ; -// Source: §12.10.1 General +// Source: [§12.10.1](expressions.md#12101-general) General multiplicative_expression : unary_expression | multiplicative_expression '*' unary_expression @@ -1222,14 +1222,14 @@ additive_expression | additive_expression '-' multiplicative_expression ; -// Source: §12.11 Shift operators +// Source: [§12.11](expressions.md#1211-shift-operators) Shift operators shift_expression : additive_expression | shift_expression '<<' additive_expression | shift_expression right_shift additive_expression ; -// Source: §12.12.1 General +// Source: [§12.12.1](expressions.md#12121-general) General relational_expression : shift_expression | relational_expression '<' shift_expression @@ -1247,7 +1247,7 @@ equality_expression | equality_expression '!=' relational_expression ; -// Source: §12.13.1 General +// Source: [§12.13.1](expressions.md#12131-general) General and_expression : equality_expression | and_expression '&' equality_expression @@ -1263,7 +1263,7 @@ inclusive_or_expression | inclusive_or_expression '|' exclusive_or_expression ; -// Source: §12.14.1 General +// Source: [§12.14.1](expressions.md#12141-general) General conditional_and_expression : inclusive_or_expression | conditional_and_expression '&&' inclusive_or_expression @@ -1274,19 +1274,19 @@ conditional_or_expression | conditional_or_expression '||' conditional_and_expression ; -// Source: §12.15 The null coalescing operator +// Source: [§12.15](expressions.md#1215-the-null-coalescing-operator) The null coalescing operator null_coalescing_expression : conditional_or_expression | conditional_or_expression '??' null_coalescing_expression | throw_expression ; -// Source: §12.16 The throw expression operator +// Source: [§12.16](expressions.md#1216-the-throw-expression-operator) The throw expression operator throw_expression : 'throw' null_coalescing_expression ; -// Source: §12.17 Declaration expressions +// Source: [§12.17](expressions.md#1217-declaration-expressions) Declaration expressions declaration_expression : local_variable_type identifier ; @@ -1296,7 +1296,7 @@ local_variable_type | 'var' ; -// Source: §12.18 Conditional operator +// Source: [§12.18](expressions.md#1218-conditional-operator) Conditional operator conditional_expression : null_coalescing_expression | null_coalescing_expression '?' expression ':' expression @@ -1304,7 +1304,7 @@ conditional_expression 'ref' variable_reference ; -// Source: §12.19.1 General +// Source: [§12.19.1](expressions.md#12191-general) General lambda_expression : 'async'? anonymous_function_signature '=>' anonymous_function_body ; @@ -1358,7 +1358,7 @@ anonymous_function_body | block ; -// Source: §12.20.1 General +// Source: [§12.20.1](expressions.md#12201-general) General query_expression : from_clause query_body ; @@ -1437,7 +1437,7 @@ query_continuation : 'into' identifier query_body ; -// Source: §12.21.1 General +// Source: [§12.21.1](expressions.md#12211-general) General assignment : unary_expression assignment_operator expression ; @@ -1447,7 +1447,7 @@ assignment_operator | right_shift_assignment ; -// Source: §12.22 Expression +// Source: [§12.22](expressions.md#1222-expression) Expression expression : non_assignment_expression | assignment @@ -1460,17 +1460,17 @@ non_assignment_expression | query_expression ; -// Source: §12.23 Constant expressions +// Source: [§12.23](expressions.md#1223-constant-expressions) Constant expressions constant_expression : expression ; -// Source: §12.24 Boolean expressions +// Source: [§12.24](expressions.md#1224-boolean-expressions) Boolean expressions boolean_expression : expression ; -// Source: §13.1 General +// Source: [§13.1](statements.md#131-general) General statement : labeled_statement | declaration_statement @@ -1494,41 +1494,41 @@ embedded_statement | fixed_statement // unsafe code support ; -// Source: §13.3.1 General +// Source: [§13.3.1](statements.md#1331-general) General block : '{' statement_list? '}' ; -// Source: §13.3.2 Statement lists +// Source: [§13.3.2](statements.md#1332-statement-lists) Statement lists statement_list : statement+ ; -// Source: §13.4 The empty statement +// Source: [§13.4](statements.md#134-the-empty-statement) The empty statement empty_statement : ';' ; -// Source: §13.5 Labeled statements +// Source: [§13.5](statements.md#135-labeled-statements) Labeled statements labeled_statement : identifier ':' statement ; -// Source: §13.6.1 General +// Source: [§13.6.1](statements.md#1361-general) General declaration_statement : local_variable_declaration ';' | local_constant_declaration ';' | local_function_declaration ; -// Source: §13.6.2 Local variable declarations +// Source: [§13.6.2](statements.md#1362-local-variable-declarations) Local variable declarations local_variable_declaration : implicitly_typed_local_variable_declaration | explicitly_typed_local_variable_declaration | ref_local_variable_declaration ; -// Source: §13.6.2.1 Implicitly typed local variable declarations +// Source: [§13.6.2.2](statements.md#13622-implicitly-typed-local-variable-declarations) Implicitly typed local variable declarations implicitly_typed_local_variable_declaration : 'var' implicitly_typed_local_variable_declarator | ref_kind 'var' ref_local_variable_declarator @@ -1538,7 +1538,7 @@ implicitly_typed_local_variable_declarator : identifier '=' expression ; -// Source: §13.6.2.2 Explicitly typed local variable declarations +// Source: [§13.6.2.3](statements.md#13623-explicitly-typed-local-variable-declarations) Explicitly typed local variable declarations explicitly_typed_local_variable_declaration : type explicitly_typed_local_variable_declarators ; @@ -1557,7 +1557,7 @@ local_variable_initializer | array_initializer ; -// Source: §13.6.2.3 Ref local variable declarations +// Source: [§13.6.2.4](statements.md#13624-ref-local-variable-declarations) Ref local variable declarations ref_local_variable_declaration : ref_kind type ref_local_variable_declarators ; @@ -1570,7 +1570,7 @@ ref_local_variable_declarator : identifier '=' 'ref' variable_reference ; -// Source: §13.6.3 Local constant declarations +// Source: [§13.6.3](statements.md#1363-local-constant-declarations) Local constant declarations local_constant_declaration : 'const' type constant_declarators ; @@ -1583,7 +1583,7 @@ constant_declarator : identifier '=' constant_expression ; -// Source: §13.6.4 Local function declarations +// Source: [§13.6.4](statements.md#1364-local-function-declarations) Local function declarations local_function_declaration : local_function_modifier* return_type local_function_header local_function_body @@ -1617,7 +1617,7 @@ ref_local_function_body | '=>' 'ref' variable_reference ';' ; -// Source: §13.7 Expression statements +// Source: [§13.7](statements.md#137-expression-statements) Expression statements expression_statement : statement_expression ';' ; @@ -1634,20 +1634,20 @@ statement_expression | await_expression ; -// Source: §13.8.1 General +// Source: [§13.8.1](statements.md#1381-general) General selection_statement : if_statement | switch_statement ; -// Source: §13.8.2 The if statement +// Source: [§13.8.2](statements.md#1382-the-if-statement) The if statement if_statement : 'if' '(' boolean_expression ')' embedded_statement | 'if' '(' boolean_expression ')' embedded_statement 'else' embedded_statement ; -// Source: §13.8.3 The switch statement +// Source: [§13.8.3](statements.md#1383-the-switch-statement) The switch statement switch_statement : 'switch' '(' expression ')' switch_block ; @@ -1669,7 +1669,7 @@ case_guard : 'when' expression ; -// Source: §13.9.1 General +// Source: [§13.9.1](statements.md#1391-general) General iteration_statement : while_statement | do_statement @@ -1677,17 +1677,17 @@ iteration_statement | foreach_statement ; -// Source: §13.9.2 The while statement +// Source: [§13.9.2](statements.md#1392-the-while-statement) The while statement while_statement : 'while' '(' boolean_expression ')' embedded_statement ; -// Source: §13.9.3 The do statement +// Source: [§13.9.3](statements.md#1393-the-do-statement) The do statement do_statement : 'do' embedded_statement 'while' '(' boolean_expression ')' ';' ; -// Source: §13.9.4 The for statement +// Source: [§13.9.4](statements.md#1394-the-for-statement) The for statement for_statement : 'for' '(' for_initializer? ';' for_condition? ';' for_iterator? ')' embedded_statement @@ -1710,13 +1710,13 @@ statement_expression_list : statement_expression (',' statement_expression)* ; -// Source: §13.9.5 The foreach statement +// Source: [§13.9.5](statements.md#1395-the-foreach-statement) The foreach statement foreach_statement : 'foreach' '(' ref_kind? local_variable_type identifier 'in' expression ')' embedded_statement ; -// Source: §13.10.1 General +// Source: [§13.10.1](statements.md#13101-general) General jump_statement : break_statement | continue_statement @@ -1725,36 +1725,36 @@ jump_statement | throw_statement ; -// Source: §13.10.2 The break statement +// Source: [§13.10.2](statements.md#13102-the-break-statement) The break statement break_statement : 'break' ';' ; -// Source: §13.10.3 The continue statement +// Source: [§13.10.3](statements.md#13103-the-continue-statement) The continue statement continue_statement : 'continue' ';' ; -// Source: §13.10.4 The goto statement +// Source: [§13.10.4](statements.md#13104-the-goto-statement) The goto statement goto_statement : 'goto' identifier ';' | 'goto' 'case' constant_expression ';' | 'goto' 'default' ';' ; -// Source: §13.10.5 The return statement +// Source: [§13.10.5](statements.md#13105-the-return-statement) The return statement return_statement : 'return' ';' | 'return' expression ';' | 'return' 'ref' variable_reference ';' ; -// Source: §13.10.6 The throw statement +// Source: [§13.10.6](statements.md#13106-the-throw-statement) The throw statement throw_statement : 'throw' expression? ';' ; -// Source: §13.11 The try statement +// Source: [§13.11](statements.md#1311-the-try-statement) The try statement try_statement : 'try' block catch_clauses | 'try' block catch_clauses? finally_clause @@ -1786,7 +1786,7 @@ finally_clause : 'finally' block ; -// Source: §13.12 The checked and unchecked statements +// Source: [§13.12](statements.md#1312-the-checked-and-unchecked-statements) The checked and unchecked statements checked_statement : 'checked' block ; @@ -1795,12 +1795,12 @@ unchecked_statement : 'unchecked' block ; -// Source: §13.13 The lock statement +// Source: [§13.13](statements.md#1313-the-lock-statement) The lock statement lock_statement : 'lock' '(' expression ')' embedded_statement ; -// Source: §13.14 The using statement +// Source: [§13.14](statements.md#1314-the-using-statement) The using statement using_statement : 'using' '(' resource_acquisition ')' embedded_statement ; @@ -1810,19 +1810,19 @@ resource_acquisition | expression ; -// Source: §13.15 The yield statement +// Source: [§13.15](statements.md#1315-the-yield-statement) The yield statement yield_statement : 'yield' 'return' expression ';' | 'yield' 'break' ';' ; -// Source: §14.2 Compilation units +// Source: [§14.2](namespaces.md#142-compilation-units) Compilation units compilation_unit : extern_alias_directive* using_directive* global_attributes? namespace_member_declaration* ; -// Source: §14.3 Namespace declarations +// Source: [§14.3](namespaces.md#143-namespace-declarations) Namespace declarations namespace_declaration : 'namespace' qualified_identifier namespace_body ';'? ; @@ -1836,40 +1836,40 @@ namespace_body namespace_member_declaration* '}' ; -// Source: §14.4 Extern alias directives +// Source: [§14.4](namespaces.md#144-extern-alias-directives) Extern alias directives extern_alias_directive : 'extern' 'alias' identifier ';' ; -// Source: §14.5.1 General +// Source: [§14.5.1](namespaces.md#1451-general) General using_directive : using_alias_directive | using_namespace_directive | using_static_directive ; -// Source: §14.5.2 Using alias directives +// Source: [§14.5.2](namespaces.md#1452-using-alias-directives) Using alias directives using_alias_directive : 'using' identifier '=' namespace_or_type_name ';' ; -// Source: §14.5.3 Using namespace directives +// Source: [§14.5.3](namespaces.md#1453-using-namespace-directives) Using namespace directives using_namespace_directive : 'using' namespace_name ';' ; -// Source: §14.5.4 Using static directives +// Source: [§14.5.4](namespaces.md#1454-using-static-directives) Using static directives using_static_directive : 'using' 'static' type_name ';' ; -// Source: §14.6 Namespace member declarations +// Source: [§14.6](namespaces.md#146-namespace-member-declarations) Namespace member declarations namespace_member_declaration : namespace_declaration | type_declaration ; -// Source: §14.7 Type declarations +// Source: [§14.7](namespaces.md#147-type-declarations) Type declarations type_declaration : class_declaration | struct_declaration @@ -1878,19 +1878,19 @@ type_declaration | delegate_declaration ; -// Source: §14.8.1 General +// Source: [§14.8.1](namespaces.md#1481-general) General qualified_alias_member : identifier '::' identifier type_argument_list? ; -// Source: §15.2.1 General +// Source: [§15.2.1](classes.md#1521-general) General class_declaration : attributes? class_modifier* 'partial'? 'class' identifier type_parameter_list? class_base? type_parameter_constraints_clause* class_body ';'? ; -// Source: §15.2.2.1 General +// Source: [§15.2.2.1](classes.md#15221-general) General class_modifier : 'new' | 'public' @@ -1903,7 +1903,7 @@ class_modifier | unsafe_modifier // unsafe code support ; -// Source: §15.2.3 Type parameters +// Source: [§15.2.3](classes.md#1523-type-parameters) Type parameters type_parameter_list : '<' type_parameters '>' ; @@ -1913,7 +1913,7 @@ type_parameters | type_parameters ',' attributes? type_parameter ; -// Source: §15.2.4.1 General +// Source: [§15.2.4.1](classes.md#15241-general) General class_base : ':' class_type | ':' interface_type_list @@ -1924,7 +1924,7 @@ interface_type_list : interface_type (',' interface_type)* ; -// Source: §15.2.5 Type parameter constraints +// Source: [§15.2.5](classes.md#1525-type-parameter-constraints) Type parameter constraints type_parameter_constraints_clauses : type_parameter_constraints_clause | type_parameter_constraints_clauses type_parameter_constraints_clause @@ -1962,12 +1962,12 @@ constructor_constraint : 'new' '(' ')' ; -// Source: §15.2.6 Class body +// Source: [§15.2.6](classes.md#1526-class-body) Class body class_body : '{' class_member_declaration* '}' ; -// Source: §15.3.1 General +// Source: [§15.3.1](classes.md#1531-general) General class_member_declaration : constant_declaration | field_declaration @@ -1982,7 +1982,7 @@ class_member_declaration | type_declaration ; -// Source: §15.4 Constants +// Source: [§15.4](classes.md#154-constants) Constants constant_declaration : attributes? constant_modifier* 'const' type constant_declarators ';' ; @@ -1995,7 +1995,7 @@ constant_modifier | 'private' ; -// Source: §15.5.1 General +// Source: [§15.5.1](classes.md#1551-general) General field_declaration : attributes? field_modifier* type variable_declarators ';' ; @@ -2020,7 +2020,7 @@ variable_declarator : identifier ('=' variable_initializer)? ; -// Source: §15.6.1 General +// Source: [§15.6.1](classes.md#1561-general) General method_declaration : attributes? method_modifiers return_type method_header method_body | attributes? ref_method_modifiers ref_kind ref_return_type method_header @@ -2093,7 +2093,7 @@ ref_method_body | ';' ; -// Source: §15.6.2.1 General +// Source: [§15.6.2.1](classes.md#15621-general) General formal_parameter_list : fixed_parameters | fixed_parameters ',' parameter_array @@ -2127,7 +2127,7 @@ parameter_array : attributes? 'params' array_type identifier ; -// Source: §15.7.1 General +// Source: [§15.7.1](classes.md#1571-general) General property_declaration : attributes? property_modifier* type member_name property_body | attributes? property_modifier* ref_kind type member_name ref_property_body @@ -2162,7 +2162,7 @@ ref_property_body | '=>' 'ref' variable_reference ';' ; -// Source: §15.7.3 Accessors +// Source: [§15.7.3](classes.md#1573-accessors) Accessors accessor_declarations : get_accessor_declaration set_accessor_declaration? | set_accessor_declaration get_accessor_declaration? @@ -2202,7 +2202,7 @@ ref_accessor_body | ';' ; -// Source: §15.8.1 General +// Source: [§15.8.1](classes.md#1581-general) General event_declaration : attributes? event_modifier* 'event' type variable_declarators ';' | attributes? event_modifier* 'event' type member_name @@ -2237,7 +2237,7 @@ remove_accessor_declaration : attributes? 'remove' block ; -// Source: §15.9.1 General +// Source: [§15.9.1](classes.md#1591-general) General indexer_declaration : attributes? indexer_modifier* indexer_declarator indexer_body | attributes? indexer_modifier* ref_kind indexer_declarator ref_indexer_body @@ -2272,7 +2272,7 @@ ref_indexer_body | '=>' 'ref' variable_reference ';' ; -// Source: §15.10.1 General +// Source: [§15.10.1](classes.md#15101-general) General operator_declaration : attributes? operator_modifier+ operator_declarator operator_body ; @@ -2319,7 +2319,7 @@ operator_body | ';' ; -// Source: §15.11.1 General +// Source: [§15.11.1](classes.md#15111-general) General constructor_declaration : attributes? constructor_modifier* constructor_declarator constructor_body ; @@ -2348,7 +2348,7 @@ constructor_body | ';' ; -// Source: §15.12 Static constructors +// Source: [§15.12](classes.md#1512-static-constructors) Static constructors static_constructor_declaration : attributes? static_constructor_modifiers identifier '(' ')' static_constructor_body @@ -2370,7 +2370,7 @@ static_constructor_body | ';' ; -// Source: §15.13 Finalizers +// Source: [§15.13](classes.md#1513-finalizers) Finalizers finalizer_declaration : attributes? '~' identifier '(' ')' finalizer_body | attributes? 'extern' unsafe_modifier? '~' identifier '(' ')' @@ -2385,14 +2385,14 @@ finalizer_body | ';' ; -// Source: §16.2.1 General +// Source: [§16.2.1](structs.md#1621-general) General struct_declaration : attributes? struct_modifier* 'ref'? 'partial'? 'struct' identifier type_parameter_list? struct_interfaces? type_parameter_constraints_clause* struct_body ';'? ; -// Source: §16.2.2 Struct modifiers +// Source: [§16.2.2](structs.md#1622-struct-modifiers) Struct modifiers struct_modifier : 'new' | 'public' @@ -2403,17 +2403,17 @@ struct_modifier | unsafe_modifier // unsafe code support ; -// Source: §16.2.5 Struct interfaces +// Source: [§16.2.5](structs.md#1625-struct-interfaces) Struct interfaces struct_interfaces : ':' interface_type_list ; -// Source: §16.2.6 Struct body +// Source: [§16.2.6](structs.md#1626-struct-body) Struct body struct_body : '{' struct_member_declaration* '}' ; -// Source: §16.3 Struct members +// Source: [§16.3](structs.md#163-struct-members) Struct members struct_member_declaration : constant_declaration | field_declaration @@ -2428,7 +2428,7 @@ struct_member_declaration | fixed_size_buffer_declaration // unsafe code support ; -// Source: §17.7 Array initializers +// Source: [§17.7](arrays.md#177-array-initializers) Array initializers array_initializer : '{' variable_initializer_list? '}' | '{' variable_initializer_list ',' '}' @@ -2443,14 +2443,14 @@ variable_initializer | array_initializer ; -// Source: §18.2.1 General +// Source: [§18.2.1](interfaces.md#1821-general) General interface_declaration : attributes? interface_modifier* 'partial'? 'interface' identifier variant_type_parameter_list? interface_base? type_parameter_constraints_clause* interface_body ';'? ; -// Source: §18.2.2 Interface modifiers +// Source: [§18.2.2](interfaces.md#1822-interface-modifiers) Interface modifiers interface_modifier : 'new' | 'public' @@ -2460,35 +2460,35 @@ interface_modifier | unsafe_modifier // unsafe code support ; -// Source: §18.2.3.1 General +// Source: [§18.2.3.1](interfaces.md#18231-general) General variant_type_parameter_list : '<' variant_type_parameters '>' ; -// Source: §18.2.3.1 General +// Source: [§18.2.3.1](interfaces.md#18231-general) General variant_type_parameters : attributes? variance_annotation? type_parameter | variant_type_parameters ',' attributes? variance_annotation? type_parameter ; -// Source: §18.2.3.1 General +// Source: [§18.2.3.1](interfaces.md#18231-general) General variance_annotation : 'in' | 'out' ; -// Source: §18.2.4 Base interfaces +// Source: [§18.2.4](interfaces.md#1824-base-interfaces) Base interfaces interface_base : ':' interface_type_list ; -// Source: §18.3 Interface body +// Source: [§18.3](interfaces.md#183-interface-body) Interface body interface_body : '{' interface_member_declaration* '}' ; -// Source: §18.4.1 General +// Source: [§18.4.1](interfaces.md#1841-general) General interface_member_declaration : interface_method_declaration | interface_property_declaration @@ -2496,7 +2496,7 @@ interface_member_declaration | interface_indexer_declaration ; -// Source: §18.4.2 Interface methods +// Source: [§18.4.2](interfaces.md#1842-interface-methods) Interface methods interface_method_declaration : attributes? 'new'? return_type interface_method_header | attributes? 'new'? ref_kind ref_return_type interface_method_header @@ -2508,7 +2508,7 @@ interface_method_header type_parameter_constraints_clause* ';' ; -// Source: §18.4.3 Interface properties +// Source: [§18.4.3](interfaces.md#1843-interface-properties) Interface properties interface_property_declaration : attributes? 'new'? type identifier '{' interface_accessors '}' | attributes? 'new'? ref_kind type identifier '{' ref_interface_accessor '}' @@ -2525,12 +2525,12 @@ ref_interface_accessor : attributes? 'get' ';' ; -// Source: §18.4.4 Interface events +// Source: [§18.4.4](interfaces.md#1844-interface-events) Interface events interface_event_declaration : attributes? 'new'? 'event' type identifier ';' ; -// Source: §18.4.5 Interface indexers +// Source: [§18.4.5](interfaces.md#1845-interface-indexers) Interface indexers interface_indexer_declaration : attributes? 'new'? type 'this' '[' formal_parameter_list ']' '{' interface_accessors '}' @@ -2538,7 +2538,7 @@ interface_indexer_declaration '{' ref_interface_accessor '}' ; -// Source: §19.2 Enum declarations +// Source: [§19.2](enums.md#192-enum-declarations) Enum declarations enum_declaration : attributes? enum_modifier* 'enum' identifier enum_base? enum_body ';'? ; @@ -2557,7 +2557,7 @@ enum_body | '{' enum_member_declarations ',' '}' ; -// Source: §19.3 Enum modifiers +// Source: [§19.3](enums.md#193-enum-modifiers) Enum modifiers enum_modifier : 'new' | 'public' @@ -2566,17 +2566,17 @@ enum_modifier | 'private' ; -// Source: §19.4 Enum members +// Source: [§19.4](enums.md#194-enum-members) Enum members enum_member_declarations : enum_member_declaration (',' enum_member_declaration)* ; -// Source: §19.4 Enum members +// Source: [§19.4](enums.md#194-enum-members) Enum members enum_member_declaration : attributes? identifier ('=' constant_expression)? ; -// Source: §20.2 Delegate declarations +// Source: [§20.2](delegates.md#202-delegate-declarations) Delegate declarations delegate_declaration : attributes? delegate_modifier* 'delegate' return_type delegate_header | attributes? delegate_modifier* 'delegate' ref_kind ref_return_type @@ -2598,7 +2598,7 @@ delegate_modifier | unsafe_modifier // unsafe code support ; -// Source: §22.3 Attribute specification +// Source: [§22.3](attributes.md#223-attribute-specification) Attribute specification global_attributes : global_attribute_section+ ; @@ -2677,7 +2677,7 @@ attribute_argument_expression ```ANTLR -// Source: §23.2 Unsafe contexts +// Source: [§23.2](unsafe-code.md#232-unsafe-contexts) Unsafe contexts unsafe_modifier : 'unsafe' ; @@ -2686,33 +2686,33 @@ unsafe_statement : 'unsafe' block ; -// Source: §23.3 Pointer types +// Source: [§23.3](unsafe-code.md#233-pointer-types) Pointer types pointer_type : value_type ('*')+ | 'void' ('*')+ ; -// Source: §23.6.2 Pointer indirection +// Source: [§23.6.2](unsafe-code.md#2362-pointer-indirection) Pointer indirection pointer_indirection_expression : '*' unary_expression ; -// Source: §23.6.3 Pointer member access +// Source: [§23.6.3](unsafe-code.md#2363-pointer-member-access) Pointer member access pointer_member_access : primary_expression '->' identifier type_argument_list? ; -// Source: §23.6.4 Pointer element access +// Source: [§23.6.4](unsafe-code.md#2364-pointer-element-access) Pointer element access pointer_element_access : primary_no_array_creation_expression '[' expression ']' ; -// Source: §23.6.5 The address-of operator +// Source: [§23.6.5](unsafe-code.md#2365-the-address-of-operator) The address-of operator addressof_expression : '&' unary_expression ; -// Source: §23.7 The fixed statement +// Source: [§23.7](unsafe-code.md#237-the-fixed-statement) The fixed statement fixed_statement : 'fixed' '(' pointer_type fixed_pointer_declarators ')' embedded_statement ; @@ -2730,7 +2730,7 @@ fixed_pointer_initializer | expression ; -// Source: §23.8.2 Fixed-size buffer declarations +// Source: [§23.8.2](unsafe-code.md#2382-fixed-size-buffer-declarations) Fixed-size buffer declarations fixed_size_buffer_declaration : attributes? fixed_size_buffer_modifier* 'fixed' buffer_element_type fixed_size_buffer_declarators ';' diff --git a/standard/statements.md b/standard/statements.md index a8fc58a60..5a1427c9f 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -294,6 +294,8 @@ The declared names are introduced into the nearest enclosing declaration space ( ### 13.6.2 Local variable declarations +#### 13.6.2.1 General + A *local_variable_declaration* declares one or more local variables. ```ANTLR @@ -351,7 +353,7 @@ It is an error to refer to a local variable by name in a textual position that p The ref-safe-context ([§9.7.2](variables.md#972-ref-safe-contexts)) of a ref local variable is the ref-safe-context of its initializing *variable_reference*. The ref-safe-context of non-ref local variables is *declaration-block*. -#### 13.6.2.1 Implicitly typed local variable declarations +#### 13.6.2.2 Implicitly typed local variable declarations ```ANTLR implicitly_typed_local_variable_declaration @@ -405,7 +407,7 @@ An *implicity_typed_local_variable_declaration* introduces a single local variab > > *end example* -#### 13.6.2.2 Explicitly typed local variable declarations +#### 13.6.2.3 Explicitly typed local variable declarations ```ANTLR explicitly_typed_local_variable_declaration @@ -431,7 +433,7 @@ An *explicity_typed_local_variable_declaration* introduces one or more local var If a *local_variable_initializer* is present then its type must be appropriate according to the rules of simple assignment ([§12.21.2](expressions.md#12212-simple-assignment)) or array initialization ([§17.7](arrays.md#177-array-initializers)) and its value is assigned as the initial value of the variable. -#### 13.6.2.3 Ref local variable declarations +#### 13.6.2.4 Ref local variable declarations ```ANTLR ref_local_variable_declaration From a5abb7c08963caf1dd30596aa6682a23a8787ec0 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 27 Sep 2023 16:22:03 -0400 Subject: [PATCH 002/259] remove term "master" (#958) --- standard/documentation-comments.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/standard/documentation-comments.md b/standard/documentation-comments.md index 774d409a8..cbfd7634c 100644 --- a/standard/documentation-comments.md +++ b/standard/documentation-comments.md @@ -169,26 +169,26 @@ where ```csharp -class MasterFileFormatCorruptException : System.Exception { ... } -class MasterFileLockedOpenException : System.Exception { ... } +class PrimaryFileFormatCorruptException : System.Exception { ... } +class PrimaryFileLockedOpenException : System.Exception { ... } public class DataBaseOperations { - /// - /// Thrown when the master file is corrupted. + /// + /// Thrown when the primary file is corrupted. /// - /// - /// Thrown when the master file is already open. + /// + /// Thrown when the primary file is already open. /// public static void ReadRecord(int flag) { if (flag == 1) { - throw new MasterFileFormatCorruptException(); + throw new PrimaryFileFormatCorruptException(); } else if (flag == 2) { - throw new MasterFileLockedOpenException(); + throw new PrimaryFileLockedOpenException(); } ... } From 36d4edf5659401ebe24427ea649465583d1760bd Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Tue, 3 Oct 2023 10:50:54 -0400 Subject: [PATCH 003/259] Change entry format (#961) --- standard/terms-and-definitions.md | 60 +++++++++++-------------------- 1 file changed, 20 insertions(+), 40 deletions(-) diff --git a/standard/terms-and-definitions.md b/standard/terms-and-definitions.md index 6581b2078..1f78423b7 100644 --- a/standard/terms-and-definitions.md +++ b/standard/terms-and-definitions.md @@ -2,47 +2,27 @@ For the purposes of this specification, the following definitions apply. Other terms are defined where they appear in ***italic*** type or on the left side of a syntax rule. Terms explicitly defined in this specification are not to be presumed to refer implicitly to similar terms defined elsewhere. Terms not defined in this specification are to be interpreted according to ISO/IEC 2382.1. Mathematical symbols not defined in this specification are to be interpreted according to ISO 80000-2. -- **application** - - assembly with an entry point -- **application domain** - - entity that enables application isolation by acting as a container for application state -- **argument** - - expression in the comma-separated list bounded by the parentheses in a method or instance constructor call expression or bounded by the square brackets in an element access expression -- **assembly** - - one or more files output by the compiler as a result of program compilation -- **behavior** - - external appearance or action -- **behavior, implementation-defined** - - unspecified behavior where each implementation documents how the choice is made -- **behavior, undefined** - - behavior, upon use of a non-portable or erroneous construct or of erroneous data, for which this specification imposes no requirements -- **behavior, unspecified** - - behavior where this specification provides two or more possibilities and imposes no further requirements on which is chosen in any instance +- **application** – assembly with an entry point +- **application domain** – entity that enables application isolation by acting as a container for application state +- **argument** – expression in the comma-separated list bounded by the parentheses in a method or instance constructor call expression or bounded by the square brackets in an element access expression +- **assembly** – one or more files output by the compiler as a result of program compilation +- **behavior** – external appearance or action +- **behavior, implementation-defined** – unspecified behavior where each implementation documents how the choice is made +- **behavior, undefined** – behavior, upon use of a non-portable or erroneous construct or of erroneous data, for which this specification imposes no requirements +- **behavior, unspecified** – behavior where this specification provides two or more possibilities and imposes no further requirements on which is chosen in any instance - **character** (when used without a qualifier) - In the context of a non-Unicode encoding, the meaning of character in that encoding; or - In the context of a character literal or a value of type char, a Unicode code point in the range U+0000 to U+FFFF (including surrogate code points), that is a UTF-16 code unit; or - Otherwise, a Unicode code point -- **class library** - - assembly that can be used by other assemblies -- **compilation unit** - - ordered sequence of Unicode characters that is input to a compiler -- **diagnostic message** - - message belonging to an implementation-defined subset of the implementation’s output messages -- **error, compile-time** - - error reported during program translation -- **exception** - - exceptional condition reported during program execution -- **implementation** - - particular set of software (running in a particular translation environment under particular control options) that performs translation of programs for, and supports execution of methods in, a particular execution environment -- **module** - - the contents of an assembly produced by a compiler. Some implementations may have facilities to produce assemblies that contain more than one module. The behavior in such situations is outside the scope of this specification -- **namespace** - - logical organizational system grouping related program elements -- **parameter** - - variable declared as part of a method, instance constructor, operator, or indexer definition, which acquires a value on entry to that function member -- **program** - - one or more compilation units that are presented to the compiler and are run or executed by an execution environment -- **unsafe code** - - code that is permitted to perform such lower-level operations as declaring and operating on pointers, performing conversions between pointers and integral types, and taking the address of variables -- **warning, compile-time** - - informational message reported during program translation, which is intended to identify a potentially questionable usage of a program element +- **class library** – assembly that can be used by other assemblies +- **compilation unit** – ordered sequence of Unicode characters that is input to a compiler +- **diagnostic message** – message belonging to an implementation-defined subset of the implementation’s output messages +- **error, compile-time** – error reported during program translation +- **exception** – exceptional condition reported during program execution +- **implementation** – particular set of software (running in a particular translation environment under particular control options) that performs translation of programs for, and supports execution of methods in, a particular execution environment +- **module** – the contents of an assembly produced by a compiler. Some implementations may have facilities to produce assemblies that contain more than one module. The behavior in such situations is outside the scope of this specification +- **namespace** – logical organizational system grouping related program elements +- **parameter** – variable declared as part of a method, instance constructor, operator, or indexer definition, which acquires a value on entry to that function member +- **program** – one or more compilation units that are presented to the compiler and are run or executed by an execution environment +- **unsafe code** – code that is permitted to perform such lower-level operations as declaring and operating on pointers, performing conversions between pointers and integral types, and taking the address of variables +- **warning, compile-time** – informational message reported during program translation, which is intended to identify a potentially questionable usage of a program element From b429f973e19b29daa49042da519acc3e5a68466e Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Mon, 8 Aug 2022 09:03:12 -0400 Subject: [PATCH 004/259] add support for alternate interpolated verbatim strings --- standard/expressions.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/standard/expressions.md b/standard/expressions.md index d2c0df118..d68a9f9e9 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -1326,7 +1326,11 @@ A *primary_expression* that consists of a *literal* ([§6.4.5](lexical-structure ### 12.8.3 Interpolated string expressions -An *interpolated_string_expression* consists of `$` or `$@` immediately followed by text within `"` characters. Within the quoted text there are zero or more ***interpolations*** delimited by `{` and `}` characters, each of which encloses an *expression* and optional formatting specifications. +<<<<<<< HEAD +An *interpolated_string_expression* consists of `$`, `$@`, or `@$`, immediately followed by text within `"` characters. Within the quoted text there are zero or more ***interpolations*** delimited by `{` and `}` characters, each of which encloses an *expression* and optional formatting specifications. +======= +An *interpolated_string_expression* consists of `$`, `$@`, or `@$`, immediately followed by text within `"` characters. Within the quoted text there are zero or more ***interpolations*** delimited by `{` and `}` characters, each of which encloses an *expression* and optional formatting specifications. +>>>>>>> 9ec9036 (add support for alternate interpolated verbatim strings) Interpolated string expressions have two forms; regular (*interpolated_regular_string_expression*) and verbatim (*interpolated_verbatim_string_expression*); which are lexically similar to, but differ semantically from, the two forms of string @@ -1403,6 +1407,7 @@ verbatim_interpolation Interpolated_Verbatim_String_Start : '$@"' + | '@$"' ; // the following three lexical rules are context sensitive, see details below From 5be8313648f764ca4ead6cf64f671eede2ca9273 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Mon, 6 Feb 2023 09:57:44 -0500 Subject: [PATCH 005/259] Fix a mistaken merge. --- standard/expressions.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index d68a9f9e9..3bdece8b4 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -1326,11 +1326,7 @@ A *primary_expression* that consists of a *literal* ([§6.4.5](lexical-structure ### 12.8.3 Interpolated string expressions -<<<<<<< HEAD An *interpolated_string_expression* consists of `$`, `$@`, or `@$`, immediately followed by text within `"` characters. Within the quoted text there are zero or more ***interpolations*** delimited by `{` and `}` characters, each of which encloses an *expression* and optional formatting specifications. -======= -An *interpolated_string_expression* consists of `$`, `$@`, or `@$`, immediately followed by text within `"` characters. Within the quoted text there are zero or more ***interpolations*** delimited by `{` and `}` characters, each of which encloses an *expression* and optional formatting specifications. ->>>>>>> 9ec9036 (add support for alternate interpolated verbatim strings) Interpolated string expressions have two forms; regular (*interpolated_regular_string_expression*) and verbatim (*interpolated_verbatim_string_expression*); which are lexically similar to, but differ semantically from, the two forms of string From 87bdeacc65960062a9f160f64347666dbc05ae84 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Wed, 4 Oct 2023 12:27:04 +1300 Subject: [PATCH 006/259] Wordsmith pattern exhaustiveness Addresses #969 --- standard/patterns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/patterns.md b/standard/patterns.md index f5a948263..83d4203e0 100644 --- a/standard/patterns.md +++ b/standard/patterns.md @@ -156,7 +156,7 @@ A set of patterns `Q` *subsumes* a pattern `P` if any of the following condition ## 11.4 Pattern exhaustiveness -Informally, a set of patterns is exhaustive for a type if some pattern in the set is applicable to every possible value of that type other than null. +Informally, a set of patterns is exhaustive for a type if for every possible value of that type other than null some pattern in the set is applicable. The following rules define when a set of patterns is *exhaustive* for a type: A set of patterns `Q` is *exhaustive* for a type `T` if any of the following conditions hold: From 5eb3b0b7af8818004e5bb12904041398d84f584b Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Thu, 5 Oct 2023 09:06:22 +1300 Subject: [PATCH 007/259] Update standard/patterns.md Co-authored-by: Jon Skeet --- standard/patterns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/patterns.md b/standard/patterns.md index 83d4203e0..3ab99b680 100644 --- a/standard/patterns.md +++ b/standard/patterns.md @@ -156,7 +156,7 @@ A set of patterns `Q` *subsumes* a pattern `P` if any of the following condition ## 11.4 Pattern exhaustiveness -Informally, a set of patterns is exhaustive for a type if for every possible value of that type other than null some pattern in the set is applicable. +Informally, a set of patterns is exhaustive for a type if, for every possible value of that type other than null, some pattern in the set is applicable. The following rules define when a set of patterns is *exhaustive* for a type: A set of patterns `Q` is *exhaustive* for a type `T` if any of the following conditions hold: From 8e5beed7dfaa63be439a65a42424483e88e16bd0 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Fri, 13 Oct 2023 10:50:17 -0400 Subject: [PATCH 008/259] Update v8 tracker (#968) * Update v8-feature-tracker.md * Update v8-feature-tracker.md * Update v8-feature-tracker.md * Update v8-feature-tracker.md --- admin/v8-feature-tracker.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/admin/v8-feature-tracker.md b/admin/v8-feature-tracker.md index 8381ee14d..de3105973 100644 --- a/admin/v8-feature-tracker.md +++ b/admin/v8-feature-tracker.md @@ -6,20 +6,20 @@ The *Effort* column is an attempt to show the size/complexity of the proposal, s Feature | PR | Status | Effort | Annotation | Notes ------- | -- | ------ | ------ | ---------- | ------ -alternative interpolated verbatim strings ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/alternative-interpolated-verbatim.md)) | [607](https://github.com/dotnet/csharpstandard/pull/607) | Completed | small | N/A | +alternative interpolated verbatim strings ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/alternative-interpolated-verbatim.md)) | [607](https://github.com/dotnet/csharpstandard/pull/607) | Merged | small | N/A | async streams ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/async-streams.md)) | [606](https://github.com/dotnet/csharpstandard/pull/606) | Completed | small | Done | PR [672](https://github.com/dotnet/csharpstandard/pull/672) will be layered on top of this using declarations and async using ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/using.md)), ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/async-using.md)) | [672](https://github.com/dotnet/csharpstandard/pull/672) | Completed | small | Done | This PR will be layered on top of PR [606](https://github.com/dotnet/csharpstandard/pull/606); reconcile any overlap override with constraints ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/constraints-in-overrides.md)) | [671](https://github.com/dotnet/csharpstandard/pull/671) | Completed | small | Done | unmanaged constructed types ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/constructed-unmanaged.md)) | [604](https://github.com/dotnet/csharpstandard/pull/604) | Completed | small | N/A | default interface methods ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/default-interface-methods.md)) | [681](https://github.com/dotnet/csharpstandard/pull/681) | Completed | medium | Done | -permit `stackalloc` in nested contexts ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/nested-stackalloc.md)) | | In-progress | small | N/A | can be completed once draft-V8 has been rebased on final V7 +permit `stackalloc` in nested contexts ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/nested-stackalloc.md)) | | HELP NEEDED | small | N/A | See Issue [#967](https://github.com/dotnet/csharpstandard/issues/967) `notnull` constraint ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/notnull-constraint.md)) | [830](https://github.com/dotnet/csharpstandard/pull/830) | Completed | small | Done | -null coalescing assignment ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/null-coalescing-assignment.md)) | [609](https://github.com/dotnet/csharpstandard/pull/609) | In-progress | small | N/A | See Issue [#737](https://github.com/dotnet/csharpstandard/issues/737) +null coalescing assignment ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/null-coalescing-assignment.md)) | [609](https://github.com/dotnet/csharpstandard/pull/609) | HELP NEEDED | small | N/A | See Issue [#737](https://github.com/dotnet/csharpstandard/issues/737) nullable reference types ([MS Proposal (from V9)](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/nullable-reference-types-specification.md) which supercedes ([MS Proposal (from V8)](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/nullable-reference-types.md)) |[700](https://github.com/dotnet/csharpstandard/pull/700) | Completed | large | Done | related to V8 "notnull" feature Obsolete on property accessor ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/obsolete-accessor.md)) | **no change needed** | Postponed | | N/A | See Issue [#375](https://github.com/dotnet/csharpstandard/issues/375) -New kinds of pattern matching ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/patterns.md)) | [873](https://github.com/dotnet/csharpstandard/pull/873) | In-progress | medium | Done | can be completed once draft-V8 has been rebased on final V7 +New kinds of pattern matching ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/patterns.md)) | [873](https://github.com/dotnet/csharpstandard/pull/873) | Completed | medium | Done | precedence table assumes "ranges and indices" has been merged ranges and indices ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/ranges.md)) | [605](https://github.com/dotnet/csharpstandard/pull/605) | Completed | medium | Done | -readonly instance members ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/readonly-instance-members.md)) | [673](https://github.com/dotnet/csharpstandard/pull/673) | Completed | small | N/A | **Needs a small tweak once draft-v8 rebased with draft-v7** +readonly instance members ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/readonly-instance-members.md)) | [673](https://github.com/dotnet/csharpstandard/pull/673) | Completed | small | N/A | name shadowing in nested functions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/shadowing-in-nested-functions.md)) | [608](https://github.com/dotnet/csharpstandard/pull/608) | Completed | small | N/A | static local functions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/static-local-functions.md)) | [869](https://github.com/dotnet/csharpstandard/pull/869)| Completed | small | N/A | -Disposable ref structs [672](https://github.com/dotnet/csharpstandard/pull/672) | | | | | Included in PR [606](https://github.com/dotnet/csharpstandard/pull/606) **Check this** +Disposable ref structs [672](https://github.com/dotnet/csharpstandard/pull/672) | | **???** | | | Included in PR [606](https://github.com/dotnet/csharpstandard/pull/606); **Check this** From 32cf10427c6e108ec41a4b8aa57fbd0e6fef8bfe Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Sun, 15 Oct 2023 11:23:30 -0400 Subject: [PATCH 009/259] Learn publishing issue template (#966) * Add issue template Add the issue template for feedback from customers that read the specification on the docs.microsoft.com site. Once this is merged, I can update the config to use this spec. * add extra disclaimer * Change article to document --- .github/ISSUE_TEMPLATE/docs-feedback.yml | 46 ++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/docs-feedback.yml diff --git a/.github/ISSUE_TEMPLATE/docs-feedback.yml b/.github/ISSUE_TEMPLATE/docs-feedback.yml new file mode 100644 index 000000000..245ff2866 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/docs-feedback.yml @@ -0,0 +1,46 @@ +name: Learn feedback control. +description: | + ⛔ This template is hooked into the feedback control on the bottom of every page on the learn.microsoft.com site. It automatically fills in several fields for you. Don't use for other purposes. ⛔ +body: + - type: markdown + attributes: + value: "## Issue information" + - type: markdown + attributes: + value: Select the issue type, and describe the issue in the text box below. Add as much detail as needed to help us resolve the issue. Make sure to include the relevant section number. The committee is working on C# 8 currently. Don't write issues about features added after that version. + - type: dropdown + id: issue-type + attributes: + label: Type of issue + options: + - Typo + - Spec incorrect + - Spec incomplete + - xref missing + - Other (describe below) + validations: + required: true + - type: textarea + id: feedback + validations: + required: true + attributes: + label: Description + - type: markdown + attributes: + value: "## 🚧 Document information 🚧" + - type: markdown + attributes: + value: "*Don't modify the following fields*. They are automatically filled in for you. Doing so will disconnect your issue from the affected article. *Don't edit them*." + - type: input + id: pageUrl + validations: + required: true + attributes: + label: Page URL + - type: input + id: contentSourceUrl + validations: + required: true + attributes: + label: Content source URL From 2d4e324b50045671191201d4622908afca924851 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Wed, 25 Oct 2023 10:57:18 -0400 Subject: [PATCH 010/259] Add additional support files (#969) --- .../additional-files/BitArrayPartial1.cs | 66 ++++++++++ .../additional-files/BitArrayPartial2.cs | 115 +++++++++++++++++ .../additional-files/BitArrayPartial3.cs | 116 ++++++++++++++++++ .../additional-files/PersonWithName.cs | 5 + .../additional-files/RectangleNoPoint.cs | 6 +- .../additional-files/RectangleStruct.cs | 44 +++---- .../additional-files/Support1AsyncStreams.cs | 16 +++ .../additional-files/Support2AsyncStreams.cs | 20 +++ .../additional-files/SupportLocalVarDecl.cs | 7 ++ .../SupportNullForgivingExpressions.cs | 13 ++ 10 files changed, 383 insertions(+), 25 deletions(-) create mode 100644 tools/example-templates/additional-files/BitArrayPartial1.cs create mode 100644 tools/example-templates/additional-files/BitArrayPartial2.cs create mode 100644 tools/example-templates/additional-files/BitArrayPartial3.cs create mode 100644 tools/example-templates/additional-files/PersonWithName.cs create mode 100644 tools/example-templates/additional-files/Support1AsyncStreams.cs create mode 100644 tools/example-templates/additional-files/Support2AsyncStreams.cs create mode 100644 tools/example-templates/additional-files/SupportLocalVarDecl.cs create mode 100644 tools/example-templates/additional-files/SupportNullForgivingExpressions.cs diff --git a/tools/example-templates/additional-files/BitArrayPartial1.cs b/tools/example-templates/additional-files/BitArrayPartial1.cs new file mode 100644 index 000000000..a3cb12fee --- /dev/null +++ b/tools/example-templates/additional-files/BitArrayPartial1.cs @@ -0,0 +1,66 @@ +class Test +{ + static void Main() + { + BitArray ba1 = new BitArray(100); + ba1[0] = true; + ba1[^98] = true; + ba1[99] = true; + Console.WriteLine("ba1[0] = {0}", ba1[0]); // True + Console.WriteLine("ba1[98] = {0}", ba1[98]); // False + Console.WriteLine("ba1[Index 0] = {0}", ba1[new Index(0)]); // True + Console.WriteLine("ba1[^1] = {0}", ba1[^1]); // True + } +} + +partial class BitArray +{ + int[] bits; + int length; + + public BitArray(int length) + { + if (length < 0) + { + throw new ArgumentException(); + } + else if (length == 0) + { + bits = new int[1]; + } + else + { + bits = new int[((length - 1) >> 5) + 1]; + } + this.length = length; + } + + public int Length => length; + + public bool this[int index] + { + get + { + if (index < 0 || index >= length) + { + throw new IndexOutOfRangeException(); + } + return (bits[index >> 5] & 1 << index) != 0; + } + set + { + if (index < 0 || index >= length) + { + throw new IndexOutOfRangeException(); + } + if (value) + { + bits[index >> 5] |= 1 << index; + } + else + { + bits[index >> 5] &= ~(1 << index); + } + } + } +} \ No newline at end of file diff --git a/tools/example-templates/additional-files/BitArrayPartial2.cs b/tools/example-templates/additional-files/BitArrayPartial2.cs new file mode 100644 index 000000000..a09537b36 --- /dev/null +++ b/tools/example-templates/additional-files/BitArrayPartial2.cs @@ -0,0 +1,115 @@ +class Test +{ + static void Main() + { + BitArray ba = new BitArray(5); + ba[0] = true; + ba[3] = true; + ba[^1] = true; + Console.WriteLine("ba = >{0}<", ba); + + Range[] testRange = { +// all elements + /*0..5,*/ 0.., ..5, //.., 0..^0, ..^0, ^5..5, ^5.., ^5..^0, + +// trailing part +// 1..5, 1.., 1..^0, ^4..5, ^4.., ^4..^0, + +// leading part +// 0..4, ..4, ^5..4, ^5..^1, + +// middle part: +// 1..4, ^4..4, ^4..^1, 1..^1, +// 2..4, ^3..4, ^3..^1, 2..^1, + 3..4, ^2..4, //^2..^1, 3..^1, + +// empty range + 0..0//, 1..1, 2..2, 3..3, 4..4, 5..5 + }; + + foreach (Range r in testRange) + { + Console.WriteLine($"BitArray is >{ba[r]}<"); + } + } +} + +partial class BitArray +{ + int[] bits; + int length; + + public BitArray(int length) + { + if (length < 0) + { + throw new ArgumentException(); + } + else if (length == 0) + { + bits = new int[1]; + } + else + { + bits = new int[((length - 1) >> 5) + 1]; + } + this.length = length; + } + + public int Length => length; + + public bool this[int index] + { + get + { + if (index < 0 || index >= length) + { + throw new IndexOutOfRangeException(); + } + return (bits[index >> 5] & 1 << index) != 0; + } + set + { + if (index < 0 || index >= length) + { + throw new IndexOutOfRangeException(); + } + if (value) + { + bits[index >> 5] |= 1 << index; + } + else + { + bits[index >> 5] &= ~(1 << index); + } + } + } + public override string ToString() + { + string retstr = ""; + int bitsWord; + int upBound = bits.GetUpperBound(0); + int bitCounter = Length; + + if (Length == 0) + { + return retstr; + } + + for (int i = 0; i <= upBound; ++i) + { + bitsWord = bits[i]; + for (int j = 0; j < 32; ++j) + { + if (bitCounter-- == 0) + { + break; + } + retstr += ((bitsWord & 1) == 1) ? "1" : "0"; + bitsWord >>= 1; + } + } + + return retstr; + } +} \ No newline at end of file diff --git a/tools/example-templates/additional-files/BitArrayPartial3.cs b/tools/example-templates/additional-files/BitArrayPartial3.cs new file mode 100644 index 000000000..f26cdf5b6 --- /dev/null +++ b/tools/example-templates/additional-files/BitArrayPartial3.cs @@ -0,0 +1,116 @@ +class Test +{ + static void Main() + { + BitArray ba = new BitArray(5); + ba[0] = true; + ba[3] = true; + ba[^1] = true; + Console.WriteLine("ba = >{0}<", ba); + + Range[] testRange = { +// all elements + /*0..5,*/ 0.., ..5, //.., 0..^0, ..^0, ^5..5, ^5.., ^5..^0, + +// trailing part +// 1..5, 1.., 1..^0, ^4..5, ^4.., ^4..^0, + +// leading part +// 0..4, ..4, ^5..4, ^5..^1, + +// middle part: +// 1..4, ^4..4, ^4..^1, 1..^1, +// 2..4, ^3..4, ^3..^1, 2..^1, + 3..4, ^2..4, //^2..^1, 3..^1, + +// empty range + 0..0//, 1..1, 2..2, 3..3, 4..4, 5..5 + }; + + foreach (Range r in testRange) + { + Console.WriteLine($"BitArray is >{ba[r]}<"); + } + } +} + +partial class BitArray +{ + int[] bits; + int length; + + public BitArray(int length) + { + if (length < 0) + { + throw new ArgumentException(); + } + else if (length == 0) + { + bits = new int[1]; + } + else + { + bits = new int[((length - 1) >> 5) + 1]; + } + this.length = length; + } + + public int Length => length; + + public override string ToString() + { + string retstr = ""; + int bitsWord; + int upBound = bits.GetUpperBound(0); + int bitCounter = Length; + + if (Length == 0) + { + return retstr; + } + + for (int i = 0; i <= upBound; ++i) + { + bitsWord = bits[i]; + for (int j = 0; j < 32; ++j) + { + if (bitCounter-- == 0) + { + break; + } + retstr += ((bitsWord & 1) == 1) ? "1" : "0"; + bitsWord >>= 1; + } + } + + return retstr; + } + + public bool this[int index] + { + get + { + if (index < 0 || index >= length) + { + throw new IndexOutOfRangeException(); + } + return (bits[index >> 5] & 1 << index) != 0; + } + set + { + if (index < 0 || index >= length) + { + throw new IndexOutOfRangeException(); + } + if (value) + { + bits[index >> 5] |= 1 << index; + } + else + { + bits[index >> 5] &= ~(1 << index); + } + } + } +} \ No newline at end of file diff --git a/tools/example-templates/additional-files/PersonWithName.cs b/tools/example-templates/additional-files/PersonWithName.cs new file mode 100644 index 000000000..a14df602a --- /dev/null +++ b/tools/example-templates/additional-files/PersonWithName.cs @@ -0,0 +1,5 @@ +#nullable enable +public class Person +{ + public string? Name { get; set; } +} diff --git a/tools/example-templates/additional-files/RectangleNoPoint.cs b/tools/example-templates/additional-files/RectangleNoPoint.cs index 6a5206c9d..d44cf90ea 100644 --- a/tools/example-templates/additional-files/RectangleNoPoint.cs +++ b/tools/example-templates/additional-files/RectangleNoPoint.cs @@ -1,3 +1,3 @@ -public class Rectangle -{ -} +public class Rectangle +{ +} diff --git a/tools/example-templates/additional-files/RectangleStruct.cs b/tools/example-templates/additional-files/RectangleStruct.cs index 9cf185aeb..e26a640d7 100644 --- a/tools/example-templates/additional-files/RectangleStruct.cs +++ b/tools/example-templates/additional-files/RectangleStruct.cs @@ -1,22 +1,22 @@ -struct Rectangle -{ - Point a, b; - - public Rectangle(Point a, Point b) - { - this.a = a; - this.b = b; - } - - public Point A - { - get { return a; } - set { a = value; } - } - - public Point B - { - get { return b; } - set { b = value; } - } -} +struct Rectangle +{ + Point a, b; + + public Rectangle(Point a, Point b) + { + this.a = a; + this.b = b; + } + + public Point A + { + get { return a; } + set { a = value; } + } + + public Point B + { + get { return b; } + set { b = value; } + } +} diff --git a/tools/example-templates/additional-files/Support1AsyncStreams.cs b/tools/example-templates/additional-files/Support1AsyncStreams.cs new file mode 100644 index 000000000..b6f31b90b --- /dev/null +++ b/tools/example-templates/additional-files/Support1AsyncStreams.cs @@ -0,0 +1,16 @@ +partial class Class1 +{ + static async Task Main() + { + await M(); + await Task.Delay(2000); + } + + static async Task M() + { + await foreach (var number in GenerateSequence()) + { + Console.WriteLine(number); + } + } +} \ No newline at end of file diff --git a/tools/example-templates/additional-files/Support2AsyncStreams.cs b/tools/example-templates/additional-files/Support2AsyncStreams.cs new file mode 100644 index 000000000..7ebd3ccb0 --- /dev/null +++ b/tools/example-templates/additional-files/Support2AsyncStreams.cs @@ -0,0 +1,20 @@ +using System.Collections.Generic; +using System.Threading.Tasks; + +partial class Class1 +{ + static async Task Main() + { + await M(); + await Task.Delay(2000); + } + + static async IAsyncEnumerable GenerateSequence() + { + for (int i = 0; i <= 5; i++) + { + await Task.Delay(100); + yield return i; + } + } +} \ No newline at end of file diff --git a/tools/example-templates/additional-files/SupportLocalVarDecl.cs b/tools/example-templates/additional-files/SupportLocalVarDecl.cs new file mode 100644 index 000000000..d3e752c7b --- /dev/null +++ b/tools/example-templates/additional-files/SupportLocalVarDecl.cs @@ -0,0 +1,7 @@ +partial class Class1 +{ + static void Main() + { + M(); + } +} diff --git a/tools/example-templates/additional-files/SupportNullForgivingExpressions.cs b/tools/example-templates/additional-files/SupportNullForgivingExpressions.cs new file mode 100644 index 000000000..0f8286c6e --- /dev/null +++ b/tools/example-templates/additional-files/SupportNullForgivingExpressions.cs @@ -0,0 +1,13 @@ +#nullable enable +partial class Class1 +{ + public static void Main() + { + M(); + } + + public static Person? Find(string name) + { + return default; + } +} \ No newline at end of file From 5d2f0a813516c6d0f4b64618d25eca6f2fe93803 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 26 Oct 2023 13:20:16 -0400 Subject: [PATCH 011/259] Create word artifact when a PR is merged to the main branch (#971) * Generate the word doc as an artifact. Add a workflow to generate the word doc and upload it as an artifact. * updated deprecated commands. `::set-output` is being deprecated. Replace it with `status=` syntax. * Report status from converter run * add an id * YAML syntax * reorder steps * specify the shell * path fixes * remove unused array declaration This isn't used by the tool, it reads all files in the folder, so just remove it. Also, use the folder variable, rather than the hard-coded string. --- .github/workflows/update-on-merge.yaml | 27 ++++++++++++++++++++++---- tools/run-converter.sh | 8 ++++++++ tools/run-section-renumber.sh | 4 ++-- tools/run-smarten.sh | 2 +- tools/update-grammar-annex.sh | 2 +- tools/validate-grammar.sh | 23 +--------------------- 6 files changed, 36 insertions(+), 30 deletions(-) diff --git a/.github/workflows/update-on-merge.yaml b/.github/workflows/update-on-merge.yaml index 5e3a0f67b..dc14c7681 100644 --- a/.github/workflows/update-on-merge.yaml +++ b/.github/workflows/update-on-merge.yaml @@ -5,8 +5,9 @@ name: Update spec on merge on: push: branches: - - draft-v6 - - draft-v7 + - standard-v6 + - standard-v7 + - draft-v8 workflow_dispatch: inputs: reason: @@ -63,5 +64,23 @@ jobs: uses: peter-evans/create-pull-request@v3.4.1 if: ${{ steps.renumber-sections.outputs.status }} == 'success' && ${{ steps.update-grammar.outputs.status }} == 'success' with: - title: 'Automated Section renumber and grammar extraction' - body: 'renumber sections. Add grammar' \ No newline at end of file + title: "Automated Section renumber and grammar extraction" + body: "renumber sections. Add grammar" + + - name: Run converter + id: run-converter + run: | + cd tools + ./run-converter.sh + shell: bash + + - name: Upload Word artifact + uses: actions/upload-artifact@v3 + if: > + ${{ steps.renumber-sections.outputs.status }} == 'success' && + ${{ steps.update-grammar.outputs.status }} == 'success' && + ${{ steps.run-converter.outputs.status }} == 'success' + with: + name: standard.docx + path: ./tools/tmp/standard.docx + retention-days: 15 diff --git a/tools/run-converter.sh b/tools/run-converter.sh index a3d03f70c..f2171e418 100755 --- a/tools/run-converter.sh +++ b/tools/run-converter.sh @@ -21,3 +21,11 @@ dotnet run --project $CONVERTER_PROJECT -- \ $SPEC_DIRECTORY/*.md $TEMPLATE \ -o $OUTPUT_DIRECTORY/standard.docx +if [ "$?" -eq "0" ] +then + # Success: Write key/value for GitHub action to read: + echo "status=success" >> $GITHUB_OUTPUT +else + # Failed: report the error to the GitHub action: + echo "status=failed" >> $GITHUB_OUTPUT +fi diff --git a/tools/run-section-renumber.sh b/tools/run-section-renumber.sh index 934f50eb4..70c496bd5 100755 --- a/tools/run-section-renumber.sh +++ b/tools/run-section-renumber.sh @@ -14,8 +14,8 @@ dotnet run --project $PROJECT -- $1 if [ "$?" -eq "0" ] then # Success: Write key/value for GitHub action to read: - echo "::set-output name=status::success" + echo "status=success" >> $GITHUB_OUTPUT else # Failed: report the error to the GitHub action: - echo "::set-output name=status::failed" + echo "status=failed" >> $GITHUB_OUTPUT fi diff --git a/tools/run-smarten.sh b/tools/run-smarten.sh index 4aa33e5da..c9f2f051a 100644 --- a/tools/run-smarten.sh +++ b/tools/run-smarten.sh @@ -17,4 +17,4 @@ done rm -rf smarten # I think always success, but echo the success output anyway: -echo "::set-output name=status::success" +echo "status=success" >> $GITHUB_OUTPUT diff --git a/tools/update-grammar-annex.sh b/tools/update-grammar-annex.sh index 17ddd41dd..94d9b0a57 100755 --- a/tools/update-grammar-annex.sh +++ b/tools/update-grammar-annex.sh @@ -49,4 +49,4 @@ echo Insert EOF Stuff cat $GRAMMAR_PROJECT/grammar-eof-insert.md >>$OUTPUT_FILE # I think always success, but echo the success output anyway: -echo "::set-output name=status::success" +echo "status=success" >> $GITHUB_OUTPUT \ No newline at end of file diff --git a/tools/validate-grammar.sh b/tools/validate-grammar.sh index b5bc17f29..722f8b80f 100755 --- a/tools/validate-grammar.sh +++ b/tools/validate-grammar.sh @@ -3,28 +3,7 @@ set -eu -o pipefail declare -r SPEC_DIRECTORY=../standard -declare -a SPEC_FILES=( - "lexical-structure.md" - "basic-concepts.md" - "types.md" - "variables.md" - "conversions.md" - "patterns.md" - "expressions.md" - "statements.md" - "namespaces.md" - "classes.md" - "structs.md" - "arrays.md" - "interfaces.md" - "enums.md" - "delegates.md" - "exceptions.md" - "attributes.md" - "unsafe-code.md" - ) - -dotnet csharpgrammar ../test-grammar CSharp ../standard -m ../.github/workflows/dependencies/ReplaceAndAdd.md +dotnet csharpgrammar ../test-grammar CSharp $SPEC_DIRECTORY -m ../.github/workflows/dependencies/ReplaceAndAdd.md # Now, validate it: curl -H "Accept: application/zip" https://repo1.maven.org/maven2/com/tunnelvisionlabs/antlr4/4.9.0/antlr4-4.9.0-complete.jar -o antlr-4.9.0-complete.jar From 1858ee9253cc3b11b475cc1797f19d1a50c2597e Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Fri, 27 Oct 2023 10:40:38 -0400 Subject: [PATCH 012/259] test for GITHUB_OUTPUT (#973) * test for GITHUB_OUTPUT When running locally, the environment variables set by GH actions aren't set. Check for their existence before writing to them. * Add checks around all GITUB_OUTPUT Check for the existence of the environment so our scripts don't fail when run locally. * remove testing code. * simplify * fix syntax error * respond to feedback Because we're using `set -e`, we don't need to check the most recent error code before determining that it completed successfully. * remove duplicate line --- tools/run-converter.sh | 6 +----- tools/run-section-renumber.sh | 6 +----- tools/run-smarten.sh | 5 ++++- tools/update-grammar-annex.sh | 5 ++++- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/tools/run-converter.sh b/tools/run-converter.sh index f2171e418..10f28bc95 100755 --- a/tools/run-converter.sh +++ b/tools/run-converter.sh @@ -21,11 +21,7 @@ dotnet run --project $CONVERTER_PROJECT -- \ $SPEC_DIRECTORY/*.md $TEMPLATE \ -o $OUTPUT_DIRECTORY/standard.docx -if [ "$?" -eq "0" ] +if [ -n "$GITHUB_OUTPUT" ] then - # Success: Write key/value for GitHub action to read: echo "status=success" >> $GITHUB_OUTPUT -else - # Failed: report the error to the GitHub action: - echo "status=failed" >> $GITHUB_OUTPUT fi diff --git a/tools/run-section-renumber.sh b/tools/run-section-renumber.sh index 70c496bd5..a192bbc82 100755 --- a/tools/run-section-renumber.sh +++ b/tools/run-section-renumber.sh @@ -11,11 +11,7 @@ fi dotnet run --project $PROJECT -- $1 -if [ "$?" -eq "0" ] +if [ -n "$GITHUB_OUTPUT" ] then - # Success: Write key/value for GitHub action to read: echo "status=success" >> $GITHUB_OUTPUT -else - # Failed: report the error to the GitHub action: - echo "status=failed" >> $GITHUB_OUTPUT fi diff --git a/tools/run-smarten.sh b/tools/run-smarten.sh index c9f2f051a..b9eb640d2 100644 --- a/tools/run-smarten.sh +++ b/tools/run-smarten.sh @@ -17,4 +17,7 @@ done rm -rf smarten # I think always success, but echo the success output anyway: -echo "status=success" >> $GITHUB_OUTPUT +if [ -n "$GITHUB_OUTPUT" ] +then + echo "status=success" >> $GITHUB_OUTPUT +fi diff --git a/tools/update-grammar-annex.sh b/tools/update-grammar-annex.sh index 94d9b0a57..ae01a5439 100755 --- a/tools/update-grammar-annex.sh +++ b/tools/update-grammar-annex.sh @@ -49,4 +49,7 @@ echo Insert EOF Stuff cat $GRAMMAR_PROJECT/grammar-eof-insert.md >>$OUTPUT_FILE # I think always success, but echo the success output anyway: -echo "status=success" >> $GITHUB_OUTPUT \ No newline at end of file +if [ -n "$GITHUB_OUTPUT" ] +then + echo "status=success" >> $GITHUB_OUTPUT +fi From cf8b7b6fd02909f1a9fc264af3d08aa5a4fa0da1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 27 Oct 2023 10:55:17 -0400 Subject: [PATCH 013/259] [create-pull-request] automated change (#972) Co-authored-by: BillWagner --- standard/grammar.md | 357 ++++++++++++++++++++++---------------------- 1 file changed, 179 insertions(+), 178 deletions(-) diff --git a/standard/grammar.md b/standard/grammar.md index 9c9e654b2..0be12409e 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -10,7 +10,7 @@ This annex contains the grammar productions found in the specification, includin ```ANTLR -// Source: [§6.3.1](lexical-structure.md#631-general) General +// Source: §6.3.1 General DEFAULT : 'default' ; NULL : 'null' ; TRUE : 'true' ; @@ -18,7 +18,7 @@ FALSE : 'false' ; ASTERISK : '*' ; SLASH : '/' ; -// Source: [§6.3.1](lexical-structure.md#631-general) General +// Source: §6.3.1 General input : input_section? ; @@ -38,13 +38,13 @@ input_element | token ; -// Source: [§6.3.2](lexical-structure.md#632-line-terminators) Line terminators +// Source: §6.3.2 Line terminators New_Line : New_Line_Character | '\u000D\u000A' // carriage return, line feed ; -// Source: [§6.3.3](lexical-structure.md#633-comments) Comments +// Source: §6.3.3 Comments Comment : Single_Line_Comment | Delimited_Comment @@ -80,7 +80,7 @@ fragment Not_Slash_Or_Asterisk : ~('/' | '*') // Any except SLASH or ASTERISK ; -// Source: [§6.3.4](lexical-structure.md#634-white-space) White space +// Source: §6.3.4 White space Whitespace : [\p{Zs}] // any character with Unicode class Zs | '\u0009' // horizontal tab @@ -88,7 +88,7 @@ Whitespace | '\u000C' // form feed ; -// Source: [§6.4.1](lexical-structure.md#641-general) General +// Source: §6.4.1 General token : identifier | keyword @@ -99,14 +99,14 @@ token | operator_or_punctuator ; -// Source: [§6.4.2](lexical-structure.md#642-unicode-character-escape-sequences) Unicode character escape sequences +// Source: §6.4.2 Unicode character escape sequences fragment Unicode_Escape_Sequence : '\\u' Hex_Digit Hex_Digit Hex_Digit Hex_Digit | '\\U' Hex_Digit Hex_Digit Hex_Digit Hex_Digit Hex_Digit Hex_Digit Hex_Digit Hex_Digit ; -// Source: [§6.4.3](lexical-structure.md#643-identifiers) Identifiers +// Source: §6.4.3 Identifiers identifier : Simple_Identifier | contextual_keyword @@ -185,7 +185,7 @@ fragment Formatting_Character | Unicode_Escape_Sequence ; -// Source: [§6.4.4](lexical-structure.md#644-keywords) Keywords +// Source: §6.4.4 Keywords keyword : 'abstract' | 'as' | 'base' | 'bool' | 'break' | 'byte' | 'case' | 'catch' | 'char' | 'checked' @@ -205,7 +205,7 @@ keyword | 'volatile' | 'while' ; -// Source: [§6.4.4](lexical-structure.md#644-keywords) Keywords +// Source: §6.4.4 Keywords contextual_keyword : 'add' | 'alias' | 'ascending' | 'async' | 'await' | 'by' | 'descending' | 'dynamic' | 'equals' | 'from' @@ -215,7 +215,7 @@ contextual_keyword | 'var' | 'when' | 'where' | 'yield' ; -// Source: [§6.4.5.1](lexical-structure.md#6451-general) General +// Source: §6.4.5.1 General literal : boolean_literal | Integer_Literal @@ -225,13 +225,13 @@ literal | null_literal ; -// Source: [§6.4.5.2](lexical-structure.md#6452-boolean-literals) Boolean literals +// Source: §6.4.5.2 Boolean literals boolean_literal : TRUE | FALSE ; -// Source: [§6.4.5.3](lexical-structure.md#6453-integer-literals) Integer literals +// Source: §6.4.5.3 Integer literals Integer_Literal : Decimal_Integer_Literal | Hexadecimal_Integer_Literal @@ -279,7 +279,7 @@ fragment Binary_Digit : '0' | '1' ; -// Source: [§6.4.5.4](lexical-structure.md#6454-real-literals) Real literals +// Source: §6.4.5.4 Real literals Real_Literal : Decimal_Digit Decorated_Decimal_Digit* '.' Decimal_Digit Decorated_Decimal_Digit* Exponent_Part? Real_Type_Suffix? @@ -300,7 +300,7 @@ fragment Real_Type_Suffix : 'F' | 'f' | 'D' | 'd' | 'M' | 'm' ; -// Source: [§6.4.5.5](lexical-structure.md#6455-character-literals) Character literals +// Source: §6.4.5.5 Character literals Character_Literal : '\'' Character '\'' ; @@ -326,7 +326,7 @@ fragment Hexadecimal_Escape_Sequence : '\\x' Hex_Digit Hex_Digit? Hex_Digit? Hex_Digit? ; -// Source: [§6.4.5.6](lexical-structure.md#6456-string-literals) String literals +// Source: §6.4.5.6 String literals String_Literal : Regular_String_Literal | Verbatim_String_Literal @@ -365,12 +365,12 @@ fragment Quote_Escape_Sequence : '""' ; -// Source: [§6.4.5.7](lexical-structure.md#6457-the-null-literal) The null literal +// Source: §6.4.5.7 The null literal null_literal : NULL ; -// Source: [§6.4.6](lexical-structure.md#646-operators-and-punctuators) Operators and punctuators +// Source: §6.4.6 Operators and punctuators operator_or_punctuator : '{' | '}' | '[' | ']' | '(' | ')' | '.' | ',' | ':' | ';' | '+' | '-' | ASTERISK | SLASH | '%' | '&' | '|' | '^' | '!' | '~' @@ -387,7 +387,7 @@ right_shift_assignment : '>' '>=' ; -// Source: [§6.5.1](lexical-structure.md#651-general) General +// Source: §6.5.1 General PP_Directive : PP_Start PP_Kind PP_New_Line ; @@ -419,13 +419,13 @@ fragment PP_New_Line : PP_Whitespace? Single_Line_Comment? New_Line ; -// Source: [§6.5.2](lexical-structure.md#652-conditional-compilation-symbols) Conditional compilation symbols +// Source: §6.5.2 Conditional compilation symbols fragment PP_Conditional_Symbol // Must not be equal to tokens TRUE or FALSE. See note below. : Basic_Identifier ; -// Source: [§6.5.3](lexical-structure.md#653-pre-processing-expressions) Pre-processing expressions +// Source: §6.5.3 Pre-processing expressions fragment PP_Expression : PP_Whitespace? PP_Or_Expression PP_Whitespace? ; @@ -456,13 +456,13 @@ fragment PP_Primary_Expression | '(' PP_Whitespace? PP_Expression PP_Whitespace? ')' ; -// Source: [§6.5.4](lexical-structure.md#654-definition-directives) Definition directives +// Source: §6.5.4 Definition directives fragment PP_Declaration : 'define' PP_Whitespace PP_Conditional_Symbol | 'undef' PP_Whitespace PP_Conditional_Symbol ; -// Source: [§6.5.5](lexical-structure.md#655-conditional-compilation-directives) Conditional compilation directives +// Source: §6.5.5 Conditional compilation directives fragment PP_Conditional : PP_If_Section | PP_Elif_Section @@ -486,7 +486,7 @@ fragment PP_Endif : 'endif' ; -// Source: [§6.5.6](lexical-structure.md#656-diagnostic-directives) Diagnostic directives +// Source: §6.5.6 Diagnostic directives fragment PP_Diagnostic : 'error' PP_Message? | 'warning' PP_Message? @@ -496,7 +496,7 @@ fragment PP_Message : PP_Whitespace Input_Character* ; -// Source: [§6.5.7](lexical-structure.md#657-region-directives) Region directives +// Source: §6.5.7 Region directives fragment PP_Region : PP_Start_Region | PP_End_Region @@ -510,7 +510,7 @@ fragment PP_End_Region : 'endregion' PP_Message? ; -// Source: [§6.5.8](lexical-structure.md#658-line-directives) Line directives +// Source: §6.5.8 Line directives fragment PP_Line : 'line' PP_Whitespace PP_Line_Indicator ; @@ -531,7 +531,7 @@ fragment PP_Compilation_Unit_Name_Character : ~('\u000D' | '\u000A' | '\u0085' | '\u2028' | '\u2029' | '#') ; -// Source: [§6.5.9](lexical-structure.md#659-pragma-directives) Pragma directives +// Source: §6.5.9 Pragma directives fragment PP_Pragma : 'pragma' PP_Pragma_Text? ; @@ -545,7 +545,7 @@ fragment PP_Pragma_Text ```ANTLR -// Source: [§7.8.1](basic-concepts.md#781-general) General +// Source: §7.8.1 General namespace_name : namespace_or_type_name ; @@ -560,7 +560,7 @@ namespace_or_type_name | qualified_alias_member ; -// Source: [§8.1](types.md#81-general) General +// Source: §8.1 General type : reference_type | value_type @@ -568,7 +568,7 @@ type | pointer_type // unsafe code support ; -// Source: [§8.2.1](types.md#821-general) General +// Source: §8.2.1 General reference_type : class_type | interface_type @@ -609,7 +609,7 @@ delegate_type : type_name ; -// Source: [§8.3.1](types.md#831-general) General +// Source: §8.3.1 General value_type : non_nullable_value_type | nullable_value_type @@ -670,7 +670,7 @@ nullable_value_type : non_nullable_value_type '?' ; -// Source: [§8.4.2](types.md#842-type-arguments) Type arguments +// Source: §8.4.2 Type arguments type_argument_list : '<' type_arguments '>' ; @@ -683,30 +683,30 @@ type_argument : type ; -// Source: [§8.5](types.md#85-type-parameters) Type parameters +// Source: §8.5 Type parameters type_parameter : identifier ; -// Source: [§8.8](types.md#88-unmanaged-types) Unmanaged types +// Source: §8.8 Unmanaged types unmanaged_type : value_type | pointer_type // unsafe code support ; -// Source: [§9.5](variables.md#95-variable-references) Variable references +// Source: §9.5 Variable references variable_reference : expression ; -// Source: [§11.2.1](patterns.md#1121-general) General +// Source: §11.2.1 General pattern : declaration_pattern | constant_pattern | var_pattern ; -// Source: [§11.2.2](patterns.md#1122-declaration-pattern) Declaration pattern +// Source: §11.2.2 Declaration pattern declaration_pattern : type simple_designation ; @@ -717,12 +717,12 @@ single_variable_designation : identifier ; -// Source: [§11.2.3](patterns.md#1123-constant-pattern) Constant pattern +// Source: §11.2.3 Constant pattern constant_pattern : constant_expression ; -// Source: [§11.2.4](patterns.md#1124-var-pattern) Var pattern +// Source: §11.2.4 Var pattern var_pattern : 'var' designation ; @@ -730,7 +730,7 @@ designation : simple_designation ; -// Source: [§12.6.2.1](expressions.md#12621-general) General +// Source: §12.6.2.1 General argument_list : argument (',' argument)* ; @@ -750,7 +750,7 @@ argument_value | 'out' variable_reference ; -// Source: [§12.8.1](expressions.md#1281-general) General +// Source: §12.8.1 General primary_expression : primary_no_array_creation_expression | array_creation_expression @@ -786,7 +786,7 @@ primary_no_array_creation_expression | stackalloc_expression ; -// Source: [§12.8.3](expressions.md#1283-interpolated-string-expressions) Interpolated string expressions +// Source: §12.8.3 Interpolated string expressions interpolated_string_expression : interpolated_regular_string_expression | interpolated_verbatim_string_expression @@ -857,6 +857,7 @@ verbatim_interpolation Interpolated_Verbatim_String_Start : '$@"' + | '@$"' ; // the following three lexical rules are context sensitive, see details below @@ -894,17 +895,17 @@ fragment Close_Brace_Escape_Sequence : '}}' ; -// Source: [§12.8.4](expressions.md#1284-simple-names) Simple names +// Source: §12.8.4 Simple names simple_name : identifier type_argument_list? ; -// Source: [§12.8.5](expressions.md#1285-parenthesized-expressions) Parenthesized expressions +// Source: §12.8.5 Parenthesized expressions parenthesized_expression : '(' expression ')' ; -// Source: [§12.8.6](expressions.md#1286-tuple-expressions) Tuple expressions +// Source: §12.8.6 Tuple expressions tuple_expression : '(' tuple_element (',' tuple_element)+ ')' | deconstruction_expression @@ -927,7 +928,7 @@ deconstruction_element | identifier ; -// Source: [§12.8.7.1](expressions.md#12871-general) General +// Source: §12.8.7.1 General member_access : primary_expression '.' identifier type_argument_list? | predefined_type '.' identifier type_argument_list? @@ -940,7 +941,7 @@ predefined_type | 'ushort' ; -// Source: [§12.8.8](expressions.md#1288-null-conditional-member-access) Null Conditional Member Access +// Source: §12.8.8 Null Conditional Member Access null_conditional_member_access : primary_expression '?' '.' identifier type_argument_list? dependent_access* @@ -956,40 +957,40 @@ null_conditional_projection_initializer : primary_expression '?' '.' identifier type_argument_list? ; -// Source: [§12.8.9.1](expressions.md#12891-general) General +// Source: §12.8.9.1 General invocation_expression : primary_expression '(' argument_list? ')' ; -// Source: [§12.8.10](expressions.md#12810-null-conditional-invocation-expression) Null Conditional Invocation Expression +// Source: §12.8.10 Null Conditional Invocation Expression null_conditional_invocation_expression : null_conditional_member_access '(' argument_list? ')' | null_conditional_element_access '(' argument_list? ')' ; -// Source: [§12.8.11.1](expressions.md#128111-general) General +// Source: §12.8.11.1 General element_access : primary_no_array_creation_expression '[' argument_list ']' ; -// Source: [§12.8.12](expressions.md#12812-null-conditional-element-access) Null Conditional Element Access +// Source: §12.8.12 Null Conditional Element Access null_conditional_element_access : primary_no_array_creation_expression '?' '[' argument_list ']' dependent_access* ; -// Source: [§12.8.13](expressions.md#12813-this-access) This access +// Source: §12.8.13 This access this_access : 'this' ; -// Source: [§12.8.14](expressions.md#12814-base-access) Base access +// Source: §12.8.14 Base access base_access : 'base' '.' identifier type_argument_list? | 'base' '[' argument_list ']' ; -// Source: [§12.8.15](expressions.md#12815-postfix-increment-and-decrement-operators) Postfix increment and decrement operators +// Source: §12.8.15 Postfix increment and decrement operators post_increment_expression : primary_expression '++' ; @@ -998,7 +999,7 @@ post_decrement_expression : primary_expression '--' ; -// Source: [§12.8.16.2](expressions.md#128162-object-creation-expressions) Object creation expressions +// Source: §12.8.16.2 Object creation expressions object_creation_expression : 'new' type '(' argument_list? ')' object_or_collection_initializer? | 'new' type object_or_collection_initializer @@ -1009,7 +1010,7 @@ object_or_collection_initializer | collection_initializer ; -// Source: [§12.8.16.3](expressions.md#128163-object-initializers) Object initializers +// Source: §12.8.16.3 Object initializers object_initializer : '{' member_initializer_list? '}' | '{' member_initializer_list ',' '}' @@ -1033,7 +1034,7 @@ initializer_value | object_or_collection_initializer ; -// Source: [§12.8.16.4](expressions.md#128164-collection-initializers) Collection initializers +// Source: §12.8.16.4 Collection initializers collection_initializer : '{' element_initializer_list '}' | '{' element_initializer_list ',' '}' @@ -1053,7 +1054,7 @@ expression_list | expression_list ',' expression ; -// Source: [§12.8.16.5](expressions.md#128165-array-creation-expressions) Array creation expressions +// Source: §12.8.16.5 Array creation expressions array_creation_expression : 'new' non_array_type '[' expression_list ']' rank_specifier* array_initializer? @@ -1061,12 +1062,12 @@ array_creation_expression | 'new' rank_specifier array_initializer ; -// Source: [§12.8.16.6](expressions.md#128166-delegate-creation-expressions) Delegate creation expressions +// Source: §12.8.16.6 Delegate creation expressions delegate_creation_expression : 'new' delegate_type '(' expression ')' ; -// Source: [§12.8.16.7](expressions.md#128167-anonymous-object-creation-expressions) Anonymous object creation expressions +// Source: §12.8.16.7 Anonymous object creation expressions anonymous_object_creation_expression : 'new' anonymous_object_initializer ; @@ -1088,7 +1089,7 @@ member_declarator | identifier '=' expression ; -// Source: [§12.8.17](expressions.md#12817-the-typeof-operator) The typeof operator +// Source: §12.8.17 The typeof operator typeof_expression : 'typeof' '(' type ')' | 'typeof' '(' unbound_type_name ')' @@ -1110,12 +1111,12 @@ comma ; -// Source: [§12.8.18](expressions.md#12818-the-sizeof-operator) The sizeof operator +// Source: §12.8.18 The sizeof operator sizeof_expression : 'sizeof' '(' unmanaged_type ')' ; -// Source: [§12.8.19](expressions.md#12819-the-checked-and-unchecked-operators) The checked and unchecked operators +// Source: §12.8.19 The checked and unchecked operators checked_expression : 'checked' '(' expression ')' ; @@ -1124,7 +1125,7 @@ unchecked_expression : 'unchecked' '(' expression ')' ; -// Source: [§12.8.20](expressions.md#12820-default-value-expressions) Default value expressions +// Source: §12.8.20 Default value expressions default_value_expression : explictly_typed_default | default_literal @@ -1138,7 +1139,7 @@ default_literal : 'default' ; -// Source: [§12.8.21](expressions.md#12821-stack-allocation) Stack allocation +// Source: §12.8.21 Stack allocation stackalloc_expression : 'stackalloc' unmanaged_type '[' expression ']' | 'stackalloc' unmanaged_type? '[' constant_expression? ']' @@ -1157,7 +1158,7 @@ stackalloc_element_initializer : expression ; -// Source: [§12.8.22](expressions.md#12822-nameof-expressions) Nameof expressions +// Source: §12.8.22 Nameof expressions nameof_expression : 'nameof' '(' named_entity ')' ; @@ -1174,7 +1175,7 @@ named_entity_target | qualified_alias_member ; -// Source: [§12.9.1](expressions.md#1291-general) General +// Source: §12.9.1 General unary_expression : primary_expression | '+' unary_expression @@ -1189,7 +1190,7 @@ unary_expression | addressof_expression // unsafe code support ; -// Source: [§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators) Prefix increment and decrement operators +// Source: §12.9.6 Prefix increment and decrement operators pre_increment_expression : '++' unary_expression ; @@ -1198,17 +1199,17 @@ pre_decrement_expression : '--' unary_expression ; -// Source: [§12.9.7](expressions.md#1297-cast-expressions) Cast expressions +// Source: §12.9.7 Cast expressions cast_expression : '(' type ')' unary_expression ; -// Source: [§12.9.8.1](expressions.md#12981-general) General +// Source: §12.9.8.1 General await_expression : 'await' unary_expression ; -// Source: [§12.10.1](expressions.md#12101-general) General +// Source: §12.10.1 General multiplicative_expression : unary_expression | multiplicative_expression '*' unary_expression @@ -1222,14 +1223,14 @@ additive_expression | additive_expression '-' multiplicative_expression ; -// Source: [§12.11](expressions.md#1211-shift-operators) Shift operators +// Source: §12.11 Shift operators shift_expression : additive_expression | shift_expression '<<' additive_expression | shift_expression right_shift additive_expression ; -// Source: [§12.12.1](expressions.md#12121-general) General +// Source: §12.12.1 General relational_expression : shift_expression | relational_expression '<' shift_expression @@ -1247,7 +1248,7 @@ equality_expression | equality_expression '!=' relational_expression ; -// Source: [§12.13.1](expressions.md#12131-general) General +// Source: §12.13.1 General and_expression : equality_expression | and_expression '&' equality_expression @@ -1263,7 +1264,7 @@ inclusive_or_expression | inclusive_or_expression '|' exclusive_or_expression ; -// Source: [§12.14.1](expressions.md#12141-general) General +// Source: §12.14.1 General conditional_and_expression : inclusive_or_expression | conditional_and_expression '&&' inclusive_or_expression @@ -1274,19 +1275,19 @@ conditional_or_expression | conditional_or_expression '||' conditional_and_expression ; -// Source: [§12.15](expressions.md#1215-the-null-coalescing-operator) The null coalescing operator +// Source: §12.15 The null coalescing operator null_coalescing_expression : conditional_or_expression | conditional_or_expression '??' null_coalescing_expression | throw_expression ; -// Source: [§12.16](expressions.md#1216-the-throw-expression-operator) The throw expression operator +// Source: §12.16 The throw expression operator throw_expression : 'throw' null_coalescing_expression ; -// Source: [§12.17](expressions.md#1217-declaration-expressions) Declaration expressions +// Source: §12.17 Declaration expressions declaration_expression : local_variable_type identifier ; @@ -1296,7 +1297,7 @@ local_variable_type | 'var' ; -// Source: [§12.18](expressions.md#1218-conditional-operator) Conditional operator +// Source: §12.18 Conditional operator conditional_expression : null_coalescing_expression | null_coalescing_expression '?' expression ':' expression @@ -1304,7 +1305,7 @@ conditional_expression 'ref' variable_reference ; -// Source: [§12.19.1](expressions.md#12191-general) General +// Source: §12.19.1 General lambda_expression : 'async'? anonymous_function_signature '=>' anonymous_function_body ; @@ -1358,7 +1359,7 @@ anonymous_function_body | block ; -// Source: [§12.20.1](expressions.md#12201-general) General +// Source: §12.20.1 General query_expression : from_clause query_body ; @@ -1437,7 +1438,7 @@ query_continuation : 'into' identifier query_body ; -// Source: [§12.21.1](expressions.md#12211-general) General +// Source: §12.21.1 General assignment : unary_expression assignment_operator expression ; @@ -1447,7 +1448,7 @@ assignment_operator | right_shift_assignment ; -// Source: [§12.22](expressions.md#1222-expression) Expression +// Source: §12.22 Expression expression : non_assignment_expression | assignment @@ -1460,17 +1461,17 @@ non_assignment_expression | query_expression ; -// Source: [§12.23](expressions.md#1223-constant-expressions) Constant expressions +// Source: §12.23 Constant expressions constant_expression : expression ; -// Source: [§12.24](expressions.md#1224-boolean-expressions) Boolean expressions +// Source: §12.24 Boolean expressions boolean_expression : expression ; -// Source: [§13.1](statements.md#131-general) General +// Source: §13.1 General statement : labeled_statement | declaration_statement @@ -1494,41 +1495,41 @@ embedded_statement | fixed_statement // unsafe code support ; -// Source: [§13.3.1](statements.md#1331-general) General +// Source: §13.3.1 General block : '{' statement_list? '}' ; -// Source: [§13.3.2](statements.md#1332-statement-lists) Statement lists +// Source: §13.3.2 Statement lists statement_list : statement+ ; -// Source: [§13.4](statements.md#134-the-empty-statement) The empty statement +// Source: §13.4 The empty statement empty_statement : ';' ; -// Source: [§13.5](statements.md#135-labeled-statements) Labeled statements +// Source: §13.5 Labeled statements labeled_statement : identifier ':' statement ; -// Source: [§13.6.1](statements.md#1361-general) General +// Source: §13.6.1 General declaration_statement : local_variable_declaration ';' | local_constant_declaration ';' | local_function_declaration ; -// Source: [§13.6.2](statements.md#1362-local-variable-declarations) Local variable declarations +// Source: §13.6.2.1 General local_variable_declaration : implicitly_typed_local_variable_declaration | explicitly_typed_local_variable_declaration | ref_local_variable_declaration ; -// Source: [§13.6.2.2](statements.md#13622-implicitly-typed-local-variable-declarations) Implicitly typed local variable declarations +// Source: §13.6.2.2 Implicitly typed local variable declarations implicitly_typed_local_variable_declaration : 'var' implicitly_typed_local_variable_declarator | ref_kind 'var' ref_local_variable_declarator @@ -1538,7 +1539,7 @@ implicitly_typed_local_variable_declarator : identifier '=' expression ; -// Source: [§13.6.2.3](statements.md#13623-explicitly-typed-local-variable-declarations) Explicitly typed local variable declarations +// Source: §13.6.2.3 Explicitly typed local variable declarations explicitly_typed_local_variable_declaration : type explicitly_typed_local_variable_declarators ; @@ -1557,7 +1558,7 @@ local_variable_initializer | array_initializer ; -// Source: [§13.6.2.4](statements.md#13624-ref-local-variable-declarations) Ref local variable declarations +// Source: §13.6.2.4 Ref local variable declarations ref_local_variable_declaration : ref_kind type ref_local_variable_declarators ; @@ -1570,7 +1571,7 @@ ref_local_variable_declarator : identifier '=' 'ref' variable_reference ; -// Source: [§13.6.3](statements.md#1363-local-constant-declarations) Local constant declarations +// Source: §13.6.3 Local constant declarations local_constant_declaration : 'const' type constant_declarators ; @@ -1583,7 +1584,7 @@ constant_declarator : identifier '=' constant_expression ; -// Source: [§13.6.4](statements.md#1364-local-function-declarations) Local function declarations +// Source: §13.6.4 Local function declarations local_function_declaration : local_function_modifier* return_type local_function_header local_function_body @@ -1617,7 +1618,7 @@ ref_local_function_body | '=>' 'ref' variable_reference ';' ; -// Source: [§13.7](statements.md#137-expression-statements) Expression statements +// Source: §13.7 Expression statements expression_statement : statement_expression ';' ; @@ -1634,20 +1635,20 @@ statement_expression | await_expression ; -// Source: [§13.8.1](statements.md#1381-general) General +// Source: §13.8.1 General selection_statement : if_statement | switch_statement ; -// Source: [§13.8.2](statements.md#1382-the-if-statement) The if statement +// Source: §13.8.2 The if statement if_statement : 'if' '(' boolean_expression ')' embedded_statement | 'if' '(' boolean_expression ')' embedded_statement 'else' embedded_statement ; -// Source: [§13.8.3](statements.md#1383-the-switch-statement) The switch statement +// Source: §13.8.3 The switch statement switch_statement : 'switch' '(' expression ')' switch_block ; @@ -1669,7 +1670,7 @@ case_guard : 'when' expression ; -// Source: [§13.9.1](statements.md#1391-general) General +// Source: §13.9.1 General iteration_statement : while_statement | do_statement @@ -1677,17 +1678,17 @@ iteration_statement | foreach_statement ; -// Source: [§13.9.2](statements.md#1392-the-while-statement) The while statement +// Source: §13.9.2 The while statement while_statement : 'while' '(' boolean_expression ')' embedded_statement ; -// Source: [§13.9.3](statements.md#1393-the-do-statement) The do statement +// Source: §13.9.3 The do statement do_statement : 'do' embedded_statement 'while' '(' boolean_expression ')' ';' ; -// Source: [§13.9.4](statements.md#1394-the-for-statement) The for statement +// Source: §13.9.4 The for statement for_statement : 'for' '(' for_initializer? ';' for_condition? ';' for_iterator? ')' embedded_statement @@ -1710,13 +1711,13 @@ statement_expression_list : statement_expression (',' statement_expression)* ; -// Source: [§13.9.5](statements.md#1395-the-foreach-statement) The foreach statement +// Source: §13.9.5 The foreach statement foreach_statement : 'foreach' '(' ref_kind? local_variable_type identifier 'in' expression ')' embedded_statement ; -// Source: [§13.10.1](statements.md#13101-general) General +// Source: §13.10.1 General jump_statement : break_statement | continue_statement @@ -1725,36 +1726,36 @@ jump_statement | throw_statement ; -// Source: [§13.10.2](statements.md#13102-the-break-statement) The break statement +// Source: §13.10.2 The break statement break_statement : 'break' ';' ; -// Source: [§13.10.3](statements.md#13103-the-continue-statement) The continue statement +// Source: §13.10.3 The continue statement continue_statement : 'continue' ';' ; -// Source: [§13.10.4](statements.md#13104-the-goto-statement) The goto statement +// Source: §13.10.4 The goto statement goto_statement : 'goto' identifier ';' | 'goto' 'case' constant_expression ';' | 'goto' 'default' ';' ; -// Source: [§13.10.5](statements.md#13105-the-return-statement) The return statement +// Source: §13.10.5 The return statement return_statement : 'return' ';' | 'return' expression ';' | 'return' 'ref' variable_reference ';' ; -// Source: [§13.10.6](statements.md#13106-the-throw-statement) The throw statement +// Source: §13.10.6 The throw statement throw_statement : 'throw' expression? ';' ; -// Source: [§13.11](statements.md#1311-the-try-statement) The try statement +// Source: §13.11 The try statement try_statement : 'try' block catch_clauses | 'try' block catch_clauses? finally_clause @@ -1786,7 +1787,7 @@ finally_clause : 'finally' block ; -// Source: [§13.12](statements.md#1312-the-checked-and-unchecked-statements) The checked and unchecked statements +// Source: §13.12 The checked and unchecked statements checked_statement : 'checked' block ; @@ -1795,12 +1796,12 @@ unchecked_statement : 'unchecked' block ; -// Source: [§13.13](statements.md#1313-the-lock-statement) The lock statement +// Source: §13.13 The lock statement lock_statement : 'lock' '(' expression ')' embedded_statement ; -// Source: [§13.14](statements.md#1314-the-using-statement) The using statement +// Source: §13.14 The using statement using_statement : 'using' '(' resource_acquisition ')' embedded_statement ; @@ -1810,19 +1811,19 @@ resource_acquisition | expression ; -// Source: [§13.15](statements.md#1315-the-yield-statement) The yield statement +// Source: §13.15 The yield statement yield_statement : 'yield' 'return' expression ';' | 'yield' 'break' ';' ; -// Source: [§14.2](namespaces.md#142-compilation-units) Compilation units +// Source: §14.2 Compilation units compilation_unit : extern_alias_directive* using_directive* global_attributes? namespace_member_declaration* ; -// Source: [§14.3](namespaces.md#143-namespace-declarations) Namespace declarations +// Source: §14.3 Namespace declarations namespace_declaration : 'namespace' qualified_identifier namespace_body ';'? ; @@ -1836,40 +1837,40 @@ namespace_body namespace_member_declaration* '}' ; -// Source: [§14.4](namespaces.md#144-extern-alias-directives) Extern alias directives +// Source: §14.4 Extern alias directives extern_alias_directive : 'extern' 'alias' identifier ';' ; -// Source: [§14.5.1](namespaces.md#1451-general) General +// Source: §14.5.1 General using_directive : using_alias_directive | using_namespace_directive | using_static_directive ; -// Source: [§14.5.2](namespaces.md#1452-using-alias-directives) Using alias directives +// Source: §14.5.2 Using alias directives using_alias_directive : 'using' identifier '=' namespace_or_type_name ';' ; -// Source: [§14.5.3](namespaces.md#1453-using-namespace-directives) Using namespace directives +// Source: §14.5.3 Using namespace directives using_namespace_directive : 'using' namespace_name ';' ; -// Source: [§14.5.4](namespaces.md#1454-using-static-directives) Using static directives +// Source: §14.5.4 Using static directives using_static_directive : 'using' 'static' type_name ';' ; -// Source: [§14.6](namespaces.md#146-namespace-member-declarations) Namespace member declarations +// Source: §14.6 Namespace member declarations namespace_member_declaration : namespace_declaration | type_declaration ; -// Source: [§14.7](namespaces.md#147-type-declarations) Type declarations +// Source: §14.7 Type declarations type_declaration : class_declaration | struct_declaration @@ -1878,19 +1879,19 @@ type_declaration | delegate_declaration ; -// Source: [§14.8.1](namespaces.md#1481-general) General +// Source: §14.8.1 General qualified_alias_member : identifier '::' identifier type_argument_list? ; -// Source: [§15.2.1](classes.md#1521-general) General +// Source: §15.2.1 General class_declaration : attributes? class_modifier* 'partial'? 'class' identifier type_parameter_list? class_base? type_parameter_constraints_clause* class_body ';'? ; -// Source: [§15.2.2.1](classes.md#15221-general) General +// Source: §15.2.2.1 General class_modifier : 'new' | 'public' @@ -1903,7 +1904,7 @@ class_modifier | unsafe_modifier // unsafe code support ; -// Source: [§15.2.3](classes.md#1523-type-parameters) Type parameters +// Source: §15.2.3 Type parameters type_parameter_list : '<' type_parameters '>' ; @@ -1913,7 +1914,7 @@ type_parameters | type_parameters ',' attributes? type_parameter ; -// Source: [§15.2.4.1](classes.md#15241-general) General +// Source: §15.2.4.1 General class_base : ':' class_type | ':' interface_type_list @@ -1924,7 +1925,7 @@ interface_type_list : interface_type (',' interface_type)* ; -// Source: [§15.2.5](classes.md#1525-type-parameter-constraints) Type parameter constraints +// Source: §15.2.5 Type parameter constraints type_parameter_constraints_clauses : type_parameter_constraints_clause | type_parameter_constraints_clauses type_parameter_constraints_clause @@ -1962,12 +1963,12 @@ constructor_constraint : 'new' '(' ')' ; -// Source: [§15.2.6](classes.md#1526-class-body) Class body +// Source: §15.2.6 Class body class_body : '{' class_member_declaration* '}' ; -// Source: [§15.3.1](classes.md#1531-general) General +// Source: §15.3.1 General class_member_declaration : constant_declaration | field_declaration @@ -1982,7 +1983,7 @@ class_member_declaration | type_declaration ; -// Source: [§15.4](classes.md#154-constants) Constants +// Source: §15.4 Constants constant_declaration : attributes? constant_modifier* 'const' type constant_declarators ';' ; @@ -1995,7 +1996,7 @@ constant_modifier | 'private' ; -// Source: [§15.5.1](classes.md#1551-general) General +// Source: §15.5.1 General field_declaration : attributes? field_modifier* type variable_declarators ';' ; @@ -2020,7 +2021,7 @@ variable_declarator : identifier ('=' variable_initializer)? ; -// Source: [§15.6.1](classes.md#1561-general) General +// Source: §15.6.1 General method_declaration : attributes? method_modifiers return_type method_header method_body | attributes? ref_method_modifiers ref_kind ref_return_type method_header @@ -2093,7 +2094,7 @@ ref_method_body | ';' ; -// Source: [§15.6.2.1](classes.md#15621-general) General +// Source: §15.6.2.1 General formal_parameter_list : fixed_parameters | fixed_parameters ',' parameter_array @@ -2127,7 +2128,7 @@ parameter_array : attributes? 'params' array_type identifier ; -// Source: [§15.7.1](classes.md#1571-general) General +// Source: §15.7.1 General property_declaration : attributes? property_modifier* type member_name property_body | attributes? property_modifier* ref_kind type member_name ref_property_body @@ -2162,7 +2163,7 @@ ref_property_body | '=>' 'ref' variable_reference ';' ; -// Source: [§15.7.3](classes.md#1573-accessors) Accessors +// Source: §15.7.3 Accessors accessor_declarations : get_accessor_declaration set_accessor_declaration? | set_accessor_declaration get_accessor_declaration? @@ -2202,7 +2203,7 @@ ref_accessor_body | ';' ; -// Source: [§15.8.1](classes.md#1581-general) General +// Source: §15.8.1 General event_declaration : attributes? event_modifier* 'event' type variable_declarators ';' | attributes? event_modifier* 'event' type member_name @@ -2237,7 +2238,7 @@ remove_accessor_declaration : attributes? 'remove' block ; -// Source: [§15.9.1](classes.md#1591-general) General +// Source: §15.9.1 General indexer_declaration : attributes? indexer_modifier* indexer_declarator indexer_body | attributes? indexer_modifier* ref_kind indexer_declarator ref_indexer_body @@ -2272,7 +2273,7 @@ ref_indexer_body | '=>' 'ref' variable_reference ';' ; -// Source: [§15.10.1](classes.md#15101-general) General +// Source: §15.10.1 General operator_declaration : attributes? operator_modifier+ operator_declarator operator_body ; @@ -2319,7 +2320,7 @@ operator_body | ';' ; -// Source: [§15.11.1](classes.md#15111-general) General +// Source: §15.11.1 General constructor_declaration : attributes? constructor_modifier* constructor_declarator constructor_body ; @@ -2348,7 +2349,7 @@ constructor_body | ';' ; -// Source: [§15.12](classes.md#1512-static-constructors) Static constructors +// Source: §15.12 Static constructors static_constructor_declaration : attributes? static_constructor_modifiers identifier '(' ')' static_constructor_body @@ -2370,7 +2371,7 @@ static_constructor_body | ';' ; -// Source: [§15.13](classes.md#1513-finalizers) Finalizers +// Source: §15.13 Finalizers finalizer_declaration : attributes? '~' identifier '(' ')' finalizer_body | attributes? 'extern' unsafe_modifier? '~' identifier '(' ')' @@ -2385,14 +2386,14 @@ finalizer_body | ';' ; -// Source: [§16.2.1](structs.md#1621-general) General +// Source: §16.2.1 General struct_declaration : attributes? struct_modifier* 'ref'? 'partial'? 'struct' identifier type_parameter_list? struct_interfaces? type_parameter_constraints_clause* struct_body ';'? ; -// Source: [§16.2.2](structs.md#1622-struct-modifiers) Struct modifiers +// Source: §16.2.2 Struct modifiers struct_modifier : 'new' | 'public' @@ -2403,17 +2404,17 @@ struct_modifier | unsafe_modifier // unsafe code support ; -// Source: [§16.2.5](structs.md#1625-struct-interfaces) Struct interfaces +// Source: §16.2.5 Struct interfaces struct_interfaces : ':' interface_type_list ; -// Source: [§16.2.6](structs.md#1626-struct-body) Struct body +// Source: §16.2.6 Struct body struct_body : '{' struct_member_declaration* '}' ; -// Source: [§16.3](structs.md#163-struct-members) Struct members +// Source: §16.3 Struct members struct_member_declaration : constant_declaration | field_declaration @@ -2428,7 +2429,7 @@ struct_member_declaration | fixed_size_buffer_declaration // unsafe code support ; -// Source: [§17.7](arrays.md#177-array-initializers) Array initializers +// Source: §17.7 Array initializers array_initializer : '{' variable_initializer_list? '}' | '{' variable_initializer_list ',' '}' @@ -2443,14 +2444,14 @@ variable_initializer | array_initializer ; -// Source: [§18.2.1](interfaces.md#1821-general) General +// Source: §18.2.1 General interface_declaration : attributes? interface_modifier* 'partial'? 'interface' identifier variant_type_parameter_list? interface_base? type_parameter_constraints_clause* interface_body ';'? ; -// Source: [§18.2.2](interfaces.md#1822-interface-modifiers) Interface modifiers +// Source: §18.2.2 Interface modifiers interface_modifier : 'new' | 'public' @@ -2460,35 +2461,35 @@ interface_modifier | unsafe_modifier // unsafe code support ; -// Source: [§18.2.3.1](interfaces.md#18231-general) General +// Source: §18.2.3.1 General variant_type_parameter_list : '<' variant_type_parameters '>' ; -// Source: [§18.2.3.1](interfaces.md#18231-general) General +// Source: §18.2.3.1 General variant_type_parameters : attributes? variance_annotation? type_parameter | variant_type_parameters ',' attributes? variance_annotation? type_parameter ; -// Source: [§18.2.3.1](interfaces.md#18231-general) General +// Source: §18.2.3.1 General variance_annotation : 'in' | 'out' ; -// Source: [§18.2.4](interfaces.md#1824-base-interfaces) Base interfaces +// Source: §18.2.4 Base interfaces interface_base : ':' interface_type_list ; -// Source: [§18.3](interfaces.md#183-interface-body) Interface body +// Source: §18.3 Interface body interface_body : '{' interface_member_declaration* '}' ; -// Source: [§18.4.1](interfaces.md#1841-general) General +// Source: §18.4.1 General interface_member_declaration : interface_method_declaration | interface_property_declaration @@ -2496,7 +2497,7 @@ interface_member_declaration | interface_indexer_declaration ; -// Source: [§18.4.2](interfaces.md#1842-interface-methods) Interface methods +// Source: §18.4.2 Interface methods interface_method_declaration : attributes? 'new'? return_type interface_method_header | attributes? 'new'? ref_kind ref_return_type interface_method_header @@ -2508,7 +2509,7 @@ interface_method_header type_parameter_constraints_clause* ';' ; -// Source: [§18.4.3](interfaces.md#1843-interface-properties) Interface properties +// Source: §18.4.3 Interface properties interface_property_declaration : attributes? 'new'? type identifier '{' interface_accessors '}' | attributes? 'new'? ref_kind type identifier '{' ref_interface_accessor '}' @@ -2525,12 +2526,12 @@ ref_interface_accessor : attributes? 'get' ';' ; -// Source: [§18.4.4](interfaces.md#1844-interface-events) Interface events +// Source: §18.4.4 Interface events interface_event_declaration : attributes? 'new'? 'event' type identifier ';' ; -// Source: [§18.4.5](interfaces.md#1845-interface-indexers) Interface indexers +// Source: §18.4.5 Interface indexers interface_indexer_declaration : attributes? 'new'? type 'this' '[' formal_parameter_list ']' '{' interface_accessors '}' @@ -2538,7 +2539,7 @@ interface_indexer_declaration '{' ref_interface_accessor '}' ; -// Source: [§19.2](enums.md#192-enum-declarations) Enum declarations +// Source: §19.2 Enum declarations enum_declaration : attributes? enum_modifier* 'enum' identifier enum_base? enum_body ';'? ; @@ -2557,7 +2558,7 @@ enum_body | '{' enum_member_declarations ',' '}' ; -// Source: [§19.3](enums.md#193-enum-modifiers) Enum modifiers +// Source: §19.3 Enum modifiers enum_modifier : 'new' | 'public' @@ -2566,17 +2567,17 @@ enum_modifier | 'private' ; -// Source: [§19.4](enums.md#194-enum-members) Enum members +// Source: §19.4 Enum members enum_member_declarations : enum_member_declaration (',' enum_member_declaration)* ; -// Source: [§19.4](enums.md#194-enum-members) Enum members +// Source: §19.4 Enum members enum_member_declaration : attributes? identifier ('=' constant_expression)? ; -// Source: [§20.2](delegates.md#202-delegate-declarations) Delegate declarations +// Source: §20.2 Delegate declarations delegate_declaration : attributes? delegate_modifier* 'delegate' return_type delegate_header | attributes? delegate_modifier* 'delegate' ref_kind ref_return_type @@ -2598,7 +2599,7 @@ delegate_modifier | unsafe_modifier // unsafe code support ; -// Source: [§22.3](attributes.md#223-attribute-specification) Attribute specification +// Source: §22.3 Attribute specification global_attributes : global_attribute_section+ ; @@ -2677,7 +2678,7 @@ attribute_argument_expression ```ANTLR -// Source: [§23.2](unsafe-code.md#232-unsafe-contexts) Unsafe contexts +// Source: §23.2 Unsafe contexts unsafe_modifier : 'unsafe' ; @@ -2686,33 +2687,33 @@ unsafe_statement : 'unsafe' block ; -// Source: [§23.3](unsafe-code.md#233-pointer-types) Pointer types +// Source: §23.3 Pointer types pointer_type : value_type ('*')+ | 'void' ('*')+ ; -// Source: [§23.6.2](unsafe-code.md#2362-pointer-indirection) Pointer indirection +// Source: §23.6.2 Pointer indirection pointer_indirection_expression : '*' unary_expression ; -// Source: [§23.6.3](unsafe-code.md#2363-pointer-member-access) Pointer member access +// Source: §23.6.3 Pointer member access pointer_member_access : primary_expression '->' identifier type_argument_list? ; -// Source: [§23.6.4](unsafe-code.md#2364-pointer-element-access) Pointer element access +// Source: §23.6.4 Pointer element access pointer_element_access : primary_no_array_creation_expression '[' expression ']' ; -// Source: [§23.6.5](unsafe-code.md#2365-the-address-of-operator) The address-of operator +// Source: §23.6.5 The address-of operator addressof_expression : '&' unary_expression ; -// Source: [§23.7](unsafe-code.md#237-the-fixed-statement) The fixed statement +// Source: §23.7 The fixed statement fixed_statement : 'fixed' '(' pointer_type fixed_pointer_declarators ')' embedded_statement ; @@ -2730,7 +2731,7 @@ fixed_pointer_initializer | expression ; -// Source: [§23.8.2](unsafe-code.md#2382-fixed-size-buffer-declarations) Fixed-size buffer declarations +// Source: §23.8.2 Fixed-size buffer declarations fixed_size_buffer_declaration : attributes? fixed_size_buffer_modifier* 'fixed' buffer_element_type fixed_size_buffer_declarators ';' From 2fb8425d1436a6ab5a69e48449463c1e1b7ac92b Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Tue, 31 Oct 2023 11:05:43 -0400 Subject: [PATCH 014/259] Combine merge tools (#977) * Update clauses to separate unsafe code For the grammar, we separate the unsafe code extensions. Make that distinction in the clauses.json, the code that reads it, and the section renumbering tool. * Replicate current functionality The section renumbering tool now replicates the output from the grammar extraction tool. Refactoring to come. * remove update grammar tool It's no longer needed because it's functionality has been replicated in the section renumber tool. * Refactoring, part 1 Simplify the loop that reads all the grammar productions from parts of the standard, and writes them to the grammar annex. * refactoring, part 2 Read the existing text outside of the ANTLR productions from the existing annex. That way, we can make any edits to this text (including any changing section numbers) in the markdown file, rather than in the program source code. * some final refactoring * respond to feedback * one final small lint fix --- .github/workflows/update-on-merge.yaml | 7 -- standard/clauses.json | 14 ++- tools/GetGrammar/GetGrammar.csproj | 9 -- tools/GetGrammar/Program.cs | 87 -------------- tools/GetGrammar/grammar-eof-insert.md | 3 - .../grammar-general-lexical-insert.md | 11 -- tools/GetGrammar/grammar-lexer-members.txt | 10 -- tools/GetGrammar/grammar-syntactic-insert.md | 5 - .../grammar-unsafe-extensions-insert.md | 5 - tools/StandardAnchorTags/GenerateGrammar.cs | 113 ++++++++++++++++++ tools/StandardAnchorTags/Program.cs | 77 +++++++++++- tools/Utilities/Clauses.cs | 7 ++ tools/tools.sln | 16 +-- tools/update-grammar-annex.sh | 55 --------- 14 files changed, 206 insertions(+), 213 deletions(-) delete mode 100644 tools/GetGrammar/GetGrammar.csproj delete mode 100644 tools/GetGrammar/Program.cs delete mode 100644 tools/GetGrammar/grammar-eof-insert.md delete mode 100644 tools/GetGrammar/grammar-general-lexical-insert.md delete mode 100644 tools/GetGrammar/grammar-lexer-members.txt delete mode 100644 tools/GetGrammar/grammar-syntactic-insert.md delete mode 100644 tools/GetGrammar/grammar-unsafe-extensions-insert.md create mode 100644 tools/StandardAnchorTags/GenerateGrammar.cs delete mode 100755 tools/update-grammar-annex.sh diff --git a/.github/workflows/update-on-merge.yaml b/.github/workflows/update-on-merge.yaml index dc14c7681..fe361566b 100644 --- a/.github/workflows/update-on-merge.yaml +++ b/.github/workflows/update-on-merge.yaml @@ -53,13 +53,6 @@ jobs: ./run-section-renumber.sh shell: bash - - name: Update grammar annex - id: update-grammar - run: | - cd tools - ./update-grammar-annex.sh - shell: bash - - name: Create pull request uses: peter-evans/create-pull-request@v3.4.1 if: ${{ steps.renumber-sections.outputs.status }} == 'success' && ${{ steps.update-grammar.outputs.status }} == 'success' diff --git a/standard/clauses.json b/standard/clauses.json index da2b93ba6..acff96b61 100644 --- a/standard/clauses.json +++ b/standard/clauses.json @@ -3,13 +3,17 @@ "foreword.md", "introduction.md" ], - "MainBody": [ + "ScopeAndConformance": [ "scope.md", "normative-references.md", "terms-and-definitions.md", "general-description.md", - "conformance.md", - "lexical-structure.md", + "conformance.md" + ], + "LexicalStructure": [ + "lexical-structure.md" + ], + "MainBody": [ "basic-concepts.md", "types.md", "variables.md", @@ -25,7 +29,9 @@ "enums.md", "delegates.md", "exceptions.md", - "attributes.md", + "attributes.md" + ], + "UnsafeClauses": [ "unsafe-code.md" ], "Annexes": [ diff --git a/tools/GetGrammar/GetGrammar.csproj b/tools/GetGrammar/GetGrammar.csproj deleted file mode 100644 index 1d22a3699..000000000 --- a/tools/GetGrammar/GetGrammar.csproj +++ /dev/null @@ -1,9 +0,0 @@ - - - - Exe - net6.0 - enable - - - diff --git a/tools/GetGrammar/Program.cs b/tools/GetGrammar/Program.cs deleted file mode 100644 index 6d1c54478..000000000 --- a/tools/GetGrammar/Program.cs +++ /dev/null @@ -1,87 +0,0 @@ -/************************************************************************* - * - * Rex Jaeschke, 2020-06-25 - * - * This is a VERY simple-minded tool that extracts ANTLR grammar productions from standard input - * (typically a C# spec markdown file) and writes them to standard output, preceeding each one with a - * blank line. - * - * By running this over all C# spec markdown files, each time appending standard output to the same file, - * that file can then be used as the content for grammar.md. - * - * The program is looking for sets of input lines having the following pattern: - * - * ```ANTLR - * ... - * ``` - * - * where the opening fence can also be spelled in all lowercase (```antlr). - * - * Any characters on an input line beyond the opening or closing fence characters (typically spaces) are ignored. - * Opening and closing fences MUST begin in the first character position. - * - */ - -using System; -using System.IO; -using System.Text; -using System.Threading.Tasks; - -namespace ExtractGrammar -{ - class Program - { - public static async Task Main(string[] args) - { - if (args.Length != 1) - { - Console.WriteLine("Usage: GetGrammar "); - Environment.Exit(1); - } - using var inputFile = new StreamReader(args[0]); - string section = ""; - - Console.OutputEncoding = Encoding.UTF8; - - while (await inputFile.ReadLineAsync() is string inputLine) - { - if (inputLine.StartsWith("#")) - { - section = inputLine.Trim('#', ' '); - continue; - } - if (!inputLine.StartsWith("```ANTLR", StringComparison.InvariantCultureIgnoreCase)) - { - continue; - } - // Console.WriteLine("------ Start of a production"); - Console.WriteLine(); // write out blank line before each new production - Console.WriteLine($"// Source: §{section}"); - - // This loop might be a candidate for a bit of refactoring. - while (true) - { - string? nextLine = await inputFile.ReadLineAsync(); - if (nextLine == null) - { - Console.WriteLine("Unexpected EOF; no closing grammar fence"); - Environment.Exit(1); - } - if (nextLine.Length < 3) // Is it long enough to contain a closing fence? - { - Console.WriteLine(nextLine); - } - else if (nextLine.Substring(0, 3) == "```") // If line starts with ``` - { - // Console.WriteLine("------ End of a production"); - break; - } - else - { - Console.WriteLine(nextLine); - } - } - } - } - } -} diff --git a/tools/GetGrammar/grammar-eof-insert.md b/tools/GetGrammar/grammar-eof-insert.md deleted file mode 100644 index 05ec8f083..000000000 --- a/tools/GetGrammar/grammar-eof-insert.md +++ /dev/null @@ -1,3 +0,0 @@ -``` - -**End of informative text.** diff --git a/tools/GetGrammar/grammar-general-lexical-insert.md b/tools/GetGrammar/grammar-general-lexical-insert.md deleted file mode 100644 index df630d1af..000000000 --- a/tools/GetGrammar/grammar-general-lexical-insert.md +++ /dev/null @@ -1,11 +0,0 @@ -# Annex A Grammar - -**This clause is informative.** - -## A.1 General - -This annex contains the grammar productions found in the specification, including the optional ones for unsafe code. Productions appear here in the same order in which they appear in the specification. - -## A.2 Lexical grammar - -```ANTLR diff --git a/tools/GetGrammar/grammar-lexer-members.txt b/tools/GetGrammar/grammar-lexer-members.txt deleted file mode 100644 index bb6fd1e8d..000000000 --- a/tools/GetGrammar/grammar-lexer-members.txt +++ /dev/null @@ -1,10 +0,0 @@ - -@lexer::members { -bool IsLetterCharacter() { return true; } -bool IsCombiningCharacter() { return true; } -bool IsDecimalDigitCharacter() { return true; } -bool IsConnectingCharacter() { return true; } -bool IsFormattingCharacter() { return true; } -bool IsNotAKeyword() { return true; } -bool IsNotTrueOrFalse() { return true; } -} diff --git a/tools/GetGrammar/grammar-syntactic-insert.md b/tools/GetGrammar/grammar-syntactic-insert.md deleted file mode 100644 index 3ca13ff46..000000000 --- a/tools/GetGrammar/grammar-syntactic-insert.md +++ /dev/null @@ -1,5 +0,0 @@ -``` - -## A.3 Syntactic grammar - -```ANTLR diff --git a/tools/GetGrammar/grammar-unsafe-extensions-insert.md b/tools/GetGrammar/grammar-unsafe-extensions-insert.md deleted file mode 100644 index 434a80cca..000000000 --- a/tools/GetGrammar/grammar-unsafe-extensions-insert.md +++ /dev/null @@ -1,5 +0,0 @@ -``` - -## A.4 Grammar extensions for unsafe code - -```ANTLR diff --git a/tools/StandardAnchorTags/GenerateGrammar.cs b/tools/StandardAnchorTags/GenerateGrammar.cs new file mode 100644 index 000000000..cfedffd23 --- /dev/null +++ b/tools/StandardAnchorTags/GenerateGrammar.cs @@ -0,0 +1,113 @@ +using System; +using System.IO; +using System.Text; +using System.Threading.Tasks; + +namespace StandardAnchorTags; + +public record GrammarHeaders(string LexicalHeader, + string SyntacticHeader, + string UnsafeExtensionsHeader, + string GrammarFooter); + +public class GenerateGrammar : IDisposable +{ + public static async Task ReadExistingHeaders(string pathToStandard, string grammarFile) + { + GrammarHeaders headers = new GrammarHeaders("", "", "", ""); + StringBuilder headerBuffer = new StringBuilder(); + + using var reader = new StreamReader(Path.Combine(pathToStandard, grammarFile)); + + while (await reader.ReadLineAsync() is string inputLine) + { + headerBuffer.AppendLine(inputLine); + if (inputLine.StartsWith("```ANTLR")) + { + if (string.IsNullOrWhiteSpace(headers.LexicalHeader)) + { + headers = headers with { LexicalHeader = headerBuffer.ToString() }; + } + else if (string.IsNullOrWhiteSpace(headers.SyntacticHeader)) + { + headers = headers with { SyntacticHeader = headerBuffer.ToString() }; + } + else if (string.IsNullOrWhiteSpace(headers.UnsafeExtensionsHeader)) + { + headers = headers with { UnsafeExtensionsHeader = headerBuffer.ToString() }; + } + } else if (inputLine.StartsWith("```")) + { + headerBuffer.Clear(); + // Put the closing tag back: + headerBuffer.AppendLine(inputLine); + } + } + headers = headers with { GrammarFooter = headerBuffer.ToString() }; + reader.Close(); + + return headers; + } + + private readonly GrammarHeaders informativeTextBlocks; + private readonly string pathToStandardFiles; + private readonly StreamWriter grammarStream; + + public GenerateGrammar(string grammarPath, string pathToStandardFiles, GrammarHeaders headers) + { + grammarStream = new StreamWriter(Path.Combine(pathToStandardFiles, grammarPath), false); + this.pathToStandardFiles = pathToStandardFiles; + informativeTextBlocks = headers; + } + + public async Task WriteHeader() => await grammarStream.WriteAsync(informativeTextBlocks.LexicalHeader); + public async Task WriteSyntaxHeader() => await grammarStream.WriteAsync(informativeTextBlocks.SyntacticHeader); + public async Task WriteUnsafeExtensionHeader() => await grammarStream.WriteAsync(informativeTextBlocks.UnsafeExtensionsHeader); + + public async Task WriteGrammarFooter() + { + await grammarStream.WriteAsync(informativeTextBlocks.GrammarFooter); + await grammarStream.FlushAsync(); + grammarStream.Close(); + } + + public async Task ExtractGrammarFrom(string inputFileName) + { + string inputFilePath = $"{pathToStandardFiles}/{inputFileName}"; + using var inputFile = new StreamReader(inputFilePath); + string section = ""; + bool inProduction = false; + + Console.OutputEncoding = Encoding.UTF8; + + while (await inputFile.ReadLineAsync() is string inputLine) + { + if (inProduction) + { + if (inputLine.StartsWith("```")) + { + inProduction = false; + } + else + { + await grammarStream.WriteLineAsync(inputLine); + } + } + else + { + if (inputLine.StartsWith("#")) + { + section = inputLine.Trim('#', ' '); + } + else if (inputLine.StartsWith("```ANTLR", StringComparison.InvariantCultureIgnoreCase)) + { + await grammarStream.WriteLineAsync(); // write out blank line before each new production + await grammarStream.WriteLineAsync($"// Source: §{section}"); + inProduction = true; + } + } + } + } + + public void Dispose() => grammarStream.Dispose(); +} diff --git a/tools/StandardAnchorTags/Program.cs b/tools/StandardAnchorTags/Program.cs index 3e98b5244..ca69700a8 100644 --- a/tools/StandardAnchorTags/Program.cs +++ b/tools/StandardAnchorTags/Program.cs @@ -9,8 +9,10 @@ namespace StandardAnchorTags public class Program { const string TOCHeader = ""; + private const string PathToStandard = "../standard/"; private const string ReadMePath = "../standard/README.md"; private const string FilesPath = "../standard/clauses.json"; + private const string GrammarFile = "grammar.md"; private static Clauses? standardClauses; @@ -33,7 +35,7 @@ static async Task Main(string[] args) try { Console.WriteLine("=========================== Front Matter ==================================="); - var sectionMap = new TocSectionNumberBuilder("../standard", dryRun); + var sectionMap = new TocSectionNumberBuilder(PathToStandard, dryRun); foreach (var file in standardClauses.FrontMatter) { Console.WriteLine($" -- {file}"); @@ -41,12 +43,31 @@ static async Task Main(string[] args) } Console.WriteLine("================= GENERATE UPDATED SECTION NUMBERS ========================="); + Console.WriteLine("============================ Scope and Conformance ======================================"); + foreach (var file in standardClauses.ScopeAndConformance) + { + Console.WriteLine($" -- {file}"); + await sectionMap.AddContentsToTOC(file); + + } + Console.WriteLine("============================ Lexical Structure ======================================"); + foreach (var file in standardClauses.LexicalStructure) + { + Console.WriteLine($" -- {file}"); + await sectionMap.AddContentsToTOC(file); + } Console.WriteLine("============================ Main text======================================"); foreach (var file in standardClauses.MainBody) { Console.WriteLine($" -- {file}"); await sectionMap.AddContentsToTOC(file); } + Console.WriteLine("============================ Unsafe clauses======================================"); + foreach (var file in standardClauses.UnsafeClauses) + { + Console.WriteLine($" -- {file}"); + await sectionMap.AddContentsToTOC(file); + } Console.WriteLine("============================= Annexes ======================================"); sectionMap.FinishMainSection(); foreach (var file in standardClauses.Annexes) @@ -66,21 +87,40 @@ static async Task Main(string[] args) } Console.WriteLine("======================= UPDATE ALL REFERENCES =============================="); - var fixup = new ReferenceUpdateProcessor("../standard", sectionMap.LinkMap, dryRun); + var fixup = new ReferenceUpdateProcessor(PathToStandard, sectionMap.LinkMap, dryRun); Console.WriteLine("=========================== Front Matter ==================================="); foreach (var file in standardClauses.FrontMatter) + { + Console.WriteLine($" -- {file}"); + await fixup.ReplaceReferences(file); + } + Console.WriteLine("============================ Scope and Conformance ======================================"); + foreach (var file in standardClauses.ScopeAndConformance) { Console.WriteLine($" -- {file}"); await fixup.ReplaceReferences(file); } + Console.WriteLine("============================ Lexical Structure ======================================"); + foreach (var file in standardClauses.LexicalStructure) + { + Console.WriteLine($" -- {file}"); + await fixup.ReplaceReferences(file); + } Console.WriteLine("============================ Main text======================================"); foreach (var file in standardClauses.MainBody) { Console.WriteLine($" -- {file}"); await fixup.ReplaceReferences(file); + } + Console.WriteLine("============================ Unsafe clauses======================================"); + foreach (var file in standardClauses.UnsafeClauses) + { + Console.WriteLine($" -- {file}"); + await fixup.ReplaceReferences(file); + } Console.WriteLine("============================= Annexes ======================================"); foreach (var file in standardClauses.Annexes) @@ -88,6 +128,39 @@ static async Task Main(string[] args) Console.WriteLine($" -- {file}"); await fixup.ReplaceReferences(file); } + if (!dryRun) + { + Console.WriteLine("======================= READ EXISTING GRAMMAR HEADERS ======================="); + var headers = await GenerateGrammar.ReadExistingHeaders(PathToStandard, GrammarFile); + + Console.WriteLine("======================= GENERATE GRAMMAR ANNEX =============================="); + using var grammarGenerator = new GenerateGrammar(GrammarFile, PathToStandard, headers); + + Console.WriteLine("============================ Lexical Structure ======================================"); + + await grammarGenerator.WriteHeader(); + foreach (var file in standardClauses.LexicalStructure) + { + Console.WriteLine($" -- {file}"); + await grammarGenerator.ExtractGrammarFrom(file); + } + Console.WriteLine("============================ Main text======================================"); + + await grammarGenerator.WriteSyntaxHeader(); + foreach (var file in standardClauses.MainBody) + { + Console.WriteLine($" -- {file}"); + await grammarGenerator.ExtractGrammarFrom(file); + } + Console.WriteLine("============================ Unsafe clauses======================================"); + await grammarGenerator.WriteUnsafeExtensionHeader(); + foreach (var file in standardClauses.UnsafeClauses) + { + Console.WriteLine($" -- {file}"); + await grammarGenerator.ExtractGrammarFrom(file); + } + await grammarGenerator.WriteGrammarFooter(); + } return fixup.ErrorCount; } catch (InvalidOperationException e) diff --git a/tools/Utilities/Clauses.cs b/tools/Utilities/Clauses.cs index 414c7f5e8..929ef3735 100644 --- a/tools/Utilities/Clauses.cs +++ b/tools/Utilities/Clauses.cs @@ -3,7 +3,14 @@ public class Clauses { public string[] FrontMatter { get; set; } = Array.Empty(); + + public string[] ScopeAndConformance { get; set; } = Array.Empty(); + + public string[] LexicalStructure { get; set; } = Array.Empty(); public string[] MainBody { get; set; } = Array.Empty(); + + // Sure, there's only one, but let's allow for possible expansion. + public string[] UnsafeClauses { get; set; } = Array.Empty(); public string[] Annexes { get; set; } = Array.Empty(); } } \ No newline at end of file diff --git a/tools/tools.sln b/tools/tools.sln index aa98465d9..afa87f0cc 100644 --- a/tools/tools.sln +++ b/tools/tools.sln @@ -7,8 +7,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MarkdownConverter", "Markdo EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StandardAnchorTags", "StandardAnchorTags\StandardAnchorTags.csproj", "{13A44F82-8BD3-4DEF-B981-033BA5173098}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GetGrammar", "GetGrammar\GetGrammar.csproj", "{74700E9C-6A11-4D3A-9DED-171DCAB69F51}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Utilities", "Utilities\Utilities.csproj", "{835C6333-BDB5-4DEC-B3BE-4300E3F948AF}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MarkdownConverter.Tests", "MarkdownConverter.Tests\MarkdownConverter.Tests.csproj", "{E6B72453-1C88-4153-B82E-EB0A12C96345}" @@ -17,7 +15,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExampleExtractor", "Example EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExampleTester", "ExampleTester\ExampleTester.csproj", "{829FE7D6-B7E7-48DF-923A-73A79921E997}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExampleFormatter", "ExampleFormatter\ExampleFormatter.csproj", "{82D1A159-5637-48C4-845D-CC1390995CC2}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExampleFormatter", "ExampleFormatter\ExampleFormatter.csproj", "{82D1A159-5637-48C4-845D-CC1390995CC2}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -53,18 +51,6 @@ Global {13A44F82-8BD3-4DEF-B981-033BA5173098}.Release|x64.Build.0 = Release|Any CPU {13A44F82-8BD3-4DEF-B981-033BA5173098}.Release|x86.ActiveCfg = Release|Any CPU {13A44F82-8BD3-4DEF-B981-033BA5173098}.Release|x86.Build.0 = Release|Any CPU - {74700E9C-6A11-4D3A-9DED-171DCAB69F51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {74700E9C-6A11-4D3A-9DED-171DCAB69F51}.Debug|Any CPU.Build.0 = Debug|Any CPU - {74700E9C-6A11-4D3A-9DED-171DCAB69F51}.Debug|x64.ActiveCfg = Debug|Any CPU - {74700E9C-6A11-4D3A-9DED-171DCAB69F51}.Debug|x64.Build.0 = Debug|Any CPU - {74700E9C-6A11-4D3A-9DED-171DCAB69F51}.Debug|x86.ActiveCfg = Debug|Any CPU - {74700E9C-6A11-4D3A-9DED-171DCAB69F51}.Debug|x86.Build.0 = Debug|Any CPU - {74700E9C-6A11-4D3A-9DED-171DCAB69F51}.Release|Any CPU.ActiveCfg = Release|Any CPU - {74700E9C-6A11-4D3A-9DED-171DCAB69F51}.Release|Any CPU.Build.0 = Release|Any CPU - {74700E9C-6A11-4D3A-9DED-171DCAB69F51}.Release|x64.ActiveCfg = Release|Any CPU - {74700E9C-6A11-4D3A-9DED-171DCAB69F51}.Release|x64.Build.0 = Release|Any CPU - {74700E9C-6A11-4D3A-9DED-171DCAB69F51}.Release|x86.ActiveCfg = Release|Any CPU - {74700E9C-6A11-4D3A-9DED-171DCAB69F51}.Release|x86.Build.0 = Release|Any CPU {835C6333-BDB5-4DEC-B3BE-4300E3F948AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {835C6333-BDB5-4DEC-B3BE-4300E3F948AF}.Debug|Any CPU.Build.0 = Debug|Any CPU {835C6333-BDB5-4DEC-B3BE-4300E3F948AF}.Debug|x64.ActiveCfg = Debug|Any CPU diff --git a/tools/update-grammar-annex.sh b/tools/update-grammar-annex.sh deleted file mode 100755 index ae01a5439..000000000 --- a/tools/update-grammar-annex.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -set -eu -o pipefail - -declare -r GRAMMAR_PROJECT=GetGrammar -declare -r SPEC_DIRECTORY=../standard -declare -r OUTPUT_FILE=../standard/grammar.md - -# Note that lexical structure and unsafe code are not in the array -# There are headers inserted before them. -declare -a SPEC_FILES=( - "basic-concepts.md" - "types.md" - "variables.md" - "conversions.md" - "patterns.md" - "expressions.md" - "statements.md" - "namespaces.md" - "classes.md" - "structs.md" - "arrays.md" - "interfaces.md" - "enums.md" - "delegates.md" - "exceptions.md" - "attributes.md" - ) - -dotnet build $GRAMMAR_PROJECT -c Release -dotnet publish $GRAMMAR_PROJECT -c Release -o $GRAMMAR_PROJECT/publish - -echo Insert General/Lexical Headers -cat $GRAMMAR_PROJECT/grammar-general-lexical-insert.md >$OUTPUT_FILE -dotnet $GRAMMAR_PROJECT/publish/$GRAMMAR_PROJECT.dll $SPEC_DIRECTORY/lexical-structure.md >>$OUTPUT_FILE - -echo Insert Syntactic Header -cat $GRAMMAR_PROJECT/grammar-syntactic-insert.md >>$OUTPUT_FILE - -for file in "${SPEC_FILES[@]}" -do - echo "$file" - dotnet $GRAMMAR_PROJECT/publish/$GRAMMAR_PROJECT.dll $SPEC_DIRECTORY/$file >>$OUTPUT_FILE -done - -echo Insert Unsafe Header -cat $GRAMMAR_PROJECT/grammar-unsafe-extensions-insert.md >>$OUTPUT_FILE -dotnet $GRAMMAR_PROJECT/publish/$GRAMMAR_PROJECT.dll $SPEC_DIRECTORY/unsafe-code.md >>$OUTPUT_FILE -echo Insert EOF Stuff -cat $GRAMMAR_PROJECT/grammar-eof-insert.md >>$OUTPUT_FILE - -# I think always success, but echo the success output anyway: -if [ -n "$GITHUB_OUTPUT" ] -then - echo "status=success" >> $GITHUB_OUTPUT -fi From 62af002ada813c2bf4c0572bf3491c2001bfc793 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Mon, 30 Oct 2023 16:32:33 +1300 Subject: [PATCH 015/259] Address typo in type inference MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix for issue #787 The PR uses “corresponding parameter” rather than the “ith parameter" from #787. I think this is better, avoids HTML tags, and matches the use of corresponding parameter elsewhere; but either choice is valid. --- standard/expressions.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index 3bdece8b4..dd79899c8 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -1,4 +1,4 @@ -# 12 Expressions +/# 12 Expressions ## 12.1 General @@ -760,10 +760,10 @@ Type inference takes place in phases. Each phase will try to infer type argument For each of the method arguments `Eᵢ`: - If `Eᵢ` is an anonymous function, an *explicit parameter type inference* ([§12.6.3.8](expressions.md#12638-explicit-parameter-type-inferences)) is made *from* `Eᵢ` *to* `Tᵢ` -- Otherwise, if `Eᵢ` has a type `U` and `xᵢ` is a value parameter ([§15.6.2.2](classes.md#15622-value-parameters)) then a *lower-bound inference* ([§12.6.3.10](expressions.md#126310-lower-bound-inferences)) is made *from* `U` *to* `Tᵢ`. -- Otherwise, if `Eᵢ` has a type `U` and `xᵢ` is a reference parameter ([§15.6.2.4](classes.md#15624-reference-parameters)), or output parameter ([§15.6.2.5](classes.md#15625-output-parameters)) then an *exact inference* ([§12.6.3.9](expressions.md#12639-exact-inferences)) is made *from* `U` *to* `Tᵢ`. -- Otherwise, if `Eᵢ` has a type `U` and `xᵢ` is an input parameter ([§15.6.2.3](classes.md#15623-input-parameters)) and `Ei` is an input argument, then an *exact inference* ([§12.6.3.9](expressions.md#12639-exact-inferences)) is made *from* `U` *to* `Tᵢ`. -- Otherwise, if `Eᵢ` has a type `U` and `xᵢ` is an input parameter ([§15.6.2.3](classes.md#15623-input-parameters)) then a *lower bound inference* ([§12.6.3.10](expressions.md#126310-lower-bound-inferences)) is made *from* `U` *to* `Tᵢ`. +- Otherwise, if `Eᵢ` has a type `U` and the corresponding parameter is a value parameter ([§15.6.2.2](classes.md#15622-value-parameters)) then a *lower-bound inference* ([§12.6.3.10](expressions.md#126310-lower-bound-inferences)) is made *from* `U` *to* `Tᵢ`. +- Otherwise, if `Eᵢ` has a type `U` and the corresponding parameter is a reference parameter ([§15.6.2.4](classes.md#15624-reference-parameters)), or output parameter ([§15.6.2.5](classes.md#15625-output-parameters)) then an *exact inference* ([§12.6.3.9](expressions.md#12639-exact-inferences)) is made *from* `U` *to* `Tᵢ`. +- Otherwise, if `Eᵢ` has a type `U` and the corresponding parameter is an input parameter ([§15.6.2.3](classes.md#15623-input-parameters)) and `Eᵢ` is an input argument, then an *exact inference* ([§12.6.3.9](expressions.md#12639-exact-inferences)) is made *from* `U` *to* `Tᵢ`. +- Otherwise, if `Eᵢ` has a type `U` and the corresponding parameter is an input parameter ([§15.6.2.3](classes.md#15623-input-parameters)) then a *lower bound inference* ([§12.6.3.10](expressions.md#126310-lower-bound-inferences)) is made *from* `U` *to* `Tᵢ`. - Otherwise, no inference is made for this argument. #### 12.6.3.3 The second phase From 3ba6223f96d774c6d870f77b9182062a744aca9a Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Mon, 30 Oct 2023 16:40:02 +1300 Subject: [PATCH 016/259] I found a new way to break github :-) --- standard/expressions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/expressions.md b/standard/expressions.md index dd79899c8..39f46aa34 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -1,4 +1,4 @@ -/# 12 Expressions +# 12 Expressions ## 12.1 General From 9965cce5e50e38f56cd4d121e44b33c0fbe2c8d7 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Wed, 1 Nov 2023 16:24:10 -0400 Subject: [PATCH 017/259] Fix editorial nits (#964) * Update lexical-structure.md * fix editorial nits * fix editorial nits * fix editorial nits * fix editorial nits * fix editorial nits * fix editorial nits * fix editorial nits * fix editorial nits * fix editorial nits * Update standard/expressions.md Co-authored-by: Bill Wagner * Apply suggestions from code review Co-authored-by: Nigel-Ecma * Update standard/expressions.md Co-authored-by: Nigel-Ecma * Update standard/expressions.md --------- Co-authored-by: Bill Wagner Co-authored-by: Nigel-Ecma Co-authored-by: Jon Skeet --- standard/classes.md | 2 +- standard/delegates.md | 2 +- standard/expressions.md | 32 ++++++++++++++++++-------------- standard/lexical-structure.md | 4 ++-- standard/namespaces.md | 6 +++--- standard/standard-library.md | 2 +- standard/statements.md | 12 ++++++------ standard/structs.md | 4 ++-- standard/variables.md | 6 +++--- 9 files changed, 37 insertions(+), 33 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index 6d81a34ae..e08b1b2b0 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -5387,7 +5387,7 @@ The compiler generates code that uses the «TaskBuilderType» to implement the s - `«TaskBuilderType».Create()` is invoked to create an instance of the «TaskBuilderType», named `builder` in this list. - `builder.Start(ref stateMachine)` is invoked to associate the builder with a compiler-generated state machine instance, `stateMachine`. - - The builder must call `stateMachine.MoveNext()` either in `Start()` or after `Start()` has returned to advance the state machine. + - The builder shall call `stateMachine.MoveNext()` either in `Start()` or after `Start()` has returned to advance the state machine. - After `Start()` returns, the `async` method invokes `builder.Task` for the task to return from the async method. - Each call to `stateMachine.MoveNext()` will advance the state machine. - If the state machine completes successfully, `builder.SetResult()` is called, with the method return value, if any. diff --git a/standard/delegates.md b/standard/delegates.md index 201c5dcd5..bc7638d99 100644 --- a/standard/delegates.md +++ b/standard/delegates.md @@ -83,7 +83,7 @@ The only way to declare a delegate type is via a *delegate_declaration*. Every d ## 20.3 Delegate members -Every delegate type inherits members from the `Delegate` class as described in [§15.3.4](classes.md#1534-inheritance). In addition, every delegate type must provide a non-generic `Invoke` method whose parameter list matches the *formal_parameter_list* in the delegate declaration, whose return type matches the *return_type* or *ref_return_type* in the delegate declaration, and for returns-by-ref delegates whose *ref_kind* matches that in the delegate declaration. The `Invoke` method shall be at least as accessible as the containing delegate type. Calling the `Invoke` method on a delegate type is semantically equivalent to using the delegate invocation syntax ([§20.6](delegates.md#206-delegate-invocation)) . +Every delegate type inherits members from the `Delegate` class as described in [§15.3.4](classes.md#1534-inheritance). In addition, every delegate type shall provide a non-generic `Invoke` method whose parameter list matches the *formal_parameter_list* in the delegate declaration, whose return type matches the *return_type* or *ref_return_type* in the delegate declaration, and for returns-by-ref delegates whose *ref_kind* matches that in the delegate declaration. The `Invoke` method shall be at least as accessible as the containing delegate type. Calling the `Invoke` method on a delegate type is semantically equivalent to using the delegate invocation syntax ([§20.6](delegates.md#206-delegate-invocation)) . Implementations may define additional members in the delegate type. diff --git a/standard/expressions.md b/standard/expressions.md index 39f46aa34..42ba20f1c 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -619,7 +619,7 @@ During the run-time processing of a function member invocation ([§12.6.6](expre > > *end example* -- For an input, output, or reference argument, the variable reference is evaluated and the resulting storage location becomes the storage location represented by the parameter in the function member invocation. For an input or reference argument, the variable must be definitely assigned at the point of the method call. If the variable reference given as an output, or reference is an array element of a *reference_type*, a run-time check is performed to ensure that the element type of the array is identical to the type of the parameter. If this check fails, a `System.ArrayTypeMismatchException` is thrown. +- For an input, output, or reference argument, the variable reference is evaluated and the resulting storage location becomes the storage location represented by the parameter in the function member invocation. For an input or reference argument, the variable shall be definitely assigned at the point of the method call. If the variable reference given as an output, or reference is an array element of a *reference_type*, a run-time check is performed to ensure that the element type of the array is identical to the type of the parameter. If this check fails, a `System.ArrayTypeMismatchException` is thrown. Methods, indexers, and instance constructors may declare their right-most parameter to be a parameter array ([§15.6.2.6](classes.md#15626-parameter-arrays)). Such function members are invoked either in their normal form or in their expanded form depending on which is applicable ([§12.6.4.2](expressions.md#12642-applicable-function-member)): @@ -1005,8 +1005,8 @@ A function member is said to be an ***applicable function member*** with respect - Each argument in `A` corresponds to a parameter in the function member declaration as described in [§12.6.2.2](expressions.md#12622-corresponding-parameters), at most one argument corresponds to each parameter, and any parameter to which no argument corresponds is an optional parameter. - For each argument in `A`, the parameter-passing mode of the argument is identical to the parameter-passing mode of the corresponding parameter, and - for a value parameter or a parameter array, an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from the argument expression to the type of the corresponding parameter, or - - for a `ref` or `out` parameter, there is an identity conversion between the type of the argument expression (if any) and the type of the corresponding parameter - - for an `in` parameter when the corresponding argument has the `in` modifier, there is an identity conversion between the type of the argument expression (if any) and the type of the corresponding parameter + - for a `ref` or `out` parameter, there is an identity conversion between the type of the argument expression (if any) and the type of the corresponding parameter, or + - for an `in` parameter when the corresponding argument has the `in` modifier, there is an identity conversion between the type of the argument expression (if any) and the type of the corresponding parameter, or - for an `in` parameter when the corresponding argument omits the `in` modifier, an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from the argument expression to the type of the corresponding parameter. For a function member that includes a parameter array, if the function member is applicable by the above rules, it is said to be applicable in its ***normal form***. If a function member that includes a parameter array is not applicable in its normal form, the function member might instead be applicable in its ***expanded form***: @@ -1050,7 +1050,7 @@ When the implicit conversion from the argument type to the parameter type of an - If the method group results from a *simple_name*, an instance method is only applicable if `this` access is permitted [§12.8.13](expressions.md#12813-this-access). - When the method group results from a *member_access* which could be via either an instance or a type as described in [§12.8.7.2](expressions.md#12872-identical-simple-names-and-type-names), both instance and static methods are applicable. - A generic method whose type arguments (explicitly specified or inferred) do not all satisfy their constraints is not applicable. -- In the context of a method group conversion, there must exist an identity conversion ([§10.2.2](conversions.md#1022-identity-conversion)) or an implicit reference conversion ([§10.2.8](conversions.md#1028-implicit-reference-conversions)) from the method return type to the delegate’s return type. Otherwise, the candidate method is not applicable. +- In the context of a method group conversion, there shall exist an identity conversion ([§10.2.2](conversions.md#1022-identity-conversion)) or an implicit reference conversion ([§10.2.8](conversions.md#1028-implicit-reference-conversions)) from the method return type to the delegate’s return type. Otherwise, the candidate method is not applicable. #### 12.6.4.3 Better function member @@ -1458,7 +1458,7 @@ other tokens in the language. *end note* > *Note*: The above grammar is not ANTLR-ready due to the context sensitive lexical rules. As with other lexer generators ANTLR supports context sensitive lexical rules, for example using its *lexical modes*, -but this is an implementation detail and therefore not part of this Standard. *end note* +but this is an implementation detail and therefore not part of this specification. *end note* An *interpolated_string_expression* is classified as a value. If it is immediately converted to `System.IFormattable` or `System.FormattableString` with an implicit interpolated string conversion ([§10.2.5](conversions.md#1025-implicit-interpolated-string-conversions)), the interpolated string expression has that type. Otherwise, it has the type `string`. @@ -1475,7 +1475,7 @@ In an *interpolation_minimum_width* the *constant_expression* shall have an impl - If the alignment is positive the formatted string is right-aligned by prepending the padding, - Otherwise it is left-aligned by appending the padding. -The overall meaning of an *interpolated_string_expression*, including the above formatting and padding of interpolations, is defined by a conversion of the expression to a method invocation: if the type of the expression is `System.IFormattable` or `System.FormattableString` that method is `System.Runtime.CompilerServices.FormattableStringFactory.Create` ([§C.3](standard-library.md#c3-standard-library-types-not-defined-in-isoiec-23271)) which returns a value of type `System.FormattableString`; otherwise the type must be `string` and the method is `string.Format` ([§C.2](standard-library.md#c2-standard-library-types-defined-in-isoiec-23271)) which returns a value of type `string`. +The overall meaning of an *interpolated_string_expression*, including the above formatting and padding of interpolations, is defined by a conversion of the expression to a method invocation: if the type of the expression is `System.IFormattable` or `System.FormattableString` that method is `System.Runtime.CompilerServices.FormattableStringFactory.Create` ([§C.3](standard-library.md#c3-standard-library-types-not-defined-in-isoiec-23271)) which returns a value of type `System.FormattableString`; otherwise the type shall be `string` and the method is `string.Format` ([§C.2](standard-library.md#c2-standard-library-types-defined-in-isoiec-23271)) which returns a value of type `string`. In both cases, the argument list of the call consists of a *format string literal* with *format specifications* for each interpolation, and an argument for each expression corresponding to the format specifications. @@ -3159,7 +3159,7 @@ In both contexts the *stackalloc_expression* is only permitted to occur as: - The second and/or third operands of a *conditional_expression* ([§12.18](expressions.md#1218-conditional-operator)) which is itself the whole of `E`. -The *unmanaged_type* ([§8.8](types.md#88-unmanaged-types)) indicates the type of the items that will be stored in the newly allocated location, and the *expression* indicates the number of these items. Taken together, these specify the required allocation size. The type of *expression* must be implicitly convertible to the type `int`. +The *unmanaged_type* ([§8.8](types.md#88-unmanaged-types)) indicates the type of the items that will be stored in the newly allocated location, and the *expression* indicates the number of these items. Taken together, these specify the required allocation size. The type of *expression* shall be implicitly convertible to the type `int`. As the size of a stack allocation cannot be negative, it is a compile-time error to specify the number of items as a *constant_expression* that evaluates to a negative value. @@ -3169,7 +3169,7 @@ When a *stackalloc_initializer* is present: - If *unmanaged_type* is omitted, it is inferred following the rules for best common type ([§12.6.3.15](expressions.md#126315-finding-the-best-common-type-of-a-set-of-expressions)) for the set of *stackalloc_element_initializer*s. - If *constant_expression* is omitted it is inferred to be the number of *stackalloc_element_initializer*s. -- If *constant_expression* is present it must equal the number of *stackalloc_element_initializer*s. +- If *constant_expression* is present it shall equal the number of *stackalloc_element_initializer*s. Each *stackalloc_element_initializer* shall have an implicit conversion to *unmanaged_type* ([§10.2](conversions.md#102-implicit-conversions)). The *stackalloc_element_initializer*s initialize elements in the allocated memory in increasing order, starting with the element at index zero. In the absence of a *stackalloc_initializer*, the content of the newly allocated memory is undefined. @@ -4357,7 +4357,7 @@ If each operand `x` and `y` of a `==` or `!=` operator is classified either as a If an operand `e` is classified as a tuple, the elements `e1...en` shall be the results of evaluating the element expressions of the tuple expression. Otherwise if `e` is a value of a tuple type, the elements shall be `t.Item1...t.Itemn` where `t` is the result of evaluating `e`. -The operands `x` and `y` of a tuple equality operator shall have the same arity, or a compile time error occurs. For each pair of elements `xi` and `yi`, the same equality operator must apply, and must yield a result of type `bool`, `dynamic`, a type that has an implicit conversion to `bool`, or a type that defines the `true` and `false` operators. +The operands `x` and `y` of a tuple equality operator shall have the same arity, or a compile time error occurs. For each pair of elements `xi` and `yi`, the same equality operator shall apply, and shall yield a result of type `bool`, `dynamic`, a type that has an implicit conversion to `bool`, or a type that defines the `true` and `false` operators. The tuple equality operator `x == y` is evaluated as follows: @@ -4423,7 +4423,7 @@ User defined conversions are not considered by the `is` operator. > - If the compile-time type of `e` is the same as `T`, or if an implicit reference conversion ([§10.2.8](conversions.md#1028-implicit-reference-conversions)), boxing conversion ([§10.2.9](conversions.md#1029-boxing-conversions)), wrapping conversion ([§10.6](conversions.md#106-conversions-involving-nullable-types)), or an explicit unwrapping conversion ([§10.6](conversions.md#106-conversions-involving-nullable-types)) exists from the compile-time type of `E` to `T`: > - If `C` is of a non-nullable value type, the result of the operation is `true`. > - Otherwise, the result of the operation is equivalent to evaluating `E != null`. -> - Otherwise, if an explicit reference conversion ([§10.3.5](conversions.md#1035-explicit-reference-conversions)) or unboxing conversion ([§10.3.7](conversions.md#1037-unboxing-conversions)) exists from `C` to `T`, or if `C` or `T` is an open type ([§8.4.3](types.md#843-open-and-closed-types)), then runtime checks as above must be peformed. +> - Otherwise, if an explicit reference conversion ([§10.3.5](conversions.md#1035-explicit-reference-conversions)) or unboxing conversion ([§10.3.7](conversions.md#1037-unboxing-conversions)) exists from `C` to `T`, or if `C` or `T` is an open type ([§8.4.3](types.md#843-open-and-closed-types)), then runtime checks as above shall be peformed. > - Otherwise, no reference, boxing, wrapping, or unwrapping conversion of `E` to type `T` is possible, and the result of the operation is `false`. > A compiler may implement optimisations based on the compile-time type. > @@ -4811,7 +4811,7 @@ The first operand of the `?:` operator shall be an expression that can be impli If `ref` is present: -- An identity conversion must exist between the types of the two *variable_reference*s, and type of the result can be either type. If either type is `dynamic`, type inference prefers `dynamic` ([§8.7](types.md#87-the-dynamic-type)). If either type is a tuple type ([§8.3.11](types.md#8311-tuple-types)), type inference includes the element names when the element names in the same ordinal position match in both tuples. +- An identity conversion shall exist between the types of the two *variable_reference*s, and type of the result can be either type. If either type is `dynamic`, type inference prefers `dynamic` ([§8.7](types.md#87-the-dynamic-type)). If either type is a tuple type ([§8.3.11](types.md#8311-tuple-types)), type inference includes the element names when the element names in the same ordinal position match in both tuples. - The result is a variable reference, which is writeable if both *variable_reference*s are writeable. > *Note*: When `ref` is present, the *conditional_expression* returns a variable reference, which can be assigned to a reference variable using the `= ref` operator or passed as a reference/input/output parameter. *end note* @@ -6335,7 +6335,7 @@ The left operand of an assignment shall be an expression classified as a variabl The `=` operator is called the ***simple assignment operator***. It assigns the value or values of the right operand to the variable, property, indexer element or tuple elements given by the left operand. The left operand of the simple assignment operator shall not be an event access (except as described in [§15.8.2](classes.md#1582-field-like-events)). The simple assignment operator is described in [§12.21.2](expressions.md#12212-simple-assignment). -The operator `= ref` is called the ***ref assignment operator***. It makes the right operand, which must be a *variable_reference* ([§9.5](variables.md#95-variable-references)), the referent of the reference variable designated by the left operand. The ref assignment operator is described in [§12.21.3](expressions.md#12213-ref-assignment). +The operator `= ref` is called the ***ref assignment operator***. It makes the right operand, which shall be a *variable_reference* ([§9.5](variables.md#95-variable-references)), the referent of the reference variable designated by the left operand. The ref assignment operator is described in [§12.21.3](expressions.md#12213-ref-assignment). The assignment operators other than the `=` and `= ref` operators are called the ***compound assignment operators***. These operators perform the indicated operation on the two operands, and then assign the resulting value to the variable, property, or indexer element given by the left operand. The compound assignment operators are described in [§12.21.4](expressions.md#12214-compound-assignment). @@ -6497,7 +6497,7 @@ The operation makes the left operand an alias of the right operand variable. The The ref assignment operator yields a *variable_reference* of the assigned type. It is writeable if the left operand is writeable. -The ref assignment operator must not read the storage location referenced by the right operand. +The ref assignment operator shall not read the storage location referenced by the right operand. > *Example*: Here are some examples of using `= ref`: > @@ -6610,7 +6610,11 @@ constant_expression ; ``` -A constant expression may be either a value type or a reference type. If a constant expression is a value type, it must be one of the following types: `sbyte`, `byte`, `short`, `ushort`, `int`, `uint`, `long`, `ulong`, `char`, `float`, `double`, `decimal`, `bool,` or any enumeration type. If a constant expression is a reference type, it must be the `string` type, a default value expression ([§12.8.20](expressions.md#12820-default-value-expressions)) for some reference type, or the value of the expression must be `null`. +A constant expression shall either have the value `null` or one of the following types: + +- `sbyte`, `byte`, `short`, `ushort`, `int`, `uint`, `long`, `ulong`, `char`, `float`, `double`, `decimal`, `bool`, `string`; +- an enumeration type; or +- a default value expression ([§12.8.20](expressions.md#12820-default-value-expressions)) for a reference type. Only the following constructs are permitted in constant expressions: diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index 6f718ff1f..c55aac18d 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -124,7 +124,7 @@ If the following token is among this list, or an identifier in such a context, t > > *end example* -A *relational_expression* ([§12.12.1](expressions.md#12121-general)) can have the form “*relational_expression* `is` *type*” or “*relational_expression* `is` *constant_pattern*,” either of which might be a valid parse of a qualified identifier. In this case, an attempt is made to bind it as a type ([§7.8.1](basic-concepts.md#781-general)); however, if that fails, it is bound as an expression, and the result must be a constant. +When recognising a *relational_expression* ([§12.12.1](expressions.md#12121-general)) if both the “*relational_expression* `is` *type*” and “*relational_expression* `is` *constant_pattern*” alternatives are applicable, and *type* resolves to an accessible type, then the “*relational_expression* `is` *type*” alternative shall be chosen. ## 6.3 Lexical analysis @@ -1447,7 +1447,7 @@ fragment PP_End_Region ; ``` -No semantic meaning is attached to a region; regions are intended for use by the programmer or by automated tools to mark a section of source code. There must be one `#endregion` directive matching every `#region` directive. The message specified in a `#region` or `#endregion` directive likewise has no semantic meaning; it merely serves to identify the region. Matching `#region` and `#endregion` directives may have different *PP_Message*s. +No semantic meaning is attached to a region; regions are intended for use by the programmer or by automated tools to mark a section of source code. There shall be one `#endregion` directive matching every `#region` directive. The message specified in a `#region` or `#endregion` directive likewise has no semantic meaning; it merely serves to identify the region. Matching `#region` and `#endregion` directives may have different *PP_Message*s. The lexical processing of a region: diff --git a/standard/namespaces.md b/standard/namespaces.md index 0ed3676fd..1b89053b9 100644 --- a/standard/namespaces.md +++ b/standard/namespaces.md @@ -64,7 +64,7 @@ A *namespace_declaration* may occur as a top-level declaration in a *compilation Namespaces are implicitly `public` and the declaration of a namespace cannot include any access modifiers. -Within a *namespace_body*, the optional *using_directive*s import the names of other namespaces, types and members, allowing them to be referenced directly instead of through qualified names. The optional *namespace_member_declaration*s contribute members to the declaration space of the namespace. Note that all *using_directive*s must appear before any member declarations. +Within a *namespace_body*, the optional *using_directive*s import the names of other namespaces, types and members, allowing them to be referenced directly instead of through qualified names. The optional *namespace_member_declaration*s contribute members to the declaration space of the namespace. Note that all *using_directive*s shall appear before any member declarations. The *qualified_identifier* of a *namespace_declaration* may be a single identifier or a sequence of identifiers separated by “`.`” tokens. The latter form permits a program to define a nested namespace without lexically nesting several namespace declarations. @@ -305,7 +305,7 @@ Each *extern_alias_directive* or *using_alias_directive* in a *compilation_unit* > > The using alias named `X` causes an error since there is already an alias named `X` in the same compilation unit. The class named `Y` does not conflict with the extern alias named `Y` since these names are added to distinct declaration spaces. The former is added to the global declaration space and the latter is added to the alias declaration space for this compilation unit. > -> When an alias name matches the name of a member of a namespace, usage of either must be appropriately qualified: +> When an alias name matches the name of a member of a namespace, usage of either shall be appropriately qualified: > > > ```csharp @@ -355,7 +355,7 @@ Just like regular members, names introduced by *alias_directives* are hidden by > > *end example* -The order in which *extern_alias_directive*s are written has no significance. Likewise, the order in which *using_alias_directive*s are written has no significance, but all *using_alias_directives* must come after all *extern_alias_directive*s in the same compilation unit or namespace body. Resolution of the *namespace_or_type_name* referenced by a *using_alias_directive* is not affected by the *using_alias_directive* itself or by other *using_directive*s in the immediately containing compilation unit or namespace body, but may be affected by *extern_alias_directive*s in the immediately containing compilation unit or namespace body. In other words, the *namespace_or_type_name* of a *using_alias_directive* is resolved as if the immediately containing compilation unit or namespace body had no *using_directive*s but has the correct set of *extern_alias_directive*s. +The order in which *extern_alias_directive*s are written has no significance. Likewise, the order in which *using_alias_directive*s are written has no significance, but all *using_alias_directives* shall come after all *extern_alias_directive*s in the same compilation unit or namespace body. Resolution of the *namespace_or_type_name* referenced by a *using_alias_directive* is not affected by the *using_alias_directive* itself or by other *using_directive*s in the immediately containing compilation unit or namespace body, but may be affected by *extern_alias_directive*s in the immediately containing compilation unit or namespace body. In other words, the *namespace_or_type_name* of a *using_alias_directive* is resolved as if the immediately containing compilation unit or namespace body had no *using_directive*s but has the correct set of *extern_alias_directive*s. > *Example*: In the following code > diff --git a/standard/standard-library.md b/standard/standard-library.md index 79a6d3c3c..dc386f567 100644 --- a/standard/standard-library.md +++ b/standard/standard-library.md @@ -449,7 +449,7 @@ namespace System.Threading ## C.3 Standard Library Types not defined in ISO/IEC 23271 -The following types, including the members listed, must be defined in a conforming standard library. (These types might be defined in a future edition of ISO/IEC 23271.) It is expected that many of these types will have more members available than are listed. +The following types, including the members listed, shall be defined in a conforming standard library. (These types might be defined in a future edition of ISO/IEC 23271.) It is expected that many of these types will have more members available than are listed. A conforming implementation may provide `Task.GetAwaiter()` and `Task.GetAwaiter()` as extension methods. diff --git a/standard/statements.md b/standard/statements.md index 5a1427c9f..f32ea7811 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -366,7 +366,7 @@ implicitly_typed_local_variable_declarator ; ``` -An *implicity_typed_local_variable_declaration* introduces a single local variable, *identifier*. The *expression* or *variable_reference* must have a compile-time type, `T`. The first alternative declares a variable with type `T` and an initial value of *expression*. The second alternative declares a ref variable with type `ref T` and an initial value of `ref` *variable_reference*. +An *implicity_typed_local_variable_declaration* introduces a single local variable, *identifier*. The *expression* or *variable_reference* shall have a compile-time type, `T`. The first alternative declares a variable with type `T` and an initial value of *expression*. The second alternative declares a ref variable with type `ref T` and an initial value of `ref` *variable_reference*. > *Example*: > @@ -431,7 +431,7 @@ local_variable_initializer An *explicity_typed_local_variable_declaration* introduces one or more local variables with the specified *type*. -If a *local_variable_initializer* is present then its type must be appropriate according to the rules of simple assignment ([§12.21.2](expressions.md#12212-simple-assignment)) or array initialization ([§17.7](arrays.md#177-array-initializers)) and its value is assigned as the initial value of the variable. +If a *local_variable_initializer* is present then its type shall be appropriate according to the rules of simple assignment ([§12.21.2](expressions.md#12212-simple-assignment)) or array initialization ([§17.7](arrays.md#177-array-initializers)) and its value is assigned as the initial value of the variable. #### 13.6.2.4 Ref local variable declarations @@ -449,7 +449,7 @@ ref_local_variable_declarator ; ``` -The initializing *variable_reference* must have type *type* and meet the same requirements as for a *ref assignment* ([§12.21.3](expressions.md#12213-ref-assignment)). +The initializing *variable_reference* shall have type *type* and meet the same requirements as for a *ref assignment* ([§12.21.3](expressions.md#12213-ref-assignment)). If *ref_kind* is `ref readonly`, the *identifier*(s) being declared are references to variables that are treated as read-only. Otherwise, if *ref_kind* is `ref`, the *identifier*(s) being declared are references to variables that shall be writable. @@ -561,7 +561,7 @@ Grammar note: When recognising a *local_function_body* if both the *null_conditi Unless specified otherwise below, the semantics of all grammar elements is the same as for *method_declaration* ([§15.6.1](classes.md#1561-general)), read in the context of a local function instead of a method. -The *identifier* of a *local_function_declaration* must be unique in its declared block scope, including any enclosing local variable declaration spaces. One consequence of this is that overloaded *local_function_declaration*s are not allowed. +The *identifier* of a *local_function_declaration* shall be unique in its declared block scope, including any enclosing local variable declaration spaces. One consequence of this is that overloaded *local_function_declaration*s are not allowed. A *local_function_declaration* may include one `async` ([§15.15](classes.md#1515-async-functions)) modifier and one `unsafe` ([§23.1](unsafe-code.md#231-general)) modifier. If the declaration includes the `async` modifier then the return type shall be `void` or a `«TaskType»` type ([§15.15.1](classes.md#15151-general)). The `unsafe` modifier uses the containing lexical scope. The `async` modifier does not use the containing lexical scope. It is a compile-time error for *type_parameter_list* or *formal_parameter_list* to contain *attributes*. @@ -604,7 +604,7 @@ Local function bodies are always reachable. The endpoint of a local function dec > > In other words, the location of a local function declaration doesn’t affect the reachability of any statements in the containing function. *end example* -If the type of the argument to a local function is `dynamic`, the function to be called must be resolved at compile time, not runtime. +If the type of the argument to a local function is `dynamic`, the function to be called shall be resolved at compile time, not runtime. ## 13.7 Expression statements @@ -1596,7 +1596,7 @@ finally_clause ; ``` -A *try_statement* consists of the keyword `try` followed by a *block*, then zero or more *catch_clauses*, then an optional *finally_clause*. There must be at least one *catch_clause* or a *finally_clause*. +A *try_statement* consists of the keyword `try` followed by a *block*, then zero or more *catch_clauses*, then an optional *finally_clause*. There shall be at least one *catch_clause* or a *finally_clause*. In an *exception_specifier* the *type*, or its effective base class if it is a *type_parameter*, shall be `System.Exception` or a type that derives from it. diff --git a/standard/structs.md b/standard/structs.md index 2c128e2d5..1f54c76f1 100644 --- a/standard/structs.md +++ b/standard/structs.md @@ -518,8 +518,8 @@ The safe-context records which context a value may be copied into. Given an assi There are three different safe-context values, the same as the ref-safe-context values defined for reference variables ([§9.7.2](variables.md#972-ref-safe-contexts)): **declaration-block**, **function-member**, and **caller-context**. The safe-context of an expression constrains its use as follows: -- For a return statement `return e1`, the safe-context of `e1` must be caller-context. -- For an assignment `e1 = e2` the safe-context of `e2` must be at least as wide a context as the safe-context of `e1`. +- For a return statement `return e1`, the safe-context of `e1` shall be caller-context. +- For an assignment `e1 = e2` the safe-context of `e2` shall be at least as wide a context as the safe-context of `e1`. For a method invocation if there is a `ref` or `out` argument of a `ref struct` type (including the receiver unless the type is `readonly`), with safe-context `S1`, then no argument (including the receiver) may have a narrower safe-context than `S1`. diff --git a/standard/variables.md b/standard/variables.md index f088735e5..744b61945 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -1054,7 +1054,7 @@ All reference variables obey safety rules that ensure the ref-safe-context of th > *Note*: The related notion of a *safe-context* is defined in ([§16.4.12](structs.md#16412-safe-context-constraint)), along with associated constraints. *end note* -For any variable, the ***ref-safe-context*** of that variable is the context where a *variable_reference* ([§9.5](variables.md#95-variable-references)) to that variable is valid. The referent of a reference variable must have a ref-safe-context that is at least as wide as the ref-safe-context of the reference variable itself. +For any variable, the ***ref-safe-context*** of that variable is the context where a *variable_reference* ([§9.5](variables.md#95-variable-references)) to that variable is valid. The referent of a reference variable shall have a ref-safe-context that is at least as wide as the ref-safe-context of the reference variable itself. > *Note*: The compiler determines the ref-safe-context through a static analysis of the program text. The ref-safe-context reflects the lifetime of a variable at runtime. *end note* @@ -1232,5 +1232,5 @@ A `new` expression that invokes a constructor obeys the same rules as a method i - Neither a reference parameter, nor an output parameter, nor an input parameter, nor a `ref` local, nor a parameter or local of a `ref struct` type shall be captured by lambda expression or local function. - Neither a reference parameter, nor an output parameter, nor an input parameter, nor a parameter of a `ref struct` type shall be an argument for an iterator method or an `async` method. - Neither a `ref` local, nor a local of a `ref struct` type shall be in context at the point of a `yield return` statement or an `await` expression. -- For a ref reassignment `e1 = ref e2`, the ref-safe-context of `e2` must be at least as wide a context as the *ref-safe-context* of `e1`. -- For a ref return statement `return ref e1`, the ref-safe-context of `e1` must be the caller-context. +- For a ref reassignment `e1 = ref e2`, the ref-safe-context of `e2` shall be at least as wide a context as the *ref-safe-context* of `e1`. +- For a ref return statement `return ref e1`, the ref-safe-context of `e1` shall be the caller-context. From ff43a49e27f05225074c52571947b43748f38a23 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Wed, 1 Nov 2023 16:39:30 -0400 Subject: [PATCH 018/259] Reverse some V7 edits w.r.t Indexers (#970) * reverse some V7 edits * Update standard/classes.md --------- Co-authored-by: Jon Skeet --- standard/classes.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index e08b1b2b0..6d687703e 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -4192,8 +4192,6 @@ The *type* of an indexer declaration specifies the element type of the indexer i > *Note*: As indexers are designed to be used in array element-like contexts, the term *element type* as defined for an array is also used with an indexer. *end note* -The *formal_parameter_list* specifies the parameters of the indexer. The formal parameter list of an indexer corresponds to that of a method ([§15.6.2](classes.md#1562-method-parameters)), except that at least one parameter shall be specified, and that the `this`, `out`, and `ref` parameter modifiers are not permitted. - Unless the indexer is an explicit interface member implementation, the *type* is followed by the keyword `this`. For an explicit interface member implementation, the *type* is followed by an *interface_type*, a “`.`”, and the keyword `this`. Unlike other members, indexers do not have user-defined names. The *formal_parameter_list* specifies the parameters of the indexer. The formal parameter list of an indexer corresponds to that of a method ([§15.6.2](classes.md#1562-method-parameters)), except that at least one parameter shall be specified, and that the `this`, `ref`, and `out` parameter modifiers are not permitted. @@ -4363,7 +4361,7 @@ Indexers and properties are very similar in concept, but differ in the following Aside from these differences, all rules defined in [§15.7.3](classes.md#1573-accessors), [§15.7.5](classes.md#1575-accessibility) and [§15.7.6](classes.md#1576-virtual-sealed-override-and-abstract-accessors) apply to indexer accessors as well as to property accessors. -*Note*: This replacing of property/properties with indexer/indexers when reading [§15.7.3](classes.md#1573-accessors), [§15.7.5](classes.md#1575-accessibility) and [§15.7.6](classes.md#1576-virtual-sealed-override-and-abstract-accessors) applies to defined terms as well. For example *read-write property* becomes *read-write-indexer*. *end note* +This replacing of property/properties with indexer/indexers when reading [§15.7.3](classes.md#1573-accessors), [§15.7.5](classes.md#1575-accessibility) and [§15.7.6](classes.md#1576-virtual-sealed-override-and-abstract-accessors) applies to defined terms as well. Specifically, *read-write property* becomes ***read-write indexer***, *read-only property* becomes ***read-only indexer***, and *write-only property* becomes ***write-only indexer***. ## 15.10 Operators From 720d921c5688190ea544682cdbdf8874fa716f2b Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Fri, 17 Nov 2023 05:41:48 +1300 Subject: [PATCH 019/259] Fixes #987 (#993) Fixes #987 Missing table part was just a production mishap. Fixes the typo IFormatable -> IFormattable --- standard/standard-library.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/standard-library.md b/standard/standard-library.md index dc386f567..c997d5122 100644 --- a/standard/standard-library.md +++ b/standard/standard-library.md @@ -584,7 +584,7 @@ namespace System ## C.4 Format Specifications -The meaning of the formats, as used in interpolated string expressions ([§12.8.3](expressions.md#1283-interpolated-string-expressions)), are defined in ISO/IEC 23271:2012. For convenience the following text is copied from the description of `System.IFormatable`. +The meaning of the formats, as used in interpolated string expressions ([§12.8.3](expressions.md#1283-interpolated-string-expressions)), are defined in ISO/IEC 23271:2012. For convenience the following text is copied from the description of `System.IFormattable`. **This text is informative.** From b06e08b907f71cac33702315bcc42ec1030b2354 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 22 Nov 2023 09:26:10 -0500 Subject: [PATCH 020/259] Update our tools to run on >NET 8 (#996) * Upgrade .NET and NuGet packages There were some breaking changes in the Word Converter packages. The only source code changes were to address the Word converter source breaks. * interim checkin. Revert to 4.1.0 * Remove unnecessary usings, filespace using Review this diff by hiding whitespace. First, remove all unnecessary usings. Second, convert all namespace declarations to file scoped namespaces. * add editorconfig This one is consistent with the version on dotnet/docs. We can season to taste as we're ready. * Use the .NET 8 SDK for all our tools. * Revert the grammar validator to .net 6 I've got a PR in that repo to update it. Once approved, I'll install the NuGet package here, and update that YML file. * respond to review comments - Update Roslyn packages to 4.8 - Remove coverlet - Formatting in csproj. --- .github/workflows/renumber-sections.yaml | 4 +- .github/workflows/smart-quotes.yaml | 4 +- .github/workflows/test-examples.yaml | 4 +- .github/workflows/tools-tests.yaml | 4 +- .github/workflows/update-on-merge.yaml | 4 +- .github/workflows/word-converter.yaml | 4 +- tools/.editorconfig | 210 ++ .../ExampleExtractor/ExampleExtractor.csproj | 4 +- .../ExampleFormatter/ExampleFormatter.csproj | 6 +- tools/ExampleTester/ExampleTester.csproj | 8 +- tools/ExampleTester/TesterConfiguration.cs | 1 - .../MarkdownConverter.Tests.csproj | 16 +- .../MarkdownSourceConverterTests.cs | 189 +- .../MarkdownSpecFileListTests.cs | 15 +- .../Converter/ConversionContext.cs | 109 +- tools/MarkdownConverter/Converter/FlatItem.cs | 27 +- .../Converter/MarkdownSourceConverter.cs | 1986 ++++++++--------- .../Converter/MarkdownSpecConverter.cs | 218 +- tools/MarkdownConverter/Converter/Needle.cs | 23 +- .../MarkdownConverter.csproj | 11 +- tools/MarkdownConverter/OptionExtensions.cs | 17 +- tools/MarkdownConverter/Program.cs | 210 +- tools/MarkdownConverter/Spec/ItalicUse.cs | 25 +- tools/MarkdownConverter/Spec/MarkdownSpec.cs | 354 ++- .../Spec/MarkdownUtilities.cs | 23 +- tools/MarkdownConverter/Spec/Reporter.cs | 162 +- tools/MarkdownConverter/Spec/SectionRef.cs | 149 +- .../MarkdownConverter/Spec/SourceLocation.cs | 125 +- tools/MarkdownConverter/Spec/Span.cs | 19 +- .../Spec/StringLengthComparer.cs | 25 +- tools/MarkdownConverter/Spec/TermRef.cs | 27 +- tools/StandardAnchorTags/GenerateGrammar.cs | 5 +- tools/StandardAnchorTags/Program.cs | 292 ++- .../ReferenceUpdateProcessor.cs | 231 +- tools/StandardAnchorTags/SectionLink.cs | 57 +- .../StandardAnchorTags.csproj | 3 +- .../TocSectionNumberBuilder.cs | 362 ++- tools/Utilities/Clauses.cs | 21 +- tools/Utilities/Utilities.csproj | 4 +- 39 files changed, 2550 insertions(+), 2408 deletions(-) create mode 100644 tools/.editorconfig diff --git a/.github/workflows/renumber-sections.yaml b/.github/workflows/renumber-sections.yaml index 35ef4e3ff..1cc0828c3 100644 --- a/.github/workflows/renumber-sections.yaml +++ b/.github/workflows/renumber-sections.yaml @@ -21,10 +21,10 @@ jobs: - name: Check out our repo uses: actions/checkout@v2 - - name: Setup .NET 6.0 + - name: Setup .NET 8.0 uses: actions/setup-dotnet@v1 with: - dotnet-version: 6.0.x + dotnet-version: 8.0.x - name: Run section renumbering dry run run: | diff --git a/.github/workflows/smart-quotes.yaml b/.github/workflows/smart-quotes.yaml index 149c15a98..551084179 100644 --- a/.github/workflows/smart-quotes.yaml +++ b/.github/workflows/smart-quotes.yaml @@ -24,10 +24,10 @@ jobs: - name: Check out our repo uses: actions/checkout@v2 - - name: Setup .NET 6.0 + - name: Setup .NET 8.0 uses: actions/setup-dotnet@v1 with: - dotnet-version: 6.0.x + dotnet-version: 8.0.x - name: Smarten quotes id: smarten-quote diff --git a/.github/workflows/test-examples.yaml b/.github/workflows/test-examples.yaml index 06f167655..dae5436db 100644 --- a/.github/workflows/test-examples.yaml +++ b/.github/workflows/test-examples.yaml @@ -23,10 +23,10 @@ jobs: - name: Check out our repo uses: actions/checkout@v2 - - name: Setup .NET 6.0 + - name: Setup .NET 8.0 uses: actions/setup-dotnet@v1 with: - dotnet-version: 6.0.x + dotnet-version: 8.0.x - name: Extract and validate tests run: | diff --git a/.github/workflows/tools-tests.yaml b/.github/workflows/tools-tests.yaml index b70e3f005..ff3790536 100644 --- a/.github/workflows/tools-tests.yaml +++ b/.github/workflows/tools-tests.yaml @@ -25,10 +25,10 @@ jobs: - name: Check out our repo uses: actions/checkout@v2 - - name: Setup .NET 6.0 + - name: Setup .NET 8.0 uses: actions/setup-dotnet@v1 with: - dotnet-version: 6.0.x + dotnet-version: 8.0.x - name: Run all tests run: | diff --git a/.github/workflows/update-on-merge.yaml b/.github/workflows/update-on-merge.yaml index fe361566b..e2c195ec1 100644 --- a/.github/workflows/update-on-merge.yaml +++ b/.github/workflows/update-on-merge.yaml @@ -29,10 +29,10 @@ jobs: - name: Check out our repo uses: actions/checkout@v2 - - name: Setup .NET 6.0 + - name: Setup .NET 8.0 uses: actions/setup-dotnet@v1 with: - dotnet-version: 6.0.x + dotnet-version: 8.0.x - name: Set up JDK 15 uses: actions/setup-java@v1 diff --git a/.github/workflows/word-converter.yaml b/.github/workflows/word-converter.yaml index 379724e52..02b38eb62 100644 --- a/.github/workflows/word-converter.yaml +++ b/.github/workflows/word-converter.yaml @@ -21,10 +21,10 @@ jobs: - name: Check out our repo uses: actions/checkout@v2 - - name: Setup .NET 6.0 + - name: Setup .NET 8.0 uses: actions/setup-dotnet@v1 with: - dotnet-version: 6.0.x + dotnet-version: 8.0.x - name: Run converter run: | diff --git a/tools/.editorconfig b/tools/.editorconfig new file mode 100644 index 000000000..596c802dc --- /dev/null +++ b/tools/.editorconfig @@ -0,0 +1,210 @@ +# editorconfig.org + +# top-most EditorConfig file +root = true + +# Default settings: +# A newline ending every file +# Use 4 spaces as indentation +[*] +insert_final_newline = true +indent_style = space +indent_size = 4 +trim_trailing_whitespace = true + +[project.json] +indent_size = 2 + +# C# and Visual Basic files +[*.{cs,vb}] +charset = utf-8-bom + +# Analyzers +dotnet_analyzer_diagnostic.category-Security.severity = error +dotnet_code_quality.ca1802.api_surface = private, internal + +# Miscellaneous style rules +dotnet_sort_system_directives_first = true +dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion +dotnet_style_predefined_type_for_member_access = true:suggestion + +# avoid this. unless absolutely necessary +dotnet_style_qualification_for_field = false:suggestion +dotnet_style_qualification_for_property = false:suggestion +dotnet_style_qualification_for_method = false:suggestion +dotnet_style_qualification_for_event = false:suggestion + +# name all constant fields using PascalCase +dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields +dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style +dotnet_naming_symbols.constant_fields.applicable_kinds = field +dotnet_naming_symbols.constant_fields.required_modifiers = const +dotnet_naming_style.pascal_case_style.capitalization = pascal_case + +# static fields should have s_ prefix +dotnet_naming_rule.static_fields_should_have_prefix.severity = suggestion +dotnet_naming_rule.static_fields_should_have_prefix.symbols = static_fields +dotnet_naming_rule.static_fields_should_have_prefix.style = static_prefix_style +dotnet_naming_symbols.static_fields.applicable_kinds = field +dotnet_naming_symbols.static_fields.required_modifiers = static +dotnet_naming_symbols.static_fields.applicable_accessibilities = private, internal, private_protected +dotnet_naming_style.static_prefix_style.required_prefix = s_ +dotnet_naming_style.static_prefix_style.capitalization = camel_case + +# internal and private fields should be _camelCase +dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion +dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields +dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style +dotnet_naming_symbols.private_internal_fields.applicable_kinds = field +dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal +dotnet_naming_style.camel_case_underscore_style.required_prefix = _ +dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case + +# Code quality +dotnet_style_readonly_field = true:suggestion +dotnet_code_quality_unused_parameters = non_public:suggestion + +# Expression-level preferences +dotnet_style_object_initializer = true:suggestion +dotnet_style_collection_initializer = true:suggestion +dotnet_style_explicit_tuple_names = true:suggestion +dotnet_style_coalesce_expression = true:suggestion +dotnet_style_null_propagation = true:suggestion +dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion +dotnet_style_prefer_inferred_tuple_names = true:suggestion +dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion +dotnet_style_prefer_auto_properties = true:suggestion +dotnet_style_prefer_conditional_expression_over_assignment = true:refactoring +dotnet_style_prefer_conditional_expression_over_return = true:refactoring + +# CA2208: Instantiate argument exceptions correctly +dotnet_diagnostic.CA2208.severity = error + +# C# files +[*.cs] +# New line preferences +csharp_new_line_before_open_brace = all +csharp_new_line_before_else = true +csharp_new_line_before_catch = true +csharp_new_line_before_finally = true +csharp_new_line_before_members_in_object_initializers = true +csharp_new_line_before_members_in_anonymous_types = true +csharp_new_line_between_query_expression_clauses = true + +# Indentation preferences +csharp_indent_block_contents = true +csharp_indent_braces = false +csharp_indent_case_contents = true +csharp_indent_case_contents_when_block = true +csharp_indent_switch_labels = true +csharp_indent_labels = one_less_than_current + +# Modifier preferences +csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion + +# Code style defaults +csharp_using_directive_placement = outside_namespace:suggestion +csharp_prefer_braces = true:refactoring +csharp_preserve_single_line_blocks = true:none +csharp_preserve_single_line_statements = false:none +csharp_prefer_static_local_function = true:suggestion +csharp_prefer_simple_using_statement = false:none +csharp_style_prefer_switch_expression = true:suggestion + +# Expression-bodied members +csharp_style_expression_bodied_methods = true:refactoring +csharp_style_expression_bodied_constructors = true:refactoring +csharp_style_expression_bodied_operators = true:refactoring +csharp_style_expression_bodied_properties = true:refactoring +csharp_style_expression_bodied_indexers = true:refactoring +csharp_style_expression_bodied_accessors = true:refactoring +csharp_style_expression_bodied_lambdas = true:refactoring +csharp_style_expression_bodied_local_functions = true:refactoring + +# Pattern matching +csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion +csharp_style_pattern_matching_over_as_with_null_check = true:suggestion +csharp_style_inlined_variable_declaration = true:suggestion + +# Expression-level preferences +csharp_prefer_simple_default_expression = true:suggestion + +# Null checking preferences +csharp_style_throw_expression = true:suggestion +csharp_style_conditional_delegate_call = true:suggestion + +# Other features +csharp_style_prefer_index_operator = false:none +csharp_style_prefer_range_operator = false:none +csharp_style_pattern_local_over_anonymous_function = false:none + +# Space preferences +csharp_space_after_cast = false +csharp_space_after_colon_in_inheritance_clause = true +csharp_space_after_comma = true +csharp_space_after_dot = false +csharp_space_after_keywords_in_control_flow_statements = true +csharp_space_after_semicolon_in_for_statement = true +csharp_space_around_binary_operators = before_and_after +csharp_space_around_declaration_statements = do_not_ignore +csharp_space_before_colon_in_inheritance_clause = true +csharp_space_before_comma = false +csharp_space_before_dot = false +csharp_space_before_open_square_brackets = false +csharp_space_before_semicolon_in_for_statement = false +csharp_space_between_empty_square_brackets = false +csharp_space_between_method_call_empty_parameter_list_parentheses = false +csharp_space_between_method_call_name_and_opening_parenthesis = false +csharp_space_between_method_call_parameter_list_parentheses = false +csharp_space_between_method_declaration_empty_parameter_list_parentheses = false +csharp_space_between_method_declaration_name_and_open_parenthesis = false +csharp_space_between_method_declaration_parameter_list_parentheses = false +csharp_space_between_parentheses = false +csharp_space_between_square_brackets = false + +# Namespace preference +csharp_style_namespace_declarations = file_scoped:suggestion + +# Types: use keywords instead of BCL types, and permit var only when the type is clear +csharp_style_var_for_built_in_types = false:suggestion +csharp_style_var_when_type_is_apparent = false:none +csharp_style_var_elsewhere = false:suggestion + +# Visual Basic files +[*.vb] +# Modifier preferences +visual_basic_preferred_modifier_order = Partial,Default,Private,Protected,Public,Friend,NotOverridable,Overridable,MustOverride,Overloads,Overrides,MustInherit,NotInheritable,Static,Shared,Shadows,ReadOnly,WriteOnly,Dim,Const,WithEvents,Widening,Narrowing,Custom,Async:suggestion + +# C++ Files +[*.{cpp,h,in}] +curly_bracket_next_line = true +indent_brace_style = Allman + +# Xml project files +[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj}] +indent_size = 2 + +# Xml build files +[*.builds] +indent_size = 2 + +# Xml files +[*.{xml,stylecop,resx,ruleset}] +indent_size = 2 + +# Xml config files +[*.{props,targets,config,nuspec}] +indent_size = 2 + +# Shell scripts +[*.sh] +end_of_line = lf + +[*.{cmd, bat}] +end_of_line = crlf + +# Markdown files +[*.md] + # Double trailing spaces can be used for BR tags, and other instances are enforced by Markdownlint +trim_trailing_whitespace = false diff --git a/tools/ExampleExtractor/ExampleExtractor.csproj b/tools/ExampleExtractor/ExampleExtractor.csproj index 11b28f3a8..5b21f414c 100644 --- a/tools/ExampleExtractor/ExampleExtractor.csproj +++ b/tools/ExampleExtractor/ExampleExtractor.csproj @@ -2,13 +2,13 @@ Exe - net6.0 + net8.0 enable enable - + diff --git a/tools/ExampleFormatter/ExampleFormatter.csproj b/tools/ExampleFormatter/ExampleFormatter.csproj index 19ca933ac..49bc6aaf1 100644 --- a/tools/ExampleFormatter/ExampleFormatter.csproj +++ b/tools/ExampleFormatter/ExampleFormatter.csproj @@ -1,14 +1,14 @@ - + Exe - net6.0 + net8.0 enable enable - + diff --git a/tools/ExampleTester/ExampleTester.csproj b/tools/ExampleTester/ExampleTester.csproj index a8dabbc54..c3e3d0851 100644 --- a/tools/ExampleTester/ExampleTester.csproj +++ b/tools/ExampleTester/ExampleTester.csproj @@ -2,15 +2,15 @@ Exe - net6.0 + net8.0 enable enable - - - + + + diff --git a/tools/ExampleTester/TesterConfiguration.cs b/tools/ExampleTester/TesterConfiguration.cs index 8b1a07b60..b6a0c43d9 100644 --- a/tools/ExampleTester/TesterConfiguration.cs +++ b/tools/ExampleTester/TesterConfiguration.cs @@ -1,6 +1,5 @@ using System.CommandLine; using System.CommandLine.Binding; -using System.CommandLine.Invocation; namespace ExampleTester; diff --git a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj index 870a90b4d..3f1755b09 100644 --- a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj +++ b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj @@ -1,9 +1,9 @@  - net6.0 + net8.0 enable - + enable false @@ -13,14 +13,10 @@ - - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - + + + + runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/tools/MarkdownConverter.Tests/MarkdownSourceConverterTests.cs b/tools/MarkdownConverter.Tests/MarkdownSourceConverterTests.cs index 9323ecede..ceac254d7 100644 --- a/tools/MarkdownConverter.Tests/MarkdownSourceConverterTests.cs +++ b/tools/MarkdownConverter.Tests/MarkdownSourceConverterTests.cs @@ -5,116 +5,111 @@ using Org.XmlUnit; using Org.XmlUnit.Builder; using Org.XmlUnit.Diff; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; using System.Xml.Linq; using Xunit; -namespace MarkdownConverter.Tests +namespace MarkdownConverter.Tests; + +public class MarkdownSourceConverterTests { - public class MarkdownSourceConverterTests + [Theory] + [InlineData("antlr-with-line-comment")] + [InlineData("code-block-in-list")] + [InlineData("list-in-note", true)] + [InlineData("markdown-lint")] + [InlineData("note")] + [InlineData("table-in-list")] + [InlineData("table-with-pipe")] + public void SingleResourceConversion(string name, bool includeNumbering = false) { - [Theory] - [InlineData("antlr-with-line-comment")] - [InlineData("code-block-in-list")] - [InlineData("list-in-note", true)] - [InlineData("markdown-lint")] - [InlineData("note")] - [InlineData("table-in-list")] - [InlineData("table-with-pipe")] - public void SingleResourceConversion(string name, bool includeNumbering = false) - { - var reporter = new Reporter(TextWriter.Null); - var expectedXml = ReadResource($"{name}.xml"); - var spec = MarkdownSpec.ReadFiles(new[] { $"{name}.md" }, reporter, name => new StreamReader(new MemoryStream(ReadResource(name)))); + var reporter = new Reporter(TextWriter.Null); + var expectedXml = ReadResource($"{name}.xml"); + var spec = MarkdownSpec.ReadFiles(new[] { $"{name}.md" }, reporter, name => new StreamReader(new MemoryStream(ReadResource(name)))); - var resultDoc = WordprocessingDocument.Create(new MemoryStream(), WordprocessingDocumentType.Document); - resultDoc.AddMainDocumentPart(); - var source = spec.Sources.Single(); - var converter = new MarkdownSourceConverter(source.Item2, wordDocument: resultDoc, - spec: spec, - filename: $"{name}.md", - reporter); + var resultDoc = WordprocessingDocument.Create(new MemoryStream(), WordprocessingDocumentType.Document); + resultDoc.AddMainDocumentPart(); + var source = spec.Sources.Single(); + var converter = new MarkdownSourceConverter(source.Item2, wordDocument: resultDoc, + spec: spec, + filename: $"{name}.md", + reporter); - // Gather all the paragraphs together, but remove all namespaces aliases so our test documents can be simpler. - // (While a single declaration of the namespace in the root element works as a default for element names, - // it doesn't help with attribute names.) - // We optionally include the numbering details - this is basically for tests where list indentation is important. - var paragraphs = converter.Paragraphs.ToList(); - string? numberingXml = includeNumbering ? resultDoc.MainDocumentPart?.NumberingDefinitionsPart?.Numbering?.OuterXml : null; - string paragraphsXml = string.Join("\r\n", paragraphs.Select(p => p.OuterXml)); - XDocument actualXDocument = XDocument.Parse($@"{numberingXml}{paragraphsXml}"); - // Remove attributes - foreach (var element in actualXDocument.Root!.Descendants()) - { - element.Name = element.Name.LocalName; - element.Attributes().Where(attr => attr.Name.Namespace == XNamespace.Xmlns).Remove(); - element.ReplaceAttributes(element.Attributes().Select(attr => new XAttribute(attr.Name.LocalName, attr.Value))); - } - - ISource expectedDoc = Input.FromByteArray(expectedXml).Build(); - ISource actualDoc = Input.FromDocument(actualXDocument).Build(); - IDifferenceEngine diff = new DOMDifferenceEngine(); - var differences = new List(); - diff.DifferenceListener += (comparison, outcome) => differences.Add(comparison); - diff.Compare(expectedDoc, actualDoc); - Assert.Empty(differences); - Assert.Equal(0, reporter.Warnings); - Assert.Equal(0, reporter.Errors); + // Gather all the paragraphs together, but remove all namespaces aliases so our test documents can be simpler. + // (While a single declaration of the namespace in the root element works as a default for element names, + // it doesn't help with attribute names.) + // We optionally include the numbering details - this is basically for tests where list indentation is important. + var paragraphs = converter.Paragraphs.ToList(); + string? numberingXml = includeNumbering ? resultDoc.MainDocumentPart?.NumberingDefinitionsPart?.Numbering?.OuterXml : null; + string paragraphsXml = string.Join("\r\n", paragraphs.Select(p => p.OuterXml)); + XDocument actualXDocument = XDocument.Parse($@"{numberingXml}{paragraphsXml}"); + // Remove attributes + foreach (var element in actualXDocument.Root!.Descendants()) + { + element.Name = element.Name.LocalName; + element.Attributes().Where(attr => attr.Name.Namespace == XNamespace.Xmlns).Remove(); + element.ReplaceAttributes(element.Attributes().Select(attr => new XAttribute(attr.Name.LocalName, attr.Value))); } - [Theory] - [InlineData(MarkdownSourceConverter.MaximumCodeLineLength, true, 0)] - [InlineData(MarkdownSourceConverter.MaximumCodeLineLength + 1, false, 0)] - [InlineData(MarkdownSourceConverter.MaximumCodeLineLength + 1, true, 1)] - public void LongLineWarnings(int lineLength, bool code, int expectedWarningCount) - { - string prefix = code ? "```csharp\r\n" : ""; - string line = new string('x', lineLength); - string suffix = code ? "```\r\n" : ""; - string text = $"# 1 Heading\r\n{prefix}{line}\r\n{suffix}"; - var reporter = new Reporter(TextWriter.Null); - var spec = MarkdownSpec.ReadFiles(new[] { "test.md" }, reporter, _ => new StringReader(text)); - var resultDoc = WordprocessingDocument.Create(new MemoryStream(), WordprocessingDocumentType.Document); - var source = spec.Sources.Single(); - var converter = new MarkdownSourceConverter(source.Item2, wordDocument: resultDoc, - spec: spec, - filename: "test.md", - reporter); + ISource expectedDoc = Input.FromByteArray(expectedXml).Build(); + ISource actualDoc = Input.FromDocument(actualXDocument).Build(); + IDifferenceEngine diff = new DOMDifferenceEngine(); + var differences = new List(); + diff.DifferenceListener += (comparison, outcome) => differences.Add(comparison); + diff.Compare(expectedDoc, actualDoc); + Assert.Empty(differences); + Assert.Equal(0, reporter.Warnings); + Assert.Equal(0, reporter.Errors); + } - Assert.Equal(expectedWarningCount, reporter.Warnings); - } + [Theory] + [InlineData(MarkdownSourceConverter.MaximumCodeLineLength, true, 0)] + [InlineData(MarkdownSourceConverter.MaximumCodeLineLength + 1, false, 0)] + [InlineData(MarkdownSourceConverter.MaximumCodeLineLength + 1, true, 1)] + public void LongLineWarnings(int lineLength, bool code, int expectedWarningCount) + { + string prefix = code ? "```csharp\r\n" : ""; + string line = new string('x', lineLength); + string suffix = code ? "```\r\n" : ""; + string text = $"# 1 Heading\r\n{prefix}{line}\r\n{suffix}"; + var reporter = new Reporter(TextWriter.Null); + var spec = MarkdownSpec.ReadFiles(new[] { "test.md" }, reporter, _ => new StringReader(text)); + var resultDoc = WordprocessingDocument.Create(new MemoryStream(), WordprocessingDocumentType.Document); + var source = spec.Sources.Single(); + var converter = new MarkdownSourceConverter(source.Item2, wordDocument: resultDoc, + spec: spec, + filename: "test.md", + reporter); - [Theory] - [InlineData("Valid\r\n\r\n- Item 1\r\n- Item 2", 0)] - [InlineData("Valid\r\n\r\n* Item 1\r\n* Item 2", 0)] - [InlineData("Invalid\r\n- Item", 1)] - [InlineData("Invalid\r\n\r\n* Item 1\r\n- Item 2", 1)] - [InlineData("Multiple invalid\r\n- Item\r\n\r\nText\r\n- Item", 2)] - [InlineData("Valid nested list\r\n\r\n- Item 1\r\n - Item 1.1\r\n- Item 2", 0)] - [InlineData("Not a list\r\nHeading 1 | Heading 2\r\n-----------------\r\nItem1 | Item 2", 0)] - public void InvalidListStartErrors(string text, int expectedErrorCount) - { - text = $"# 1 Heading\r\n{text}"; - var reporter = new Reporter(TextWriter.Null); - var spec = MarkdownSpec.ReadFiles(new[] { "test.md" }, reporter, _ => new StringReader(text)); - Assert.Equal(expectedErrorCount, reporter.Errors); - } + Assert.Equal(expectedWarningCount, reporter.Warnings); + } - private static byte[] ReadResource(string name) + [Theory] + [InlineData("Valid\r\n\r\n- Item 1\r\n- Item 2", 0)] + [InlineData("Valid\r\n\r\n* Item 1\r\n* Item 2", 0)] + [InlineData("Invalid\r\n- Item", 1)] + [InlineData("Invalid\r\n\r\n* Item 1\r\n- Item 2", 1)] + [InlineData("Multiple invalid\r\n- Item\r\n\r\nText\r\n- Item", 2)] + [InlineData("Valid nested list\r\n\r\n- Item 1\r\n - Item 1.1\r\n- Item 2", 0)] + [InlineData("Not a list\r\nHeading 1 | Heading 2\r\n-----------------\r\nItem1 | Item 2", 0)] + public void InvalidListStartErrors(string text, int expectedErrorCount) + { + text = $"# 1 Heading\r\n{text}"; + var reporter = new Reporter(TextWriter.Null); + var spec = MarkdownSpec.ReadFiles(new[] { "test.md" }, reporter, _ => new StringReader(text)); + Assert.Equal(expectedErrorCount, reporter.Errors); + } + + private static byte[] ReadResource(string name) + { + var fullName = $"MarkdownConverter.Tests.{name}"; + var asm = typeof(MarkdownSourceConverterTests).Assembly; + using var resource = asm.GetManifestResourceStream(fullName); + if (resource is null) { - var fullName = $"MarkdownConverter.Tests.{name}"; - var asm = typeof(MarkdownSourceConverterTests).Assembly; - using var resource = asm.GetManifestResourceStream(fullName); - if (resource is null) - { - throw new ArgumentException($"Can't find resource '{fullName}'. Available resources: {string.Join(", ", asm.GetManifestResourceNames())}"); - } - using var memory = new MemoryStream(); - resource.CopyTo(memory); - return memory.ToArray(); + throw new ArgumentException($"Can't find resource '{fullName}'. Available resources: {string.Join(", ", asm.GetManifestResourceNames())}"); } + using var memory = new MemoryStream(); + resource.CopyTo(memory); + return memory.ToArray(); } } diff --git a/tools/MarkdownConverter.Tests/MarkdownSpecFileListTests.cs b/tools/MarkdownConverter.Tests/MarkdownSpecFileListTests.cs index 1c9d5039d..f641707e2 100644 --- a/tools/MarkdownConverter.Tests/MarkdownSpecFileListTests.cs +++ b/tools/MarkdownConverter.Tests/MarkdownSpecFileListTests.cs @@ -1,16 +1,13 @@ using MarkdownConverter.Spec; -using System; -using System.IO; using Xunit; -namespace MarkdownConverter.Tests +namespace MarkdownConverter.Tests; + +public class MarkdownSpecFileListTests { - public class MarkdownSpecFileListTests + [Fact] + public void EmptyListTest() { - [Fact] - public void EmptyListTest() - { - Assert.Throws(() => MarkdownSpec.ReadFiles(null, new Reporter(TextWriter.Null))); - } + Assert.Throws(() => MarkdownSpec.ReadFiles(null, new Reporter(TextWriter.Null))); } } \ No newline at end of file diff --git a/tools/MarkdownConverter/Converter/ConversionContext.cs b/tools/MarkdownConverter/Converter/ConversionContext.cs index e651fc5d8..e07caef1e 100644 --- a/tools/MarkdownConverter/Converter/ConversionContext.cs +++ b/tools/MarkdownConverter/Converter/ConversionContext.cs @@ -1,80 +1,77 @@ using FSharp.Markdown; using MarkdownConverter.Spec; -using System; -using System.Collections.Generic; using System.Runtime.CompilerServices; -namespace MarkdownConverter.Converter +namespace MarkdownConverter.Converter; + +/// +/// Maintains conversion context across multiple Markdown files. +/// +public sealed class ConversionContext { - /// - /// Maintains conversion context across multiple Markdown files. - /// - public sealed class ConversionContext - { - internal Dictionary Terms { get; } = new Dictionary(); - internal List TermKeys { get; } = new List(); - internal List Italics { get; } = new List(); - internal StrongBox MaxBookmarkId { get; } = new StrongBox(); + internal Dictionary Terms { get; } = new Dictionary(); + internal List TermKeys { get; } = new List(); + internal List Italics { get; } = new List(); + internal StrongBox MaxBookmarkId { get; } = new StrongBox(); + + private readonly List needleCounts = new List(200); - private readonly List needleCounts = new List(200); + private int sectionRefCount = 0; - private int sectionRefCount = 0; + internal SectionRef CreateSectionRef(MarkdownParagraph.Heading mdh, string filename) + { + string bookmarkName = $"_Toc{++sectionRefCount:00000}"; + return new SectionRef(mdh, filename, bookmarkName); + } - internal SectionRef CreateSectionRef(MarkdownParagraph.Heading mdh, string filename) + // TODO: Work out what this actually does. It's very confusing... + internal IEnumerable FindNeedles(IEnumerable needles0, string haystack) + { + IList needles = (needles0 as IList) ?? new List(needles0); + for (int i = 0; i < Math.Min(needleCounts.Count, needles.Count); i++) { - string bookmarkName = $"_Toc{++sectionRefCount:00000}"; - return new SectionRef(mdh, filename, bookmarkName); + needleCounts[i] = 0; } - // TODO: Work out what this actually does. It's very confusing... - internal IEnumerable FindNeedles(IEnumerable needles0, string haystack) + while (needleCounts.Count < needles.Count) { - IList needles = (needles0 as IList) ?? new List(needles0); - for (int i = 0; i < Math.Min(needleCounts.Count, needles.Count); i++) - { - needleCounts[i] = 0; - } - - while (needleCounts.Count < needles.Count) - { - needleCounts.Add(0); - } + needleCounts.Add(0); + } - var xcount = 0; - for (int ic = 0; ic < haystack.Length; ic++) + var xcount = 0; + for (int ic = 0; ic < haystack.Length; ic++) + { + var c = haystack[ic]; + xcount++; + for (int i = 0; i < needles.Count; i++) { - var c = haystack[ic]; - xcount++; - for (int i = 0; i < needles.Count; i++) + if (needles[i][needleCounts[i]] == c) { - if (needles[i][needleCounts[i]] == c) + needleCounts[i]++; + if (needleCounts[i] == needles[i].Length) { - needleCounts[i]++; - if (needleCounts[i] == needles[i].Length) + if (xcount > needleCounts[i]) { - if (xcount > needleCounts[i]) - { - yield return new Needle(-1, ic + 1 - xcount, xcount - needleCounts[i]); - } - yield return new Needle(i, ic + 1 - needleCounts[i], needleCounts[i]); - xcount = 0; - for (int j = 0; j < needles.Count; j++) - { - needleCounts[j] = 0; - } - break; + yield return new Needle(-1, ic + 1 - xcount, xcount - needleCounts[i]); } - } - else - { - needleCounts[i] = 0; + yield return new Needle(i, ic + 1 - needleCounts[i], needleCounts[i]); + xcount = 0; + for (int j = 0; j < needles.Count; j++) + { + needleCounts[j] = 0; + } + break; } } + else + { + needleCounts[i] = 0; + } } - if (xcount > 0) - { - yield return new Needle(-1, haystack.Length - xcount, xcount); - } + } + if (xcount > 0) + { + yield return new Needle(-1, haystack.Length - xcount, xcount); } } } diff --git a/tools/MarkdownConverter/Converter/FlatItem.cs b/tools/MarkdownConverter/Converter/FlatItem.cs index 1651bc9cc..90024bc8e 100644 --- a/tools/MarkdownConverter/Converter/FlatItem.cs +++ b/tools/MarkdownConverter/Converter/FlatItem.cs @@ -1,20 +1,19 @@ using FSharp.Markdown; -namespace MarkdownConverter.Converter +namespace MarkdownConverter.Converter; + +internal sealed class FlatItem { - internal sealed class FlatItem - { - public int Level { get; } - public bool HasBullet { get; } - public bool IsBulletOrdered { get; } - public MarkdownParagraph Paragraph { get; } + public int Level { get; } + public bool HasBullet { get; } + public bool IsBulletOrdered { get; } + public MarkdownParagraph Paragraph { get; } - public FlatItem(int level, bool hasBullet, bool isBulletOrdered, MarkdownParagraph paragraph) - { - Level = level; - HasBullet = hasBullet; - IsBulletOrdered = isBulletOrdered; - Paragraph = paragraph; - } + public FlatItem(int level, bool hasBullet, bool isBulletOrdered, MarkdownParagraph paragraph) + { + Level = level; + HasBullet = hasBullet; + IsBulletOrdered = isBulletOrdered; + Paragraph = paragraph; } } diff --git a/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs b/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs index 43dcce77e..14d935131 100644 --- a/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs +++ b/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs @@ -7,1254 +7,1250 @@ using MarkdownConverter.Spec; using Microsoft.FSharp.Collections; using Microsoft.FSharp.Core; -using System; -using System.Collections.Generic; -using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Xml.Linq; -namespace MarkdownConverter.Converter +namespace MarkdownConverter.Converter; + +public class MarkdownSourceConverter { - public class MarkdownSourceConverter - { - /// - /// The maximum code line length that's allowed without generating a warning. - /// (80 would be normal, but 81 appears to be okay, and avoids a couple of difficult line breaks.) - /// - public const int MaximumCodeLineLength = 81; + /// + /// The maximum code line length that's allowed without generating a warning. + /// (80 would be normal, but 81 appears to be okay, and avoids a couple of difficult line breaks.) + /// + public const int MaximumCodeLineLength = 81; - private const int InitialIndentation = 540; - private const int ListLevelIndentation = 360; - private const int TableIndentation = 360; + private const int InitialIndentation = 540; + private const int ListLevelIndentation = 360; + private const int TableIndentation = 360; - private static readonly Dictionary SubscriptUnicodeToAscii = new Dictionary - { - { '\u1d62', 'i' }, - { '\u1d65', 'v' }, - { '\u2080', '0' }, - { '\u2081', '1' }, - { '\u2082', '2' }, - { '\u2083', '3' }, - { '\u2084', '4' }, - { '\u2085', '5' }, - { '\u2086', '6' }, - { '\u2087', '7' }, - { '\u2088', '8' }, - { '\u2089', '9' }, - { '\u208a', '+' }, - { '\u208b', '-' }, - { '\u2091', 'e' }, - { '\u2093', 'x' }, - }; - - private static readonly Dictionary SuperscriptUnicodeToAscii = new Dictionary - { - { '\u00aa', 'a' }, - { '\u207f', 'n' }, - { '\u00b9', '1' }, - }; - - private readonly MarkdownDocument markdownDocument; - private readonly WordprocessingDocument wordDocument; - private readonly Dictionary sections; - private readonly ConversionContext context; - private readonly string filename; - private readonly Reporter reporter; - - public IReadOnlyList Paragraphs { get; } - - public MarkdownSourceConverter( - MarkdownDocument markdownDocument, - WordprocessingDocument wordDocument, - MarkdownSpec spec, - string filename, - Reporter reporter) - { - this.markdownDocument = markdownDocument; - this.wordDocument = wordDocument; - sections = spec.Sections.ToDictionary(sr => sr.Url); - this.filename = filename; - this.reporter = reporter; - context = spec.Context; - Paragraphs = Paragraphs2Paragraphs(markdownDocument.Paragraphs).ToList(); - } + private static readonly Dictionary SubscriptUnicodeToAscii = new Dictionary + { + { '\u1d62', 'i' }, + { '\u1d65', 'v' }, + { '\u2080', '0' }, + { '\u2081', '1' }, + { '\u2082', '2' }, + { '\u2083', '3' }, + { '\u2084', '4' }, + { '\u2085', '5' }, + { '\u2086', '6' }, + { '\u2087', '7' }, + { '\u2088', '8' }, + { '\u2089', '9' }, + { '\u208a', '+' }, + { '\u208b', '-' }, + { '\u2091', 'e' }, + { '\u2093', 'x' }, + }; + + private static readonly Dictionary SuperscriptUnicodeToAscii = new Dictionary + { + { '\u00aa', 'a' }, + { '\u207f', 'n' }, + { '\u00b9', '1' }, + }; + + private readonly MarkdownDocument markdownDocument; + private readonly WordprocessingDocument wordDocument; + private readonly Dictionary sections; + private readonly ConversionContext context; + private readonly string filename; + private readonly Reporter reporter; + + public IReadOnlyList Paragraphs { get; } + + public MarkdownSourceConverter( + MarkdownDocument markdownDocument, + WordprocessingDocument wordDocument, + MarkdownSpec spec, + string filename, + Reporter reporter) + { + this.markdownDocument = markdownDocument; + this.wordDocument = wordDocument; + sections = spec.Sections.ToDictionary(sr => sr.Url); + this.filename = filename; + this.reporter = reporter; + context = spec.Context; + Paragraphs = Paragraphs2Paragraphs(markdownDocument.Paragraphs).ToList(); + } - IEnumerable Paragraphs2Paragraphs(IEnumerable pars) => - pars.SelectMany(md => Paragraph2Paragraphs(md)); + IEnumerable Paragraphs2Paragraphs(IEnumerable pars) => + pars.SelectMany(md => Paragraph2Paragraphs(md)); - IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) + IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) + { + reporter.CurrentParagraph = md; + if (md.IsHeading) { - reporter.CurrentParagraph = md; - if (md.IsHeading) + var mdh = md as MarkdownParagraph.Heading; + var level = mdh.size; + var spans = mdh.body; + var sr = sections[context.CreateSectionRef(mdh, filename).Url]; + reporter.CurrentSection = sr; + var properties = new List { - var mdh = md as MarkdownParagraph.Heading; - var level = mdh.size; - var spans = mdh.body; - var sr = sections[context.CreateSectionRef(mdh, filename).Url]; - reporter.CurrentSection = sr; - var properties = new List - { - new ParagraphStyleId { Val = $"Heading{level}" } - }; - if (sr.Number is null) - { - properties.Add(new NumberingProperties(new NumberingLevelReference { Val = 0 }, new NumberingId { Val = 0 })); - } - var props = new ParagraphProperties(properties); - var p = new Paragraph { ParagraphProperties = props }; - context.MaxBookmarkId.Value += 1; - p.AppendChild(new BookmarkStart { Name = sr.BookmarkName, Id = context.MaxBookmarkId.Value.ToString() }); - p.Append(Span2Elements(MarkdownSpan.NewLiteral(sr.TitleWithoutNumber, FSharpOption.None))); - p.AppendChild(new BookmarkEnd { Id = context.MaxBookmarkId.Value.ToString() }); - yield return p; - - var i = sr.Url.IndexOf("#"); - string currentSection = $"{sr.Url.Substring(0, i)} {new string('#', level)} {sr.Title} [{sr.Number}]"; - reporter.Log(currentSection); - yield break; - } - - else if (md.IsParagraph) + new ParagraphStyleId { Val = $"Heading{level}" } + }; + if (sr.Number is null) { - var mdp = md as MarkdownParagraph.Paragraph; - var spans = mdp.body; - yield return new Paragraph(Spans2Elements(spans)); - yield break; + properties.Add(new NumberingProperties(new NumberingLevelReference { Val = 0 }, new NumberingId { Val = 0 })); } + var props = new ParagraphProperties(properties); + var p = new Paragraph { ParagraphProperties = props }; + context.MaxBookmarkId.Value += 1; + p.AppendChild(new BookmarkStart { Name = sr.BookmarkName, Id = context.MaxBookmarkId.Value.ToString() }); + p.Append(Span2Elements(MarkdownSpan.NewLiteral(sr.TitleWithoutNumber, FSharpOption.None))); + p.AppendChild(new BookmarkEnd { Id = context.MaxBookmarkId.Value.ToString() }); + yield return p; + + var i = sr.Url.IndexOf("#"); + string currentSection = $"{sr.Url.Substring(0, i)} {new string('#', level)} {sr.Title} [{sr.Number}]"; + reporter.Log(currentSection); + yield break; + } - else if (md.IsQuotedBlock) + else if (md.IsParagraph) + { + var mdp = md as MarkdownParagraph.Paragraph; + var spans = mdp.body; + yield return new Paragraph(Spans2Elements(spans)); + yield break; + } + + else if (md.IsQuotedBlock) + { + // Keep track of which list numbering schemes we've already indented. + // Lists are flattened into multiple paragraphs, but all paragraphs within one list + // keep the same numbering scheme, and we only want to increase the indentation level once. + var indentedLists = new HashSet(); + + var mdq = md as MarkdownParagraph.QuotedBlock; + // TODO: Actually make this a block quote. + // We're now indenting, which is a start... a proper block would be nicer though. + foreach (var element in mdq.paragraphs.SelectMany(Paragraph2Paragraphs)) { - // Keep track of which list numbering schemes we've already indented. - // Lists are flattened into multiple paragraphs, but all paragraphs within one list - // keep the same numbering scheme, and we only want to increase the indentation level once. - var indentedLists = new HashSet(); - - var mdq = md as MarkdownParagraph.QuotedBlock; - // TODO: Actually make this a block quote. - // We're now indenting, which is a start... a proper block would be nicer though. - foreach (var element in mdq.paragraphs.SelectMany(Paragraph2Paragraphs)) + if (element is Paragraph paragraph) { - if (element is Paragraph paragraph) - { - paragraph.ParagraphProperties ??= new ParagraphProperties(); + paragraph.ParagraphProperties ??= new ParagraphProperties(); - // Indentation in lists is controlled by numbering properties. - // Each list creates its own numbering, with a set of properties for each numbering level. - // If there's a list within a note, we need to increase the indentation of each numbering level. - if (paragraph.ParagraphProperties.NumberingProperties?.NumberingId?.Val?.Value is int numberingId) + // Indentation in lists is controlled by numbering properties. + // Each list creates its own numbering, with a set of properties for each numbering level. + // If there's a list within a note, we need to increase the indentation of each numbering level. + if (paragraph.ParagraphProperties.NumberingProperties?.NumberingId?.Val?.Value is int numberingId) + { + if (indentedLists.Add(numberingId)) { - if (indentedLists.Add(numberingId)) + var numbering = wordDocument.MainDocumentPart.NumberingDefinitionsPart.Numbering.OfType().First(ni => ni.NumberID.Value == numberingId); + var abstractNumberingId = numbering.AbstractNumId.Val; + var abstractNumbering = wordDocument.MainDocumentPart.NumberingDefinitionsPart.Numbering.OfType().FirstOrDefault(ani => ani.AbstractNumberId.Value == abstractNumberingId); + foreach (var level in abstractNumbering.OfType()) { - var numbering = wordDocument.MainDocumentPart.NumberingDefinitionsPart.Numbering.OfType().First(ni => ni.NumberID.Value == numberingId); - var abstractNumberingId = numbering.AbstractNumId.Val; - var abstractNumbering = wordDocument.MainDocumentPart.NumberingDefinitionsPart.Numbering.OfType().FirstOrDefault(ani => ani.AbstractNumberId.Value == abstractNumberingId); - foreach (var level in abstractNumbering.OfType()) - { - var paragraphProperties = level.GetFirstChild(); - int indentation = int.Parse(paragraphProperties.Indentation.Left.Value); - paragraphProperties.Indentation.Left.Value = (indentation + InitialIndentation).ToString(); - } + var paragraphProperties = level.GetFirstChild(); + int indentation = int.Parse(paragraphProperties.Indentation.Left.Value); + paragraphProperties.Indentation.Left.Value = (indentation + InitialIndentation).ToString(); } } - else - { - paragraph.ParagraphProperties.Indentation = new Indentation { Left = InitialIndentation.ToString() }; - } - yield return paragraph; } - else if (element is Table table) + else { - if (table.ElementAt(0) is TableProperties tableProperties) - { - tableProperties.TableIndentation ??= new TableIndentation(); - // TODO: This will be incorrect if we ever have a table in a list in a note. - // Let's just try not to do that. - tableProperties.TableIndentation.Width = InitialIndentation; - yield return table; - } - else - { - reporter.Error("MD31", $"Table in quoted block does not start with table properties"); - } + paragraph.ParagraphProperties.Indentation = new Indentation { Left = InitialIndentation.ToString() }; + } + yield return paragraph; + } + else if (element is Table table) + { + if (table.ElementAt(0) is TableProperties tableProperties) + { + tableProperties.TableIndentation ??= new TableIndentation(); + // TODO: This will be incorrect if we ever have a table in a list in a note. + // Let's just try not to do that. + tableProperties.TableIndentation.Width = InitialIndentation; + yield return table; } else { - reporter.Error("MD30", $"Unhandled element type in quoted block: {element.GetType()}"); + reporter.Error("MD31", $"Table in quoted block does not start with table properties"); } } - yield break; + else + { + reporter.Error("MD30", $"Unhandled element type in quoted block: {element.GetType()}"); + } } + yield break; + } + + else if (md is MarkdownParagraph.ListBlock mdl) + { + mdl = MaybeRewriteListBlock(mdl); + var flat = FlattenList(mdl); - else if (md is MarkdownParagraph.ListBlock mdl) + // Let's figure out what kind of list it is - ordered or unordered? nested? + var format0 = new[] { "1", "1", "1", "1" }; + foreach (var item in flat) { - mdl = MaybeRewriteListBlock(mdl); - var flat = FlattenList(mdl); + format0[item.Level] = (item.IsBulletOrdered ? "1" : "o"); + } - // Let's figure out what kind of list it is - ordered or unordered? nested? - var format0 = new[] { "1", "1", "1", "1" }; - foreach (var item in flat) - { - format0[item.Level] = (item.IsBulletOrdered ? "1" : "o"); - } + var format = string.Join("", format0); - var format = string.Join("", format0); + var numberingPart = wordDocument.MainDocumentPart.NumberingDefinitionsPart ?? wordDocument.MainDocumentPart.AddNewPart("NumberingDefinitionsPart001"); + if (numberingPart.Numbering == null) + { + numberingPart.Numbering = new Numbering(); + } - var numberingPart = wordDocument.MainDocumentPart.NumberingDefinitionsPart ?? wordDocument.MainDocumentPart.AddNewPart("NumberingDefinitionsPart001"); - if (numberingPart.Numbering == null) + Func createLevel = (level, isOrdered) => + { + var numformat = NumberFormatValues.Bullet; + var levelText = new[] { "·", "o", "·", "o" }[level]; + if (isOrdered && level == 0) { numformat = NumberFormatValues.Decimal; levelText = "%1."; } + if (isOrdered && level == 1) { numformat = NumberFormatValues.LowerLetter; levelText = "%2."; } + if (isOrdered && level == 2) { numformat = NumberFormatValues.LowerRoman; levelText = "%3."; } + if (isOrdered && level == 3) { numformat = NumberFormatValues.LowerRoman; levelText = "%4."; } + var r = new Level { LevelIndex = level }; + r.Append(new StartNumberingValue { Val = 1 }); + r.Append(new NumberingFormat { Val = numformat }); + r.Append(new LevelText { Val = levelText }); + r.Append(new ParagraphProperties(new Indentation { Left = (InitialIndentation + ListLevelIndentation * level).ToString(), Hanging = ListLevelIndentation.ToString() })); + if (levelText == "·") { - numberingPart.Numbering = new Numbering(); + r.Append(new NumberingSymbolRunProperties(new RunFonts { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol", EastAsia = "Times new Roman", ComplexScript = "Times new Roman" })); } - Func createLevel = (level, isOrdered) => + if (levelText == "o") { - var numformat = NumberFormatValues.Bullet; - var levelText = new[] { "·", "o", "·", "o" }[level]; - if (isOrdered && level == 0) { numformat = NumberFormatValues.Decimal; levelText = "%1."; } - if (isOrdered && level == 1) { numformat = NumberFormatValues.LowerLetter; levelText = "%2."; } - if (isOrdered && level == 2) { numformat = NumberFormatValues.LowerRoman; levelText = "%3."; } - if (isOrdered && level == 3) { numformat = NumberFormatValues.LowerRoman; levelText = "%4."; } - var r = new Level { LevelIndex = level }; - r.Append(new StartNumberingValue { Val = 1 }); - r.Append(new NumberingFormat { Val = numformat }); - r.Append(new LevelText { Val = levelText }); - r.Append(new ParagraphProperties(new Indentation { Left = (InitialIndentation + ListLevelIndentation * level).ToString(), Hanging = ListLevelIndentation.ToString() })); - if (levelText == "·") - { - r.Append(new NumberingSymbolRunProperties(new RunFonts { Hint = FontTypeHintValues.Default, Ascii = "Symbol", HighAnsi = "Symbol", EastAsia = "Times new Roman", ComplexScript = "Times new Roman" })); - } - - if (levelText == "o") - { - r.Append(new NumberingSymbolRunProperties(new RunFonts { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New", ComplexScript = "Courier New" })); - } + r.Append(new NumberingSymbolRunProperties(new RunFonts { Hint = FontTypeHintValues.Default, Ascii = "Courier New", HighAnsi = "Courier New", ComplexScript = "Courier New" })); + } - return r; - }; - var level0 = createLevel(0, format[0] == '1'); - var level1 = createLevel(1, format[1] == '1'); - var level2 = createLevel(2, format[2] == '1'); - var level3 = createLevel(3, format[3] == '1'); + return r; + }; + var level0 = createLevel(0, format[0] == '1'); + var level1 = createLevel(1, format[1] == '1'); + var level2 = createLevel(2, format[2] == '1'); + var level3 = createLevel(3, format[3] == '1'); - var abstracts = numberingPart.Numbering.OfType().Select(an => an.AbstractNumberId.Value).ToList(); - var aid = (abstracts.Count == 0 ? 1 : abstracts.Max() + 1); - var aabstract = new AbstractNum(new MultiLevelType() { Val = MultiLevelValues.Multilevel }, level0, level1, level2, level3) { AbstractNumberId = aid }; - numberingPart.Numbering.InsertAt(aabstract, 0); + var abstracts = numberingPart.Numbering.OfType().Select(an => an.AbstractNumberId.Value).ToList(); + var aid = (abstracts.Count == 0 ? 1 : abstracts.Max() + 1); + var aabstract = new AbstractNum(new MultiLevelType() { Val = MultiLevelValues.Multilevel }, level0, level1, level2, level3) { AbstractNumberId = aid }; + numberingPart.Numbering.InsertAt(aabstract, 0); - var instances = numberingPart.Numbering.OfType().Select(ni => ni.NumberID.Value); - var nid = (instances.Count() == 0 ? 1 : instances.Max() + 1); - var numInstance = new NumberingInstance(new AbstractNumId { Val = aid }) { NumberID = nid }; - numberingPart.Numbering.AppendChild(numInstance); + var instances = numberingPart.Numbering.OfType().Select(ni => ni.NumberID.Value); + var nid = (instances.Count() == 0 ? 1 : instances.Max() + 1); + var numInstance = new NumberingInstance(new AbstractNumId { Val = aid }) { NumberID = nid }; + numberingPart.Numbering.AppendChild(numInstance); - // We'll also figure out the indentation(for the benefit of those paragraphs that should be - // indented with the list but aren't numbered). The indentation is generated by the createLevel delegate. - Func calcIndent = level => (InitialIndentation + level * ListLevelIndentation).ToString(); + // We'll also figure out the indentation(for the benefit of those paragraphs that should be + // indented with the list but aren't numbered). The indentation is generated by the createLevel delegate. + Func calcIndent = level => (InitialIndentation + level * ListLevelIndentation).ToString(); - foreach (var item in flat) + foreach (var item in flat) + { + var content = item.Paragraph; + if (content.IsParagraph || content.IsSpan) { - var content = item.Paragraph; - if (content.IsParagraph || content.IsSpan) + var spans = (content.IsParagraph ? (content as MarkdownParagraph.Paragraph).body : (content as MarkdownParagraph.Span).body); + if (item.HasBullet) + { + yield return new Paragraph(Spans2Elements(spans, inList: true)) { ParagraphProperties = new ParagraphProperties(new NumberingProperties(new ParagraphStyleId { Val = "ListParagraph" }, new NumberingLevelReference { Val = item.Level }, new NumberingId { Val = nid })) }; + } + else { - var spans = (content.IsParagraph ? (content as MarkdownParagraph.Paragraph).body : (content as MarkdownParagraph.Span).body); - if (item.HasBullet) + yield return new Paragraph(Spans2Elements(spans, inList: true)) { ParagraphProperties = new ParagraphProperties(new Indentation { Left = calcIndent(item.Level) }) }; + } + } + else if (content.IsQuotedBlock || content.IsCodeBlock) + { + foreach (var p in Paragraph2Paragraphs(content)) + { + var props = p.GetFirstChild(); + if (props == null) { - yield return new Paragraph(Spans2Elements(spans, inList: true)) { ParagraphProperties = new ParagraphProperties(new NumberingProperties(new ParagraphStyleId { Val = "ListParagraph" }, new NumberingLevelReference { Val = item.Level }, new NumberingId { Val = nid })) }; + props = new ParagraphProperties(); + p.InsertAt(props, 0); } - else + var indent = props?.GetFirstChild(); + if (indent == null) { - yield return new Paragraph(Spans2Elements(spans, inList: true)) { ParagraphProperties = new ParagraphProperties(new Indentation { Left = calcIndent(item.Level) }) }; + indent = new Indentation(); + props.Append(indent); } + indent.Left = calcIndent(item.Level); + yield return p; } - else if (content.IsQuotedBlock || content.IsCodeBlock) + } + else if (content.IsTableBlock) + { + foreach (var p in Paragraph2Paragraphs(content)) { - foreach (var p in Paragraph2Paragraphs(content)) + var table = p as Table; + if (table == null) { - var props = p.GetFirstChild(); - if (props == null) - { - props = new ParagraphProperties(); - p.InsertAt(props, 0); - } - var indent = props?.GetFirstChild(); - if (indent == null) - { - indent = new Indentation(); - props.Append(indent); - } - indent.Left = calcIndent(item.Level); yield return p; + continue; } - } - else if (content.IsTableBlock) - { - foreach (var p in Paragraph2Paragraphs(content)) - { - var table = p as Table; - if (table == null) - { - yield return p; - continue; - } - var tprops = table.GetFirstChild(); - var tindent = tprops?.GetFirstChild(); - if (tindent == null) - { - throw new Exception("Ooops! Table is missing indentation"); - } - - tindent.Width = int.Parse(calcIndent(item.Level)); - yield return table; - } - } - else if (content is MarkdownParagraph.InlineBlock inlineBlock && GetCustomBlockId(inlineBlock) is string customBlockId) - { - foreach (var element in GenerateCustomBlockElements(customBlockId, inlineBlock)) + var tprops = table.GetFirstChild(); + var tindent = tprops?.GetFirstChild(); + if (tindent == null) { - yield return element; + throw new Exception("Ooops! Table is missing indentation"); } + + tindent.Width = int.Parse(calcIndent(item.Level)); + yield return table; } - else + } + else if (content is MarkdownParagraph.InlineBlock inlineBlock && GetCustomBlockId(inlineBlock) is string customBlockId) + { + foreach (var element in GenerateCustomBlockElements(customBlockId, inlineBlock)) { - reporter.Error("MD08", $"Unexpected item in list '{content.GetType().Name}'"); + yield return element; } } + else + { + reporter.Error("MD08", $"Unexpected item in list '{content.GetType().Name}'"); + } } + } - else if (md.IsCodeBlock) + else if (md.IsCodeBlock) + { + var mdc = md as MarkdownParagraph.CodeBlock; + var code = mdc.code; + var lang = mdc.language; + code = BugWorkaroundDecode(code); + var runs = new List(); + var onFirstLine = true; + IEnumerable lines; + switch (lang) { - var mdc = md as MarkdownParagraph.CodeBlock; - var code = mdc.code; - var lang = mdc.language; - code = BugWorkaroundDecode(code); - var runs = new List(); - var onFirstLine = true; - IEnumerable lines; - switch (lang) + case "csharp": + case "c#": + case "cs": + lines = Colorize.CSharp(code); + break; + case "vb": + case "vbnet": + case "vb.net": + lines = Colorize.VB(code); + break; + case "": + case "console": + case "xml": + lines = Colorize.PlainText(code); + break; + case "ANTLR": + lines = Colorize.PlainText(code); + break; + default: + reporter.Error("MD09", $"unrecognized language {lang}"); + lines = Colorize.PlainText(code); + break; + } + + foreach (var line in lines) + { + int lineLength = line.Words.Sum(w => w.Text.Length); + if (lineLength > MaximumCodeLineLength) { - case "csharp": - case "c#": - case "cs": - lines = Colorize.CSharp(code); - break; - case "vb": - case "vbnet": - case "vb.net": - lines = Colorize.VB(code); - break; - case "": - case "console": - case "xml": - lines = Colorize.PlainText(code); - break; - case "ANTLR": - lines = Colorize.PlainText(code); - break; - default: - reporter.Error("MD09", $"unrecognized language {lang}"); - lines = Colorize.PlainText(code); - break; + reporter.Warning("MD32", $"Line length {lineLength} > maximum {MaximumCodeLineLength}"); } - foreach (var line in lines) + if (onFirstLine) { - int lineLength = line.Words.Sum(w => w.Text.Length); - if (lineLength > MaximumCodeLineLength) - { - reporter.Warning("MD32", $"Line length {lineLength} > maximum {MaximumCodeLineLength}"); - } + onFirstLine = false; + } + else + { + runs.Add(new Run(new Break())); + } - if (onFirstLine) + foreach (var word in line.Words) + { + var run = new Run(); + var props = new RunProperties(); + if (word.Red != 0 || word.Green != 0 || word.Blue != 0) { - onFirstLine = false; + props.Append(new Color { Val = $"{word.Red:X2}{word.Green:X2}{word.Blue:X2}" }); } - else + + if (word.IsItalic) { - runs.Add(new Run(new Break())); + props.Append(new Italic()); } - foreach (var word in line.Words) + if (props.HasChildren) { - var run = new Run(); - var props = new RunProperties(); - if (word.Red != 0 || word.Green != 0 || word.Blue != 0) - { - props.Append(new Color { Val = $"{word.Red:X2}{word.Green:X2}{word.Blue:X2}" }); - } - - if (word.IsItalic) - { - props.Append(new Italic()); - } - - if (props.HasChildren) - { - run.Append(props); - } - - run.Append(new Text(word.Text) { Space = SpaceProcessingModeValues.Preserve }); - runs.Add(run); + run.Append(props); } + + run.Append(new Text(word.Text) { Space = SpaceProcessingModeValues.Preserve }); + runs.Add(run); } - var p = new Paragraph() { ParagraphProperties = new ParagraphProperties(new ParagraphStyleId { Val = "Code" }) }; - p.Append(runs); - yield return p; } + var p = new Paragraph() { ParagraphProperties = new ParagraphProperties(new ParagraphStyleId { Val = "Code" }) }; + p.Append(runs); + yield return p; + } - else if (md.IsTableBlock) + else if (md.IsTableBlock) + { + var mdt = md as MarkdownParagraph.TableBlock; + var header = mdt.headers.Option(); + var align = mdt.alignments; + var rows = mdt.rows; + var table = TableHelpers.CreateTable(); + if (header == null) { - var mdt = md as MarkdownParagraph.TableBlock; - var header = mdt.headers.Option(); - var align = mdt.alignments; - var rows = mdt.rows; - var table = TableHelpers.CreateTable(); - if (header == null) - { - reporter.Error("MD10", "Github requires all tables to have header rows"); - } + reporter.Error("MD10", "Github requires all tables to have header rows"); + } - if (!header.Any(cell => cell.Length > 0)) + if (!header.Any(cell => cell.Length > 0)) + { + header = null; // even if Github requires an empty header, we can at least cull it from Docx + } + + var ncols = align.Length; + for (int irow = -1; irow < rows.Length; irow++) + { + if (irow == -1 && header == null) { - header = null; // even if Github requires an empty header, we can at least cull it from Docx + continue; } - var ncols = align.Length; - for (int irow = -1; irow < rows.Length; irow++) + var mdrow = (irow == -1 ? header : rows[irow]); + var row = new TableRow(); + for (int icol = 0; icol < Math.Min(ncols, mdrow.Length); icol++) { - if (irow == -1 && header == null) - { - continue; - } - - var mdrow = (irow == -1 ? header : rows[irow]); - var row = new TableRow(); - for (int icol = 0; icol < Math.Min(ncols, mdrow.Length); icol++) + var mdcell = mdrow[icol]; + var cell = new TableCell(); + var pars = Paragraphs2Paragraphs(mdcell).ToList(); + for (int ip = 0; ip < pars.Count; ip++) { - var mdcell = mdrow[icol]; - var cell = new TableCell(); - var pars = Paragraphs2Paragraphs(mdcell).ToList(); - for (int ip = 0; ip < pars.Count; ip++) + var p = pars[ip] as Paragraph; + if (p == null) { - var p = pars[ip] as Paragraph; - if (p == null) - { - cell.Append(pars[ip]); - continue; - } - var props = new ParagraphProperties(new ParagraphStyleId { Val = "TableCellNormal" }); - if (align[icol].IsAlignCenter) - { - props.Append(new Justification { Val = JustificationValues.Center }); - } - - if (align[icol].IsAlignRight) - { - props.Append(new Justification { Val = JustificationValues.Right }); - } - - p.InsertAt(props, 0); cell.Append(pars[ip]); + continue; } - if (pars.Count == 0) + var props = new ParagraphProperties(new ParagraphStyleId { Val = "TableCellNormal" }); + if (align[icol].IsAlignCenter) { - cell.Append(new Paragraph(new ParagraphProperties(new SpacingBetweenLines { After = "0" }), new Run(new Text("")))); + props.Append(new Justification { Val = JustificationValues.Center }); } - row.Append(cell); + if (align[icol].IsAlignRight) + { + props.Append(new Justification { Val = JustificationValues.Right }); + } + + p.InsertAt(props, 0); + cell.Append(pars[ip]); } - table.Append(row); - } - foreach (var element in TableHelpers.CreateTableElements(table)) - { - yield return element; - } - } - // Special handling for elements (typically tables) we can't represent nicely in Markdown - else if (md is MarkdownParagraph.InlineBlock block && GetCustomBlockId(block) is string customBlockId) - { - foreach (var element in GenerateCustomBlockElements(customBlockId, block)) - { - yield return element; + if (pars.Count == 0) + { + cell.Append(new Paragraph(new ParagraphProperties(new SpacingBetweenLines { After = "0" }), new Run(new Text("")))); + } + + row.Append(cell); } + table.Append(row); } - // Ignore any other HTML comments entirely - else if (md is MarkdownParagraph.InlineBlock inlineBlock && inlineBlock.code.StartsWith(""); - var match = customBlockComment.Match(block.code); - return match.Success ? match.Groups[1].Value : null; + yield break; } + else + { + reporter.Error("MD11", $"Unrecognized markdown element {md.GetType().Name}"); + yield return new Paragraph(new Run(new Text($"[{md.GetType().Name}]"))); + } + } - IEnumerable FlattenList(MarkdownParagraph.ListBlock md) + static string GetCustomBlockId(MarkdownParagraph.InlineBlock block) + { + Regex customBlockComment = new Regex(@"^"); + var match = customBlockComment.Match(block.code); + return match.Success ? match.Groups[1].Value : null; + } + + IEnumerable FlattenList(MarkdownParagraph.ListBlock md) + { + var flat = FlattenList(md, 0).ToList(); + var isOrdered = new Dictionary(); + foreach (var item in flat) { - var flat = FlattenList(md, 0).ToList(); - var isOrdered = new Dictionary(); - foreach (var item in flat) + var level = item.Level; + var isItemOrdered = item.IsBulletOrdered; + var content = item.Paragraph; + if (isOrdered.ContainsKey(level) && isOrdered[level] != isItemOrdered) { - var level = item.Level; - var isItemOrdered = item.IsBulletOrdered; - var content = item.Paragraph; - if (isOrdered.ContainsKey(level) && isOrdered[level] != isItemOrdered) - { - reporter.Error("MD12", "List can't mix ordered and unordered items at same level"); - } + reporter.Error("MD12", "List can't mix ordered and unordered items at same level"); + } - isOrdered[level] = isItemOrdered; - if (level > 3) - { - reporter.Error("MD13", "Can't have more than 4 levels in a list"); - } + isOrdered[level] = isItemOrdered; + if (level > 3) + { + reporter.Error("MD13", "Can't have more than 4 levels in a list"); } - return flat; } + return flat; + } - // Workaround for https://github.com/dotnet/csharpstandard/issues/440 - // Code blocks in list items are parsed as InlineCode in a span instead of CodeBlock, - // so we detect that and rewrite it. - MarkdownParagraph.ListBlock MaybeRewriteListBlock(MarkdownParagraph.ListBlock listBlock) - { - // Regardless of the source, the Markdown parser rewrites the inline code to use the environment newline. - string csharpPrefix = "csharp" + Environment.NewLine; + // Workaround for https://github.com/dotnet/csharpstandard/issues/440 + // Code blocks in list items are parsed as InlineCode in a span instead of CodeBlock, + // so we detect that and rewrite it. + MarkdownParagraph.ListBlock MaybeRewriteListBlock(MarkdownParagraph.ListBlock listBlock) + { + // Regardless of the source, the Markdown parser rewrites the inline code to use the environment newline. + string csharpPrefix = "csharp" + Environment.NewLine; - var items = listBlock.items.Select(paragraphList => paragraphList.SelectMany(MaybeSplitParagraph)); - var fsharpItems = ListModule.OfSeq(items.Select(item => ListModule.OfSeq(item))); - return (MarkdownParagraph.ListBlock) MarkdownParagraph.NewListBlock(listBlock.kind, fsharpItems, listBlock.range); + var items = listBlock.items.Select(paragraphList => paragraphList.SelectMany(MaybeSplitParagraph)); + var fsharpItems = ListModule.OfSeq(items.Select(item => ListModule.OfSeq(item))); + return (MarkdownParagraph.ListBlock) MarkdownParagraph.NewListBlock(listBlock.kind, fsharpItems, listBlock.range); - IEnumerable MaybeSplitParagraph(MarkdownParagraph paragraph) + IEnumerable MaybeSplitParagraph(MarkdownParagraph paragraph) + { + if (paragraph is not MarkdownParagraph.Span span) { - if (paragraph is not MarkdownParagraph.Span span) - { - yield return paragraph; - yield break; - } - var currentSpanBody = new List(); - // Note: the ranges in these paragraphs will be messed up, but that will rarely matter. - // TODO: Maybe trim whitespace from the end of a literal before the block, and from the start of a literal - // after the block? Otherwise they include blank lines. This looks okay, but may not be "strictly" ideal. - foreach (var item in span.body) + yield return paragraph; + yield break; + } + var currentSpanBody = new List(); + // Note: the ranges in these paragraphs will be messed up, but that will rarely matter. + // TODO: Maybe trim whitespace from the end of a literal before the block, and from the start of a literal + // after the block? Otherwise they include blank lines. This looks okay, but may not be "strictly" ideal. + foreach (var item in span.body) + { + if (item is MarkdownSpan.InlineCode code && code.code.StartsWith(csharpPrefix)) { - if (item is MarkdownSpan.InlineCode code && code.code.StartsWith(csharpPrefix)) - { - if (currentSpanBody.Count > 0) - { - yield return MarkdownParagraph.NewSpan(ListModule.OfSeq(currentSpanBody), span.range); - currentSpanBody.Clear(); - } - yield return MarkdownParagraph.NewCodeBlock(code.code.Substring(csharpPrefix.Length), "csharp", "", code.range); - } - else + if (currentSpanBody.Count > 0) { - currentSpanBody.Add(item); + yield return MarkdownParagraph.NewSpan(ListModule.OfSeq(currentSpanBody), span.range); + currentSpanBody.Clear(); } + yield return MarkdownParagraph.NewCodeBlock(code.code.Substring(csharpPrefix.Length), "csharp", "", code.range); } - if (currentSpanBody.Count > 0) + else { - yield return MarkdownParagraph.NewSpan(ListModule.OfSeq(currentSpanBody), span.range); + currentSpanBody.Add(item); } } + if (currentSpanBody.Count > 0) + { + yield return MarkdownParagraph.NewSpan(ListModule.OfSeq(currentSpanBody), span.range); + } } + } - IEnumerable FlattenList(MarkdownParagraph.ListBlock md, int level) + IEnumerable FlattenList(MarkdownParagraph.ListBlock md, int level) + { + var isOrdered = md.kind.IsOrdered; + var items = md.items; + foreach (var mdpars in items) { - var isOrdered = md.kind.IsOrdered; - var items = md.items; - foreach (var mdpars in items) + var isFirstParagraph = true; + foreach (var mdp in mdpars) { - var isFirstParagraph = true; - foreach (var mdp in mdpars) - { - var wasFirstParagraph = isFirstParagraph; isFirstParagraph = false; + var wasFirstParagraph = isFirstParagraph; isFirstParagraph = false; - if (mdp.IsParagraph || mdp.IsSpan) - { - var mdp1 = mdp; - var buglevel = BugWorkaroundIndent(ref mdp1, level); - yield return new FlatItem(buglevel, wasFirstParagraph, isOrdered, mdp1); - } - else if (mdp.IsQuotedBlock || mdp.IsCodeBlock) - { - yield return new FlatItem(level, false, isOrdered, mdp); - } - else if (mdp.IsListBlock) - { - foreach (var subitem in FlattenList(mdp as MarkdownParagraph.ListBlock, level + 1)) - { - yield return subitem; - } - } - else if (mdp.IsTableBlock || mdp is MarkdownParagraph.InlineBlock inline && GetCustomBlockId(inline) is not null) - { - yield return new FlatItem(level, false, isOrdered, mdp); - } - else + if (mdp.IsParagraph || mdp.IsSpan) + { + var mdp1 = mdp; + var buglevel = BugWorkaroundIndent(ref mdp1, level); + yield return new FlatItem(buglevel, wasFirstParagraph, isOrdered, mdp1); + } + else if (mdp.IsQuotedBlock || mdp.IsCodeBlock) + { + yield return new FlatItem(level, false, isOrdered, mdp); + } + else if (mdp.IsListBlock) + { + foreach (var subitem in FlattenList(mdp as MarkdownParagraph.ListBlock, level + 1)) { - reporter.Error("MD14", $"nothing fancy allowed in lists - specifically not '{mdp.GetType().Name}'"); + yield return subitem; } } + else if (mdp.IsTableBlock || mdp is MarkdownParagraph.InlineBlock inline && GetCustomBlockId(inline) is not null) + { + yield return new FlatItem(level, false, isOrdered, mdp); + } + else + { + reporter.Error("MD14", $"nothing fancy allowed in lists - specifically not '{mdp.GetType().Name}'"); + } } } + } - IEnumerable Spans2Elements(IEnumerable mds, bool nestedSpan = false, bool inList = false) + IEnumerable Spans2Elements(IEnumerable mds, bool nestedSpan = false, bool inList = false) + { + // This is more longwinded than it might be, because we want to avoid ending with a break. + // (That would occur naturally with a bullet point ending in a note, for example; the break + // at the end adds too much space.) + OpenXmlElement previous = null; + foreach (var md in mds) { - // This is more longwinded than it might be, because we want to avoid ending with a break. - // (That would occur naturally with a bullet point ending in a note, for example; the break - // at the end adds too much space.) - OpenXmlElement previous = null; - foreach (var md in mds) + foreach (var e in Span2Elements(md, nestedSpan, inList)) { - foreach (var e in Span2Elements(md, nestedSpan, inList)) + if (previous is object) { - if (previous is object) - { - yield return previous; - } - previous = e; + yield return previous; } - } - if (previous is object && !(previous is Break)) - { - yield return previous; + previous = e; } } + if (previous is object && !(previous is Break)) + { + yield return previous; + } + } - IEnumerable Span2Elements(MarkdownSpan md, bool nestedSpan = false, bool inList = false) + IEnumerable Span2Elements(MarkdownSpan md, bool nestedSpan = false, bool inList = false) + { + // Handle the end of a note or example in a list. Add a break at the end. + if (inList && md.IsEmphasis) { - // Handle the end of a note or example in a list. Add a break at the end. - if (inList && md.IsEmphasis) + var emphasis = (MarkdownSpan.Emphasis) md; + if (emphasis.body.Length == 1 && emphasis.body[0] is MarkdownSpan.Literal { text: string literalText } && + (literalText == "end example" || literalText == "end note")) { - var emphasis = (MarkdownSpan.Emphasis) md; - if (emphasis.body.Length == 1 && emphasis.body[0] is MarkdownSpan.Literal { text: string literalText } && - (literalText == "end example" || literalText == "end note")) + foreach (var element in Span2Elements(md, nestedSpan, inList: false)) { - foreach (var element in Span2Elements(md, nestedSpan, inList: false)) - { - yield return element; - } - yield return new Break(); - yield break; + yield return element; } + yield return new Break(); + yield break; } + } - reporter.CurrentSpan = md; - if (md.IsLiteral) - { - var mdl = md as MarkdownSpan.Literal; - var s = MarkdownUtilities.UnescapeLiteral(mdl); - - // We have lines containing just "" which end up being - // reported as literals after the note/example they end (rather than as InlineBlocks). Just ignore them. - // Note that Environment.NewLine is needed as the Markdown parser replaces line breaks with that, regardless of the source. - if (s.StartsWith($"{Environment.NewLine}" which end up being + // reported as literals after the note/example they end (rather than as InlineBlocks). Just ignore them. + // Note that Environment.NewLine is needed as the Markdown parser replaces line breaks with that, regardless of the source. + if (s.StartsWith($"{Environment.NewLine}\r\n"); + if (endIndex < startIndex) { - int startIndex = text.IndexOf("\r\n\r\n"); - if (endIndex < startIndex) - { - throw new InvalidOperationException($"End comment before start comment in {file}"); - } - if (startIndex == -1) + throw new InvalidOperationException($"End comment before start comment in {file}"); + } + if (startIndex == -1) + { + if (endIndex != -1) { - if (endIndex != -1) - { - throw new InvalidOperationException($"End comment with no start comment in {file}"); - } - return text; + throw new InvalidOperationException($"End comment with no start comment in {file}"); } - // Remove everything from the start of the match (CRLF) to the end of CLRF--> but not including the *trailing* CRLF. - text = text.Remove(startIndex, endIndex - startIndex + 5); + return text; } + // Remove everything from the start of the match (CRLF) to the end of CLRF--> but not including the *trailing* CRLF. + text = text.Remove(startIndex, endIndex - startIndex + 5); } } } diff --git a/tools/MarkdownConverter/Spec/MarkdownUtilities.cs b/tools/MarkdownConverter/Spec/MarkdownUtilities.cs index fdce1d22f..bd1a03273 100644 --- a/tools/MarkdownConverter/Spec/MarkdownUtilities.cs +++ b/tools/MarkdownConverter/Spec/MarkdownUtilities.cs @@ -1,16 +1,15 @@ using FSharp.Markdown; -namespace MarkdownConverter.Spec +namespace MarkdownConverter.Spec; + +internal static class MarkdownUtilities { - internal static class MarkdownUtilities - { - internal static string UnescapeLiteral(MarkdownSpan.Literal literal) => - literal.text - .Replace("&", "&") - .Replace("<", "<") - .Replace(">", ">") - .Replace("®", "®") - .Replace("\\<", "<") - .Replace("\\>", ">"); - } + internal static string UnescapeLiteral(MarkdownSpan.Literal literal) => + literal.text + .Replace("&", "&") + .Replace("<", "<") + .Replace(">", ">") + .Replace("®", "®") + .Replace("\\<", "<") + .Replace("\\>", ">"); } diff --git a/tools/MarkdownConverter/Spec/Reporter.cs b/tools/MarkdownConverter/Spec/Reporter.cs index e5092044e..3b8350b3e 100644 --- a/tools/MarkdownConverter/Spec/Reporter.cs +++ b/tools/MarkdownConverter/Spec/Reporter.cs @@ -1,91 +1,89 @@ using FSharp.Markdown; -using System.IO; -namespace MarkdownConverter.Spec +namespace MarkdownConverter.Spec; + +// Note: while this and SourceLocation sound like they should be somewhat neutral classes, +// the presence of CurrentSection etc tie them closely to the Spec namespace. + +/// +/// Diagnostic reporter +/// +public class Reporter { - // Note: while this and SourceLocation sound like they should be somewhat neutral classes, - // the presence of CurrentSection etc tie them closely to the Spec namespace. + /// + /// The text writer to write Messages to. + /// + private readonly TextWriter writer; /// - /// Diagnostic reporter + /// The parent reporter, if any. (This is to allow a complete error/warning count to be kept.) /// - public class Reporter + private readonly Reporter parent; + + public int Errors { get; private set; } + public int Warnings { get; private set; } + + public SourceLocation Location { get; set; } = new SourceLocation(null, null, null, null); + + private Reporter(Reporter parent, TextWriter writer, string filename) + { + this.parent = parent; + this.writer = writer; + Location = new SourceLocation(filename, null, null, null); + } + + public Reporter(TextWriter writer) : this(null, writer, null) + { + } + + public Reporter WithFileName(string filename) => new Reporter(this, writer, filename); + + public string CurrentFile => Location.File; + + public SectionRef CurrentSection + { + get => Location.Section; + set => Location = new SourceLocation(CurrentFile, value, CurrentParagraph, null); + } + + public MarkdownParagraph CurrentParagraph { - /// - /// The text writer to write Messages to. - /// - private readonly TextWriter writer; - - /// - /// The parent reporter, if any. (This is to allow a complete error/warning count to be kept.) - /// - private readonly Reporter parent; - - public int Errors { get; private set; } - public int Warnings { get; private set; } - - public SourceLocation Location { get; set; } = new SourceLocation(null, null, null, null); - - private Reporter(Reporter parent, TextWriter writer, string filename) - { - this.parent = parent; - this.writer = writer; - Location = new SourceLocation(filename, null, null, null); - } - - public Reporter(TextWriter writer) : this(null, writer, null) - { - } - - public Reporter WithFileName(string filename) => new Reporter(this, writer, filename); - - public string CurrentFile => Location.File; - - public SectionRef CurrentSection - { - get => Location.Section; - set => Location = new SourceLocation(CurrentFile, value, CurrentParagraph, null); - } - - public MarkdownParagraph CurrentParagraph - { - get => Location.Paragraph; - set => Location = new SourceLocation(CurrentFile, CurrentSection, value, null); - } - - public MarkdownSpan CurrentSpan - { - get => Location.Span; - set => Location = new SourceLocation(CurrentFile, CurrentSection, CurrentParagraph, value); - } - - public void Error(string code, string msg, SourceLocation loc = null) - { - IncrementErrors(); - Report(code, "ERROR", msg, loc?.Description ?? Location.Description); - } - - public void Warning(string code, string msg, SourceLocation loc = null) - { - IncrementWarnings(); - Report(code, "WARNING", msg, loc?.Description ?? Location.Description); - } - - private void IncrementWarnings() - { - Warnings++; - parent?.IncrementWarnings(); - } - - private void IncrementErrors() - { - Errors++; - parent?.IncrementErrors(); - } - - public void Log(string msg) { } - - internal void Report(string code, string severity, string msg, string loc) => - writer.WriteLine($"{loc}: {severity} {code}: {msg}"); + get => Location.Paragraph; + set => Location = new SourceLocation(CurrentFile, CurrentSection, value, null); } + + public MarkdownSpan CurrentSpan + { + get => Location.Span; + set => Location = new SourceLocation(CurrentFile, CurrentSection, CurrentParagraph, value); + } + + public void Error(string code, string msg, SourceLocation loc = null) + { + IncrementErrors(); + Report(code, "ERROR", msg, loc?.Description ?? Location.Description); + } + + public void Warning(string code, string msg, SourceLocation loc = null) + { + IncrementWarnings(); + Report(code, "WARNING", msg, loc?.Description ?? Location.Description); + } + + private void IncrementWarnings() + { + Warnings++; + parent?.IncrementWarnings(); + } + + private void IncrementErrors() + { + Errors++; + parent?.IncrementErrors(); + } + + public void Log(string msg) { } + + internal void Report(string code, string severity, string msg, string loc) => + writer.WriteLine($"{loc}: {severity} {code}: {msg}"); } diff --git a/tools/MarkdownConverter/Spec/SectionRef.cs b/tools/MarkdownConverter/Spec/SectionRef.cs index 143da8328..cd3e77f8d 100644 --- a/tools/MarkdownConverter/Spec/SectionRef.cs +++ b/tools/MarkdownConverter/Spec/SectionRef.cs @@ -1,97 +1,94 @@ using FSharp.Markdown; -using System; -using System.Linq; -namespace MarkdownConverter.Spec +namespace MarkdownConverter.Spec; + +public class SectionRef { - public class SectionRef - { - /// - /// Section number, e.g. 10.1.2, or A.3 or null for sections without a number (e.g. Foreword). - /// - public string Number { get; } + /// + /// Section number, e.g. 10.1.2, or A.3 or null for sections without a number (e.g. Foreword). + /// + public string Number { get; } - /// - /// Section title, e.g. "10.1.2 Goto Statement" - /// - public string Title { get; } + /// + /// Section title, e.g. "10.1.2 Goto Statement" + /// + public string Title { get; } - /// - /// Section title not including the number, e.g. "Goto Statement" - /// - public string TitleWithoutNumber { get; } + /// + /// Section title not including the number, e.g. "Goto Statement" + /// + public string TitleWithoutNumber { get; } - /// - /// 1-based level, e.g. 3 - /// - public int Level { get; } + /// + /// 1-based level, e.g. 3 + /// + public int Level { get; } - /// - /// URL for the Markdown source, e.g. statements.md#goto-statement - /// - public string Url { get; } + /// + /// URL for the Markdown source, e.g. statements.md#goto-statement + /// + public string Url { get; } - /// - /// Name of generated bookmark, e.g. _Toc00023. - /// - public string BookmarkName { get; } + /// + /// Name of generated bookmark, e.g. _Toc00023. + /// + public string BookmarkName { get; } - /// - /// Location in source Markdown. - /// - public SourceLocation Loc { get; } + /// + /// Location in source Markdown. + /// + public SourceLocation Loc { get; } - public SectionRef(MarkdownParagraph.Heading mdh, string filename, string bookmarkName) + public SectionRef(MarkdownParagraph.Heading mdh, string filename, string bookmarkName) + { + Level = mdh.size; + var spans = mdh.body; + if (spans.Length == 1 && spans.First().IsLiteral) { - Level = mdh.size; - var spans = mdh.body; - if (spans.Length == 1 && spans.First().IsLiteral) + Title = MarkdownUtilities.UnescapeLiteral(spans.First() as MarkdownSpan.Literal).Trim(); + if (char.IsDigit(Title[0]) || (Title[0] >= 'A' && Title[0] <= 'D' && Title[1] == '.')) { - Title = MarkdownUtilities.UnescapeLiteral(spans.First() as MarkdownSpan.Literal).Trim(); - if (char.IsDigit(Title[0]) || (Title[0] >= 'A' && Title[0] <= 'D' && Title[1] == '.')) - { - var titleParts = Title.Split(new[] { ' ' }, 2); - Number = titleParts[0]; - TitleWithoutNumber = titleParts[1]; - } - else - { - Number = null; - TitleWithoutNumber = Title; - } + var titleParts = Title.Split(new[] { ' ' }, 2); + Number = titleParts[0]; + TitleWithoutNumber = titleParts[1]; } else { - throw new NotSupportedException($"Heading must be a single literal. Got: {mdh.body}"); + Number = null; + TitleWithoutNumber = Title; + } + } + else + { + throw new NotSupportedException($"Heading must be a single literal. Got: {mdh.body}"); + } + foreach (var c in Title) + { + if (c >= 'a' && c <= 'z') + { + Url += c; } - foreach (var c in Title) + else if (c >= 'A' && c <= 'Z') { - if (c >= 'a' && c <= 'z') - { - Url += c; - } - else if (c >= 'A' && c <= 'Z') - { - Url += char.ToLowerInvariant(c); - } - else if (c >= '0' && c <= '9') - { - Url += c; - } - else if (c == '-' || c == '_') - { - Url += c; - } - else if (c == ' ') - { - Url += '-'; - } + Url += char.ToLowerInvariant(c); + } + else if (c >= '0' && c <= '9') + { + Url += c; + } + else if (c == '-' || c == '_') + { + Url += c; + } + else if (c == ' ') + { + Url += '-'; } - Url = filename + "#" + Url; - Loc = new SourceLocation(filename, this, mdh, null); - BookmarkName = bookmarkName; } - - public override string ToString() => Url; + Url = filename + "#" + Url; + Loc = new SourceLocation(filename, this, mdh, null); + BookmarkName = bookmarkName; } + + public override string ToString() => Url; } diff --git a/tools/MarkdownConverter/Spec/SourceLocation.cs b/tools/MarkdownConverter/Spec/SourceLocation.cs index 78591b04b..7116a5a2e 100644 --- a/tools/MarkdownConverter/Spec/SourceLocation.cs +++ b/tools/MarkdownConverter/Spec/SourceLocation.cs @@ -2,89 +2,88 @@ using FSharp.Markdown; using Microsoft.FSharp.Core; -namespace MarkdownConverter.Spec +namespace MarkdownConverter.Spec; + +public class SourceLocation { - public class SourceLocation - { - public string File { get; } - public SectionRef Section { get; } - public MarkdownParagraph Paragraph { get; } - public MarkdownSpan Span { get; } - public string _loc; // generated lazily. + public string File { get; } + public SectionRef Section { get; } + public MarkdownParagraph Paragraph { get; } + public MarkdownSpan Span { get; } + public string _loc; // generated lazily. - public SourceLocation(string file, SectionRef section, MarkdownParagraph paragraph, MarkdownSpan span) - { - File = file; - Section = section; - Paragraph = paragraph; - Span = span; - } + public SourceLocation(string file, SectionRef section, MarkdownParagraph paragraph, MarkdownSpan span) + { + File = file; + Section = section; + Paragraph = paragraph; + Span = span; + } - /// - /// Description of the location, of the form "file(line/col)" in a format recognizable by msbuild. - /// - public string Description + /// + /// Description of the location, of the form "file(line/col)" in a format recognizable by msbuild. + /// + public string Description + { + get { - get + if (_loc != null) { - if (_loc != null) - { - return _loc; - } + return _loc; + } - if (File == null) - { - _loc = "mdspec2docx"; - } - else if (Section == null && Paragraph == null) + if (File == null) + { + _loc = "mdspec2docx"; + } + else if (Section == null && Paragraph == null) + { + _loc = File; + } + else + { + // Note: we now use the F# Markdown support for ranges, rather than finding text directly. + // This produces slightly weaker diagnostics than before, but it avoids an awful lot of fiddly fuzzy text matching code. + + // TODO: Revisit SectionRef.Loc, possibly just exposing the paragraph directly. + var maybeRange = GetRange(Span); + if (maybeRange != null) { - _loc = File; + var range = maybeRange.Value; + _loc = $"{File}({range.StartLine},{range.StartColumn},{range.EndLine},{range.EndColumn})"; } else { - // Note: we now use the F# Markdown support for ranges, rather than finding text directly. - // This produces slightly weaker diagnostics than before, but it avoids an awful lot of fiddly fuzzy text matching code. - - // TODO: Revisit SectionRef.Loc, possibly just exposing the paragraph directly. - var maybeRange = GetRange(Span); - if (maybeRange != null) + maybeRange = GetRange(Paragraph) ?? GetRange(Section.Loc.Paragraph); + if (maybeRange == null) { - var range = maybeRange.Value; - _loc = $"{File}({range.StartLine},{range.StartColumn},{range.EndLine},{range.EndColumn})"; + // We don't have any line or column information. Just report the filename. + _loc = File; } else { - maybeRange = GetRange(Paragraph) ?? GetRange(Section.Loc.Paragraph); - if (maybeRange == null) - { - // We don't have any line or column information. Just report the filename. - _loc = File; - } - else - { - var range = maybeRange.Value; - _loc = range.StartLine == range.EndLine - ? $"{File}({range.StartLine})" - : $"{File}({range.StartLine}-{range.EndLine})"; - } + var range = maybeRange.Value; + _loc = range.StartLine == range.EndLine + ? $"{File}({range.StartLine})" + : $"{File}({range.StartLine}-{range.EndLine})"; } } - - return _loc; } + + return _loc; } + } - // Each tagged type within the F# Markdown library for pargraph/span contains a "range" property, but - // I don't think there's a common way of getting it. So use reflection, horrible as that is... - private static MarkdownRange? GetRange(object obj) + // Each tagged type within the F# Markdown library for pargraph/span contains a "range" property, but + // I don't think there's a common way of getting it. So use reflection, horrible as that is... + private static MarkdownRange? GetRange(object obj) + { + if (obj == null) { - if (obj == null) - { - return null; - } - var rangeProperty = obj.GetType().GetProperty("range"); - var range = rangeProperty?.GetValue(obj) as FSharpOption; - return range?.Value; + return null; } + var rangeProperty = obj.GetType().GetProperty("range"); + var range = rangeProperty?.GetValue(obj) as FSharpOption; + return range?.Value; } } diff --git a/tools/MarkdownConverter/Spec/Span.cs b/tools/MarkdownConverter/Spec/Span.cs index d492f33bf..f4b88f254 100644 --- a/tools/MarkdownConverter/Spec/Span.cs +++ b/tools/MarkdownConverter/Spec/Span.cs @@ -1,12 +1,13 @@ -namespace MarkdownConverter.Spec +namespace MarkdownConverter.Spec; + +// TODO: Now that there's a Span type in the .NET runtime, this should be renamed. +// I'll suggest TextSpan. +internal class Span { - internal class Span - { - public int Start { get; } - public int Length { get; } - public int End => Start + Length; + public int Start { get; } + public int Length { get; } + public int End => Start + Length; - public Span(int start, int length) => - (Start, Length) = (start, length); - } + public Span(int start, int length) => + (Start, Length) = (start, length); } diff --git a/tools/MarkdownConverter/Spec/StringLengthComparer.cs b/tools/MarkdownConverter/Spec/StringLengthComparer.cs index 148cce02d..ea4ef6258 100644 --- a/tools/MarkdownConverter/Spec/StringLengthComparer.cs +++ b/tools/MarkdownConverter/Spec/StringLengthComparer.cs @@ -1,22 +1,19 @@ -using System.Collections.Generic; +namespace MarkdownConverter.Spec; -namespace MarkdownConverter.Spec +public class StringLengthComparer : IComparer { - public class StringLengthComparer : IComparer + public int Compare(string x, string y) { - public int Compare(string x, string y) + if (x.Length > y.Length) { - if (x.Length > y.Length) - { - return -1; - } - - if (x.Length < y.Length) - { - return 1; - } + return -1; + } - return string.Compare(x, y); + if (x.Length < y.Length) + { + return 1; } + + return string.Compare(x, y); } } diff --git a/tools/MarkdownConverter/Spec/TermRef.cs b/tools/MarkdownConverter/Spec/TermRef.cs index f796165b9..f88d0c4ce 100644 --- a/tools/MarkdownConverter/Spec/TermRef.cs +++ b/tools/MarkdownConverter/Spec/TermRef.cs @@ -1,19 +1,18 @@ -namespace MarkdownConverter.Spec +namespace MarkdownConverter.Spec; + +internal class TermRef { - internal class TermRef - { - private static int count = 1; + private static int count = 1; - public string Term { get; } - public string BookmarkName { get; } - public SourceLocation Loc { get; } + public string Term { get; } + public string BookmarkName { get; } + public SourceLocation Loc { get; } - public TermRef(string term, SourceLocation loc) - { - Term = term; - Loc = loc; - BookmarkName = $"_Trm{count:00000}"; - count++; - } + public TermRef(string term, SourceLocation loc) + { + Term = term; + Loc = loc; + BookmarkName = $"_Trm{count:00000}"; + count++; } } diff --git a/tools/StandardAnchorTags/GenerateGrammar.cs b/tools/StandardAnchorTags/GenerateGrammar.cs index cfedffd23..45022d986 100644 --- a/tools/StandardAnchorTags/GenerateGrammar.cs +++ b/tools/StandardAnchorTags/GenerateGrammar.cs @@ -1,7 +1,4 @@ -using System; -using System.IO; -using System.Text; -using System.Threading.Tasks; +using System.Text; namespace StandardAnchorTags; diff --git a/tools/StandardAnchorTags/Program.cs b/tools/StandardAnchorTags/Program.cs index ca69700a8..635889c0c 100644 --- a/tools/StandardAnchorTags/Program.cs +++ b/tools/StandardAnchorTags/Program.cs @@ -1,189 +1,185 @@ -using System; -using System.IO; -using System.Threading.Tasks; -using Utilities; +using Utilities; using System.Text.Json; -namespace StandardAnchorTags +namespace StandardAnchorTags; + +public class Program { - public class Program + const string TOCHeader = ""; + private const string PathToStandard = "../standard/"; + private const string ReadMePath = "../standard/README.md"; + private const string FilesPath = "../standard/clauses.json"; + private const string GrammarFile = "grammar.md"; + + private static Clauses? standardClauses; + + static async Task Main(string[] args) { - const string TOCHeader = ""; - private const string PathToStandard = "../standard/"; - private const string ReadMePath = "../standard/README.md"; - private const string FilesPath = "../standard/clauses.json"; - private const string GrammarFile = "grammar.md"; + using FileStream openStream = File.OpenRead(FilesPath); + standardClauses = await JsonSerializer.DeserializeAsync(openStream); + if (standardClauses is null) + { + Console.WriteLine("Could not read list of clauses. Exiting"); + return 1; + } - private static Clauses? standardClauses; + bool dryRun = ((args.Length > 0) && (args[0].Contains("dryrun"))); + if (dryRun) + { + Console.WriteLine("Doing a dry run"); + } - static async Task Main(string[] args) + try { - using FileStream openStream = File.OpenRead(FilesPath); - standardClauses = await JsonSerializer.DeserializeAsync(openStream); - if (standardClauses is null) + Console.WriteLine("=========================== Front Matter ==================================="); + var sectionMap = new TocSectionNumberBuilder(PathToStandard, dryRun); + foreach (var file in standardClauses.FrontMatter) { - Console.WriteLine("Could not read list of clauses. Exiting"); - return 1; + Console.WriteLine($" -- {file}"); + await sectionMap.AddFrontMatterTocEntries(file); } - bool dryRun = ((args.Length > 0) && (args[0].Contains("dryrun"))); - if (dryRun) + Console.WriteLine("================= GENERATE UPDATED SECTION NUMBERS ========================="); + Console.WriteLine("============================ Scope and Conformance ======================================"); + foreach (var file in standardClauses.ScopeAndConformance) + { + Console.WriteLine($" -- {file}"); + await sectionMap.AddContentsToTOC(file); + + } + Console.WriteLine("============================ Lexical Structure ======================================"); + foreach (var file in standardClauses.LexicalStructure) { - Console.WriteLine("Doing a dry run"); + Console.WriteLine($" -- {file}"); + await sectionMap.AddContentsToTOC(file); + } + Console.WriteLine("============================ Main text======================================"); + foreach (var file in standardClauses.MainBody) + { + Console.WriteLine($" -- {file}"); + await sectionMap.AddContentsToTOC(file); + } + Console.WriteLine("============================ Unsafe clauses======================================"); + foreach (var file in standardClauses.UnsafeClauses) + { + Console.WriteLine($" -- {file}"); + await sectionMap.AddContentsToTOC(file); + } + Console.WriteLine("============================= Annexes ======================================"); + sectionMap.FinishMainSection(); + foreach (var file in standardClauses.Annexes) + { + Console.WriteLine($" -- {file}"); + await sectionMap.AddContentsToTOC(file); + } + if (!dryRun) + { + Console.WriteLine("Update TOC"); + var existingReadMe = await ReadExistingReadMe(); + using var readme = new StreamWriter(ReadMePath, false); + await readme.WriteAsync(existingReadMe); + await readme.WriteLineAsync(TOCHeader); + await readme.WriteLineAsync(); + await readme.WriteAsync(sectionMap.Toc); } - try + Console.WriteLine("======================= UPDATE ALL REFERENCES =============================="); + var fixup = new ReferenceUpdateProcessor(PathToStandard, sectionMap.LinkMap, dryRun); + + Console.WriteLine("=========================== Front Matter ==================================="); + foreach (var file in standardClauses.FrontMatter) { - Console.WriteLine("=========================== Front Matter ==================================="); - var sectionMap = new TocSectionNumberBuilder(PathToStandard, dryRun); - foreach (var file in standardClauses.FrontMatter) - { - Console.WriteLine($" -- {file}"); - await sectionMap.AddFrontMatterTocEntries(file); - } + Console.WriteLine($" -- {file}"); + await fixup.ReplaceReferences(file); + } + Console.WriteLine("============================ Scope and Conformance ======================================"); + foreach (var file in standardClauses.ScopeAndConformance) + { + Console.WriteLine($" -- {file}"); + await fixup.ReplaceReferences(file); - Console.WriteLine("================= GENERATE UPDATED SECTION NUMBERS ========================="); - Console.WriteLine("============================ Scope and Conformance ======================================"); - foreach (var file in standardClauses.ScopeAndConformance) - { - Console.WriteLine($" -- {file}"); - await sectionMap.AddContentsToTOC(file); + } + Console.WriteLine("============================ Lexical Structure ======================================"); + foreach (var file in standardClauses.LexicalStructure) + { + Console.WriteLine($" -- {file}"); + await fixup.ReplaceReferences(file); + } + Console.WriteLine("============================ Main text======================================"); + foreach (var file in standardClauses.MainBody) + { + Console.WriteLine($" -- {file}"); + await fixup.ReplaceReferences(file); - } - Console.WriteLine("============================ Lexical Structure ======================================"); - foreach (var file in standardClauses.LexicalStructure) - { - Console.WriteLine($" -- {file}"); - await sectionMap.AddContentsToTOC(file); - } - Console.WriteLine("============================ Main text======================================"); - foreach (var file in standardClauses.MainBody) - { - Console.WriteLine($" -- {file}"); - await sectionMap.AddContentsToTOC(file); - } - Console.WriteLine("============================ Unsafe clauses======================================"); - foreach (var file in standardClauses.UnsafeClauses) - { - Console.WriteLine($" -- {file}"); - await sectionMap.AddContentsToTOC(file); - } - Console.WriteLine("============================= Annexes ======================================"); - sectionMap.FinishMainSection(); - foreach (var file in standardClauses.Annexes) - { - Console.WriteLine($" -- {file}"); - await sectionMap.AddContentsToTOC(file); - } - if (!dryRun) - { - Console.WriteLine("Update TOC"); - var existingReadMe = await ReadExistingReadMe(); - using var readme = new StreamWriter(ReadMePath, false); - await readme.WriteAsync(existingReadMe); - await readme.WriteLineAsync(TOCHeader); - await readme.WriteLineAsync(); - await readme.WriteAsync(sectionMap.Toc); - } + } + Console.WriteLine("============================ Unsafe clauses======================================"); + foreach (var file in standardClauses.UnsafeClauses) + { + Console.WriteLine($" -- {file}"); + await fixup.ReplaceReferences(file); - Console.WriteLine("======================= UPDATE ALL REFERENCES =============================="); - var fixup = new ReferenceUpdateProcessor(PathToStandard, sectionMap.LinkMap, dryRun); + } + Console.WriteLine("============================= Annexes ======================================"); + foreach (var file in standardClauses.Annexes) + { + Console.WriteLine($" -- {file}"); + await fixup.ReplaceReferences(file); + } + if (!dryRun) + { + Console.WriteLine("======================= READ EXISTING GRAMMAR HEADERS ======================="); + var headers = await GenerateGrammar.ReadExistingHeaders(PathToStandard, GrammarFile); - Console.WriteLine("=========================== Front Matter ==================================="); - foreach (var file in standardClauses.FrontMatter) - { - Console.WriteLine($" -- {file}"); - await fixup.ReplaceReferences(file); - } - Console.WriteLine("============================ Scope and Conformance ======================================"); - foreach (var file in standardClauses.ScopeAndConformance) - { - Console.WriteLine($" -- {file}"); - await fixup.ReplaceReferences(file); + Console.WriteLine("======================= GENERATE GRAMMAR ANNEX =============================="); + using var grammarGenerator = new GenerateGrammar(GrammarFile, PathToStandard, headers); - } Console.WriteLine("============================ Lexical Structure ======================================"); + + await grammarGenerator.WriteHeader(); foreach (var file in standardClauses.LexicalStructure) { Console.WriteLine($" -- {file}"); - await fixup.ReplaceReferences(file); + await grammarGenerator.ExtractGrammarFrom(file); } Console.WriteLine("============================ Main text======================================"); + + await grammarGenerator.WriteSyntaxHeader(); foreach (var file in standardClauses.MainBody) { Console.WriteLine($" -- {file}"); - await fixup.ReplaceReferences(file); - + await grammarGenerator.ExtractGrammarFrom(file); } Console.WriteLine("============================ Unsafe clauses======================================"); + await grammarGenerator.WriteUnsafeExtensionHeader(); foreach (var file in standardClauses.UnsafeClauses) { Console.WriteLine($" -- {file}"); - await fixup.ReplaceReferences(file); - - } - Console.WriteLine("============================= Annexes ======================================"); - foreach (var file in standardClauses.Annexes) - { - Console.WriteLine($" -- {file}"); - await fixup.ReplaceReferences(file); + await grammarGenerator.ExtractGrammarFrom(file); } - if (!dryRun) - { - Console.WriteLine("======================= READ EXISTING GRAMMAR HEADERS ======================="); - var headers = await GenerateGrammar.ReadExistingHeaders(PathToStandard, GrammarFile); - - Console.WriteLine("======================= GENERATE GRAMMAR ANNEX =============================="); - using var grammarGenerator = new GenerateGrammar(GrammarFile, PathToStandard, headers); - - Console.WriteLine("============================ Lexical Structure ======================================"); - - await grammarGenerator.WriteHeader(); - foreach (var file in standardClauses.LexicalStructure) - { - Console.WriteLine($" -- {file}"); - await grammarGenerator.ExtractGrammarFrom(file); - } - Console.WriteLine("============================ Main text======================================"); - - await grammarGenerator.WriteSyntaxHeader(); - foreach (var file in standardClauses.MainBody) - { - Console.WriteLine($" -- {file}"); - await grammarGenerator.ExtractGrammarFrom(file); - } - Console.WriteLine("============================ Unsafe clauses======================================"); - await grammarGenerator.WriteUnsafeExtensionHeader(); - foreach (var file in standardClauses.UnsafeClauses) - { - Console.WriteLine($" -- {file}"); - await grammarGenerator.ExtractGrammarFrom(file); - } - await grammarGenerator.WriteGrammarFooter(); - } - return fixup.ErrorCount; - } - catch (InvalidOperationException e) - { - Console.WriteLine("\tError encountered:"); - Console.WriteLine(e.Message.ToString()); - Console.WriteLine("To recover, do the following:"); - Console.WriteLine("1. Discard all changes from the section numbering tool"); - Console.WriteLine("2. Fix the error noted above."); - Console.WriteLine("3. Run the tool again."); - return 1; + await grammarGenerator.WriteGrammarFooter(); } + return fixup.ErrorCount; } - - private static async Task ReadExistingReadMe() + catch (InvalidOperationException e) { - using var reader = new StreamReader(ReadMePath); - var contents = await reader.ReadToEndAsync(); + Console.WriteLine("\tError encountered:"); + Console.WriteLine(e.Message.ToString()); + Console.WriteLine("To recover, do the following:"); + Console.WriteLine("1. Discard all changes from the section numbering tool"); + Console.WriteLine("2. Fix the error noted above."); + Console.WriteLine("3. Run the tool again."); + return 1; + } + } - // This is the first node in the TOC, so truncate here: - var index = contents.IndexOf(TOCHeader); + private static async Task ReadExistingReadMe() + { + using var reader = new StreamReader(ReadMePath); + var contents = await reader.ReadToEndAsync(); - return contents[..index]; - } + // This is the first node in the TOC, so truncate here: + var index = contents.IndexOf(TOCHeader); + + return contents[..index]; } } \ No newline at end of file diff --git a/tools/StandardAnchorTags/ReferenceUpdateProcessor.cs b/tools/StandardAnchorTags/ReferenceUpdateProcessor.cs index 9ff828aa8..586373f2e 100644 --- a/tools/StandardAnchorTags/ReferenceUpdateProcessor.cs +++ b/tools/StandardAnchorTags/ReferenceUpdateProcessor.cs @@ -1,143 +1,138 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Text; -using System.Threading.Tasks; +using System.Text; -namespace StandardAnchorTags +namespace StandardAnchorTags; + +internal class ReferenceUpdateProcessor { - internal class ReferenceUpdateProcessor - { - const char sectionReference = '§'; + const char sectionReference = '§'; - private readonly IReadOnlyDictionary linkMap; - private readonly bool dryRun; - private readonly string PathToFiles; - public int ErrorCount { get; private set; } + private readonly IReadOnlyDictionary linkMap; + private readonly bool dryRun; + private readonly string PathToFiles; + public int ErrorCount { get; private set; } - public ReferenceUpdateProcessor(string pathToFiles, IReadOnlyDictionary linkMap, bool dryRun) - { - PathToFiles = pathToFiles; - this.linkMap = linkMap; - this.dryRun = dryRun; - } + public ReferenceUpdateProcessor(string pathToFiles, IReadOnlyDictionary linkMap, bool dryRun) + { + PathToFiles = pathToFiles; + this.linkMap = linkMap; + this.dryRun = dryRun; + } - public async Task ReplaceReferences(string file) + public async Task ReplaceReferences(string file) + { + var inputPath = $"{PathToFiles}/{file}"; + var tmpFileName = $"{file}.tmp"; + int lineNumber = 0; + using (var readStream = new StreamReader(inputPath)) { - var inputPath = $"{PathToFiles}/{file}"; - var tmpFileName = $"{file}.tmp"; - int lineNumber = 0; - using (var readStream = new StreamReader(inputPath)) + using StreamWriter writeStream = new(tmpFileName); + while (await readStream.ReadLineAsync() is string line) { - using StreamWriter writeStream = new(tmpFileName); - while (await readStream.ReadLineAsync() is string line) - { - lineNumber++; - var updatedLine = line.Contains(sectionReference) - ? ProcessSectionLinks(line, lineNumber, file) - : line; - await writeStream.WriteLineAsync(updatedLine); - } - writeStream.Close(); - readStream.Close(); - } - if (dryRun) - { - File.Delete(tmpFileName); - } - else - { - File.Move(tmpFileName, inputPath, true); + lineNumber++; + var updatedLine = line.Contains(sectionReference) + ? ProcessSectionLinks(line, lineNumber, file) + : line; + await writeStream.WriteLineAsync(updatedLine); } + writeStream.Close(); + readStream.Close(); } - - private string ProcessSectionLinks(string line, int lineNumber, string file) + if (dryRun) + { + File.Delete(tmpFileName); + } + else { - var returnedLine = new StringBuilder(); - int index = 0; + File.Move(tmpFileName, inputPath, true); + } + } + + private string ProcessSectionLinks(string line, int lineNumber, string file) + { + var returnedLine = new StringBuilder(); + int index = 0; - while (FindNextSectionReference(line, index) is Range sectionReferenceRange) // found another section reference. + while (FindNextSectionReference(line, index) is Range sectionReferenceRange) // found another section reference. + { + // Grab the section text: + string referenceText = line[sectionReferenceRange]; + string linkText = referenceText; + if ((referenceText.Length > 1) && + (!linkMap.ContainsKey(referenceText))) { - // Grab the section text: - string referenceText = line[sectionReferenceRange]; - string linkText = referenceText; - if ((referenceText.Length > 1) && - (!linkMap.ContainsKey(referenceText))) + var msg = $"Section reference [{referenceText}] not found at line {lineNumber} in {file}"; + if (dryRun) { - var msg = $"Section reference [{referenceText}] not found at line {lineNumber} in {file}"; - if (dryRun) - { - ErrorCount++; - Console.WriteLine(msg); - } - else - throw new InvalidOperationException(msg); - } else - { - linkText = linkMap[referenceText].FormattedMarkdownLink; + ErrorCount++; + Console.WriteLine(msg); } - // expand the range for any existing link: - sectionReferenceRange = ExpandToIncludeExistingLink(line, sectionReferenceRange); + else + throw new InvalidOperationException(msg); + } else + { + linkText = linkMap[referenceText].FormattedMarkdownLink; + } + // expand the range for any existing link: + sectionReferenceRange = ExpandToIncludeExistingLink(line, sectionReferenceRange); - var textRangeToCopyUnchanged = new Range(index, sectionReferenceRange.Start); - // Copy text up to replacement: - returnedLine.Append(line[textRangeToCopyUnchanged]); + var textRangeToCopyUnchanged = new Range(index, sectionReferenceRange.Start); + // Copy text up to replacement: + returnedLine.Append(line[textRangeToCopyUnchanged]); - returnedLine.Append(linkText); - index = sectionReferenceRange.End.Value; - } - // Copy remaining text - returnedLine.Append(line[index..]); - return returnedLine.ToString(); + returnedLine.Append(linkText); + index = sectionReferenceRange.End.Value; } + // Copy remaining text + returnedLine.Append(line[index..]); + return returnedLine.ToString(); + } - private static Range? FindNextSectionReference(string line, int startIndex) + private static Range? FindNextSectionReference(string line, int startIndex) + { + // Find the start: + startIndex = line.IndexOf(sectionReference, startIndex); + + if (startIndex == -1) return default; + int endIndex = startIndex + 1; + + // The first character not in the set of: + // A..Z + // a..z + // 0..9 + // . + // - + // indicates the end of the link reference. + while ((endIndex < line.Length) && (line[endIndex] switch { - // Find the start: - startIndex = line.IndexOf(sectionReference, startIndex); - - if (startIndex == -1) return default; - int endIndex = startIndex + 1; - - // The first character not in the set of: - // A..Z - // a..z - // 0..9 - // . - // - - // indicates the end of the link reference. - while ((endIndex < line.Length) && (line[endIndex] switch - { - >= 'A' and <= 'Z' => true, - >= 'a' and <= 'z' => true, - >= '0' and <= '9' => true, - '.' or '-' => true, - _ => false, - })) endIndex++; - - // One final special case: If the last character is '.', it's not - // part of the section reference, it's the period at the end of a sentence: - if (line[endIndex - 1] == '.') - endIndex--; - return new Range(startIndex, endIndex); - } + >= 'A' and <= 'Z' => true, + >= 'a' and <= 'z' => true, + >= '0' and <= '9' => true, + '.' or '-' => true, + _ => false, + })) endIndex++; + + // One final special case: If the last character is '.', it's not + // part of the section reference, it's the period at the end of a sentence: + if (line[endIndex - 1] == '.') + endIndex--; + return new Range(startIndex, endIndex); + } - private static Range ExpandToIncludeExistingLink(string line, Range range) - { - // If the character before the start of the range isn't the '[' character, - // return => no existing link. - if (range.Start.Value == 0) return range; - var previous = range.Start.Value - 1; - if (line[previous] != '[') return range; + private static Range ExpandToIncludeExistingLink(string line, Range range) + { + // If the character before the start of the range isn't the '[' character, + // return => no existing link. + if (range.Start.Value == 0) return range; + var previous = range.Start.Value - 1; + if (line[previous] != '[') return range; - // Start and the end of the range, look for "](", then ']'. - int endIndex = range.End.Value; - if (line.Substring(endIndex, 2) != "](") throw new InvalidOperationException("Unexpected link text"); + // Start and the end of the range, look for "](", then ']'. + int endIndex = range.End.Value; + if (line.Substring(endIndex, 2) != "](") throw new InvalidOperationException("Unexpected link text"); - endIndex += 2; - while (line[endIndex] != ')') endIndex++; + endIndex += 2; + while (line[endIndex] != ')') endIndex++; - return new Range(previous, endIndex + 1); - } + return new Range(previous, endIndex + 1); } } \ No newline at end of file diff --git a/tools/StandardAnchorTags/SectionLink.cs b/tools/StandardAnchorTags/SectionLink.cs index 2bea704ff..1d632b00e 100644 --- a/tools/StandardAnchorTags/SectionLink.cs +++ b/tools/StandardAnchorTags/SectionLink.cs @@ -1,37 +1,36 @@ -namespace StandardAnchorTags +namespace StandardAnchorTags; + +/// +/// Data stored for generating a link to a section. +/// +public readonly struct SectionLink { - /// - /// Data stored for generating a link to a section. - /// - public readonly struct SectionLink + private const char sectionReference = '§'; + public SectionLink(string oldLink, string newLink, string anchor) { - private const char sectionReference = '§'; - public SectionLink(string oldLink, string newLink, string anchor) - { - ExistingLinkText = oldLink; - NewLinkText = newLink; - AnchorText = anchor; - } + ExistingLinkText = oldLink; + NewLinkText = newLink; + AnchorText = anchor; + } - /// - /// The property is the link text currently used. - /// - /// Might not be needed. - public string ExistingLinkText { get; } + /// + /// The property is the link text currently used. + /// + /// Might not be needed. + public string ExistingLinkText { get; } - /// - /// The text following the § character for any link in the updated standard. - /// - public string NewLinkText { get; } + /// + /// The text following the § character for any link in the updated standard. + /// + public string NewLinkText { get; } - /// - /// The text string for the destination file and anchor. - /// - public string AnchorText { get; } + /// + /// The text string for the destination file and anchor. + /// + public string AnchorText { get; } - public string FormattedMarkdownLink => $"[{sectionReference}{NewLinkText}]({AnchorText})"; + public string FormattedMarkdownLink => $"[{sectionReference}{NewLinkText}]({AnchorText})"; - public string TOCMarkdownLink() - => $"[{sectionReference}{NewLinkText}]({AnchorText})"; - } + public string TOCMarkdownLink() + => $"[{sectionReference}{NewLinkText}]({AnchorText})"; } diff --git a/tools/StandardAnchorTags/StandardAnchorTags.csproj b/tools/StandardAnchorTags/StandardAnchorTags.csproj index 622f125f9..240e54f0c 100644 --- a/tools/StandardAnchorTags/StandardAnchorTags.csproj +++ b/tools/StandardAnchorTags/StandardAnchorTags.csproj @@ -2,8 +2,9 @@ Exe - net6.0 + net8.0 enable + enable diff --git a/tools/StandardAnchorTags/TocSectionNumberBuilder.cs b/tools/StandardAnchorTags/TocSectionNumberBuilder.cs index 777311443..8e28db9d0 100644 --- a/tools/StandardAnchorTags/TocSectionNumberBuilder.cs +++ b/tools/StandardAnchorTags/TocSectionNumberBuilder.cs @@ -1,229 +1,223 @@ -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; +using System.Text; using System.Text.RegularExpressions; -using System.Threading.Tasks; -using System; -namespace StandardAnchorTags +namespace StandardAnchorTags; + +/// +/// This builds the TOC numbers, and a mapping of all anchors. +/// +/// +/// In addition, the creation of the TOC Section map creates two side-effects: +/// 1. Updates all headers in the source markdown to have the proper updated section numbers. +/// 2. Create the toc.md file, containing updated section numbers. +/// +public class TocSectionNumberBuilder { - /// - /// This builds the TOC numbers, and a mapping of all anchors. - /// - /// - /// In addition, the creation of the TOC Section map creates two side-effects: - /// 1. Updates all headers in the source markdown to have the proper updated section numbers. - /// 2. Create the toc.md file, containing updated section numbers. - /// - public class TocSectionNumberBuilder + private struct SectionHeader { - private struct SectionHeader - { - public int level; - public string sectionHeaderText; - public string title; + public int level; + public string sectionHeaderText; + public string title; - } + } - private const string MainSectionPattern = @"^\d+(\.\d+)*$"; - private const string AnnexPattern = @"^[A-Z](\.\d+)*$"; + private const string MainSectionPattern = @"^\d+(\.\d+)*$"; + private const string AnnexPattern = @"^[A-Z](\.\d+)*$"; - private readonly string PathToStandardFiles; - private readonly bool dryRun; + private readonly string PathToStandardFiles; + private readonly bool dryRun; - // String builder to store the full TOC for the standard. - private readonly StringBuilder tocContent = new(); - private readonly Dictionary sectionLinkMap = new(); - private bool isAnnexes; + // String builder to store the full TOC for the standard. + private readonly StringBuilder tocContent = new(); + private readonly Dictionary sectionLinkMap = new(); + private bool isAnnexes; - // Running array of entries for the current headings. - // Starting with H1 is headings[0], H2 is headings[1] etc. - private readonly int[] headings = new int[8]; + // Running array of entries for the current headings. + // Starting with H1 is headings[0], H2 is headings[1] etc. + private readonly int[] headings = new int[8]; - /// - /// Construct the map Builder. - /// - public TocSectionNumberBuilder(string pathFromToolToStandard, bool dryRun) - { - PathToStandardFiles = pathFromToolToStandard; - this.dryRun = dryRun; - } + /// + /// Construct the map Builder. + /// + public TocSectionNumberBuilder(string pathFromToolToStandard, bool dryRun) + { + PathToStandardFiles = pathFromToolToStandard; + this.dryRun = dryRun; + } - /// - /// Add the front matter entries to the TOC - /// - /// The front matter file name. - /// - /// The front matter entries don't add section numbers in the headers. - /// Otherwise, this is the same logic for the main file. - /// - public async Task AddFrontMatterTocEntries(string fileName) + /// + /// Add the front matter entries to the TOC + /// + /// The front matter file name. + /// + /// The front matter entries don't add section numbers in the headers. + /// Otherwise, this is the same logic for the main file. + /// + public async Task AddFrontMatterTocEntries(string fileName) + { + using var stream = File.OpenText(Path.Combine(PathToStandardFiles,fileName)); + string? line = await stream.ReadLineAsync(); { - using var stream = File.OpenText(Path.Combine(PathToStandardFiles,fileName)); - string? line = await stream.ReadLineAsync(); + if (line?.StartsWith("# ") == true) { - if (line?.StartsWith("# ") == true) - { - var linkText = line[2..]; - tocContent.AppendLine($"- [{linkText}]({fileName})"); - // Done: return. - return; - } + var linkText = line[2..]; + tocContent.AppendLine($"- [{linkText}]({fileName})"); + // Done: return. + return; } - // Getting here means this file doesn't have an H1. That's an error: - throw new InvalidOperationException($"File {fileName} doesn't have an H1 tag as its first line."); } + // Getting here means this file doesn't have an H1. That's an error: + throw new InvalidOperationException($"File {fileName} doesn't have an H1 tag as its first line."); + } - public async Task AddContentsToTOC(string filename) + public async Task AddContentsToTOC(string filename) + { + string pathToFile = $"{PathToStandardFiles}/{filename}"; + string tmpFileName = $"{filename}-updated.md"; + string? line; + int lineNumber = 0; + using (var stream = new StreamReader(pathToFile)) { - string pathToFile = $"{PathToStandardFiles}/{filename}"; - string tmpFileName = $"{filename}-updated.md"; - string? line; - int lineNumber = 0; - using (var stream = new StreamReader(pathToFile)) + using var writeStream = new StreamWriter(tmpFileName); + while ((line = await stream.ReadLineAsync()) != null) { - using var writeStream = new StreamWriter(tmpFileName); - while ((line = await stream.ReadLineAsync()) != null) + lineNumber++; + if (FindHeader(line) is SectionHeader header) { - lineNumber++; - if (FindHeader(line) is SectionHeader header) + SectionLink link = BuildSectionLink(header,filename); + var linkDestinationUrl = $"{filename}#{link.AnchorText}"; + // Add to collection, if the header has link text: + if (!string.IsNullOrWhiteSpace(header.sectionHeaderText)) { - SectionLink link = BuildSectionLink(header,filename); - var linkDestinationUrl = $"{filename}#{link.AnchorText}"; - // Add to collection, if the header has link text: - if (!string.IsNullOrWhiteSpace(header.sectionHeaderText)) - { - if (sectionLinkMap.ContainsKey(header.sectionHeaderText)) - throw new InvalidOperationException($"Duplicate section header [{header.sectionHeaderText}] found at line {lineNumber} in {filename}"); - sectionLinkMap.Add(header.sectionHeaderText, link); - } - // Build the new header line - var atxHeader = new string('#', header.level); - // Write TOC line - tocContent.AppendLine($"{new string(' ', (header.level - 1) * 2)}- {link.TOCMarkdownLink()} {header.title}"); - line = $"{atxHeader} {(isAnnexes && (header.level == 1) ? "Annex " : "")}{link.NewLinkText} {header.title}"; + if (sectionLinkMap.ContainsKey(header.sectionHeaderText)) + throw new InvalidOperationException($"Duplicate section header [{header.sectionHeaderText}] found at line {lineNumber} in {filename}"); + sectionLinkMap.Add(header.sectionHeaderText, link); } - await writeStream.WriteLineAsync(line); + // Build the new header line + var atxHeader = new string('#', header.level); + // Write TOC line + tocContent.AppendLine($"{new string(' ', (header.level - 1) * 2)}- {link.TOCMarkdownLink()} {header.title}"); + line = $"{atxHeader} {(isAnnexes && (header.level == 1) ? "Annex " : "")}{link.NewLinkText} {header.title}"; } - } - if (dryRun) - { - File.Delete(tmpFileName); - } - else - { - File.Move(tmpFileName, pathToFile, true); + await writeStream.WriteLineAsync(line); } } - - /// - /// This method signals that all main sections have been processed. - /// - /// - /// After this method is called, all sections are interpreted as annexes. - /// - public void FinishMainSection() + if (dryRun) + { + File.Delete(tmpFileName); + } + else { - isAnnexes = true; - for (int i = 0; i < headings.Length; i++) headings[i] = 0; + File.Move(tmpFileName, pathToFile, true); } + } + + /// + /// This method signals that all main sections have been processed. + /// + /// + /// After this method is called, all sections are interpreted as annexes. + /// + public void FinishMainSection() + { + isAnnexes = true; + for (int i = 0; i < headings.Length; i++) headings[i] = 0; + } - /// - /// Retrieve the text of the TOC - /// - public string Toc => tocContent.ToString(); + /// + /// Retrieve the text of the TOC + /// + public string Toc => tocContent.ToString(); - /// - /// Retrieve a readonly map of existing link text to updated link. - /// - public IReadOnlyDictionary LinkMap => sectionLinkMap; + /// + /// Retrieve a readonly map of existing link text to updated link. + /// + public IReadOnlyDictionary LinkMap => sectionLinkMap; - private SectionLink BuildSectionLink(SectionHeader header, string filename) + private SectionLink BuildSectionLink(SectionHeader header, string filename) + { + // Now, construct the mapping, add TOC, construct output line. + // Set all headings: + headings[header.level - 1]++; + for (int index = header.level; index < headings.Length; index++) + headings[index] = 0; + + // Generate the correct clause name: + string newSectionNumber = isAnnexes + ? string.Join('.', headings.Take(header.level).Select((n, index) => (index == 0) ? ((char)(n + 64)).ToString() : n.ToString())) + : string.Join('.', headings.Take(header.level).Select(n => n.ToString())); + string anchor = UrilizeAsGfm($"{newSectionNumber} {header.title}"); + + // Top-level annex references (e.g. just to "Annex D") need a leading "annex-" as that's + // in the title of the page. + if (isAnnexes && (header.level == 1)) { - // Now, construct the mapping, add TOC, construct output line. - // Set all headings: - headings[header.level - 1]++; - for (int index = header.level; index < headings.Length; index++) - headings[index] = 0; - - // Generate the correct clause name: - string newSectionNumber = isAnnexes - ? string.Join('.', headings.Take(header.level).Select((n, index) => (index == 0) ? ((char)(n + 64)).ToString() : n.ToString())) - : string.Join('.', headings.Take(header.level).Select(n => n.ToString())); - string anchor = UrilizeAsGfm($"{newSectionNumber} {header.title}"); - - // Top-level annex references (e.g. just to "Annex D") need a leading "annex-" as that's - // in the title of the page. - if (isAnnexes && (header.level == 1)) - { - anchor = $"annex-{anchor}"; - } - return new SectionLink(header.sectionHeaderText, newSectionNumber, $"{filename}#{anchor}"); + anchor = $"annex-{anchor}"; } + return new SectionLink(header.sectionHeaderText, newSectionNumber, $"{filename}#{anchor}"); + } - // Copy from https://github.com/xoofx/markdig/blob/0cfe6d7da48ea6621072eb50ade32141ea92bc35/src/Markdig/Helpers/LinkHelper.cs#L100-L113 - private static string UrilizeAsGfm(string headingText) + // Copy from https://github.com/xoofx/markdig/blob/0cfe6d7da48ea6621072eb50ade32141ea92bc35/src/Markdig/Helpers/LinkHelper.cs#L100-L113 + private static string UrilizeAsGfm(string headingText) + { + // Following https://github.com/jch/html-pipeline/blob/master/lib/html/pipeline/toc_filter.rb + var headingBuffer = new StringBuilder(); + for (int i = 0; i < headingText.Length; i++) { - // Following https://github.com/jch/html-pipeline/blob/master/lib/html/pipeline/toc_filter.rb - var headingBuffer = new StringBuilder(); - for (int i = 0; i < headingText.Length; i++) + var c = headingText[i]; + if (char.IsLetterOrDigit(c) || c == ' ' || c == '-' || c == '_') { - var c = headingText[i]; - if (char.IsLetterOrDigit(c) || c == ' ' || c == '-' || c == '_') - { - headingBuffer.Append(c == ' ' ? '-' : char.ToLowerInvariant(c)); - } + headingBuffer.Append(c == ' ' ? '-' : char.ToLowerInvariant(c)); } - return headingBuffer.ToString(); } + return headingBuffer.ToString(); + } - // A line in the standard is either a paragraph of text or - // a header. this method determines which and returns one - // of the two types. - private SectionHeader? FindHeader(string lineRead) + // A line in the standard is either a paragraph of text or + // a header. this method determines which and returns one + // of the two types. + private SectionHeader? FindHeader(string lineRead) + { + // Blank line: + if (string.IsNullOrWhiteSpace(lineRead)) { - // Blank line: - if (string.IsNullOrWhiteSpace(lineRead)) - { - return null; - } + return null; + } - var fields = lineRead.Split(' ', 3, StringSplitOptions.RemoveEmptyEntries); + var fields = lineRead.Split(' ', 3, StringSplitOptions.RemoveEmptyEntries); - int level = fields[0].All(c => c == '#') ? fields[0].Length : 0; - // input line is a paragraph of text. - if (level == 0) - { - return null; - } - SectionHeader header = new() - { - level = level - }; + int level = fields[0].All(c => c == '#') ? fields[0].Length : 0; + // input line is a paragraph of text. + if (level == 0) + { + return null; + } + SectionHeader header = new() + { + level = level + }; - // A few cases for section number: - // 1. Starts with §: represents a newly added section - if (fields[1].StartsWith("§")) - { - header.sectionHeaderText = fields[1]; - header.title = fields[2]; - return header; - } - (header.sectionHeaderText, header.title) = - (isAnnexes, level, fields[1]) switch - { - // Annex H1: "Annex B" (A-Z) - (true, 1, "Annex") => ("§" + fields[2][..1], fields[2][2..]), - // Annex H1, no section header. - (true, 1, _) => ("", fields[1] + " " + fields[2]), - // Annex, Hn: "D.1.2", or no section header: - // Main section, "12.7.2", or no section header text: - (_, _, _) => Regex.IsMatch(fields[1], (isAnnexes ? AnnexPattern : MainSectionPattern)) - ? ("§"+fields[1], fields[2]) - : ("", fields[1] + " " + fields[2]), - }; + // A few cases for section number: + // 1. Starts with §: represents a newly added section + if (fields[1].StartsWith("§")) + { + header.sectionHeaderText = fields[1]; + header.title = fields[2]; return header; } + (header.sectionHeaderText, header.title) = + (isAnnexes, level, fields[1]) switch + { + // Annex H1: "Annex B" (A-Z) + (true, 1, "Annex") => ("§" + fields[2][..1], fields[2][2..]), + // Annex H1, no section header. + (true, 1, _) => ("", fields[1] + " " + fields[2]), + // Annex, Hn: "D.1.2", or no section header: + // Main section, "12.7.2", or no section header text: + (_, _, _) => Regex.IsMatch(fields[1], (isAnnexes ? AnnexPattern : MainSectionPattern)) + ? ("§"+fields[1], fields[2]) + : ("", fields[1] + " " + fields[2]), + }; + return header; } } diff --git a/tools/Utilities/Clauses.cs b/tools/Utilities/Clauses.cs index 929ef3735..0c09b2dbe 100644 --- a/tools/Utilities/Clauses.cs +++ b/tools/Utilities/Clauses.cs @@ -1,16 +1,15 @@ -namespace Utilities +namespace Utilities; + +public class Clauses { - public class Clauses - { - public string[] FrontMatter { get; set; } = Array.Empty(); + public string[] FrontMatter { get; set; } = Array.Empty(); - public string[] ScopeAndConformance { get; set; } = Array.Empty(); + public string[] ScopeAndConformance { get; set; } = Array.Empty(); - public string[] LexicalStructure { get; set; } = Array.Empty(); - public string[] MainBody { get; set; } = Array.Empty(); + public string[] LexicalStructure { get; set; } = Array.Empty(); + public string[] MainBody { get; set; } = Array.Empty(); - // Sure, there's only one, but let's allow for possible expansion. - public string[] UnsafeClauses { get; set; } = Array.Empty(); - public string[] Annexes { get; set; } = Array.Empty(); - } + // Sure, there's only one, but let's allow for possible expansion. + public string[] UnsafeClauses { get; set; } = Array.Empty(); + public string[] Annexes { get; set; } = Array.Empty(); } \ No newline at end of file diff --git a/tools/Utilities/Utilities.csproj b/tools/Utilities/Utilities.csproj index 50da09fa1..fdaee7f70 100644 --- a/tools/Utilities/Utilities.csproj +++ b/tools/Utilities/Utilities.csproj @@ -1,13 +1,13 @@ - net6.0 + net8.0 enable enable - + From 2833c159695a8840a94bf1344fbac50f612dd0b6 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Wed, 22 Nov 2023 15:14:11 +0000 Subject: [PATCH 021/259] Install .NET 6.0 when running tests Fixes #1001. --- .github/workflows/test-examples.yaml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-examples.yaml b/.github/workflows/test-examples.yaml index dae5436db..8ecc583b3 100644 --- a/.github/workflows/test-examples.yaml +++ b/.github/workflows/test-examples.yaml @@ -23,10 +23,16 @@ jobs: - name: Check out our repo uses: actions/checkout@v2 - - name: Setup .NET 8.0 - uses: actions/setup-dotnet@v1 + # We build examples against .NET 6.0, but use + # 8.0 for the tools themselves. (The closer we + # are to the target language version we're standardising, + # the better.) + - name: Setup .NET 6.0 and 8.0 + uses: actions/setup-dotnet@v3 with: - dotnet-version: 8.0.x + dotnet-version: | + 6.0.x + 8.0.x - name: Extract and validate tests run: | From 1b8e8c35345d9cbb3838de7cd40c23da1070c215 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Wed, 22 Nov 2023 15:34:10 +0000 Subject: [PATCH 022/259] Fix sole remaining example test failure Generic attributes will be valid in the future (and Roslyn knows that), so the error code has changed. --- standard/attributes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/attributes.md b/standard/attributes.md index 6afb317d8..1c1043d81 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -20,7 +20,7 @@ A generic class declaration shall not use `System.Attribute` as a direct or indi > *Example*: > -> +> > ```csharp > public class B : Attribute {} > public class C : B {} // Error – generic cannot be an attribute From d901dfbe49d467d56c54a3fbbb7bdf6abc206283 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Fri, 24 Nov 2023 08:00:44 +0000 Subject: [PATCH 023/259] Fix NRT warnings in Word converter Many of these are fixed with just pattern matching. I've been liberal with the null-forgiving operator in the Word document code itself, but most of the rest is fairly straightforward to handle safely. Fixes #998. --- .../MarkdownSpecFileListTests.cs | 6 +- .../Converter/MarkdownSourceConverter.cs | 113 ++++++++---------- .../Converter/MarkdownSpecConverter.cs | 30 +++-- tools/MarkdownConverter/OptionExtensions.cs | 2 +- tools/MarkdownConverter/Program.cs | 10 +- tools/MarkdownConverter/Spec/MarkdownSpec.cs | 7 +- tools/MarkdownConverter/Spec/Reporter.cs | 16 +-- tools/MarkdownConverter/Spec/SectionRef.cs | 6 +- .../MarkdownConverter/Spec/SourceLocation.cs | 18 +-- .../Spec/StringLengthComparer.cs | 19 --- 10 files changed, 106 insertions(+), 121 deletions(-) delete mode 100644 tools/MarkdownConverter/Spec/StringLengthComparer.cs diff --git a/tools/MarkdownConverter.Tests/MarkdownSpecFileListTests.cs b/tools/MarkdownConverter.Tests/MarkdownSpecFileListTests.cs index f641707e2..426034443 100644 --- a/tools/MarkdownConverter.Tests/MarkdownSpecFileListTests.cs +++ b/tools/MarkdownConverter.Tests/MarkdownSpecFileListTests.cs @@ -1,4 +1,4 @@ -using MarkdownConverter.Spec; +using MarkdownConverter.Spec; using Xunit; namespace MarkdownConverter.Tests; @@ -8,6 +8,6 @@ public class MarkdownSpecFileListTests [Fact] public void EmptyListTest() { - Assert.Throws(() => MarkdownSpec.ReadFiles(null, new Reporter(TextWriter.Null))); + Assert.Throws(() => MarkdownSpec.ReadFiles(null!, new Reporter(TextWriter.Null))); } -} \ No newline at end of file +} diff --git a/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs b/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs index 14d935131..0acc0d11b 100644 --- a/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs +++ b/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs @@ -83,9 +83,8 @@ IEnumerable Paragraphs2Paragraphs(IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) { reporter.CurrentParagraph = md; - if (md.IsHeading) + if (md is MarkdownParagraph.Heading mdh) { - var mdh = md as MarkdownParagraph.Heading; var level = mdh.size; var spans = mdh.body; var sr = sections[context.CreateSectionRef(mdh, filename).Url]; @@ -112,22 +111,20 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) yield break; } - else if (md.IsParagraph) + else if (md is MarkdownParagraph.Paragraph mdp) { - var mdp = md as MarkdownParagraph.Paragraph; var spans = mdp.body; yield return new Paragraph(Spans2Elements(spans)); yield break; } - else if (md.IsQuotedBlock) + else if (md is MarkdownParagraph.QuotedBlock mdq) { // Keep track of which list numbering schemes we've already indented. // Lists are flattened into multiple paragraphs, but all paragraphs within one list // keep the same numbering scheme, and we only want to increase the indentation level once. var indentedLists = new HashSet(); - var mdq = md as MarkdownParagraph.QuotedBlock; // TODO: Actually make this a block quote. // We're now indenting, which is a start... a proper block would be nicer though. foreach (var element in mdq.paragraphs.SelectMany(Paragraph2Paragraphs)) @@ -143,13 +140,15 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) { if (indentedLists.Add(numberingId)) { - var numbering = wordDocument.MainDocumentPart.NumberingDefinitionsPart.Numbering.OfType().First(ni => ni.NumberID.Value == numberingId); - var abstractNumberingId = numbering.AbstractNumId.Val; - var abstractNumbering = wordDocument.MainDocumentPart.NumberingDefinitionsPart.Numbering.OfType().FirstOrDefault(ani => ani.AbstractNumberId.Value == abstractNumberingId); + // The number of null-forgiving operators here is alarming, but ultimately it's simpler to accept + // an NRE being thrown if we have a malformed document than to try to guard against it. + var numbering = wordDocument.MainDocumentPart!.NumberingDefinitionsPart!.Numbering.OfType().First(ni => ni.NumberID!.Value == numberingId); + var abstractNumberingId = numbering.AbstractNumId!.Val; + var abstractNumbering = wordDocument.MainDocumentPart.NumberingDefinitionsPart.Numbering.OfType().First(ani => ani.AbstractNumberId!.Value == abstractNumberingId!); foreach (var level in abstractNumbering.OfType()) { var paragraphProperties = level.GetFirstChild(); - int indentation = int.Parse(paragraphProperties.Indentation.Left.Value); + int indentation = int.Parse(paragraphProperties!.Indentation!.Left!.Value!); paragraphProperties.Indentation.Left.Value = (indentation + InitialIndentation).ToString(); } } @@ -172,7 +171,7 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) } else { - reporter.Error("MD31", $"Table in quoted block does not start with table properties"); + reporter.Error("MD31", "Table in quoted block does not start with table properties"); } } else @@ -197,7 +196,7 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) var format = string.Join("", format0); - var numberingPart = wordDocument.MainDocumentPart.NumberingDefinitionsPart ?? wordDocument.MainDocumentPart.AddNewPart("NumberingDefinitionsPart001"); + var numberingPart = wordDocument.MainDocumentPart!.NumberingDefinitionsPart ?? wordDocument.MainDocumentPart.AddNewPart("NumberingDefinitionsPart001"); if (numberingPart.Numbering == null) { numberingPart.Numbering = new Numbering(); @@ -233,12 +232,12 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) var level2 = createLevel(2, format[2] == '1'); var level3 = createLevel(3, format[3] == '1'); - var abstracts = numberingPart.Numbering.OfType().Select(an => an.AbstractNumberId.Value).ToList(); + var abstracts = numberingPart.Numbering.OfType().Select(an => an.AbstractNumberId!.Value).ToList(); var aid = (abstracts.Count == 0 ? 1 : abstracts.Max() + 1); var aabstract = new AbstractNum(new MultiLevelType() { Val = MultiLevelValues.Multilevel }, level0, level1, level2, level3) { AbstractNumberId = aid }; numberingPart.Numbering.InsertAt(aabstract, 0); - var instances = numberingPart.Numbering.OfType().Select(ni => ni.NumberID.Value); + var instances = numberingPart.Numbering.OfType().Select(ni => ni.NumberID!.Value); var nid = (instances.Count() == 0 ? 1 : instances.Max() + 1); var numInstance = new NumberingInstance(new AbstractNumId { Val = aid }) { NumberID = nid }; numberingPart.Numbering.AppendChild(numInstance); @@ -252,7 +251,7 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) var content = item.Paragraph; if (content.IsParagraph || content.IsSpan) { - var spans = (content.IsParagraph ? (content as MarkdownParagraph.Paragraph).body : (content as MarkdownParagraph.Span).body); + var spans = content.IsParagraph ? ((MarkdownParagraph.Paragraph) content).body : ((MarkdownParagraph.Span) content).body; if (item.HasBullet) { yield return new Paragraph(Spans2Elements(spans, inList: true)) { ParagraphProperties = new ParagraphProperties(new NumberingProperties(new ParagraphStyleId { Val = "ListParagraph" }, new NumberingLevelReference { Val = item.Level }, new NumberingId { Val = nid })) }; @@ -272,7 +271,7 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) props = new ParagraphProperties(); p.InsertAt(props, 0); } - var indent = props?.GetFirstChild(); + var indent = props.GetFirstChild(); if (indent == null) { indent = new Indentation(); @@ -317,9 +316,8 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) } } - else if (md.IsCodeBlock) + else if (md is MarkdownParagraph.CodeBlock mdc) { - var mdc = md as MarkdownParagraph.CodeBlock; var code = mdc.code; var lang = mdc.language; code = BugWorkaroundDecode(code); @@ -397,9 +395,8 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) yield return p; } - else if (md.IsTableBlock) + else if (md is MarkdownParagraph.TableBlock mdt) { - var mdt = md as MarkdownParagraph.TableBlock; var header = mdt.headers.Option(); var align = mdt.alignments; var rows = mdt.rows; @@ -408,8 +405,7 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) { reporter.Error("MD10", "Github requires all tables to have header rows"); } - - if (!header.Any(cell => cell.Length > 0)) + else if (!header.Any(cell => cell.Length > 0)) { header = null; // even if Github requires an empty header, we can at least cull it from Docx } @@ -422,7 +418,7 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) continue; } - var mdrow = (irow == -1 ? header : rows[irow]); + var mdrow = irow == -1 ? header! : rows[irow]; var row = new TableRow(); for (int icol = 0; icol < Math.Min(ncols, mdrow.Length); icol++) { @@ -485,7 +481,7 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) } } - static string GetCustomBlockId(MarkdownParagraph.InlineBlock block) + static string? GetCustomBlockId(MarkdownParagraph.InlineBlock block) { Regex customBlockComment = new Regex(@"^"); var match = customBlockComment.Match(block.code); @@ -582,9 +578,9 @@ IEnumerable FlattenList(MarkdownParagraph.ListBlock md, int level) { yield return new FlatItem(level, false, isOrdered, mdp); } - else if (mdp.IsListBlock) + else if (mdp is MarkdownParagraph.ListBlock listBlock) { - foreach (var subitem in FlattenList(mdp as MarkdownParagraph.ListBlock, level + 1)) + foreach (var subitem in FlattenList(listBlock, level + 1)) { yield return subitem; } @@ -607,7 +603,7 @@ IEnumerable Spans2Elements(IEnumerable mds, bool n // This is more longwinded than it might be, because we want to avoid ending with a break. // (That would occur naturally with a bullet point ending in a note, for example; the break // at the end adds too much space.) - OpenXmlElement previous = null; + OpenXmlElement? previous = null; foreach (var md in mds) { foreach (var e in Span2Elements(md, nestedSpan, inList)) @@ -644,9 +640,8 @@ IEnumerable Span2Elements(MarkdownSpan md, bool nestedSpan = fal } reporter.CurrentSpan = md; - if (md.IsLiteral) + if (md is MarkdownSpan.Literal mdl) { - var mdl = md as MarkdownSpan.Literal; var s = MarkdownUtilities.UnescapeLiteral(mdl); // We have lines containing just "" which end up being @@ -665,7 +660,7 @@ IEnumerable Span2Elements(MarkdownSpan md, bool nestedSpan = fal else if (md.IsStrong || md.IsEmphasis) { - IEnumerable spans = (md.IsStrong ? (md as MarkdownSpan.Strong).body : (md as MarkdownSpan.Emphasis).body); + IEnumerable spans = (md.IsStrong ? ((MarkdownSpan.Strong) md).body : ((MarkdownSpan.Emphasis) md).body); // Workaround for https://github.com/tpetricek/FSharp.formatting/issues/389 - the markdown parser // turns *this_is_it* into a nested Emphasis["this", Emphasis["is"], "it"] instead of Emphasis["this_is_it"] @@ -684,9 +679,9 @@ IEnumerable Span2Elements(MarkdownSpan md, bool nestedSpan = fal s = emphasis.body.Single(); _ = "_"; } - if (s.IsLiteral) + if (s is MarkdownSpan.Literal literal) { - return _ + (s as MarkdownSpan.Literal).text + _; + return _ + literal.text + _; } reporter.Error("MD15", $"something odd inside emphasis '{s.GetType().Name}' - only allowed emphasis and literal"); return ""; @@ -696,14 +691,14 @@ IEnumerable Span2Elements(MarkdownSpan md, bool nestedSpan = fal // Convention is that ***term*** is used to define a term. // That's parsed as Strong, which contains Emphasis, which contains one Literal - string literal = null; - TermRef termdef = null; - if (!nestedSpan && md.IsStrong && spans.Count() == 1 && spans.First().IsEmphasis) + string? literal = null; + TermRef? termdef = null; + if (!nestedSpan && md.IsStrong && spans.Count() == 1 && spans is MarkdownSpan.Emphasis emphasis) { - var spans2 = (spans.First() as MarkdownSpan.Emphasis).body; - if (spans2.Count() == 1 && spans2.First().IsLiteral) + var spans2 = emphasis.body; + if (spans2.Count() == 1 && spans2.First() is MarkdownSpan.Literal termLiteral) { - literal = (spans2.First() as MarkdownSpan.Literal).text; + literal = termLiteral.text; termdef = new TermRef(literal, reporter.Location); if (context.Terms.ContainsKey(literal)) { @@ -726,9 +721,9 @@ IEnumerable Span2Elements(MarkdownSpan md, bool nestedSpan = fal reporter.Error("MD17", $"something odd inside emphasis"); } - if (!nestedSpan && md.IsEmphasis && spans.Count() == 1 && spans.First().IsLiteral) + if (!nestedSpan && md.IsEmphasis && spans.Count() == 1 && spans.First() is MarkdownSpan.Literal spanLiteral) { - literal = (spans.First() as MarkdownSpan.Literal).text; + literal = spanLiteral.text; // TODO: Maybe remove ItalicUse entirely, now we're not parsing the grammar. context.Italics.Add(new ItalicUse(literal, ItalicUse.ItalicUseKind.Italic, reporter.Location)); } @@ -738,7 +733,7 @@ IEnumerable Span2Elements(MarkdownSpan md, bool nestedSpan = fal context.MaxBookmarkId.Value += 1; yield return new BookmarkStart { Name = termdef.BookmarkName, Id = context.MaxBookmarkId.Value.ToString() }; var props = new RunProperties(new Italic(), new Bold()); - yield return new Run(new Text(literal) { Space = SpaceProcessingModeValues.Preserve }) { RunProperties = props }; + yield return new Run(new Text(literal!) { Space = SpaceProcessingModeValues.Preserve }) { RunProperties = props }; yield return new BookmarkEnd { Id = context.MaxBookmarkId.Value.ToString() }; } else @@ -757,9 +752,8 @@ IEnumerable Span2Elements(MarkdownSpan md, bool nestedSpan = fal } } - else if (md.IsInlineCode) + else if (md is MarkdownSpan.InlineCode mdi) { - var mdi = md as MarkdownSpan.InlineCode; var code = BugWorkaroundDecode(mdi.code); foreach (var run in SplitLiteralByVerticalPosition().Select(CreateRun)) @@ -801,9 +795,8 @@ Run CreateRun((string text, VerticalPositionValues position) part) } } - else if (md.IsLatexInlineMath) + else if (md is MarkdownSpan.LatexInlineMath latex) { - var latex = md as MarkdownSpan.LatexInlineMath; var code = latex.code; // TODO: Make this look nice - if we actually need it. It's possible that it's only present @@ -817,35 +810,35 @@ Run CreateRun((string text, VerticalPositionValues position) part) else if (md.IsDirectLink || md.IsIndirectLink) { IEnumerable spans; - string url = "", alt = ""; - if (md.IsDirectLink) + string url = ""; + string alt = ""; + if (md is MarkdownSpan.DirectLink mddl) { - var mddl = md as MarkdownSpan.DirectLink; spans = mddl.body; url = mddl.link; - alt = mddl.title.Option(); + alt = mddl.title.Option() ?? ""; } else { - var mdil = md as MarkdownSpan.IndirectLink; + var mdil = (MarkdownSpan.IndirectLink) md; var original = mdil.original; var id = mdil.key; spans = mdil.body; if (markdownDocument.DefinedLinks.ContainsKey(id)) { url = markdownDocument.DefinedLinks[id].Item1; - alt = markdownDocument.DefinedLinks[id].Item2.Option(); + alt = markdownDocument.DefinedLinks[id].Item2.Option() ?? ""; } } var anchor = ""; - if (spans.Count() == 1 && spans.First().IsLiteral) + if (spans.Count() == 1 && spans.First() is MarkdownSpan.Literal literal) { - anchor = MarkdownUtilities.UnescapeLiteral(spans.First() as MarkdownSpan.Literal); + anchor = MarkdownUtilities.UnescapeLiteral(literal); } - else if (spans.Count() == 1 && spans.First().IsInlineCode) + else if (spans.Count() == 1 && spans.First() is MarkdownSpan.InlineCode inlineCode) { - anchor = (spans.First() as MarkdownSpan.InlineCode).code; + anchor = inlineCode.code; } else { @@ -988,19 +981,17 @@ private static string BugWorkaroundDecode(string s) private static int BugWorkaroundIndent(ref MarkdownParagraph mdp, int level) { - if (!mdp.IsParagraph) + if (mdp is not MarkdownParagraph.Paragraph p) { return level; } - var p = mdp as MarkdownParagraph.Paragraph; var spans = p.body; - if (spans.Count() == 0 || !spans[0].IsLiteral) + if (spans.FirstOrDefault() is not MarkdownSpan.Literal literal) { return level; } - var literal = spans[0] as MarkdownSpan.Literal; if (!literal.text.StartsWith("ceci-n'est-pas-une-indent")) { return level; @@ -1028,10 +1019,10 @@ internal static class TableHelpers /// internal static IEnumerable CreateFunctionMembersTable(string xml) { - XDocument doc = XDocument.Parse(xml); + XDocument doc = XDocument.Parse(xml) ?? throw new ArgumentException("XML could not be parsed as a document", nameof(xml)); Table table = CreateTable(width: 9000); int rowsLeftToMerge = 0; - foreach (var row in doc.Root.Elements("tr")) + foreach (var row in doc.Root!.Elements("tr")) { // Convert all the cells we *do* have... var cells = row.Elements().Select(CreateCell).ToList(); diff --git a/tools/MarkdownConverter/Converter/MarkdownSpecConverter.cs b/tools/MarkdownConverter/Converter/MarkdownSpecConverter.cs index cb7450495..1ed5e152d 100644 --- a/tools/MarkdownConverter/Converter/MarkdownSpecConverter.cs +++ b/tools/MarkdownConverter/Converter/MarkdownSpecConverter.cs @@ -17,12 +17,12 @@ public static void ConvertToWord(MarkdownSpec spec, string templateFile, string resultDoc.AddPart(part.OpenXmlPart, part.RelationshipId); } - var body = resultDoc.MainDocumentPart.Document.Body; + var body = resultDoc.MainDocumentPart!.Document.Body!; ReplaceTableOfContents(spec, body); var context = new ConversionContext(); - context.MaxBookmarkId.Value = 1 + body.Descendants().Max(bookmark => int.Parse(bookmark.Id)); + context.MaxBookmarkId.Value = 1 + body.Descendants().Max(bookmark => int.Parse(bookmark.Id!)); foreach (var src in spec.Sources) { @@ -72,9 +72,12 @@ private static void ReplaceTableOfContents(MarkdownSpec spec, Body body) } } - private static bool FindToc(Body body, out int ifirst, out int iLast, out string instr, out Paragraph secBreak) + private static bool FindToc(Body body, out int ifirst, out int iLast, out string? instr, out Paragraph? secBreak) { - ifirst = -1; iLast = -1; instr = null; secBreak = null; + ifirst = -1; + iLast = -1; + instr = null; + secBreak = null; for (int i = 0; i < body.ChildElements.Count; i++) { @@ -86,23 +89,25 @@ private static bool FindToc(Body body, out int ifirst, out int iLast, out string // The TOC might be a simple field var sf = p.OfType().FirstOrDefault(); - if (sf != null && sf.Instruction.Value.Contains("TOC")) + if (sf?.Instruction?.Value?.Contains("TOC") == true) { if (ifirst != -1) { throw new Exception("Found start of TOC and then another simple TOC"); } - ifirst = i; iLast = i; instr = sf.Instruction.Value; + ifirst = i; + iLast = i; + instr = sf.Instruction.Value; break; } // or it might be a complex field var runElements = (from r in p.OfType() from e in r select e).ToList(); - var f1 = runElements.FindIndex(f => f is FieldChar && (f as FieldChar).FieldCharType.Value == FieldCharValues.Begin); - var f2 = runElements.FindIndex(f => f is FieldCode && (f as FieldCode).Text.Contains("TOC")); - var f3 = runElements.FindIndex(f => f is FieldChar && (f as FieldChar).FieldCharType.Value == FieldCharValues.Separate); - var f4 = runElements.FindIndex(f => f is FieldChar && (f as FieldChar).FieldCharType.Value == FieldCharValues.End); + var f1 = runElements.FindIndex(f => f is FieldChar fc && fc.FieldCharType?.Value == FieldCharValues.Begin); + var f2 = runElements.FindIndex(f => f is FieldCode fc && fc.Text.Contains("TOC")); + var f3 = runElements.FindIndex(f => f is FieldChar fc && fc.FieldCharType?.Value == FieldCharValues.Separate); + var f4 = runElements.FindIndex(f => f is FieldChar fc && fc.FieldCharType?.Value == FieldCharValues.End); if (f1 != -1 && f2 != -1 && f3 != -1 && f2 > f1 && f3 > f2) { @@ -111,7 +116,8 @@ private static bool FindToc(Body body, out int ifirst, out int iLast, out string throw new Exception("Found start of TOC and then another start of TOC"); } - ifirst = i; instr = (runElements[f2] as FieldCode).Text; + ifirst = i; + instr = ((FieldCode) runElements[f2]).Text; } if (f4 != -1 && f4 > f1 && f4 > f2 && f4 > f3) { @@ -141,7 +147,7 @@ private static bool FindToc(Body body, out int ifirst, out int iLast, out string continue; } - var sp = p.ParagraphProperties.OfType().FirstOrDefault(); + var sp = p.ParagraphProperties?.OfType().FirstOrDefault(); if (sp == null) { continue; diff --git a/tools/MarkdownConverter/OptionExtensions.cs b/tools/MarkdownConverter/OptionExtensions.cs index d8bdfb74a..f8b287feb 100644 --- a/tools/MarkdownConverter/OptionExtensions.cs +++ b/tools/MarkdownConverter/OptionExtensions.cs @@ -4,7 +4,7 @@ namespace MarkdownConverter; internal static class OptionExtensions { - public static T Option(this FSharpOption o) where T : class + public static T? Option(this FSharpOption o) where T : class { if (FSharpOption.GetTag(o) == FSharpOption.Tags.None) { diff --git a/tools/MarkdownConverter/Program.cs b/tools/MarkdownConverter/Program.cs index b64281c80..83ea5c34d 100644 --- a/tools/MarkdownConverter/Program.cs +++ b/tools/MarkdownConverter/Program.cs @@ -36,7 +36,8 @@ static int Main(string[] args) else { // Windows command-shell doesn't do globbing, so we have to do it ourselves - string dir = Path.GetDirectoryName(arg), filename = Path.GetFileName(arg); + string dir = Path.GetDirectoryName(arg) ?? throw new ArgumentException($"'{arg}' is a root directory"); + string filename = Path.GetFileName(arg); if (dir.Contains("*") || dir.Contains("?")) { Console.Error.WriteLine("Can't match wildcard directory names"); @@ -55,7 +56,8 @@ static int Main(string[] args) } var imdfiles = new List(); - string idocxfile = null, odocfile = null; + string? idocxfile = null; + string? odocfile = null; foreach (var ifile in ifiles) { var name = Path.GetFileName(ifile); @@ -126,7 +128,7 @@ static int Main(string[] args) Console.WriteLine($"Writing '{Path.GetFileName(odocfile2)}'"); try { - MarkdownSpecConverter.ConvertToWord(md, idocxfile, odocfile2, reporter); + MarkdownSpecConverter.ConvertToWord(md, idocxfile!, odocfile2, reporter); } catch (Exception ex) { @@ -142,4 +144,4 @@ static int Main(string[] args) Console.WriteLine($"Warnings: {reporter.Warnings}"); return reporter.Errors == 0 ? 0 : 1; } -} \ No newline at end of file +} diff --git a/tools/MarkdownConverter/Spec/MarkdownSpec.cs b/tools/MarkdownConverter/Spec/MarkdownSpec.cs index d0513fa71..c7ccf8f06 100644 --- a/tools/MarkdownConverter/Spec/MarkdownSpec.cs +++ b/tools/MarkdownConverter/Spec/MarkdownSpec.cs @@ -55,9 +55,12 @@ private MarkdownSpec(IEnumerable> sources, Repor } } - public static MarkdownSpec ReadFiles(IEnumerable files, Reporter reporter, Func readerProvider = null) + public static MarkdownSpec ReadFiles(IEnumerable files, Reporter reporter, Func? readerProvider = null) { - if (files is null) throw new ArgumentNullException(nameof(files)); + if (files is null) + { + throw new ArgumentNullException(nameof(files)); + } readerProvider ??= File.OpenText; diff --git a/tools/MarkdownConverter/Spec/Reporter.cs b/tools/MarkdownConverter/Spec/Reporter.cs index 3b8350b3e..1505e2299 100644 --- a/tools/MarkdownConverter/Spec/Reporter.cs +++ b/tools/MarkdownConverter/Spec/Reporter.cs @@ -18,14 +18,14 @@ public class Reporter /// /// The parent reporter, if any. (This is to allow a complete error/warning count to be kept.) /// - private readonly Reporter parent; + private readonly Reporter? parent; public int Errors { get; private set; } public int Warnings { get; private set; } public SourceLocation Location { get; set; } = new SourceLocation(null, null, null, null); - private Reporter(Reporter parent, TextWriter writer, string filename) + private Reporter(Reporter? parent, TextWriter writer, string? filename) { this.parent = parent; this.writer = writer; @@ -38,33 +38,33 @@ public Reporter(TextWriter writer) : this(null, writer, null) public Reporter WithFileName(string filename) => new Reporter(this, writer, filename); - public string CurrentFile => Location.File; + public string? CurrentFile => Location.File; - public SectionRef CurrentSection + public SectionRef? CurrentSection { get => Location.Section; set => Location = new SourceLocation(CurrentFile, value, CurrentParagraph, null); } - public MarkdownParagraph CurrentParagraph + public MarkdownParagraph? CurrentParagraph { get => Location.Paragraph; set => Location = new SourceLocation(CurrentFile, CurrentSection, value, null); } - public MarkdownSpan CurrentSpan + public MarkdownSpan? CurrentSpan { get => Location.Span; set => Location = new SourceLocation(CurrentFile, CurrentSection, CurrentParagraph, value); } - public void Error(string code, string msg, SourceLocation loc = null) + public void Error(string code, string msg, SourceLocation? loc = null) { IncrementErrors(); Report(code, "ERROR", msg, loc?.Description ?? Location.Description); } - public void Warning(string code, string msg, SourceLocation loc = null) + public void Warning(string code, string msg, SourceLocation? loc = null) { IncrementWarnings(); Report(code, "WARNING", msg, loc?.Description ?? Location.Description); diff --git a/tools/MarkdownConverter/Spec/SectionRef.cs b/tools/MarkdownConverter/Spec/SectionRef.cs index cd3e77f8d..e4aab4663 100644 --- a/tools/MarkdownConverter/Spec/SectionRef.cs +++ b/tools/MarkdownConverter/Spec/SectionRef.cs @@ -7,7 +7,7 @@ public class SectionRef /// /// Section number, e.g. 10.1.2, or A.3 or null for sections without a number (e.g. Foreword). /// - public string Number { get; } + public string? Number { get; } /// /// Section title, e.g. "10.1.2 Goto Statement" @@ -43,9 +43,9 @@ public SectionRef(MarkdownParagraph.Heading mdh, string filename, string bookmar { Level = mdh.size; var spans = mdh.body; - if (spans.Length == 1 && spans.First().IsLiteral) + if (spans.Length == 1 && spans.First() is MarkdownSpan.Literal literal) { - Title = MarkdownUtilities.UnescapeLiteral(spans.First() as MarkdownSpan.Literal).Trim(); + Title = MarkdownUtilities.UnescapeLiteral(literal).Trim(); if (char.IsDigit(Title[0]) || (Title[0] >= 'A' && Title[0] <= 'D' && Title[1] == '.')) { var titleParts = Title.Split(new[] { ' ' }, 2); diff --git a/tools/MarkdownConverter/Spec/SourceLocation.cs b/tools/MarkdownConverter/Spec/SourceLocation.cs index 7116a5a2e..222c1667f 100644 --- a/tools/MarkdownConverter/Spec/SourceLocation.cs +++ b/tools/MarkdownConverter/Spec/SourceLocation.cs @@ -6,13 +6,13 @@ namespace MarkdownConverter.Spec; public class SourceLocation { - public string File { get; } - public SectionRef Section { get; } - public MarkdownParagraph Paragraph { get; } - public MarkdownSpan Span { get; } - public string _loc; // generated lazily. + public string? File { get; } + public SectionRef? Section { get; } + public MarkdownParagraph? Paragraph { get; } + public MarkdownSpan? Span { get; } + public string? _loc; // generated lazily. - public SourceLocation(string file, SectionRef section, MarkdownParagraph paragraph, MarkdownSpan span) + public SourceLocation(string? file, SectionRef? section, MarkdownParagraph? paragraph, MarkdownSpan? span) { File = file; Section = section; @@ -42,11 +42,13 @@ public string Description } else { + // TODO: Revisit all of the null-forgiving operator usage here at some point. + // Note: we now use the F# Markdown support for ranges, rather than finding text directly. // This produces slightly weaker diagnostics than before, but it avoids an awful lot of fiddly fuzzy text matching code. // TODO: Revisit SectionRef.Loc, possibly just exposing the paragraph directly. - var maybeRange = GetRange(Span); + var maybeRange = GetRange(Span!); if (maybeRange != null) { var range = maybeRange.Value; @@ -54,7 +56,7 @@ public string Description } else { - maybeRange = GetRange(Paragraph) ?? GetRange(Section.Loc.Paragraph); + maybeRange = GetRange(Paragraph!) ?? GetRange(Section!.Loc.Paragraph!); if (maybeRange == null) { // We don't have any line or column information. Just report the filename. diff --git a/tools/MarkdownConverter/Spec/StringLengthComparer.cs b/tools/MarkdownConverter/Spec/StringLengthComparer.cs deleted file mode 100644 index ea4ef6258..000000000 --- a/tools/MarkdownConverter/Spec/StringLengthComparer.cs +++ /dev/null @@ -1,19 +0,0 @@ -namespace MarkdownConverter.Spec; - -public class StringLengthComparer : IComparer -{ - public int Compare(string x, string y) - { - if (x.Length > y.Length) - { - return -1; - } - - if (x.Length < y.Length) - { - return 1; - } - - return string.Compare(x, y); - } -} From 02ec8c579df16c1c8c2ca0ffea815aed28f7a3d6 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Tue, 28 Nov 2023 12:51:10 -0500 Subject: [PATCH 024/259] Create Tasks-to-Produce-a-Word-Spec-for-Ecma.md (#1014) --- admin/Tasks-to-Produce-a-Word-Spec-for-Ecma.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 admin/Tasks-to-Produce-a-Word-Spec-for-Ecma.md diff --git a/admin/Tasks-to-Produce-a-Word-Spec-for-Ecma.md b/admin/Tasks-to-Produce-a-Word-Spec-for-Ecma.md new file mode 100644 index 000000000..214de3cd7 --- /dev/null +++ b/admin/Tasks-to-Produce-a-Word-Spec-for-Ecma.md @@ -0,0 +1,12 @@ +# Tasks to Produce a Word-Spec for Ecma + +While the md version of the spec is very close to the format required for publication, the following tasks need to be performed manually ***after*** the Word version has been generated from the md: + +1. Remove the copyright page. +1. Page footers: Empty except for a centered page number (Roman in front matter, Arabic for the rest). +1. Change the TOC format to match the previous editions (by changing the underlying field code). +1. Page Headers: Recto pages have running chapter/appendix name on RHS, “ECMA-334” on LHS; verso pages the opposite; all bold. +1. Change the format for each term and definition entry. (*Should have been done to the GitHub repo in pre-v8, so ideally won’t need any editing for V8+.*) +1. Add an odd section break prior to the start of each chapter/annex. Also disable auto-page break in h1/appendix1 style. This makes each chapter start on an odd (recto) page number. +1. Correct Annex clause/subclause numbering (it continues on in Arabic form instead of using a leading alpha). Do this by copying the styles from the (custom modified) previous edition. +1. The 2 tables in C.4 are in HTML and don’t get converted by the md-to-Word tool. As such, they need to be manually inserted into the final Word draft. Search for “FIXME” placeholders. From defb60839716da8ade930840cdc7ebb15db12b1c Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Wed, 29 Nov 2023 10:49:20 -0500 Subject: [PATCH 025/259] Update README.md (#1015) --- README.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3e69b35da..7eb446622 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,21 @@ This project has adopted the code of conduct defined by the Contributor Covenant ## C# Language Specification +### C# 9.0 draft + +The branch `draft-v9` has Draft PRs and Issues for C# 9.0. + +### C# 8.0 draft + +The branch `draft-v8` has the evolving draft text for C# 8.0. + ### C# 7.0 draft -The branch `standard-v7` has the text for C# 7.0. It has been submitted as a formal standard to ECMA. +The branch `standard-v7` has the text for C# 7.0. It has been submitted for consideration as a formal standard to ECMA. ### C# 6.0 standard -The branch `standard-v6` has the ECMA C# C# 6.0 standard text, in Markdown format. For the official standard, see the [ECMA site](https://www.ecma-international.org/publications-and-standards/standards/ecma-334/). +The branch `standard-v6` has the ECMA C# 6.0 standard text, in Markdown format. For the official standard, see the [ECMA site](https://www.ecma-international.org/publications-and-standards/standards/ecma-334/). ### C# 5.0 standard @@ -39,7 +47,7 @@ More broadly, *no* comments should be regarded as being part of the standard its A home for adminstrative files (such as [eventually] meeting agendas and minutes). -For now, it contains separate logs for the work going on to add V6 (and then V7) features. +For now, it contains separate logs for past (v6, v7), present (v8), and future (v9) work going on to add new features. ## Tools folder From 4f8255dae6db5bc57df20f5744fbc33202117b54 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Fri, 24 Nov 2023 14:21:04 -0500 Subject: [PATCH 026/259] Add example of compile-time error Fixes #938 Add an example of a type pattern to demonstrate when a pattern generates a compile-time error. --- standard/patterns.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/standard/patterns.md b/standard/patterns.md index 3ab99b680..63060d0d9 100644 --- a/standard/patterns.md +++ b/standard/patterns.md @@ -22,6 +22,28 @@ A *declaration_pattern* and a *var_pattern* can result in the declaration of a l Each pattern form defines the set of types for input values that the pattern may be applied to. A pattern `P` is *applicable to* a type `T` if `T` is among the types whose values the pattern may match. It is a compile-time error if a pattern `P` appears in a program to match a pattern input value ([§11.1](patterns.md#111-general)) of type `T` if `P` is not applicable to `T`. +> *Example*: The following example generates a compile-time error because the compile-time type of `v` is `Stream`. A variable of type `Stream` can never be an expression of type `string`: +> +> ```csharp +> Stream v = OpenDataFile(); // compile-time type of 'v' is 'Stream' +> if (v is string) // compile-time error +> { +> /* code assuming v is a string*/ +> } +> ``` +> +> However, the following doesn't generate a compile-time error because the compile-time type of `v` is `object`. A variable of type `object` could be an expression of type `string`: +> +> ```csharp +> object v = OpenDataFile(); +> if (v is string s) +> { +> /* code assuming v is a string*/ +> } +> ``` +> +> *end example* + Each pattern form defines the set of values for which the pattern *matches* the value at runtime. ### 11.2.2 Declaration pattern From 37741bb55362b7393f2111f7f06a8d792a5fa053 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Mon, 27 Nov 2023 10:48:10 -0500 Subject: [PATCH 027/259] respond to feedback --- standard/patterns.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/standard/patterns.md b/standard/patterns.md index 63060d0d9..73e849ade 100644 --- a/standard/patterns.md +++ b/standard/patterns.md @@ -22,23 +22,23 @@ A *declaration_pattern* and a *var_pattern* can result in the declaration of a l Each pattern form defines the set of types for input values that the pattern may be applied to. A pattern `P` is *applicable to* a type `T` if `T` is among the types whose values the pattern may match. It is a compile-time error if a pattern `P` appears in a program to match a pattern input value ([§11.1](patterns.md#111-general)) of type `T` if `P` is not applicable to `T`. -> *Example*: The following example generates a compile-time error because the compile-time type of `v` is `Stream`. A variable of type `Stream` can never be an expression of type `string`: +> *Example*: The following example generates a compile-time error because the compile-time type of `v` is `Stream`. A variable of type `Stream` can never have a value that is reference compatible with `string`: > > ```csharp > Stream v = OpenDataFile(); // compile-time type of 'v' is 'Stream' > if (v is string) // compile-time error > { -> /* code assuming v is a string*/ +> // code assuming v is a string > } > ``` > -> However, the following doesn't generate a compile-time error because the compile-time type of `v` is `object`. A variable of type `object` could be an expression of type `string`: +> However, the following doesn't generate a compile-time error because the compile-time type of `v` is `object`. A variable of type `object` could have a value that is reference compatible with `string`: > > ```csharp > object v = OpenDataFile(); > if (v is string s) > { -> /* code assuming v is a string*/ +> // code assuming v is a string > } > ``` > From ac40ad6ace35a4a91b1ff1f58874b62aa7ad808c Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Fri, 24 Nov 2023 14:10:38 -0500 Subject: [PATCH 028/259] Add example for unreachable code Fixes #937 I admit this rule confused me, and I asked to add the example. After reading the updated, I'm ambivalent about adding the example. I don't want to move it into the bullet list, as that breaks the flow even more. Let's discuss if it's needed at the meeting. --- standard/variables.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/standard/variables.md b/standard/variables.md index 744b61945..6b157c33f 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -343,6 +343,19 @@ The definite-assignment state of *v* on the control flow transfer to a reachable - If *v* is a pattern variable declared in the *switch_label*: “definitely assigned”. - Otherwise, the state of *v* is the same as the stat of *v* after *expr*. +> *Example*: The third rule eliminates the need for the compiler to warn if an unassigned variable is accessed in unreachable code. The state of *b* is "definitely assigned" in the unreachable switch label `case 2 when b`. +> +> ```csharp +> bool b; +> switch (1) +> { +> case 2 when b: // b is definitely assigned here. +> break; +> } +> ``` +> +> *end example* + A consequence of these rules is that a pattern variable declared in a *switch_label* will be “not definitely assigned” in the statements of its switch section if it is not the only reachable switch label in its section. > *Example*: From ee2542311d83c66387b82da9ddaa5995ceed1b27 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Mon, 27 Nov 2023 10:49:03 -0500 Subject: [PATCH 029/259] respond to feedback --- standard/variables.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/variables.md b/standard/variables.md index 6b157c33f..768a8e286 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -343,7 +343,7 @@ The definite-assignment state of *v* on the control flow transfer to a reachable - If *v* is a pattern variable declared in the *switch_label*: “definitely assigned”. - Otherwise, the state of *v* is the same as the stat of *v* after *expr*. -> *Example*: The third rule eliminates the need for the compiler to warn if an unassigned variable is accessed in unreachable code. The state of *b* is "definitely assigned" in the unreachable switch label `case 2 when b`. +> *Example*: The third rule eliminates the need for the compiler to issue an error if an unassigned variable is accessed in unreachable code. The state of *b* is "definitely assigned" in the unreachable switch label `case 2 when b`. > > ```csharp > bool b; From 5e21fa78b165e15e9f1eb85b743042d0e7947b75 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Thu, 23 Nov 2023 11:14:35 +0000 Subject: [PATCH 030/259] Remove redundant (and incomplete) description of array element checking This already existed in the right place (in the list of argument evaluation steps) but the example was associated with the duplicate. Fixes #801. --- standard/expressions.md | 48 ++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index 42ba20f1c..1e9d66246 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -619,7 +619,29 @@ During the run-time processing of a function member invocation ([§12.6.6](expre > > *end example* -- For an input, output, or reference argument, the variable reference is evaluated and the resulting storage location becomes the storage location represented by the parameter in the function member invocation. For an input or reference argument, the variable shall be definitely assigned at the point of the method call. If the variable reference given as an output, or reference is an array element of a *reference_type*, a run-time check is performed to ensure that the element type of the array is identical to the type of the parameter. If this check fails, a `System.ArrayTypeMismatchException` is thrown. +- For an input, output, or reference argument, the variable reference is evaluated and the resulting storage location becomes the storage location represented by the parameter in the function member invocation. For an input or reference argument, the variable shall be definitely assigned at the point of the method call. If the variable reference given as an output, or the variable reference is an array element of a *reference_type*, a run-time check is performed to ensure that the element type of the array is identical to the type of the parameter. If this check fails, a `System.ArrayTypeMismatchException` is thrown. *Note*: this run-time check is required due to array covariance ([§17.6](arrays.md#176-array-covariance)). *end note* + +> *Example*: In the following code +> +> +> ```csharp +> class Test +> { +> static void F(ref object x) {...} +> +> static void Main() +> { +> object[] a = new object[10]; +> object[] b = new string[10]; +> F(ref a[0]); // Ok +> F(ref b[1]); // ArrayTypeMismatchException +> } +> } +> ``` +> +> the second invocation of `F` causes a `System.ArrayTypeMismatchException` to be thrown because the actual element type of `b` is `string` and not `object`. +> +> *end example* Methods, indexers, and instance constructors may declare their right-most parameter to be a parameter array ([§15.6.2.6](classes.md#15626-parameter-arrays)). Such function members are invoked either in their normal form or in their expanded form depending on which is applicable ([§12.6.4.2](expressions.md#12642-applicable-function-member)): @@ -655,30 +677,6 @@ The expressions of an argument list are always evaluated in textual order. > > *end example* -The array co-variance rules ([§17.6](arrays.md#176-array-covariance)) permit a value of an array type `A[]` to be a reference to an instance of an array type `B[]`, provided an implicit reference conversion exists from `B` to `A`. Because of these rules, when an array element of a *reference_type* is passed as an output or reference argument, a run-time check is required to ensure that the actual element type of the array is *identical* to that of the parameter. - -> *Example*: In the following code -> -> -> ```csharp -> class Test -> { -> static void F(ref object x) {...} -> -> static void Main() -> { -> object[] a = new object[10]; -> object[] b = new string[10]; -> F(ref a[0]); // Ok -> F(ref b[1]); // ArrayTypeMismatchException -> } -> } -> ``` -> -> the second invocation of `F` causes a `System.ArrayTypeMismatchException` to be thrown because the actual element type of `b` is `string` and not `object`. -> -> *end example* - When a function member with a parameter array is invoked in its expanded form with at least one expanded argument, the invocation is processed as if an array creation expression with an array initializer ([§12.8.16.5](expressions.md#128165-array-creation-expressions)) was inserted around the expanded arguments. An empty array is passed when there are no arguments for the parameter array; it is unspecified whether the reference passed is to a newly allocated or existing empty array. > *Example*: Given the declaration From 1f3041619ccdb40daa73a37b582d1a9fdbb3fb22 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Wed, 29 Nov 2023 20:34:28 +0000 Subject: [PATCH 031/259] Improve existing wording --- standard/expressions.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/standard/expressions.md b/standard/expressions.md index 1e9d66246..c068a2723 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -619,7 +619,9 @@ During the run-time processing of a function member invocation ([§12.6.6](expre > > *end example* -- For an input, output, or reference argument, the variable reference is evaluated and the resulting storage location becomes the storage location represented by the parameter in the function member invocation. For an input or reference argument, the variable shall be definitely assigned at the point of the method call. If the variable reference given as an output, or the variable reference is an array element of a *reference_type*, a run-time check is performed to ensure that the element type of the array is identical to the type of the parameter. If this check fails, a `System.ArrayTypeMismatchException` is thrown. *Note*: this run-time check is required due to array covariance ([§17.6](arrays.md#176-array-covariance)). *end note* +- For an input, output, or reference argument, the variable reference is evaluated and the resulting storage location becomes the storage location represented by the parameter in the function member invocation. For an input or reference argument, the variable shall be definitely assigned at the point of the method call. If the variable reference is given as an output argument, or is an array element of a *reference_type*, a run-time check is performed to ensure that the element type of the array is identical to the type of the parameter. If this check fails, a `System.ArrayTypeMismatchException` is thrown. + +> *Note*: this run-time check is required due to array covariance ([§17.6](arrays.md#176-array-covariance)). *end note* > *Example*: In the following code > From 0409dfa35afe22be26d7d7f47ee8221547c7ab42 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Wed, 29 Nov 2023 20:36:23 +0000 Subject: [PATCH 032/259] Update standard/expressions.md Co-authored-by: Bill Wagner --- standard/expressions.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/standard/expressions.md b/standard/expressions.md index c068a2723..c718a40aa 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -622,7 +622,9 @@ During the run-time processing of a function member invocation ([§12.6.6](expre - For an input, output, or reference argument, the variable reference is evaluated and the resulting storage location becomes the storage location represented by the parameter in the function member invocation. For an input or reference argument, the variable shall be definitely assigned at the point of the method call. If the variable reference is given as an output argument, or is an array element of a *reference_type*, a run-time check is performed to ensure that the element type of the array is identical to the type of the parameter. If this check fails, a `System.ArrayTypeMismatchException` is thrown. > *Note*: this run-time check is required due to array covariance ([§17.6](arrays.md#176-array-covariance)). *end note* + + > *Example*: In the following code > > From b65001091771d81370bfbae62da96448de02cdb5 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 29 Nov 2023 15:40:59 -0500 Subject: [PATCH 033/259] meeting commentary (#1017) Follow up to #1012 --- standard/variables.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/standard/variables.md b/standard/variables.md index 768a8e286..baae7a154 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -333,17 +333,7 @@ The definite-assignment state of *v* at the beginning of a case’s guard clause - If the switch label containing that guard clause ([§13.8.3](statements.md#1383-the-switch-statement)) is not reachable: “definitely assigned”. - Otherwise, the state of *v* is the same as the state of *v* after *expr*. -The definite-assignment state of *v* on the control flow transfer to a reachable switch block statement list is - -- If the control transfer was due to a ‘goto case’ or ‘goto default’ statement, then the state of *v* is the same as the state at the beginning of that ‘goto’ statement. -- If the control transfer was due to the `default` label of the switch, then the state of *v* is the same as the state of *v* after *expr*. -- If the control transfer was due to an unreachable switch label, then the state of *v* is “definitely assigned”. -- If the control transfer was due to a reachable switch label with a guard clause, then the state of *v* is the same as the state of *v* after the guard clause. -- If the control transfer was due to a reachable switch label without a guard clause, then the state of *v* is - - If *v* is a pattern variable declared in the *switch_label*: “definitely assigned”. - - Otherwise, the state of *v* is the same as the stat of *v* after *expr*. - -> *Example*: The third rule eliminates the need for the compiler to issue an error if an unassigned variable is accessed in unreachable code. The state of *b* is "definitely assigned" in the unreachable switch label `case 2 when b`. +> *Example*: The second rule eliminates the need for the compiler to issue an error if an unassigned variable is accessed in unreachable code. The state of *b* is "definitely assigned" in the unreachable switch label `case 2 when b`. > > ```csharp > bool b; @@ -356,6 +346,16 @@ The definite-assignment state of *v* on the control flow transfer to a reachable > > *end example* +The definite-assignment state of *v* on the control flow transfer to a reachable switch block statement list is + +- If the control transfer was due to a ‘goto case’ or ‘goto default’ statement, then the state of *v* is the same as the state at the beginning of that ‘goto’ statement. +- If the control transfer was due to the `default` label of the switch, then the state of *v* is the same as the state of *v* after *expr*. +- If the control transfer was due to an unreachable switch label, then the state of *v* is “definitely assigned”. +- If the control transfer was due to a reachable switch label with a guard clause, then the state of *v* is the same as the state of *v* after the guard clause. +- If the control transfer was due to a reachable switch label without a guard clause, then the state of *v* is + - If *v* is a pattern variable declared in the *switch_label*: “definitely assigned”. + - Otherwise, the state of *v* is the same as the stat of *v* after *expr*. + A consequence of these rules is that a pattern variable declared in a *switch_label* will be “not definitely assigned” in the statements of its switch section if it is not the only reachable switch label in its section. > *Example*: From 5cc72ce90d163398b3580221ecf522dee7931bc7 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Fri, 24 Nov 2023 09:02:08 +0000 Subject: [PATCH 034/259] =?UTF-8?q?Delete=20duplicated=20Note=20in=20?= =?UTF-8?q?=C2=A76.2.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A note was duplicated (historically it was an in para note in v5, a standalone note in v6, and now in v7 is both – I'd blame git ;-)) --- standard/lexical-structure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index c55aac18d..d6b485849 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -72,7 +72,7 @@ If a sequence of tokens can be parsed (in context) as a *simple_name* ([§12.8.4 - A contextual query keyword appearing inside a query expression; or - In certain contexts, *identifier* is treated as a disambiguating token. Those contexts are where the sequence of tokens being disambiguated is immediately preceded by one of the keywords `is`, `case` or `out`, or arises while parsing the first element of a tuple literal (in which case the tokens are preceded by `(` or `:` and the identifier is followed by a `,`) or a subsequent element of a tuple literal. -If the following token is among this list, or an identifier in such a context, then the *type_argument_list* is retained as part of the *simple_name*, *member_access* or *pointer_member-access* and any other possible parse of the sequence of tokens is discarded. Otherwise, the *type_argument_list* is not considered to be part of the *simple_name*, *member_access* or *pointer_member_access*, even if there is no other possible parse of the sequence of tokens. (These rules are not applied when parsing a *type_argument_list* in a *namespace_or_type_name* [§7.8](basic-concepts.md#78-namespace-and-type-names).) +If the following token is among this list, or an identifier in such a context, then the *type_argument_list* is retained as part of the *simple_name*, *member_access* or *pointer_member-access* and any other possible parse of the sequence of tokens is discarded. Otherwise, the *type_argument_list* is not considered to be part of the *simple_name*, *member_access* or *pointer_member_access*, even if there is no other possible parse of the sequence of tokens. > *Note*: These rules are not applied when parsing a *type_argument_list* in a *namespace_or_type_name* ([§7.8](basic-concepts.md#78-namespace-and-type-names)). *end note* From 591bd274e7e53d1cb998eeb50a36f328da16077e Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Thu, 23 Nov 2023 10:54:00 +0000 Subject: [PATCH 035/259] Add note for the purpose of input parameters Fixes #845. I'm not at all convinced of the tone or precision of this - it's effectively a straw man for further discussion. --- standard/classes.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/standard/classes.md b/standard/classes.md index 6d687703e..471a92ead 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -2156,6 +2156,8 @@ Input parameters are not allowed on functions declared as an iterator ([§15.14] In a method that takes input parameters, it is possible for multiple names to represent the same storage location. +> *Note*: The primary purpose of input parameters is for efficiency. When the type of a method parameter is a large struct (in terms of memory requirements), it is useful to be able to avoid copying the whole value of the argument when calling the method. Input parameters allow methods to refer to existing values in memory, while providing protection against unwanted changes to those values. *end note* + #### 15.6.2.4 Reference parameters A parameter declared with a `ref` modifier is a reference parameter. A reference parameter is a local reference variable ([§9.7](variables.md#97-reference-variables-and-returns)) that gets its initial referent from the corresponding argument supplied in the method invocation. From dc288d965aacb5a83bdeb8603bf97d75bb041d76 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Thu, 23 Nov 2023 10:43:59 +0000 Subject: [PATCH 036/259] Clarify that optional/required isn't relevant in ctor or indexer signatures Fixes #782. (I hadn't noticed that the same thing is relevant for indexers.) --- standard/basic-concepts.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/standard/basic-concepts.md b/standard/basic-concepts.md index 97e72a319..101435d88 100644 --- a/standard/basic-concepts.md +++ b/standard/basic-concepts.md @@ -525,8 +525,8 @@ The following accessibility constraints exist: Methods, instance constructors, indexers, and operators are characterized by their ***signatures***: - The signature of a method consists of the name of the method, the number of type parameters, and the type and parameter-passing mode of each of its formal parameters, considered in the order left to right. For these purposes, any type parameter of the method that occurs in the type of a formal parameter is identified not by its name, but by its ordinal position in the type parameter list of the method. The signature of a method specifically does not include the return type, parameter names, type parameter names, type parameter constraints, the `params` or `this` parameter modifiers, nor whether parameters are required or optional. -- The signature of an instance constructor consists of the type and parameter-passing mode of each of its formal parameters, considered in the order left to right. The signature of an instance constructor specifically does not include the `params` modifier that may be specified for the right-most parameter. -- The signature of an indexer consists of the type of each of its formal parameters, considered in the order left to right. The signature of an indexer specifically does not include the element type, nor does it include the `params` modifier that may be specified for the right-most parameter. +- The signature of an instance constructor consists of the type and parameter-passing mode of each of its formal parameters, considered in the order left to right. The signature of an instance constructor specifically does not include the `params` modifier that may be specified for the right-most parameter, nor whether parameters are required or optional. +- The signature of an indexer consists of the type of each of its formal parameters, considered in the order left to right. The signature of an indexer specifically does not include the element type, nor does it include the `params` modifier that may be specified for the right-most parameter, nor whether parameters are required or optional. - The signature of an operator consists of the name of the operator and the type of each of its formal parameters, considered in the order left to right. The signature of an operator specifically does not include the result type. - The signature of a conversion operator consists of the source type and the target type. The implicit or explicit classification of a conversion operator is not part of the signature. - Two signatures of the same member kind (method, instance constructor, indexer or operator) are considered to be the *same signatures* if they have the same name, number of type parameters, number of parameters, and parameter-passing modes, and an identity conversion exists between the types of their corresponding parameters ([§10.2.2](conversions.md#1022-identity-conversion)). From 00cba6e121e3fbbf9879dde0c15149dca18386e6 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 29 Nov 2023 16:00:17 -0500 Subject: [PATCH 037/259] Wordsmithing return by ref (#1006) * wordsmiting on return-by-ref Fixes #805 Clarify that return-by-ref expressions are evaluated the same as return-by-value expressions. The distinction is that for return-by-ref, the result must be a variable reference. * bonus typo fix * Update standard/statements.md Co-authored-by: Jon Skeet --------- Co-authored-by: Jon Skeet --- standard/statements.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/standard/statements.md b/standard/statements.md index f32ea7811..0fc61ea83 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -313,7 +313,7 @@ Implicitly typed declarations contain the contextual keyword ([§6.4.4](lexical- - If there is no type named `var` in scope and the input matches *implicitly_typed_local_variable_declaration* then it is chosen; - Otherwise if a type named `var` is in scope then *implicitly_typed_local_variable_declaration* is not considered as a possible match. -Within a *local_variable_declaration* each variable is introduced by a ***declarator***, which is one of *implicitly_typed_local_variable_declarator*, *explicitly_typed_local_variable_declarator* or *ref_local_variable_declarator* for impicitly typed, explicitly typed and ref local variables respectively. The declarator defines the name (*identifier*) and initial value, if any, of the introduced variable. +Within a *local_variable_declaration* each variable is introduced by a ***declarator***, which is one of *implicitly_typed_local_variable_declarator*, *explicitly_typed_local_variable_declarator* or *ref_local_variable_declarator* for implicitly typed, explicitly typed and ref local variables respectively. The declarator defines the name (*identifier*) and initial value, if any, of the introduced variable. If there are multiple declarators in a declaration then they are processed, including any initializing expressions, in order left to right ([§9.4.4.5](variables.md#9445-declaration-statements)). @@ -1523,7 +1523,7 @@ It is a compile-time error for a `return` statement to appear in a `finally` blo A `return` statement is executed as follows: -- For a return-by-value, *expression* is evaluated and its value is converted to the effective return type of the containing function by an implicit conversion. The result of the conversion becomes the result value produced by the function. For a return-by-ref, a reference to the *variable_reference* designated by *expression* becomes the result produced by the function. That result is a variable. If the enclosing method’s return-by-ref includes `readonly`, the resulting variable is read-only. +- For a return-by-value, *expression* is evaluated and its value is converted to the effective return type of the containing function by an implicit conversion. The result of the conversion becomes the result value produced by the function. For a return-by-ref, the *expression* is evaluated, and the result shall be classified as a variable. If the enclosing method’s return-by-ref includes `readonly`, the resulting variable is read-only. - If the `return` statement is enclosed by one or more `try` or `catch` blocks with associated `finally` blocks, control is initially transferred to the `finally` block of the innermost `try` statement. When and if control reaches the end point of a `finally` block, control is transferred to the `finally` block of the next enclosing `try` statement. This process is repeated until the `finally` blocks of all enclosing `try` statements have been executed. - If the containing function is not an async function, control is returned to the caller of the containing function along with the result value, if any. - If the containing function is an async function, control is returned to the current caller, and the result value, if any, is recorded in the return task as described in ([§15.15.3](classes.md#15153-evaluation-of-a-task-returning-async-function)). From 4f575da64f389218a8e4f9cd6b4f451a33613d32 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 29 Nov 2023 16:06:55 -0500 Subject: [PATCH 038/259] Link sections on `throw` and handling exceptions (#1005) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Link sections on `throw` and handling exceptions Fixes #776 Links are added in both directions between §21.4 and §13.10.6. * Update standard/exceptions.md Co-authored-by: Bill Wagner --------- Co-authored-by: Mads Torgersen --- standard/exceptions.md | 2 +- standard/statements.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/standard/exceptions.md b/standard/exceptions.md index cad888ca1..d34d40a1d 100644 --- a/standard/exceptions.md +++ b/standard/exceptions.md @@ -25,7 +25,7 @@ The value of these properties can be specified in calls to the instance construc Exceptions are handled by a `try` statement ([§13.11](statements.md#1311-the-try-statement)). -When an exception occurs, the system searches for the nearest catch clause that can handle the exception, as determined by the run-time type of the exception. First, the current method is searched for a lexically enclosing `try` statement, and the associated `catch` clauses of the `try` statement are considered in order. If that fails, the method that called the current method is searched for a lexically enclosing `try` statement that encloses the point of the call to the current method. This search continues until a `catch` clause is found that can handle the current exception, by naming an exception class that is of the same class, or a base class, of the run-time type of the exception being thrown. A `catch` clause that doesn’t name an exception class can handle any exception. +When an exception is thrown (§21.2), the system searches for the nearest catch clause that can handle the exception, as determined by the run-time type of the exception. First, the current method is searched for a lexically enclosing `try` statement, and the associated `catch` clauses of the `try` statement are considered in order. If that fails, the method that called the current method is searched for a lexically enclosing `try` statement that encloses the point of the call to the current method. This search continues until a `catch` clause is found that can handle the current exception, by naming an exception class that is of the same class, or a base class, of the run-time type of the exception being thrown. A `catch` clause that doesn’t name an exception class can handle any exception. Once a matching `catch` clause is found, the system prepares to transfer control to the first statement of the `catch` clause. Before execution of the `catch` clause begins, the system first executes, in order, any `finally` clauses that were associated with `try` statements more nested that than the one that caught the exception. diff --git a/standard/statements.md b/standard/statements.md index 0fc61ea83..fb71f448d 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -1546,7 +1546,7 @@ A `throw` statement with no expression can be used only in a `catch` block, in w Because a `throw` statement unconditionally transfers control elsewhere, the end point of a `throw` statement is never reachable. -When an exception is thrown, control is transferred to the first `catch` clause in an enclosing `try` statement that can handle the exception. The process that takes place from the point of the exception being thrown to the point of transferring control to a suitable exception handler is known as ***exception propagation***. Propagation of an exception consists of repeatedly evaluating the following steps until a `catch` clause that matches the exception is found. In this description, the ***throw point*** is initially the location at which the exception is thrown. +When an exception is thrown, control is transferred to the first `catch` clause in an enclosing `try` statement that can handle the exception. The process that takes place from the point of the exception being thrown to the point of transferring control to a suitable exception handler is known as ***exception propagation***. Propagation of an exception consists of repeatedly evaluating the following steps until a `catch` clause that matches the exception is found. In this description, the ***throw point*** is initially the location at which the exception is thrown. This behavior is specified in (§21.4). - In the current function member, each `try` statement that encloses the throw point is examined. For each statement `S`, starting with the innermost `try` statement and ending with the outermost `try` statement, the following steps are evaluated: From 666572d42a30c19ea0eccb240c2a6816842381c3 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Wed, 29 Nov 2023 21:02:53 +0000 Subject: [PATCH 039/259] Tweaks to exception details This clarifies that even NRE, DivideByZeroException etc counts as the exception being thrown. --- standard/exceptions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/standard/exceptions.md b/standard/exceptions.md index d34d40a1d..39844a1dd 100644 --- a/standard/exceptions.md +++ b/standard/exceptions.md @@ -6,10 +6,10 @@ Exceptions in C# provide a structured, uniform, and type-safe way of handling bo ## 21.2 Causes of exceptions -Exception can be thrown in two different ways. +Exceptions can be thrown in two different ways. - A `throw` statement ([§13.10.6](statements.md#13106-the-throw-statement)) throws an exception immediately and unconditionally. Control never reaches the statement immediately following the `throw`. -- Certain exceptional conditions that arise during the processing of C# statements and expression cause an exception in certain circumstances when the operation cannot be completed normally. See [§21.5](exceptions.md#215-common-exception-classes) for a list of the various exceptions that can occur in this way. +- Certain exceptional conditions that arise during the processing of C# statements and expressions cause an exception to be thrown in certain circumstances when the operation cannot be completed normally. See [§21.5](exceptions.md#215-common-exception-classes) for a list of the various exceptions that can be thrown in this way. > *Example*: An integer division operation ([§12.10.3](expressions.md#12103-division-operator)) throws a `System.DivideByZeroException` if the denominator is zero. *end example* ## 21.3 The System.Exception class From c469a5d4f91adb1281b6487cd94d68ae990d6681 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 22 Nov 2023 11:43:46 -0500 Subject: [PATCH 040/259] Correct ID string for generic elements Fixes #771 Add instances where the `<` and `>` characters are replaced by `{` and `}` in the string IDs. --- standard/documentation-comments.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/standard/documentation-comments.md b/standard/documentation-comments.md index cbfd7634c..e7a2f6f33 100644 --- a/standard/documentation-comments.md +++ b/standard/documentation-comments.md @@ -691,7 +691,7 @@ The documentation generator observes the following rules when it generates the I T | Type (such as class, delegate, enum, interface, and struct) ! | Error string; the rest of the string provides information about the error. For example, the documentation generator generates error information for links that cannot be resolved. -- The second part of the string is the fully qualified name of the element, starting at the root of the namespace. The name of the element, its enclosing type(s), and namespace are separated by periods. If the name of the item itself has periods, they are replaced by \# (U+0023) characters. (It is assumed that no element has this character in its name.) +- The second part of the string is the fully qualified name of the element, starting at the root of the namespace. The name of the element, its enclosing type(s), and namespace are separated by periods. If the name of the item itself has periods, they are replaced by \# (U+0023) characters. (It is assumed that no element has this character in its name.) Type arguments in the fully qualified name, for when a member explicitly implements a member of a generic interface, are encoded by replacing the "`<`" and "`>`" surrounding them with the "`{`" and "`}`" characters. - For methods and properties with arguments, the argument list follows, enclosed in parentheses. For those without arguments, the parentheses are omitted. The arguments are separated by commas. The encoding of each argument is the same as a CLI signature, as follows: - Arguments are represented by their documentation name, which is based on their fully qualified name, modified as follows: - Arguments that represent generic types have an appended “`'`” character followed by the number of type parameters @@ -976,7 +976,7 @@ IDs: The complete set of binary operator function names used is as follows: `op_Addition`, `op_Subtraction`, `op_Multiply`, `op_Division`, `op_Modulus`, `op_BitwiseAnd`, `op_BitwiseOr`, `op_ExclusiveOr`, `op_LeftShift`, `op_RightShift`, `op_Equality`, `op_Inequality`, `op_LessThan`, `op_LessThanOrEqual`, `op_GreaterThan`, and `op_GreaterThanOrEqual`. -**Conversion operators** have a trailing “`~`” followed by the return type. +**Conversion operators** have a trailing “`~`” followed by the return type. When either the source or destination of a conversion operator is a generic type, the "`<`" and "`">`" characters are replaced by the "`{`" and "`}`" characters, respectively. ```csharp From 91c5179d0eff4ffd2fed22c5244e5b4dae024a98 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 22 Nov 2023 11:55:54 -0500 Subject: [PATCH 041/259] Fix array encoding Fixes #772 Single dimension arrays are encoded as "[]" rather than "[0]". --- standard/documentation-comments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/documentation-comments.md b/standard/documentation-comments.md index e7a2f6f33..41ab6568b 100644 --- a/standard/documentation-comments.md +++ b/standard/documentation-comments.md @@ -696,7 +696,7 @@ The documentation generator observes the following rules when it generates the I - Arguments are represented by their documentation name, which is based on their fully qualified name, modified as follows: - Arguments that represent generic types have an appended “`'`” character followed by the number of type parameters - Arguments having the `in`, `out` or `ref` modifier have an `@` following their type name. Arguments passed by value or via `params` have no special notation. - - Arguments that are arrays are represented as `[` *lowerbound* `:` *size* `,` … `,` *lowerbound* `:` *size* `]` where the number of commas is the rank less one, and the lower bounds and size of each dimension, if known, are represented in decimal. If a lower bound or size is not specified, it is omitted. If the lower bound and size for a particular dimension are omitted, the “`:`” is omitted as well. Jagged arrays are represented by one “`[]`” per level. + - Arguments that are multi-dimensional arrays are represented as `[` *lowerbound* `:` *size* `,` … `,` *lowerbound* `:` *size* `]` where the number of commas is the rank less one, and the lower bounds and size of each dimension, if known, are represented in decimal. If a lower bound or size is not specified, it is omitted. If the lower bound and size for a particular dimension are omitted, the “`:`” is omitted as well. Jagged arrays are represented by one “`[]`” per level. Single dimension arrays omit the lower bound when the lower bound is 0 (the default) (§17.1). - Arguments that have pointer types other than `void` are represented using a `*` following the type name. A `void` pointer is represented using a type name of `System.Void`. - Arguments that refer to generic type parameters defined on types are encoded using the “`` ` ``” character followed by the zero-based index of the type parameter. - Arguments that use generic type parameters defined in methods use a double-backtick “``` `` ```” instead of the “`` ` ``” used for types. From dfb6882a23ef01cd29e1cfbe150b38650e1d4bbe Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 22 Nov 2023 12:02:14 -0500 Subject: [PATCH 042/259] Add name attribute to param tags Fixes #915 In the example in D5, add the "name=" attribute on all param tags. --- standard/documentation-comments.md | 44 +++++++++++++++--------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/standard/documentation-comments.md b/standard/documentation-comments.md index 41ab6568b..b6472f7b1 100644 --- a/standard/documentation-comments.md +++ b/standard/documentation-comments.md @@ -1031,8 +1031,8 @@ namespace Graphics /// This constructor initializes the new Point to /// (,). /// - /// xPosition is the new Point's x-coordinate. - /// yPosition is the new Point's y-coordinate. + /// xPosition is the new Point's x-coordinate. + /// yPosition is the new Point's y-coordinate. public Point(int xPosition, int yPosition) { X = xPosition; @@ -1043,8 +1043,8 @@ namespace Graphics /// This method changes the point's location to /// the given coordinates. /// - /// xPosition is the new x-coordinate. - /// yPosition is the new y-coordinate. + /// xPosition is the new x-coordinate. + /// yPosition is the new y-coordinate. public void Move(int xPosition, int yPosition) { X = xPosition; @@ -1063,8 +1063,8 @@ namespace Graphics /// /// /// - /// dx is the relative x-offset. - /// dy is the relative y-offset. + /// dx is the relative x-offset. + /// dy is the relative y-offset. public void Translate(int dx, int dy) { X += dx; @@ -1074,7 +1074,7 @@ namespace Graphics /// /// This method determines whether two Points have the same location. /// - /// + /// /// o is the object to be compared to the current object. /// /// @@ -1122,8 +1122,8 @@ namespace Graphics /// /// This operator determines whether two Points have the same location. /// - /// p1 is the first Point to be compared. - /// p2 is the second Point to be compared. + /// p1 is the first Point to be compared. + /// p2 is the second Point to be compared. /// /// True if the Points have the same location and they have /// the exact same type; otherwise, false. @@ -1146,8 +1146,8 @@ namespace Graphics /// /// This operator determines whether two Points have the same location. /// - /// p1 is the first Point to be compared. - /// p2 is the second Point to be compared. + /// p1 is the first Point to be compared. + /// p2 is the second Point to be compared. /// /// True if the Points do not have the same location and the /// exact same type; otherwise, false. @@ -1183,8 +1183,8 @@ Here is the output produced by one documentation generator when given the source This constructor initializes the new Point to (,). - xPosition is the new Point's x-coordinate. - yPosition is the new Point's y-coordinate. + xPosition is the new Point's x-coordinate. + yPosition is the new Point's y-coordinate. @@ -1192,8 +1192,8 @@ Here is the output produced by one documentation generator when given the source the given coordinates. - xPosition is the new x-coordinate. - yPosition is the new y-coordinate. + xPosition is the new x-coordinate. + yPosition is the new y-coordinate. @@ -1208,14 +1208,14 @@ Here is the output produced by one documentation generator when given the source - dx is the relative x-offset. - dy is the relative y-offset. + dx is the relative x-offset. + dy is the relative y-offset. This method determines whether two Points have the same location. - + o is the object to be compared to the current object. @@ -1240,8 +1240,8 @@ Here is the output produced by one documentation generator when given the source This operator determines whether two Points have the same location. - p1 is the first Point to be compared. - p2 is the second Point to be compared. + p1 is the first Point to be compared. + p2 is the second Point to be compared. True if the Points have the same location and they have the exact same type; otherwise, false. @@ -1255,8 +1255,8 @@ Here is the output produced by one documentation generator when given the source This operator determines whether two Points have the same location. - p1 is the first Point to be compared. - p2 is the second Point to be compared. + p1 is the first Point to be compared. + p2 is the second Point to be compared. True if the Points do not have the same location and the exact same type; otherwise, false. From 3ffff34fcc861bb4bc6bc0844d1219b6821d8403 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 22 Nov 2023 13:29:57 -0500 Subject: [PATCH 043/259] Address nit I thought about removing the `` tags in my previous commit, but I was waiting for other opinions, and wanted to verify that there was at least one tag like that still in the example. --- standard/documentation-comments.md | 44 +++++++++++++++--------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/standard/documentation-comments.md b/standard/documentation-comments.md index b6472f7b1..1bb3e5e17 100644 --- a/standard/documentation-comments.md +++ b/standard/documentation-comments.md @@ -1031,8 +1031,8 @@ namespace Graphics /// This constructor initializes the new Point to /// (,). /// - /// xPosition is the new Point's x-coordinate. - /// yPosition is the new Point's y-coordinate. + /// The new Point's x-coordinate. + /// The new Point's y-coordinate. public Point(int xPosition, int yPosition) { X = xPosition; @@ -1043,8 +1043,8 @@ namespace Graphics /// This method changes the point's location to /// the given coordinates. /// - /// xPosition is the new x-coordinate. - /// yPosition is the new y-coordinate. + /// The new x-coordinate. + /// The new y-coordinate. public void Move(int xPosition, int yPosition) { X = xPosition; @@ -1063,8 +1063,8 @@ namespace Graphics /// /// /// - /// dx is the relative x-offset. - /// dy is the relative y-offset. + /// The relative x-offset. + /// The relative y-offset. public void Translate(int dx, int dy) { X += dx; @@ -1075,7 +1075,7 @@ namespace Graphics /// This method determines whether two Points have the same location. /// /// - /// o is the object to be compared to the current object. + /// The object to be compared to the current object. /// /// /// True if the Points have the same location and they have @@ -1122,8 +1122,8 @@ namespace Graphics /// /// This operator determines whether two Points have the same location. /// - /// p1 is the first Point to be compared. - /// p2 is the second Point to be compared. + /// The first Point to be compared. + /// The second Point to be compared. /// /// True if the Points have the same location and they have /// the exact same type; otherwise, false. @@ -1146,8 +1146,8 @@ namespace Graphics /// /// This operator determines whether two Points have the same location. /// - /// p1 is the first Point to be compared. - /// p2 is the second Point to be compared. + /// The first Point to be compared. + /// The second Point to be compared. /// /// True if the Points do not have the same location and the /// exact same type; otherwise, false. @@ -1183,8 +1183,8 @@ Here is the output produced by one documentation generator when given the source This constructor initializes the new Point to (,). - xPosition is the new Point's x-coordinate. - yPosition is the new Point's y-coordinate. + The new Point's x-coordinate. + The new Point's y-coordinate. @@ -1192,8 +1192,8 @@ Here is the output produced by one documentation generator when given the source the given coordinates. - xPosition is the new x-coordinate. - yPosition is the new y-coordinate. + The new x-coordinate. + The new y-coordinate. @@ -1208,15 +1208,15 @@ Here is the output produced by one documentation generator when given the source - dx is the relative x-offset. - dy is the relative y-offset. + The relative x-offset. + The relative y-offset. This method determines whether two Points have the same location. - o is the object to be compared to the current object. + The object to be compared to the current object. True if the Points have the same location and they have @@ -1240,8 +1240,8 @@ Here is the output produced by one documentation generator when given the source This operator determines whether two Points have the same location. - p1 is the first Point to be compared. - p2 is the second Point to be compared. + The first Point to be compared. + The second Point to be compared. True if the Points have the same location and they have the exact same type; otherwise, false. @@ -1255,8 +1255,8 @@ Here is the output produced by one documentation generator when given the source This operator determines whether two Points have the same location. - p1 is the first Point to be compared. - p2 is the second Point to be compared. + The first Point to be compared. + The second Point to be compared. True if the Points do not have the same location and the exact same type; otherwise, false. From 12bf7ec63f886a4dbce66e41e9b47e42c21d4b49 Mon Sep 17 00:00:00 2001 From: Neal Gafter Date: Wed, 29 Nov 2023 13:15:27 -0800 Subject: [PATCH 044/259] Update standard/documentation-comments.md Co-authored-by: Jon Skeet --- standard/documentation-comments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/documentation-comments.md b/standard/documentation-comments.md index 1bb3e5e17..c8a73d70d 100644 --- a/standard/documentation-comments.md +++ b/standard/documentation-comments.md @@ -696,7 +696,7 @@ The documentation generator observes the following rules when it generates the I - Arguments are represented by their documentation name, which is based on their fully qualified name, modified as follows: - Arguments that represent generic types have an appended “`'`” character followed by the number of type parameters - Arguments having the `in`, `out` or `ref` modifier have an `@` following their type name. Arguments passed by value or via `params` have no special notation. - - Arguments that are multi-dimensional arrays are represented as `[` *lowerbound* `:` *size* `,` … `,` *lowerbound* `:` *size* `]` where the number of commas is the rank less one, and the lower bounds and size of each dimension, if known, are represented in decimal. If a lower bound or size is not specified, it is omitted. If the lower bound and size for a particular dimension are omitted, the “`:`” is omitted as well. Jagged arrays are represented by one “`[]`” per level. Single dimension arrays omit the lower bound when the lower bound is 0 (the default) (§17.1). + - Arguments that are arrays are represented as `[` *lowerbound* `:` *size* `,` … `,` *lowerbound* `:` *size* `]` where the number of commas is the rank less one, and the lower bounds and size of each dimension, if known, are represented in decimal. If a lower bound or size is not specified, it is omitted. If the lower bound and size for a particular dimension are omitted, the “`:`” is omitted as well. Jagged arrays are represented by one “`[]`” per level. Single dimensional arrays omit the lower bound when the lower bound is 0 (the default) (§17.1). - Arguments that have pointer types other than `void` are represented using a `*` following the type name. A `void` pointer is represented using a type name of `System.Void`. - Arguments that refer to generic type parameters defined on types are encoded using the “`` ` ``” character followed by the zero-based index of the type parameter. - Arguments that use generic type parameters defined in methods use a double-backtick “``` `` ```” instead of the “`` ` ``” used for types. From ddddf3e4e858c5cd50e12507cbc6026e8c80d7c9 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Wed, 22 Nov 2023 14:56:48 +0000 Subject: [PATCH 045/259] Add a note for the surprising nature of switch scopes Fixes #945. --- standard/basic-concepts.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/standard/basic-concepts.md b/standard/basic-concepts.md index 101435d88..2c739a8de 100644 --- a/standard/basic-concepts.md +++ b/standard/basic-concepts.md @@ -92,6 +92,25 @@ There are several different types of declaration spaces, as described in the fol - The syntactic translation of a *query_expression* ([§12.20.3](expressions.md#12203-query-expression-translation)) may introduce one or more lambda expressions. As anonymous functions, each of these creates a local variable declaration space as described above. - Each *block* or *switch_block* creates a separate declaration space for labels. Names are introduced into this declaration space through *labeled_statement*s, and the names are referenced through *goto_statement*s. The ***label declaration space*** of a block includes any nested blocks. Thus, within a nested block it is not possible to declare a label with the same name as a label in an enclosing block. +> *Note*: The fact that variables declared directly within a *switch_section* are added to the local variable declaration space of the *switch_block* instead of the *switch_section* can lead to surprising code. In the example below, the local variable `y` is in scope within the switch section for the default case, despite the declaration appearing in the switch section for case 0. +> +> +> ```csharp +> int x = 1; +> switch (x) +> { +> case 0: +> int y; +> break; +> default: +> y = 10; +> Console.WriteLine(x + y); +> break; +> } +> ``` +> +> *end note* + The textual order in which names are declared is generally of no significance. In particular, textual order is not significant for the declaration and use of namespaces, constants, methods, properties, events, indexers, operators, instance constructors, finalizers, static constructors, and types. Declaration order is significant in the following ways: - Declaration order for field declarations determines the order in which their initializers (if any) are executed ([§15.5.6.2](classes.md#15562-static-field-initialization), [§15.5.6.3](classes.md#15563-instance-field-initialization)). From 90d86498d712fbbd3693e4def1b5732b088e8878 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 29 Nov 2023 17:05:33 -0500 Subject: [PATCH 046/259] [create-pull-request] automated change (#1016) Co-authored-by: jskeet --- standard/documentation-comments.md | 6 +++--- standard/exceptions.md | 2 +- standard/patterns.md | 2 +- standard/statements.md | 2 +- standard/variables.md | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/standard/documentation-comments.md b/standard/documentation-comments.md index c8a73d70d..3c02af646 100644 --- a/standard/documentation-comments.md +++ b/standard/documentation-comments.md @@ -691,12 +691,12 @@ The documentation generator observes the following rules when it generates the I T | Type (such as class, delegate, enum, interface, and struct) ! | Error string; the rest of the string provides information about the error. For example, the documentation generator generates error information for links that cannot be resolved. -- The second part of the string is the fully qualified name of the element, starting at the root of the namespace. The name of the element, its enclosing type(s), and namespace are separated by periods. If the name of the item itself has periods, they are replaced by \# (U+0023) characters. (It is assumed that no element has this character in its name.) Type arguments in the fully qualified name, for when a member explicitly implements a member of a generic interface, are encoded by replacing the "`<`" and "`>`" surrounding them with the "`{`" and "`}`" characters. +- The second part of the string is the fully qualified name of the element, starting at the root of the namespace. The name of the element, its enclosing type(s), and namespace are separated by periods. If the name of the item itself has periods, they are replaced by \# (U+0023) characters. (It is assumed that no element has this character in its name.) Type arguments in the fully qualified name, for when a member explicitly implements a member of a generic interface, are encoded by replacing the “`<`” and “`>`” surrounding them with the “`{`” and “`}`” characters. - For methods and properties with arguments, the argument list follows, enclosed in parentheses. For those without arguments, the parentheses are omitted. The arguments are separated by commas. The encoding of each argument is the same as a CLI signature, as follows: - Arguments are represented by their documentation name, which is based on their fully qualified name, modified as follows: - Arguments that represent generic types have an appended “`'`” character followed by the number of type parameters - Arguments having the `in`, `out` or `ref` modifier have an `@` following their type name. Arguments passed by value or via `params` have no special notation. - - Arguments that are arrays are represented as `[` *lowerbound* `:` *size* `,` … `,` *lowerbound* `:` *size* `]` where the number of commas is the rank less one, and the lower bounds and size of each dimension, if known, are represented in decimal. If a lower bound or size is not specified, it is omitted. If the lower bound and size for a particular dimension are omitted, the “`:`” is omitted as well. Jagged arrays are represented by one “`[]`” per level. Single dimensional arrays omit the lower bound when the lower bound is 0 (the default) (§17.1). + - Arguments that are arrays are represented as `[` *lowerbound* `:` *size* `,` … `,` *lowerbound* `:` *size* `]` where the number of commas is the rank less one, and the lower bounds and size of each dimension, if known, are represented in decimal. If a lower bound or size is not specified, it is omitted. If the lower bound and size for a particular dimension are omitted, the “`:`” is omitted as well. Jagged arrays are represented by one “`[]`” per level. Single dimensional arrays omit the lower bound when the lower bound is 0 (the default) ([§17.1](arrays.md#171-general)). - Arguments that have pointer types other than `void` are represented using a `*` following the type name. A `void` pointer is represented using a type name of `System.Void`. - Arguments that refer to generic type parameters defined on types are encoded using the “`` ` ``” character followed by the zero-based index of the type parameter. - Arguments that use generic type parameters defined in methods use a double-backtick “``` `` ```” instead of the “`` ` ``” used for types. @@ -976,7 +976,7 @@ IDs: The complete set of binary operator function names used is as follows: `op_Addition`, `op_Subtraction`, `op_Multiply`, `op_Division`, `op_Modulus`, `op_BitwiseAnd`, `op_BitwiseOr`, `op_ExclusiveOr`, `op_LeftShift`, `op_RightShift`, `op_Equality`, `op_Inequality`, `op_LessThan`, `op_LessThanOrEqual`, `op_GreaterThan`, and `op_GreaterThanOrEqual`. -**Conversion operators** have a trailing “`~`” followed by the return type. When either the source or destination of a conversion operator is a generic type, the "`<`" and "`">`" characters are replaced by the "`{`" and "`}`" characters, respectively. +**Conversion operators** have a trailing “`~`” followed by the return type. When either the source or destination of a conversion operator is a generic type, the “`<`” and “`">`” characters are replaced by the “`{`” and “`}`” characters, respectively. ```csharp diff --git a/standard/exceptions.md b/standard/exceptions.md index 39844a1dd..a2a7305b0 100644 --- a/standard/exceptions.md +++ b/standard/exceptions.md @@ -25,7 +25,7 @@ The value of these properties can be specified in calls to the instance construc Exceptions are handled by a `try` statement ([§13.11](statements.md#1311-the-try-statement)). -When an exception is thrown (§21.2), the system searches for the nearest catch clause that can handle the exception, as determined by the run-time type of the exception. First, the current method is searched for a lexically enclosing `try` statement, and the associated `catch` clauses of the `try` statement are considered in order. If that fails, the method that called the current method is searched for a lexically enclosing `try` statement that encloses the point of the call to the current method. This search continues until a `catch` clause is found that can handle the current exception, by naming an exception class that is of the same class, or a base class, of the run-time type of the exception being thrown. A `catch` clause that doesn’t name an exception class can handle any exception. +When an exception is thrown ([§21.2](exceptions.md#212-causes-of-exceptions)), the system searches for the nearest catch clause that can handle the exception, as determined by the run-time type of the exception. First, the current method is searched for a lexically enclosing `try` statement, and the associated `catch` clauses of the `try` statement are considered in order. If that fails, the method that called the current method is searched for a lexically enclosing `try` statement that encloses the point of the call to the current method. This search continues until a `catch` clause is found that can handle the current exception, by naming an exception class that is of the same class, or a base class, of the run-time type of the exception being thrown. A `catch` clause that doesn’t name an exception class can handle any exception. Once a matching `catch` clause is found, the system prepares to transfer control to the first statement of the `catch` clause. Before execution of the `catch` clause begins, the system first executes, in order, any `finally` clauses that were associated with `try` statements more nested that than the one that caught the exception. diff --git a/standard/patterns.md b/standard/patterns.md index 73e849ade..006a922da 100644 --- a/standard/patterns.md +++ b/standard/patterns.md @@ -32,7 +32,7 @@ Each pattern form defines the set of types for input values that the pattern may > } > ``` > -> However, the following doesn't generate a compile-time error because the compile-time type of `v` is `object`. A variable of type `object` could have a value that is reference compatible with `string`: +> However, the following doesn’t generate a compile-time error because the compile-time type of `v` is `object`. A variable of type `object` could have a value that is reference compatible with `string`: > > ```csharp > object v = OpenDataFile(); diff --git a/standard/statements.md b/standard/statements.md index fb71f448d..19613d980 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -1546,7 +1546,7 @@ A `throw` statement with no expression can be used only in a `catch` block, in w Because a `throw` statement unconditionally transfers control elsewhere, the end point of a `throw` statement is never reachable. -When an exception is thrown, control is transferred to the first `catch` clause in an enclosing `try` statement that can handle the exception. The process that takes place from the point of the exception being thrown to the point of transferring control to a suitable exception handler is known as ***exception propagation***. Propagation of an exception consists of repeatedly evaluating the following steps until a `catch` clause that matches the exception is found. In this description, the ***throw point*** is initially the location at which the exception is thrown. This behavior is specified in (§21.4). +When an exception is thrown, control is transferred to the first `catch` clause in an enclosing `try` statement that can handle the exception. The process that takes place from the point of the exception being thrown to the point of transferring control to a suitable exception handler is known as ***exception propagation***. Propagation of an exception consists of repeatedly evaluating the following steps until a `catch` clause that matches the exception is found. In this description, the ***throw point*** is initially the location at which the exception is thrown. This behavior is specified in ([§21.4](exceptions.md#214-how-exceptions-are-handled)). - In the current function member, each `try` statement that encloses the throw point is examined. For each statement `S`, starting with the innermost `try` statement and ending with the outermost `try` statement, the following steps are evaluated: diff --git a/standard/variables.md b/standard/variables.md index baae7a154..aa8dbc8c1 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -333,7 +333,7 @@ The definite-assignment state of *v* at the beginning of a case’s guard clause - If the switch label containing that guard clause ([§13.8.3](statements.md#1383-the-switch-statement)) is not reachable: “definitely assigned”. - Otherwise, the state of *v* is the same as the state of *v* after *expr*. -> *Example*: The second rule eliminates the need for the compiler to issue an error if an unassigned variable is accessed in unreachable code. The state of *b* is "definitely assigned" in the unreachable switch label `case 2 when b`. +> *Example*: The second rule eliminates the need for the compiler to issue an error if an unassigned variable is accessed in unreachable code. The state of *b* is “definitely assigned” in the unreachable switch label `case 2 when b`. > > ```csharp > bool b; From 04e88162af8610d1e55f9d3f655dc111ad4bb094 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Thu, 30 Nov 2023 13:58:16 +0000 Subject: [PATCH 047/259] Change block/statement/expression body not to be definitions (#1019) This is half of what #999 was trying to do; the rest requires some more work. --- standard/classes.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index 471a92ead..24b500c65 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -2021,13 +2021,13 @@ The optional *formal_parameter_list* specifies the parameters of the method ([§ The *return_type* or *ref_return_type*, and each of the types referenced in the *formal_parameter_list* of a method, shall be at least as accessible as the method itself ([§7.5.5](basic-concepts.md#755-accessibility-constraints)). -The *method_body* of a returns-by-value or returns-no-value method is either a semicolon, a ***block body*** or an ***expression body***. A block body consists of a *block*, which specifies the statements to execute when the method is invoked. An expression body consists of `=>`, followed by a *null_conditional_invocation_expression* or *expression*, and a semicolon, and denotes a single expression to perform when the method is invoked. +The *method_body* of a returns-by-value or returns-no-value method is either a semicolon, a block body or an expression body. A block body consists of a *block*, which specifies the statements to execute when the method is invoked. An expression body consists of `=>`, followed by a *null_conditional_invocation_expression* or *expression*, and a semicolon, and denotes a single expression to perform when the method is invoked. For abstract and extern methods, the *method_body* consists simply of a semicolon. For partial methods the *method_body* may consist of either a semicolon, a block body or an expression body. For all other methods, the *method_body* is either a block body or an expression body. If the *method_body* consists of a semicolon, the declaration shall not include the `async` modifier. -The *ref_method_body* of a returns-by-ref method is either a semicolon, a ***block body*** or an ***expression body***. A block body consists of a *block*, which specifies the statements to execute when the method is invoked. An expression body consists of `=>`, followed by `ref`, a *variable_reference*, and a semicolon, and denotes a single *variable_reference* to evaluate when the method is invoked. +The *ref_method_body* of a returns-by-ref method is either a semicolon, a block body or an expression body. A block body consists of a *block*, which specifies the statements to execute when the method is invoked. An expression body consists of `=>`, followed by `ref`, a *variable_reference*, and a semicolon, and denotes a single *variable_reference* to evaluate when the method is invoked. For abstract and extern methods, the *ref_method_body* consists simply of a semicolon; for all other methods, the *ref_method_body* is either a block body or an expression body. @@ -3170,7 +3170,7 @@ The *member_name* ([§15.6.1](classes.md#1561-general)) specifies the name of th The *type* of a property shall be at least as accessible as the property itself ([§7.5.5](basic-concepts.md#755-accessibility-constraints)). -A *property_body* may either consist of a ***statement body*** or an ***expression body***. In a statement body, *accessor_declarations*, which shall be enclosed in “`{`” and “`}`” tokens, declare the accessors ([§15.7.3](classes.md#1573-accessors)) of the property. The accessors specify the executable statements associated with reading and writing the property. +A *property_body* may either consist of a statement body or an expression body. In a statement body, *accessor_declarations*, which shall be enclosed in “`{`” and “`}`” tokens, declare the accessors ([§15.7.3](classes.md#1573-accessors)) of the property. The accessors specify the executable statements associated with reading and writing the property. In a *property_body* an expression body consisting of `=>` followed by an *expression* `E` and a semicolon is exactly equivalent to the statement body `{ get { return E; } }`, and can therefore only be used to specify read-only properties where the result of the get accessor is given by a single expression. From 0e69b5ec547fa12461cb4db77910a200f8c633b0 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Thu, 30 Nov 2023 14:02:04 +0000 Subject: [PATCH 048/259] Fix overload resolution for non-returning async lambdas matching task-returning delegates (#1022) Fixes #625. --- standard/expressions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/expressions.md b/standard/expressions.md index c718a40aa..0a1302e61 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -1113,7 +1113,7 @@ Given an expression `E` and a type `T`, `E` ***exactly matches*** `T` if one of - `E` has a type `S`, and an identity conversion exists from `S` to `T` - `E` is an anonymous function, `T` is either a delegate type `D` or an expression tree type `Expression` and one of the following holds: - An inferred return type `X` exists for `E` in the context of the parameter list of `D` ([§12.6.3.12](expressions.md#126312-fixing)), and an identity conversion exists from `X` to the return type of `D` - - `E` is an `async` lambda with no return value, and `S` is a non-generic `«TaskType»` + - `E` is an `async` lambda with no return value, and `D` has a return type which is a non-generic `«TaskType»` - Either `E` is non-async and `D` has a return type `Y` or `E` is async and `D` has a return type `«TaskType»`([§15.15.1](classes.md#15151-general)), and one of the following holds: - The body of `E` is an expression that exactly matches `Y` - The body of `E` is a block where every return statement returns an expression that exactly matches `Y` From 8a81baacd2630a7d70b0cbc940a316f0edc97158 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 30 Nov 2023 09:45:36 -0500 Subject: [PATCH 049/259] Update remaining tools (#1023) * remove old binary packages * add updated NuPkg, tar Add the rebuilt and updated smarten and antlr packages. * update YML and grammar patch Update the YML to use .NET 8. --- ...EcmaTC49.BuildGrammar.1.0.0-alpha.4.nupkg} | Bin 253181 -> 253510 bytes .../dependencies/EcmaTC49.Smarten.tar | Bin 3491840 -> 1658880 bytes .../workflows/dependencies/ReplaceAndAdd.md | 44 ++++++++++++++---- .github/workflows/grammar-validator.yaml | 6 +-- 4 files changed, 39 insertions(+), 11 deletions(-) rename .github/workflows/dependencies/{EcmaTC49.BuildGrammar.1.0.0-alpha.2.nupkg => EcmaTC49.BuildGrammar.1.0.0-alpha.4.nupkg} (88%) diff --git a/.github/workflows/dependencies/EcmaTC49.BuildGrammar.1.0.0-alpha.2.nupkg b/.github/workflows/dependencies/EcmaTC49.BuildGrammar.1.0.0-alpha.4.nupkg similarity index 88% rename from .github/workflows/dependencies/EcmaTC49.BuildGrammar.1.0.0-alpha.2.nupkg rename to .github/workflows/dependencies/EcmaTC49.BuildGrammar.1.0.0-alpha.4.nupkg index 13deaf40099a1e527d10510b5e3d3f25cdd1f1bb..00bc2cc482c98f889c0f607fd3134ea08fdc0c96 100644 GIT binary patch delta 25584 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 diff --git a/.github/workflows/dependencies/EcmaTC49.Smarten.tar b/.github/workflows/dependencies/EcmaTC49.Smarten.tar index 5eca34c14dc0d6fb061b07dc1a46ada845d21d3a..aad8c4729fa7213a815674b9ec664892c969600b 100644 GIT binary patch literal 1658880 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

`Z9hLjC#Iq;6pqcB*Ru?eHo)3%<9 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� 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 x+TmFFo(86)b<_GT&* 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�}mL z2dyU`ik5*&H;nzD(+ysEf1d=1dkj|?NyY@=>CQNw+dPe=D(1<-oqzqmez?I4ABfA9 zT_{_Ko2>X=40O{iU_bD5>sr6v+5nA}_|CK&ay522`35aL zRnUY|4d9|1^iIClPd9ca;O0Bsnx^Lq=sVY;Qbuu2bbWLin4S;tfsbwglSSl@(3`{o z-Jv({12>p;pU^FBdZwWcB^zNg)sK8dH<&|jTn8kbdSkp^>LeTV+uMI+$;poc&{Gz= z&HT6kd^`$Yn+*7#B+_|jJm?4$<}{P;J6eMesMNneIW!hC%955K^G5)?rv zKQhn}FMr18+0qK#Kcul9UwYJILzgs^eMjw&Cou4oM`VcZix?Yx1_ksyv~CXm<#8?# zUk=Ozj3p=j<^!*A#Ot^F$w##zUig3B-fYBeE&ihcfOL<7z4X`wo-RjC8_)*Si>eVH zjo{gaw*K?&kPYqvmhKFZLh+(MnM3{}PgX&*z?U&e{}{lQ4Hx3 zl#K|=;7A$_4vMLM;K@e~1|gRZxIfY={L29~7cvGR-w$aeu0)#-p248eNH`t%>A=$8 zAgpo~v?D!9r9b;r%Ol5`ZKU}A@8AEr2kya!9!50Mbp7AI|KE9FJ#A#LbbQ0+%W6F3u}}Q#zwUt{XOn4|7!U7*&=&#>^qAFe(U|~ zl`&oSuU{0|p0mjKd(I;5Vx`>vLmrq6ler;Pk2rkB(R6rsbp(#_BlzQCF@j zr#I0xN7vBvttyXmLQQo&q&mkI7C3Pbl$(>55Sf>oGdL$NcM#5d244&iXF#CnU{2$I z#6D@ib_V-%7Af6B9fh{j7AetaYsIQA!nw%7V=t}Q{rxY7w|5@v`dyFhcSKvh>v!!P zuig3j(2ajvWSDf>v%Q`@`;ES0(f@+&*KYY>`QEHwUy1nq z=w*Ai>@IbhR!0@wc~9Zk>1(>T4EXB(Z-@48^^Wel_sR#0xA|*7OHO^K%NxJ!x%RWi zQeNrzdfx*(K3^PlX!N_^AD!BF(}nY&{i^7OAE$nO^S;Nf+HX~x*G&27?e}V5k1J1o z>+-xSu8y0q#9A-*?b!VGGkd2MHTC?$vZd_lqbqm5xNzn$-|(5wzwzSQJ{$AD`5=Gv zp`1_a_SYUA)S^^&b4++6ZtVFM-w^wPY9-@|M;^X=_%HLfFMH?f#`za4D=A1{@aE_( zZ%r!2FKG&8<01v2u3Vne6>Z(6mmx7HJ{ZlTEQ-m3ST`EYnwHar7@`dEhS>hsTx=^? zd1&@M4?Zwj{UUAtu!QE9bH)_FFz+IH!q{#fPwu757aH{K^C>ej;OEtaIEpwMRz6)9N7K-x;vh0 zQrG2_k;<-y(wvbwCF_T;FJ4wi$ALHvoI7`Jc3tpI209dMm|f#-@b|6s)%Ha&X@xN7oYWe?-ipHD>GTfmkzZ+ES ztvYvRZ4nNG;!6fToLM#M0{3fgUvR@c(;sQiRH~;{Tzun?!^?A*9qh9`@slgYXElyG zFty;F4{jO$%42Jv?sLtzQ<5vR6RZ9*a>a(QLS^`eBkzuU|EuqNyua_fN!Q3#P0 z(Qi~uX!~pa%l%&7`s^p?+)y%M#h~Il#yl|dv$KCrxOLI`E|-s6-|w2WsrRqlW4rR9 zdviW2cRu~fy+4J&dH2HobNXhFx*|UPwpEGV+{%rQ@BQ)cgNF`Ym{fiK19Qi%Q67uf zv$M~UDe>!Gp6VF&sMC@5-tuqm-?+c~tiSEq{o9kzZCu%0^w6WZN4_7V^u7ATf!^6W z=DcFOWaMj;e>{5hmfyGb4u5mY-oH(MrvAI{SHC=WPM6;2-S*D(StqV~u4&eN1y@{r z-yH>)M|FK_(6m=GcDxn!*ZlHbt6u%gu_phMrbYc`Kic-h!!thiG^GxjeO39Z>s{Bp z)%9TdRnO*T?A?)gRr{bzufOk?zrXtH_hnPwy6wc8J4;6Y_TAq`4n3MUeAU3qdK`V| z?Yka%@Lz37?<~J=R{q1uQE$XYso$7aFIn)yrFnN*FA?XLPQEYg{l2&ij1WXWL?X{d4@DJoj&N`kuIb;@R)ce)5gW_doSnbZFz9Uc^A{OV5IfRqnn75kXuPksGT zcK4^=Y<~3Il8<8Y?s(l^le5TtIi`W>`V?SwM_v62&&}FN!IIN{#eZaI&CAK5E~z>C zbPWCDz1~J=A>y09iG|l)odr$!I0BB2n}d@8rhle^tEG$noZ@r%da`H*Q)vY}+p z!u=6x?+%>(l>JcnSA(9o(R9xcFWk8b{9Q3_0WNAt!ewrZ=bLG z_UtJe;=dcV=kTDayXvd@&)c%TGCJ$k3$Fd~=zHeK*QYdZF6r}ea#8hceFx*mApEZ3l3e;It?fS2a)y5{cG9$UA~_}txf))809 zEfrUM&}-_e-A0~2{=of{hV<0FdinB8`o7-dXv5U#al_{B{!tux$~^N_~7vy+FMS%abo1hC4II!TwAubR=0h0<@9+K_x4@#k4ZOAd2FuB_4SFm z{jN2cYc3c#=J6v-i&h*68};OCoBvOH=K)CN_dou7xsg%G2#K4K$awCxLiS2VR%DfR zjqK|xqhTdYDI;khDrxUTL_?ai6BQ{98b%uQf1i6@)Ti8f*$2wa^FuZ^Ji48>nupmP zc0hOd9OLKU8XV;b;|VYj!;R?wzS|jz4FwQlBk)Rc!yG&s=7%OYBa8<%_h7*fqDjU0 zhT8s77&~+UUv+a-WgRxsI+K$^qii3)*m;3eFS9}&b3-Ad2+$K@v+`~7tx_!qdm-qp ze%sB_`#5-chhPo#o(P^>cxvHc9qR1nVQTZ>EgtIZ<}y1s=++CI4Wj?j}v+nf@jn`pv``Y%)cU*7k8oNJtO3p@`v3fl3Mz6RnRYMkSd2>$r zs{7U>mfGCsxvS6b-Pd;LUZZfDz1f^;h(Q|mXRKefTgs)Hg$~ev7m1 ztjYuz>4F#m@}#)eM%)JtKJB_(;9mmGQ;A1@7DlGlKhLx1Fg74V{0{ zAxdyeoZS^tlGsu#Nh}_we^_GHKizTta0WPHQktK*4}%71a8Ag@PU0OJ#KR;N=6SoLJ8x3EAuQ6PZ0glGd=RLgNYd-36JB5>e;bYz@TT0x%RS8CcQJ3zA#%q zY3ugq>-v32*?FHX8*C?1t<#!k9{GF(W2cPc{{8)mru-RmrpMh*U3qaC%)yfUK?mD+q_J!a?#CRvBKHe zy_z4##RMlDXq@GjET_Whn(v#!p&+$3r;JFsuG_jXa^+Sk<%{kX&V!lZRvSB?>qVa7 zXuGm9%&INA*zdzt4^=rqov__=?i`LgIB#)Dy?ByZ#J>0A=lA98Dsc^vm6xxtzkFCu zVe439Wi5|2POZnc9m~J=EM?Kdb>7=MTyN-3&W%=@zOuE-rXXoN7nU@B)KKQKv*Srg zB0X4=$lIY3Lb3^w7C6+*hG+k+Y$6Fin}dg03;01ik%TveyfuU_Z93HE!KhPQx!LjG z5l-~%o*rbAII7g4M{E0sP1~oO`4s+a^|h@hs+3Hta!*a%z{cT|vVU}2hNvJJg9*L{ znM~4Fhl#(6x;DuTBP6ilyYmxo7A4kWiC6!UVd)>3R8GcZq3415=R~JK?-2OF#mUi; zXy$0EGfi8|NZCwHLsOZg1rt9xOa}R57nB$t={f1Uz6&&W|M# z`i8|a_);#e*QLHU+YyKvhc6vjsgYP_(O;4YgLlR*IPtqF9u&%8bfF9xQ$s=-4H9`8 z63VDy8YB?P(0Bjm$_NJXKOf*<++yXX9o=qdX{8iVcIZOL`?4T~4+yr>(=%DyD| z{8GQvK&r#pls%SHq$JLZ{rGxy9lcM6Epis~sIw~{${*97aBNRq%m#6d zfJHQs1U{N^w#=0I>NR5J8`XWpT5%=SN39l#_5Ix@08XhNv^ZkJ65^o^{(unoP=#iKQ=~T$vf4M1-2hw zPjove+U3^P<-Sw7|9Fn-%E^kPetU|uN96s1`)?FBY|LxhH}>t6goN(QGl{!&Iqpqx zlb4**jaR$0o-K0;NBU)#rYG4Bp<)Z>j_G^-t`#h5_wA~x#VrfB%_|9cEqRm6`ubMG-eUtqMq15X2eO}|OVm^4z5M@8IS~E?z{obp?xwPAn<2%pP zM6WLLk?1rm2%c3jezxY^d10Y5#=mQF-h5?ww4AiTd-l|lgHF$Usr%e$uZ)*?@QFf@^B$-b-I{LbsF0T>>mS?URqfj5w?!q5 zn%28_xd?}|nkRXBn3r>t!rs`6BFfI^gYx?XzAy*)n$Q}OM-1nM+^@b{Ggsqm(j*S+ z(*@gT4FfxNe>E!Kwo}*>H`m8Axx1}_vU7r?hS+l|HjgnXpMyDLPWcY`cB!^M>g&D{ zJ~8+ja%60{nSmX6Y{7*gIyQx*Kp&ciFo(7hg4}sf76(IfyI)?5IXeG+SNm2Z zC5UcLj=+m?GcU?M`kU5`K2ol;%1qSKm~u&t%)=QbDwANezyJDj;rd7U$9{JQB`I)aiou83ye(I#TrfaUEyny@Xt=Y$~ zIjP24JWF~|cs(a>x6`5ZiNf-wCMPG(ta;${erm_EtODa}@A700EPsCRxM9VadvKtdcS6>zsYN#9mdauGy0#b8&WDSgV9-gSa7g#lB$U3zhHAJQt4TNm%>n zl0k8A@t3y?b=xf|oj&JYc1^iA-m`p`_FnrB(o@|(Uhun`K_uUh7dkJbrm+n7F6iyP z9@YDu&x=kgcoCu^DIe4)CF+_9uZRe1Uy;5{>_Ig33iOGQAg6L2?h|ps=bi;`Wy`b7 zr38b+E1U#@CE2MOY5`mP$<{fE2nU-f2B9`CSzc7!^KC${j? z9og85vA2?L^mlIN?H-<&Q}sCu!w#PYYYq zafk2jWXDC?-fVGaclT3+_D?L`)2n$}W3u1^h4T8_M4wa1dXZFRE}6ns@0fM(RyULY|W#K=}V3} zr9b#MYWBv^K;2E|6&*$U;uN&@TzZ*o_RKu2j(n>s74w*-)Z%mK%E^{BX-~5E;AfsX z9a%EoJ;1BEZ+(X3M7@6EwW!5Lo6MuHoSmoMG;YQ1{$k?dC7-(ES2eS3Y>4jV06ri6MD-y8mS$1OxVcDCm(GO%vkKexK;*4-#Q z6WcRt+SY5?%8dh6_+O;ho43?g%ola@#z)l!6wbXfWdU1@nke03ppLFf0yA3v@?zeQy) zvo~vk-s~PWZb+~K;;K>fb1<+S5@E5S*EWhf9R~c)ZaSTmG2L84;Tr!JRYK>8Zt%Ok zoCoR%h=cDzcn2k7*2#-uW^DAwq&KEWdNcg-HeGu2-EQVj5v1Mfb-t9|Ug+TySg)74 z&i&5SO`>NpXGWJj3xhXC`S8YQ=ylE?6r`ayMwl|DsZ3U*_tb98P7-=*^gehdb02zY z{h#&J-w~pH9XIWp=9Av(ZkfIKv*O;zN>TxMlC1mVtyHVeCE+hTgpTRkTKL5r#$pc9D>bVp)_6y$C+iLuhVz$3W9QTl#ND+U;GWZDIQ@cC=oVkv45fp%7RqOY z2$7Y3A7oEQh1RX*syK{yv2^mg7j(&d7x;Swi48of(SyTXgvjOf?uZ;Zlg8DC=F|u5;WW(u8 zeY#JM3s)Yws$Wd9PbsftJCjrxKYpU{iZu}f&yHT7BEEtrUGsjK^@qGK+|SkfWHkb& zJ{oi4>FV6ukELI{kvG`n(Be`2XCgV~^BmuKD4;Nm!aY@w zio&Et`G&+KWHpkymfO$)H4@_hM#FT5WikXjNeNTLxCbLZ?;JS60oF~;;D&%P(q{e$&xzi1IPpHT8K7A~+dgT6Q@>wkLffi49j^a>dKZ+cQfo zb!81<>9iW#1^tmT0z%bHCojFbONweg?PHY7Tod=@kCxw`zwVHfEVf-zOEkRx{p_ba zs*;LQ(qmVPZZGdx{vv;%qWpGrkJ+;Lr?h)nd#-P7oAo}e{pN8|7QNBcg!8rhKLx+n95 zz~ftQCR$}TxXycX@}pAGGraZD(_i-Q&Q{7^vRQlXn)kYgeYXUgt%}v$=Dw7F$<$hG z!-~FwmutKqUE0tvg#qW=Dq2)8BJWdyG>?KFnc}O`n-vf7dIwm zP_~SAs-(j^E>)a|8lrsgV3bUdQP=v?j5)f=#$&Te_ewPF**}iI|6mnIO;_KkzJpqZ zO{Oi=d&mywd;N*UZnN#@h5Hva+&DMJ!&=GgcnOiknPP^osS+>i<5Ux*$rkY>m zx0!TuPdRC4kaNq;nt2f#5;WJWw&Qc6w=^4fzj+YLW~kkoGHv%RtGLipcFzf4_**Vj zPmCjaFYR8oti;(!y!Frn7MyJq%BdKeskx3*?5*hr# zT3r)IWPDltmnDl4aWp`XsYD`fA!5q@Wck(kp9K9kpBhpA-_bw=rCo+~jA8Yy|KMg& z0spxC)ipHLQTdbA$r>a~6Vt>&dx)uN;fR0B_u>Dam%okMI=cES(zE*V1&3p{JBGib zoD;y$SgEqHxFcLwCY``rUzx86GUfHF4G*E=i>KA7^M5UJ5&#Go*u=`2UOX12HB=jchDoSAL)8>%y24n5-twcJ|2$1Ir_aqx<@WVNRkRQis}mo>1i{B4W#`~ z*Hne|;9>~5qC%yFgo8))EkDi+ekd+!_>EW$aX8};kA4?T(>6D{rUA`>^Reyp)JTr%K~*!k5|LgNZKguD7p@jDIPS5mw*-? ztWi2;7&Z&&&F=xwg;gjKyqAQ&^vceNp(y7>9)Wz&=_aIG$4o(u?By zh*tykF!U-C#{)mKM%4%X&^Gf2+P6q492O2-5pD^d12p@QD~1b(ucP0Xx+-^3c_g4b1rM{o%Vi~?t- zMiRFb9|&m}UWAzs5*$M5J;g{gZrCv2VDmpnpdX~Ve{KDUY4GMZwvHI4oc;uhKTMc6 z7`_<7b|ca|!0-pD^M8_o9_Fo}xc`71o?rHn%v@xc{z4W(7&aJaRNUaH5#)L1p&wHJ ze|9-$;6W+_GGV4-$H1QhcwYt3;DcQ^jS7v!4`BWD3c|5weEseNnWlTVO67#Q&zIAQ zdI*z?2d)WTKmbwo#*RKMAJ0y|Or5BMgDfp}b^&sThtL3;*K zL~mk5_(Fh|M28HaP7t31p+|s^Lg$i%(||_-IFj&?C_46pZsr7Oo4{xM$j}Ip9>6;S z*@2`#6j4ghyCQoD;7Ml;HxU+wt4MSVq=bYhGtEqVMN|1IHrPStETO(eF@rKJV?fMI zGdT=sN*EC!@5tsC*hM3Tg6Xgj%0fWM6C;8mC@5jf;DB~#8p%+mhh*YZlzjjk^DUwU z;awPMh#?~Db3>_c0z1F-;C>XaGQqq7#zp=bBFlJS2>tfCLl4Sn=m)RXy*`ba&J6g4 z3_a}3M~(T=AtSUDsuGb7KL`o(Q6e&_JE%K^KP93G5J;k_6umHp9XcgY2tlS$tthch z06PiO^U>1s*6`KPBx$RuQ?O~;GQYhT!+0X|nqVCOIz!xK_@Twl$Q1pr_I5~i?Q2es zD|@oMFwTCp6924??4DVwZn2TGN#{$EG{g>5uRDX|&#C|MFzFt=-d`*w$xriUAbb@A1jJS&!3V-wsZj!X0Bi zt0eF}9yen`kSkf{W!)0JT^xr^o3B|=87 zXQURl0y?W&_#J}&T?F**IbaZQ8GiHO*AL?|EjWgl0B0ebF!&n-{;olIcQ{9da|5uw z0*?8?`FpVL0Y5HqOa;!bh4ovArx^Tcz&ag%k6>F3{LTcwGr{jB@Yf3Qi@;z(#|YGH zNAlf=)w!wg4J|{R+XTL(Wzy*FU>lvG&~L`}KM!tB*HlNBLu3JlRy~>pTmQFF&Vnz2 znFxeM5aG11ufec+z_3ja1=`dU+(P(KVXX3XMnvJNAu#!8foDOkfOW@j0s=GY+hDeE zm*0A0=r=Pt34Sm$fC0+aS95^aBjLmHAh-fj3ja0=q7Zw%r;SJe zv7qbEu;PHyK*OQCM}cU#UEm!v120Imn+nhh3KW7LoJ4V=-x*met2Ek>26dWw>3|(gzc$8*({JO4;^mYWiO<{Wb{_PIOSqYvMnVv^JJKqm@ z1-xV5^BzU7G$X6)@C|lCAmaA}4JYIycp55!*--5mM3LWDs03)+hORIi`0G59|GuY@ zHywo|gC_}QT8CpAPNyDt(6odHV*#WPDIEC090eJjK+F+_#S_#(A|K2;Z3}0R8iE-F zRr!5EQ9Fw)d_`?G;gM3|d zE|48y6^q`6ecN&_f#6eq)M7D$pw5P2JEagjt0Qfl0Qf@<0S!u!(abr)Iv9?H4PM8F zUId5)gBsszbQNUWh6=mB;57iYgK%;5li#*7{pgN<oC zwpgC%9R*|N2)ZR``rwu*A5U5=uYx!GS)joYF@3;K_y4_U$S4}qUqv&>Jp6eqGfW0& z7mPGB5*$Sg3kQ)M4DV?GWF$hehwcp~9bm1Q7*AeIg!#-6!O>3zumAm+yotzqDNGuM za)%xsqWmWORNL@jKMNuAVCI0}kbd;p&{vVG;FTS~0#pzcP7XyI$}oyf_YHFjl!H2u zA%EIKG3 z@WQjh7>r6kh+xoorw$Q60SQ5V6!#SRNr>I=SEVO~faG3`TT zLL&l1(}#j)hahBC!3%>eOu8Xb?-1fp6gqfLKZcbuJoku$T!UE|rGw`kA$QTiOM(5{ zg+!P+M$l(o(a3N%%mWci~!cvtLv$bPKX@=O8)uW@JACbq*Dj z{7-yGfLYujj~0v+G74|-N&Js0w%&Im`rY+f@u&5AWZWuvrJq-8M%E48q4bdN!R#fX z$A;b>4L&+5cuANij;P7#q(3qk&3rPn8P7d4ARU+rv{rav{D`sP(Zo;+GyvfssR;L{ zS497CWKkR{o&lc3tW<+pjN*o;EF2gaaVQEKc*lZX1297Cpr=QEcG$3wA;AVb8O$2P zOqLovw@hg3@CyaFO@O;X-B<|JQzAoP!VDRuf)}M%-~|lh<0ES>eSU_s)P6?IUc#AQ zlzCESGbK02qNlk?`^nwfwdoC+l7~CUFL^b4_|J@^N|F_OTeK2CPI|V*d-OoFS@V+a zg`t*nuGy?}%GY^PixCmxbxrQ)1?EAZ{|El=hq&pZ+rN0MsYNvSAT zS=l7L+-%ew$-H>Oft}j|D$-4B!ghXDu62ZzB8HnaJHl%F|b`91tU zG=cPmad9*ZM9}z(2%{*(*`X=9v0sY6sV=GgSxtJ=`dGVCKV z(!2n!JMwOZa}MPo5&XwMe5eGGSjUGRKcXF?`3uA9;zCG28r-51Ko%6y)Ra*s-(DTn z2NVw?N-~&mNQ9saA(^EW0sGe@W6>7gXZ=}>MU=MxhMVYvn*?dGgi`u% zxQVDXAhu*QlqQn+ATlMBj)>lo{Qo_3IKac}|JO58*a@M*wlX2tZyGj~ony(_f zYs|RzR`X%{{-9~jJTi@HEdJl`=M%E{e=PnVi~q;s|FQUgpx5~4qF-73KNkOw#s6ba zo>~0A@6mL>qq_WCz95VL$KwC7_-FqxH<1(^k6Neg6gWdok~t_eV8b>F5N-Y^u%04iGFH2d+7b*v-lO=udF4?Z$%O~mVbJj z;CuU2RM1+sm-2-l1j*KzO39%L?GxI){HNL)9;@{)9oM|fsn;xeb4XfOWF}RJOUWN= zb-8jgS!iZ&~tcJS9z2V%Mr+Gqa69hia6`L*4W_csb)IZMHj90`rO1!`1zFK|l z42wGN!@K-O58+UVPKJ(e|^xSBd{7K@edlbkw-})Z#nch5^bLTi+W4`(Q z_f6B!Oq#SYX_ngiV=q6PZ3vT_;Qer7ZmegR@LlDjhNr)@_Xls1HxD+ryNOfkS>>41 zq1si?@V%cmoT$-wWqYT0UB)82>P0@(#_(%ZGjn7DUFSGqo4@opT)1j+=YCUZ9T!jc z8l$Jn?X^4~cF?EBmE0{|_xwK9B{+XI&UVJsO*;y%Pv)DGxL-eR`c1w?GMQc) z1DCIMPTaQTTpf>#;Q7lMS9b{td+66vf{tDA%8~K>o4y5P^55bDm1lT|Mg1iZz@PKq z(AjVKe`F0c5{v)$cT|CI%m26JlVNz!e+mKodHH{r|EEPJv-p31NBRF-_G$6`G3pr;Bf4}ga5Y~;{84RzXb62SMdM3$HV;);fGj<0DBm@5dQ}L z-*vbzw2b8cwS(Rplm9nOp27dafxiU0&!0Pgl>f&I_dJsSR}R{dzzLx9|Egdc=|?j8 zf7fCE&*%Te11C=ak6bZaAn^YXo#p>N|1S@ZXM0tAIR8gvmn-AhQ$Jm2&dAi2fzzsu>e^tK)?>5XNAQAWU&B2 z^_QWFK9W7eVgVv0d4&9mf`K)Q1xTj?uvmbgxzFUseGB$NSS=O{aG2CLl4>@RV8~(t zGO!H{j3A2z2rbJn$%VxN1h5Jd4KuPoX0ZUnXoFlXgcM|u!{7iA2!BWvWU&Alv_KXM zki`Q00pya!0{q`#0rD<45+`|13KKR7suX__End6wZEmRNEu*CyolHv;mWp4P7m~-# zQE_so5YLXq|6}q0VuAk6ptYkm2ANp! zrLznX2hX2Q8AS9$Dh$DqJ4}znK{yuwF9Ix1FnD}{kXJZd2{h!tKMz&Fw-Hb$Lts4| z3!;27=zNF>x&TBden1`sdnqjbAF{IsudB(xYxM@JX}-8=u%!n38sPfD4}-HL$gyd# ztq!g)tkF3i@S_dq5arbej{Cq-v`hn|dw3`VWLAU%b8f^5jfMRGniLNPPM`#^p&vcy zzuy_;|GgRf4&dLPU{(tM%pCaJ`G1cWHRo;{%k%hpi?GSSE5$uW_B%$}-Yfp{u1lhl zYYLT%#s6dR|C&Q?3A;+%k0Yn86Lw7D4#QRLEpDtm?PVG*+c|oN(}mVm`>!kwG^bhw zviN^2{vV6~$KwC7_-_!n!`G0}y zHb?JKUFj6IHedYW+awjuH@gB}r7bx7KzF)ylZWfgzli^5uqio=ylpzy3~IMlW>4;V z_Q{XO-?mMc(=fMxQEkJqO+07LyOowP5+>FUr5OK|I6jy1$bRd3R7{B&m1-Wjxpy-o*QQf|1vW#iqq z$eD2aWVB9Y;C^nITfQlQ*J^qM2tms$t-feQN-48vi%p*^9{7@fVV>R5^Tx8e9=Zax z8$8T!2NVi@9<`0yw9L+bXO2m*WYF97I$7R}o^w{Yzw$24U2229JokcarL?hm6R)zN zftA~PZasgYhZ0kFW^HLX)@2$ecMErm^fW+N?OtUL{0sPh^7Z$))THW- zHb0rqHw%A(YuEd}o{XBM)oV(hT#qR-9OVC{e8d0KRGFqmV)6g*r6Y%zpvTPO|M^nG zqr&}Z#90v(h895-*mv}1P7`5QbSb1__|-TFD*(H zCh-p8;U*NSQ8bOk|I<6)75I?STjad^eb%ulv*oYLRv6}2iX9ur;{UPue}Bqsj>Z3D z@&Ep0qh|jk|Ihx~q5L;$LVVLUn4a;qxi1)5Etj9dDb@Mt8f9$ksl9j>|L<%5pOelf zbL$Hsm+gI@Op02yMntGVi@)%EZB%Dl@bZs&s~j}=FS`)zt8UMg`>shu5Yi_oo$@#a@6%%g_8W)g|#o+*gEV?H=Ud@ zMZ;m)fzQ(Yr5DVPx=XGNQ8stYuYTP@V56NpA}9PIJcBEJW3GGCfd^X_&n@U)^VIG7 zxvkr?6pqzA8+{-(>(Obxn}UIPAKJ`=E!&iz&Uvd#MCEl_ch>W}P^hn@W0= z{&D-^g_kbtMfIuXmAknpRZVp?O{VxJOISro=H48bI%ZYDiK|+f$_E_xySR1?RJ659 z7oIVElj*n9cYDNK(J^CNQx&l;H`&_2!=+|B7A#13#pUI`U0P||3TymVsULw#bLr z`|He7Tprj;O2}>s){n7Ezi)n^>Okbvi$%fRL8Gbbda@PQ+NC|5wfO8ucGsnvhu&s8 zl{)XmY22@Wa^%na$nPg{ea(NP{d@R-z<*#U0s2<}*y$y8PUjrD4J>{vY#uB^LjW7!=0h|FQUg zkMHQ+Dl=RRD1o#1f1p!L83CkX@&8!-zbKpo)QL!3G&CAW zbKehV4f^RmuoZ&q1PVHl$wy@I|H1%h;0@Ul1es)l3xsV1l|W2U1Uq2y|LC>n>xP%b z{~OWVviN@y-qa`x(VH3&9ZF&G{{n~zedrq=8tNV9r^BEjs^E#HK~!M$hf`yTe&LiT zVpuqhNQnuGq7C_A@&8!-KNkOw80t;)4W#&~zysq)j17+_hElx4i2ob>zk@Z|{p_(` zrRHZAJ@s|lc9+Cp{@bp&TBR*43rJl6whCMTmeRizksZzcq_FA{Qsqvalz@4id zdX}ShW?u8SlhsklsnsJ^a%`p9^mL}&4Xs)HKarvAFc{oIwt&7di-a?UV|bu1p<$sp z3=%_NJY)%|c?Pu)hm)mS5OSgq8WF)R1bi~lz>H`Q5d6S64jyFZH1HJ!VFSJs6N~@H z;{PqA*D?x@2*b-Dx@ZGUOORQEF*t5G%J@@+H5!kj{6aMyPb z;q*AD;42o+`M^2E6hmi2;hZ0ABhH%-{ThCQHIqoM*;F|0OBc38&})1Q?4wwaxFza0 zsd1torGX#j)lu9&kg@i~sjKGwOfS8~qy> zHZ~lVB%jE^rO5aOm6I($NuCOa!r1V55+Bm)9%1?$^Wfl~${@qA;R*S+m^C(j#1TG> ziye>4ClsuU1i~q;s z|FQUgnpzs#T9_1I%_hnaL@|*Bp&4O*ZFZw>B<&urr6qkdbXQ$8TNdVoJV+62Fe}V5 z-y+{E)g+MiV`5QwL=;`63pBY*!uk6f!?P(6mH0!gTMh{s0KNkOw#s6dR|K{H9=rGAh zz88NeK6S!9{e!DL+gHp=5r0>p>iT4zuJS&$Ip>b+50GyhX4gA-X#e_YOB%K$DD~Jn zXH3$NtI-bgTk2T0nQyO{OvHwqN8gF?NjvAz*e zDuJ|6%y1|IHcVZTOq@7E_%M$y;z0r{Ul0_{1F;2~Hlw%bq3{cXEfwO#@AbX`?^265 zK5~i`SGjSQ79gF+lg;A)EjHV^pv_Q`vc1OB!6&t5qOWF7>cjh8eeXmHHpxG}Qk-+W z)6>_e)tz(ma(#}49Q7OrqossSdwU=KzsdiL!ji@ z6~uJln-Tqiy%Tq zbU^)#+AU>vsSER-L^*I+u9sUVV=>>xbk}D`F~i4%ibhVyFULfrw>o^(#eDZ=d}9YRdsEN3f*!jo2ZXr_4TN zv%7gkL6S&6mL&3FsBGBT@uVb?=WwiTsDzMgLgY3aYGA{&|5i4UgtzD585Co1@q>6G z32#V9!cWJN@YA3+4@RBh%FT}dj&LG<(&QA%nB>)AQa2u%m%WwEn>YGdZ~1>@@(};;dQsvPEV1q{d1mA=8T8EX2uchyHH|_k)F5B)5sbMX zbLG^`w2YL^)HJk}jmR3Nq`~OeM@Huq6iQKcqR~4#Wc&C0hPw8{CcgEWd zSa7Jt#`;w8i}U22$42eABCN%kc(O6`(@w5Y>UJ(=z6S3v#%?gvoI5%9!>MAAg(q7j z_oWZ)Z?j)k*}=Kog}Ry|s8?iqM&<4Mv&~QIEygLN2R~Ap5VZQ^Qkyf~0&AMA(hTz= zCY!D2oscbSFn`AC{qC-twAsTagxxEWm`joxyP#Zl=>h+Mrc-90Hte))^UfI0doS(q z3ip&rxS4a82WV{a@4&waSSE9&&z5R;{P|+_-ZM)DLYCw#8m)71^P;ZigQc_b?F{^- zRKKWkP+R-kMx&S@ZK*+k#g+WGj_ ziFH@kba+T^;#rj2f3tq>`hXxd5XgRy`$s*gVs}@;HseG_h>)u3H6HKP*W14mI&Ir2 z?1`J}xQY1=i7x~TVGe0Q{^W(t z1$pzJJPPDbcE7w9b5zbCZ~p3P--@CH(ap&bcrk9~McGGx)3VX!Q>4Y`*-HB!?#bjT z4n3o2C>Er;;US@Jvx;fiMfudpq|-{p@7-2?*g0it%FYhYZ8VK#nM)ePc52Nzyu837 zlM-mt?DO^$BX>IMoO}Ly!wWHCjWA>ioAjB*#P_@;-(TeQW z70m7mPI)~>h#W5|*Yk=0z}+5warcS4t7dM>yB9AS-N)|l-w@kVu%ps2dltNvEzdF+4N!5y-_#l`G3_rI5s)#AF^X0gdcue>A*B(4)I|&O zhk*f&LIh-2U^q317K;o)V3;KIh9pc|4I@n>lgS#;IjUidT{X1(4|mtS}IQJkM~mh;xX%j|NAV* zNVk?HGu;MGXa+1Zm*G9SM)2A~auvU5yVv6R4#}o0?jMW$_f;?FfjR=>;QJ5WL79zp z@?w|~8~rhgH2$qk>UMZ?DqCO9LE2c?FO zK!DMAD#nL)=r2!3VeIe@<*P3HRDIc_rJKq{8^|6NOi-i5PhHw{ZV1!DL6BE|%&mNc^9hY5#`#C&+PP zP2l~=!y6r6S3Hxq>=a5`wJ{&W#)%0T3u0kMF&jZghbJOSxtPfWzkz1fpmIletn^8iG|jO+D)7rZJ%Tr8a4%)i$N_$Ct;A3cRkdNOOwMTIv?x>7tm< zo`5%kaghtSTc&Y7wO01EKNva6%W~W$i#NVIkBJsbNm{KxwtX+}xyYai2ftWW_!>Fv zeI~jklQ$qIfRscS12PpZdUf9L&lcwoMLHus`~g|oOiX-85(h%oF<;5rej`WiY@L`B zw(-Ed?apsw@(5dB5H_jhDX6eDgo+6IPkh$X@pI;%s>RCbffR!DIOQe*)x#6@4}G}& zJaALuJ_o(R6UqCJ+`tky{tKRi?`IqckrQT*O`h6#pQpjS{gpF+$fR2xuP5++>Qw*y zdb^F`nv*Wy%nt}jY&b8%9FFmV$&~4v4{f=cGRiXESv!(LGkppBxJz66i%uIKcyG^@ zn!5dzlAXF&`O<2sQ}uYEF>lN2si%B-r6R}jo%0Jn*b(;LF6 zI}AjE?;UO^tjgNJLv-KJ_vv&=`NC%Bm?>TIe9PI=PTJUg+U%drY0?<<>UdI*qWkfy z4w*?U;##_A1eV0*T5Jz54m_#ty}vAr{7PuRYlRNqYvYb9b9=&1<=tsluWnV7J8aaJ zmLuc*#_6tP=b9~@2uyy7g}7Ed42(`_jd-9v(c(W=S%MQ^?sO#Jf2#WZAA#W#jD0%D+Y7_%I zSV?N@pDX$2ngFWcpQ(Q*wu7Ssv<0Yt7dD%&|Nlh$QL6vQEQyp%W%-FxQ#nFjH@=W$ ziAjk_Cgze77Ed7f)5-a9{X023yQ2P2xPU(wCpOeSGy>S+#Gj7w{}Awhy#I&xnuw`D zajC+urUt{d))t+2?fyr*TySjMW_x37qt;2Yt&DCb&7xBH5TN)~fcaV|$F6iM+! z5*N#aIA4hS_lU$(MLd$FtE=6vR&ZDVhIM18U^}X>tX0JI8)lB{FrfBLz(!kcYt#|; zIQ+cfhha^qW2QXa$O5IG+H%1J`w5*HkT37y$SeA<-`AcZE7%TrU|0`y;EiGZG|)lq zW{qK)ZQ-~dhBboSa`16|4cGo^5DVhjejQNkhJ${P-`v&0fH z7c8l?dBXt`+8TaJn>VB$x~f0~9#L9Rno${Gmhe;ByfMsI>6AKr2l+x9N*fbX!@_V3 zyP}R^TF4SMYb!7eVGsUtk;NZuzL8yh85o1|h0>Dl#3ERZgd^J>S*c-Y6!8b=wnH#% zE$pk&aimnt7s{vKRVwnjY#SYkt%YM$b!`KqgZ*K@7tUM2udS~@lnCc&gKRQ1nnHR} zlph$5m=RdOp$`1e9yK5IL&u6AhS@UEF@~vQ#aJdo9c#=$rV&Om^sqjDDLc!)5 zWe%fEAIj`YnfoZy223PHE(_&a3rhgW`e3SKEy2{r+Jo5yV^gL(W%^KNFlB~QW*lX* zAkBL*78LeTFpaSXV7A4cgV_OV#9(2Lm^YXmu@y`f=7;SBGX(n#W+a%Zx$+8Eq^31C zlObb3+0<>#6deg{P~Lfs_F zq$K7ek&vm0f~+XMv?1#*d;u9liY0uJ@Y^uK!X%M6l_Ld5j^Mk#{7DH{%uhqU>P5hG zl*SiOK_f^3CzCpo)VnK^6()v!aHZcm_=(c8#Qfxx2AxvVIKr&@FcC7Ll%GnXI3b=y zzJM=Pa{a>zverWcnIs^&C>t1yD;0^cT6=#!Cs`Z(wNhZL#@{25709RRf8b=J_ zap-%vNSXpiQjtg?!J*6Gi88)`2X*#k08Uz(fX|ip1lwBq;K@T*8;4D9+Tf8Xq(ES& zXmYqjmIhgqQewY|9!}B(BxF$EtRt zHZuu+g1Wx0xI$KRy9koQBgM9Os)Q>N3;2n)cn0;x<)dJ0LIRLl|B z;$gBxsL&8HD@rtg6nZAQx^kQ$rEGUcCz5b;Z~JXz@_|YbXCx^_ebEMfXbbc4NB?6v z5e0GYZWUy2zdK@KcKFygN6t>MZPH_=O8m50-sL5;*vtFvZFeB+(Dq8NV=X@1JTcsS z@u|;?8(-?sPwQIQJI9+Rvmzd+2d?71ZOeV1FF8i8w; zYJ@Ias$0#<)#JxGv>moW!}3byddqP-an{S#H~8ONkQ;Pyf_j+E%$FwFu&(f148LHw zC@BCp9{f6kUuPI|IN)yx?2keImx2G?;3fijAHeP+?0vv47G!6`emv}-gL`A}dm4_j zK;}{S*@BG4;MW6wJ0RS2IKL16--ADA@LvIO^@ihoxTx^(!NgcHCc{!O5))!ln2JTP zPlq!xCc*gBnIFahJ0ToPu`oDBE+mz??teab7Z4|=qDzIyQ3O1=CV;Ewzbdi^mImpR zr#uq`x}hx9#}R;Kf(H`gf+q>q1&%VP%zhoM1ltLL9exzJ2P7IUB)%#^b*PH3f^~-! zeC;g^f{CD@`H*iCeqA6~r!QlR0EdB4H+=AlynHPp6kH@!EeW9xB_P1VA3P>PkYvoi zHW@pks7Gj#7|GQW-!cmP~n;LY$e94pONZ^?-AfadB-$^aBCJ zj|K2SY$zpA0?9<8hoe9Nlnj(SRJk0;DIe01Or1#}MwCm`xw?QoD&S2J$oAU=1wl~M zVUQOwEOz9g(D6+OfGa|OuK-?wCl`gM9uVs1%dRmDDE=ry0i@Okl7Moc=x!Xa{koA# zKsah)T!@CRRHkUObNjyuilU-Ic}|7E9`%909Kuk1Nl-vCNR1RjZ3VR{652dUDGELe zg17r#aEX$~ap2Kh;qlAPsqAeQc(YM>QyzaB&iZ2TZrPA`3DpjiyZk}$iZ|@FK09Z@ zQ(aL;Ls`ok+|Sj{b>+0z2mUg%^>KY}*t>G3l}kno=A%}M^w&#A@=!%I1!ou3&(o<| zLSvyHj7}VAD`=dOf)_N|ARmh6+8tcbWMu+DSw9yP%~?_q8;D|4PATeGKQ|YoLQvxS zK^vY4Hh&%HXXb&|5XeJ0rvKY4U0ttjB^n&XaLNU*$#BfavMI-} z2asbZN8j`OWzNu0_I2=25WH^;NUp!0Q7&EOYa3tiB^Q_osXw%Vvw#aM;`>oFJP7oHKn%8@T&YMcnQ)FcS(Zu)rMT4~BF75nNML=E1}kq^VxWZt zK8T&eV)*?iNbTAKDZD`lyFnoiAjJ2NgovocRe}peupWX%lr#m_ zSCE9dTuE$U`6tB(IppB5YJ^pmSd`A^!77vC)vzQEE`e1bEY0f5g$fTMzY5=>yQtnz z1{9k@G_^SVLO6?I6G0A?@x@T4bz)Qb5)_m2Qqlv5Dqz@vDuu&M!L#750Zy&jlBwk^ ziU714666WDhD^3+F=`l;mI>#9Y*3b@leh%xj-SLQdGd@y!61zA%c=EWF1Hy6|3YV;HB&0B%FBS=@W|Phl^O2GZLPmjybdEqq z;-VzVx55pVq=;k!9#Uf?At)sZFSU`7P*D;RS|kUhEHMj*dLUEzc3hD_B*d*cTG>)* zBr`c^olPaf6E!u4IIOl*D53IJ0s3>KG_Tbepd~mJEy^~ER$itk&0m#Gtv}R$8pS|HV8gQ>NkTtKwE4Sg?DE=g% zX_WFpCXp+F>NKDXZR?1D@aW)(0RQ$3%^uXi0m00A_qMZ($2)QABUN-bi5H8-ijQY# z_2$Zl5OgRXaU}5!^=K4>2cx}T3ba8O{lrwQD*6Ys43500Q8SZQbGsjSP2)&Y`IiDHWzQcW$Z9A&Hr&-#KtO?rkT)Ro0bj``@Id z0Y|}bQP>^MgTd?q$7tK7TJ;&-IY9TX!ZVvucE~{bJ+#5DB?>Nhk-`LrH4<8l4FD437uh%*iQrE_#g9q?`9qp5v~W~tO@0&u z2U49z#mH4EF9~J~a!@K1>6e$52c`>m6!F?WL8(L9C&ilS>sXQc2$hG3DjSr}bU0Sd4Jvne$)PmFvcENCR3|%auhL5CSc_Pz@k$4ASGs>*VX$QF}mgP>Yg5tf)T3kpKEP)8Jf0 z$w2we0=Gnvj(E>ppcN6AO^hT^ENwJ%FZUJjWM21!9_l6+Acs0N}aTU5G=93$Cs zP3PA&pqvxbKf1x4a7Ft@Em;V$D6|O39jQ@~b_&(02x;Qtw{?g6*^Iir z)$qy=$&7?JP}za13hsC#Y4t6kTWyIWf2iHn%lmQ-iQF9^Gyy*cxaW@UnG={B{NUyg zY>Ai|gbjxL$n_*bNU1<6XFrn$7UU0=H(Jt*p%l$D@ zyrEGh8QLa#=A#74>*vdm1-^YCodVd`OF?6ZJSAv}jcz~iAZAb^Q+e!B>l3vilt+aw z2%RBa(9f0kALX?RRkw1D2(PxyE4P!MDNjfWHXrkZGW$}_*EOrCSAyy_sGoDF8bjsXpZjHRX)CKwBlDWw>EZ&?X45a{^m*gu8Kt1EeWMV{qTfVxM zO<_>sTU~|*vnao9FR+SXG8k+P~bc znk(7p5n3t?tVnesGZ&uZ{VJ>~zAnG>L(B7)JEE_xDG;82~vm&U(k{j_T&s z9*m-V-8>>+t%k@~sVq`qGMG$5xXZ~XAMlJdd0E$uXHX3>%8}UG#4>asNkiB=gqFHW zw5qxxGdhxONa&*zO+)QijwA)vTT+pb-Gpe2EHw-@B1m4UNXTQiCQOixwqe6hfUvCz zOXRL%*hcvo5YTl*@?n_<%8@WXAKU>RS0-9F*M&Vi!Vb?Iu$`QH!6`h%PB_$_64HMp zeYNRV`A+(Ye1^GlK|$TA~k-nMJ%_Kf@VVu;F~lkc>SH4S@dwc&IA#t*IhhTT5?-q`Iy=MxjHR?S$*)}Ayd z@ri8D$)IsX@v=|TmdR?`UTAdh!Ef9&FXu-WrYF8jkA53-p>!$tWJSd#y*b%)Y%-qj zzbKtMA@KaoBDS5$Vhh^?2fULaFHb&Ju{Pq-ZtbmWWI8b|4hKiBk?wi1^yEvohvSzl zddZxhEjm5;fc=IOvcR+zohuXd3vUJl**E*RQKOs4>$vOh)7?f#UTExGs=nMkuIl5# zR&Vp36}lwth}uzZHSMWUoNFsH{RdiOF11*H@Y>TZQ4!wxDtDGKp`kJsV%A`C~iq$Ok+SBf=y2ToK!dXo|e58R|MX z!lTa)9h_WX?=DYKTa=>Qra?m9y)d=&`74^cx|(lFU4Bf)oJK^UDBGxp5+OuzQD9L( zpx17#Db;2ecAxNC{1F|6$|X4G5d*l(1xM;qSl*$3_HTr4xW|) zcY>qHGlQWTO+*smigSWl81RP?K(-`*5QUUzgc5GZVAQBGVgCKHGppn?8QA>n5gR+r z42zk@4B6WuaK*}!+eLe_f~T@>wtSepBi`?HSm4mzPxQ7HZvPlNcHnI9EY9U#XFF-O8frfs;1J=lXZ~xWm6&Tt-T9rp;`F6z-}?(;jwvzdz-e zi)S{*j#OWIK-Kqz`K;Mn%ycUQH1|XZUNGOuJMWX} zQC-Kjm&Wv6{5&qeeX+UP$XBmK0^7q*{k3ltu9&6nSoW#qs#DMJFP{}*r-$YwU* z9n|D^mp5CVZttjT`P{@Jv*T^IW0kFsmyE2qzQ|!^vE}w9#i`NOgI_Pb&~>!_bB#E$ z)zaB{oPm7Ry*=I5&#mfr{@vU$&Tn(JUldH?8@4PyT)2J6AuZ2IGuC8m3;Nvrf#>a0 zTbL&2R*o{0?$($Zp?9^S>iTudoZ!P7`)@y*=f{%1TKUGSv0cUfUTV(*7EhF>cD;A6 zS(o#3v}>jkzX_)&+8CUBf=4#?eACwV{g`=gKHR=>TF<3;;{C)VOEdqmsZ)wV)^MtB zJ)ST*_`$>0`o1ZQK19AoHcSJF@+m-@(|F=JYHn8fs<9AxBma@16<$F=T~fucef`iM zAp#wpA9~6%2|ayB;yyBXOim2Xh}KO4Fcr8GZVrUAJK>Hd0T=3&4Sm_Y*S|hVT8d5g3|fHb04PkJy$*_a=o@~S?Sf1 z4r{WtN-s~3JJzq2+QX#u2M!UI2KJRJHN#GC@ZS=DNdNpYi8e_dMTl|}W z$Clu}SDrrgn^bUh(E34z##g=8jg5aWs>iTaFN*Es?oRAzx5lyO!7W~&9nNo1@m#mQ zbh6u!bMta-Uw4n0Waey9<}Tz7jodz0Z*|MI!;Zh&u2MMeZNjrN5qri?9kFw-nbabo zh4tnWR@QD7Gu^wooF2Sx@*0!2%Sw`-aN6|0Z5=!>VdNc)`158VUJ(a2#ddC|^6YGO zZ~KdFE7Ici!n=VV7g)_SutRZT#TJ@(xm?my~)R=0x}miXCAr@a-v%fx%y z8pijVHruO*fATzx%7{Yj<`j63jgJ+oh3XbrjR#Q3>#YOnH|F;w9~ z3{#r_8k~$;)&*$FRBhB+8`ktPSS$HqK7wf#uvcv4NZAUo~y-#pDK)T?7$EbXT0iWas;%$nuL`iO(neR1TYDw)(*I- zlJX&eQpg~M6&Dt)39x)c%VxQfMXt7F;ig{=sMPG6{GxEl%-^E2TCvVwktUnZ(V4D) zn>%@y@ARB=S&b&{BNJG*Uhm4pXHyG4@9z9S`&h?4fhCJx@~?CEm^&|-5l;@Am@}qJ zSoD=flLwz`6=L$Tlkb>_GiyH$sPNKYwV!j}(|E~+O{N)B-S0f)9rgFj%x?SAFlXsR zX~DQx$1Ry%Z1#_CvSV?HTBA8nQ$D1yrWM(Awi(bfnA=8+FYGmQ`rU$8dndf?(&1Kh z$1}T}tArM7?v+|SJ#+JA*GeH2t~`bNXxv{)R!`BtiAF(8-^z7 z?A;Lh`u2pOCZc9J0n5_wdE1bS%Hksu3(HKoE;9%4!i(b7@1{6xsdK57lEH>*PM-cPyXIxTb6uFXfB|tI3UN*ADQ1yWia-)f7*;OZX}UZv?L{ zIutd{HTYJiSKKPM#rOKOa<_wpnQA_~ul9JCf44rx@6EJ3v`aGbDoG1o5dQvl$fZE6 z$6Kpd*7Y-Gc=Ua|>CAPHP6cw7UJQHKZFc0MPlu|WM7eDXyS-^t(|~K$YRv7+j%_!1 z*QQVZ0iCCnH_Er&GvMr<<&$>IeX{(K?c0j$NA`(gQ;8SP(~?X|*Tr;x*KOqcIlLvi zj_eEgAj^!jKVTKvGImc@-0-eDUR2GD*f#u1Xtc&ugKKYYPupi(adP2@(lptzh=PD6 zgIA6pKE|-+T(dm^o?V7U+b+l>Oc<)7jhd^>$3%ZR)(mT$exS#JC1-QA{bqEUJydmz z*75e;`c7?9dEjJV;_NLpm$yCXH+t5@0gi&T)4i)FKY4ppqd4E-9+7WwyRL9mR2b}h zgR@|FvaW`ZZo*(USZ!xARKC?sl9V$y(!cxuPSe)K4;a5p{Ez>4De;D_gfR^yYf*BLs;9h;f+;y zf^c*t+*xk!ZoLTATqfgHQQn!wc_)dyWB`|(rIHC!ZqP_2Gx#4VfZCj?7@F1>fKrNU6*5Gv zLI!~Z+#H;pUC^~Ssxo%%>Hk;t18w`;3wvcf&)b^J(q_X(pFO*JVEU{VQ$m`k_FlcP z@BW<&t7jUgl=T0-MSxkT|De-w0q2Vsq9#GFg1I~%zl-pK75EzOH5mm zSM}Ja*V(Hfn|kX6%sM%+)!eNgo}>uO8fE7BwK90$=)!fugH^1xQJkGKO1GRoZFF&B zH?2mW1C05v){N`#;aX(wdt{u2uf zJ8TDxeB1JX%K(jKulF)9uX?)2?D9qZ8-~3W2I)==9@lBEZ;OE;nVS?Bw#HCW&6O@= zM>ss=FKDc~F}O{Lr{U^{W(P+t4E*A1^di@z&uI38k)OL7h1Lqa3mPg?yAYJxg-uuq1=&`!-nVTyWTT>|Xv!n}kcZ4_S8ERkgF7 z_nY4h7amF48F=;4iA=W-YsR&I(>#Z@dFw%~Wdn9w?Fe%AFR$rcWPfLCppIVj1Hb+U zMp<^=An=#d&qetS_S1+5lc9reuxyf%>%g08q-kAoIe2pI%c-?-zwmRxoP3yFRef@nbhdF!04Gln`2Z@;9uQ zUlrD`qlBOaJ~rSskTTlQ#hKDXJIha<(CNQCEdS9+Rbr~UGedv02mYkmaK`HoL-|t& zNTZruT%wKT5C8ada7u`6!ojk8oc-xryplTfe%36~N|oKl$GFur(^Fc8;|FtyxOIfT z-t&GVhei1{x*WRIO>=|q%_*xcNr+g>{6zt}XCA!{%saWKT|bAO{kpv98Cd8rthJPr zJSibBYTfB6-6rolur&TG$53c}sMY(z+#Thd>Mr}NOxqdjU6N*?+;X|Kw3{~=XpLOu!a%|5nn`HO5DZT7Qk-PI>;9;xa4 zAk$>+!&xUgRoeS+U-s$-Z`WeRK3r=`=E>@vdyo3Z_cfZ!Q0rkHsu-#6!$@`KhfDAV zho-+}34ZZS%<%~i7WPR@IqNxfV(-hRX16%-R|mbiC35Yc=VIsJ_;(F@-;oVV?;0il3~v3`ue~FG zcI~Zke`L7sokPFP?3_1H#dF@GVl&Z($4gJVX74_&cBka?huGAX#D@I`laBT;e_i=3 zbJyYJ^DQdg?|eESDps>Yc)q{E$8C{gPrT}9FgpE&x3|xn8-1GB^m*U6x%13+F(J|_ z-zG;&_Y6HW^o46qug)efW@UAq6oHkx={0|CpOr^mE!i~S?%`8!j%8z_5W>Hmd8gA) zRhCSj5Z8X^=1;1((-t^%wfYoYYX5ojz44Aa5))=$kM(}|{M4+ZiDPT}Cl0-Nu&d4_ z%RBB*T6P`Coj1rVwQTO9g`GYO&6(bRV&>A+bGPTdH?4NNGWFG=CEC*q7w?+iYK^LI z!PZT=bIjfFO&0ffPu{-TGlUywp_k2ak4;}VaE1D4y-`NnIm`5q&%V+)aCYv&Gbfjw zsmdvMcDv(1t@3#3Omj`nwY6cbMZ2Eg#>y+%8jGiRyd?uOAG}*0wDRpO@es}cQASDL z@nu@8+;==Vbo@&GM)670S6hcOTIYT=9%U2dzP|UhBf8PEvPVcdYTln|_h{U2jx2-r zulL$VS(&{(va0(v>#gfbu1{aT%y;3@(=B~Me=B@%GkcMK5^;Wq)FGstJLvVS(e}oN z%}V1ot-0afX-3$<%f;soMpy7}#qK+Mi`e_=#Qo5Zx_jb#Je=3MrJMcE(>>K#Rk}rC z&ey86tV}L$7~*o_D+>(wAHYm<#o&uFD+*^gU_q*c%|CSRA+iFABG}P5P zG*)4@QfY>b=#W2syGh(<1G59Y1~ZypY$15;UIeCTjz8pc$^?(#pp zB+Ogr)vo{C;0~|5BfD3fg?p_9kpY8?T*m;5O;rZl9xnB?YXu->sx}x*rs`oPC_pu+ zWBqiwhXLIr$b*Yga3;DHU8l4_t5;@`Hlc}vsc01A#foD_VUhBs2_#u1FAp=i9X6r+ zYtfu6BoYl6Sqqmr@2P`&91*Brt*c5$z_IT_Z;WlI?aV^4qBp6c(I ze!^9)dOnk()h0)0@5fDp-FD>(YJvhcu=7=PVeP0zwdg7TZjH)yNewJrm32w^jIKnh zI*kJ;lXSn(DSV?Zy4g8#--qX&!_{Wn9$AvoCR*d|rkH>cj+eOY-?d}z5J-r;4@v@< z_UybzL|!G4cbCZ9rHYqKZ1retR`DLoHuo>w=>F_Iw{Umtp2&UC**#)%_gzo9LgdZ- z1-e4R1qaG9=l*Liqzay;-LQ_5_@~`j-pe4Y<+LN)4iz4{UvNKpXPR<@1ib)Kbj|cV ze@54!VBGsDPgl4P>SGzZWvEx6Pe%W;OG6L!?>#YVWYgg_cT4x0EWfa}X^BBa#KEC` z!^bCu8AmcbJYO6?*dgR%h}-_nM^`_65ZWewqSbA+9NoAjs|3w&=RznYyMk?g8#-N?fnCH|kYs}s%t`^PFoNw8A=e+xdT zrw7%&8KD&Prw@Nz{|)f}*g%VPr1^h8UBG|AexFh3~X*v<_OC4r%VoI9-vG+ zFp(6wEcA|)7M2K-^}$5a5-I*)A_MXNkm*jDK9m_uncg2y z_^sBbflsI7lW&WzF%CCrv+{~QnZH%T;%08YqZRi*Jax&O=zGoIk);z;?lreh2c&~j zY)upgwR@WX_f>)X=~D*H|D*U|a*`m;|3f@Gn*T@h|7iZ7f>GUABXY2b z=Zrl9n*aCnd_tQ4NAv$^{vXZ%qxpY`cJjBPUupgy&HtnMe{#w*&HrnNrdv;4sRIyv z%NL~ie>DG(=Ks~By5O5jis$Qpp055M=l{hA^|bP65ya1A-?)X{x+RE>$s6IQt749TPAil^ITLp*`fTf&G_Q@u15}>@0na>Kk)M0IPE3} z1D5<_T)1*3qklYYNK3cb640{gWpc zai^Dv?DXel1RWi};?98X-5idec;Rv}b>qb5Pp=HO+bHe&(n2sjri1T@3@akiA z-v4o+FeoQvnf{g0qL2-;Hls!i+TtrZ(yjCArU$IkU(V}0rs=lWj}HUe?Hhe^*5OUA zo889GGKo7mvS(_6#hQK&1Lmxsc+4;HLTZTcUgDthtqc2We`u1Jl=XPvn~1qhmrvet z>MFy?#BSic`Du9!|D^e$ z&0jd2%H7P_lUP=`zx|m3QqR2`N=l1(ni`sA>lH2?2szm)T{SXP?< zNAv#>^pxiRNwM#+_i6qg&Hwvv;s5=q%hhlAe?<#RCC@uA_SLcIW`Q>=I+%UAZQoy( z|JT1`oD%=fop5k=V!PJy{{X!!xA;E)4+J2*pPc`v*F=f`C#dEBjlKH!^8Z4Tk6o?F znQ~xoTOP6FQ@-AfXve2(-%UHT;(o6IYRgCW^N4;UhCG&M+*_9jn-v%2t@7$^h z`&EU>m>Yd|xIW_^=(jx2W98&c7iU^6c{BUo{%3gsW@{={uB~4-gwg)pwo#|vY`R!B zZMCWO1~2WrJlTW=LnDS?c$OACx+1`Nj+W=I$Ny_!>H3%We*@1fw2$FMw>;c9`o)q} z+w-SbOfD^&qFEU^bd&vq$x%P%|FKT?nKkm=rG0T4*ixg9pMuNYZ+<*=gt7hSn~c{3 zv+w!*O8mdC3l8{yJC4Sj9TvJmmiOdYi$$ULczTwNAKjkod~Im+rrU>&X>;!@y#V6> zjrzU$bT&J4o}0#AHJ6pYhsTv!nY=Ac+$%q#HQPPOcTE?U=Wlyop5?MvV`0AVrtYG2t%FXh zXNOm{`{?D{`D%3a_EE(L;6sH6-wj!KYO?cbn=4gMHHpzi=^CCBXO6O;)@68?C6lV$ zD=s;|v=)|p+F`K4*r3%g^+|Kw97XeWZ@D{7xhn9>EDIPL8+dDz`?a+ueVSh1%wOz3 zZ&g86*{a@8$BdG_7nF85d~)N}&~eN8g^llQ@VORe;a_C4VQ23Rtz) z>FgtR*NpYc!-oGt&kHH|Z=~dx;{Um@f&b?GpC~7pM9LB4IF`XlM&EG%?)FFS-wpU{ zJ1EuvufzX?o9}D~n*aBoXgR+M|8M65e!e2Ve+U1sMFEDXVBRp)!rMaB3qy*1?P+af z2RtyW2Rin~uznh~mS|^En>QRFp5tfhhesL{J&x>6IgwX8OSukNZ|iH0&nWrYb+FOu2JSN%JiYkzLdF-GHt*Fv6Nh7 zBK}_j#s5oyur1+O8*2|H;{PGjoicqWGng{NDKm~T|6cyzOvW3Aa&!8c|F?-sIV8Rl zu;63@(hC!kQkV*bJdT)0!~cFo_+LH8uYsAmK{6mIQ6d920RMyPH?8d6$vlY0t@#M2yih!IYlbLp=L;NI>}>USY8SP%S((( z;Y;u|4tD@2nZ)@*u0Y0vkFas@G*JdAPLc_5_#$^I^fg?-7n0yn4B>HfE|R9ekyIoS zNbn?)7*CY(1w8bn`7Z)+($WOz3&ebpP-0svA3S;JYU8lUO&dHig%k+vILShhM9Syl z5?LB#O-hOVLK>W;2}nwqA}G!OqxpZ1H&13q-n_hj!tKjE=ZXs|H2;t0|Iz$En*T?_ zhpf<-y=nd*fFQY07$QszU)T1BJpw}_WSJC0NJKuINimxLNAv$|f}m*#;A8C3&?Gp} zb4buRq(S50Lt{aVg(x_Zf)5g-`G3kKL-YS={-2_k(ELA||3|`tSt2EQIL-f~`F}M3 z59xns{vXZ%uR z;o`e>frsu9gCj=uSP|LR9$>DAEzLo~~)iu2>TU1MzAHCg-e3&!kc z^WyjMS{{iKW@_o^?QBzSv2_0VL;c!r>p8PHVDFRy=r3~#3V@E3JvCtL?YEh&DCBcS;`GK!g_>+GPL{Xl|AI<+m zrSLCpg#4MI79Ibk_~~f>)e`uR^Z$g^sitGH?4S0Uetb*xq;&&K9}XQ?=o?Zww$-%* zH#rCA)BHc0|ECkv;&5=}8tI-FOHaOZdpLf{qLn`igKxev?p||3~xxX#Srx&BNY4gXaI~-{wx9(d5B2|BvSXDNjuQ z4g5c~QC_DO*%)z~eDZLOefg?mk!XGDoLH?^qt13;wcvEC4gV1TuZzLv4mvHLU(DO6 zlN{A<$rN9!)0WMw#$G8znjt6ytU{~z%{R?x~AjZ zL*n))e9-UqDZ{)?a0wd^8#h%yXHSQ;<;Lqw;sm}Md&k*{ZF==;bYvtsVETuq;S;A$ zWkznZnALRUnJZQ3>~L!Fai4-FuIB^Kzvyb7yKCy{ zf1m$XU}$8Y8F5+lE|yh%$l;hsmA^rCi@ta&)B_Zy?L5$?|YV~2dp2Q z)OYmen5y@x7RgN3E>Z9W^Yx+esy#}Z^gbS^bCq0_+i0shmmJ>dO3!kGerugQR<+$} zm@M8Eo$WfJZRlX**llHph?N*;Yw3~x2296~gCmCRGdGy9Zrv6qb1R9ndn?ARRjG}R z&Hufie5b*wMMYZaORGAytUO#WLEj^-kokU2x#7blSEAZ@MC^UXWxdq!%3R{Dl5Xx~ zGFSV#w5e;`64K4rXzz@a(K&_2&l96gly}SrjZ|*X9j*0W{cV4bqDQNzr zdyDGrubTbdN7~M3b@hc0^P{b}CZjZxy1Mr2fmvxgaE@ombRHOX$Sd}Y=_|2lwDP|G zf&s;2eD2*^Q(oQMVC%h)tFVg)SF#&x9P3wRMUF5UUV3*>zoD%qRl_Vr>+!tojdscR z##}l+YNAsS&*-81l|Ftp`38QWYqppik4fCJPv12-=2}bL#$)ue@10m0b#JL{p4uGi zjWhY0_d||(x9Xjr(5C3lxKdrUmv`MGPUQ~CmtER??5@o6W=Q|HyCXViV6lXjR)q&= z+O`=q|BvSXb=hZS+Ai5Z+{$cpX$WsrSmL_)PZ@1IpT){n?HcVH>K%SoZ?3vm^3c~w zdsU|U52-p6@=17a_OW%#Uu4^8v!7k-u0Cn=NKNMlnI>x=&N|ttlIH)>{67+2`k?uL zg^PF1Z?#6%w_xk0+&SiM_$G^cyeDs8?HNMz|NdL}e}C$7^&9?Q!SM+Pc6I(xw%e&{ zV9!oj;r302Fn?YCpUb^3`G1biU-ADaiy!d+T<+EL|5}$Q@&94VY4O&5 zQdX-rmz*`no8i?>KU?mda8##w@3@6d#N&^5yf-~d*l{+{@ZPF5IWN}@jH?;%b=brr zjlXLPA7|Rdh@2K(n6vwCucPm+RK_ml>c+dNvx|Foskk>=E%wyBk!zQ&OtlWWvA{+B zy1m{-5S&-8(Zw#^hBJpSPR(YWv@;a$t8D$sGUrQBK7% z3;W5x694b(f&>2FZ5z+zXGi*8T~Oj#-Rop{P@&0=gWDWRY zoU^PKHr=q1wIDHThQ6Vy_~V|GG!Or?U2k@5S>q7>DEuMu_VTk_%Qx$!TA9W8oR|{z zg=apW;jdYg&g@iOf}z)Fp7E`jD@M1*o@wg5d26t^al+X_i2++I zMu*+(yFcmq9CxFHgHGjZICnnY+nC_<_T9;`x4OJ}ddyMMwEd_zZHfL5Ja;>1hp$@RdvD{^H5SCXdG@1K_9qnjR#|s` z7Ij0o+{3I*#j}6)iJvbcSMcAG#5Di!f0_RW_1^$hs17;A;tAx>e16$_e(sEb&DGTv zgB{z|nNZ$?m6NlxD}k|{2p2eUabklz&Hwwkg8dtO{VM#w)+yI+Dzfu;@c))`X#O8Y z^Z$N=|2GI&eT^B&G{RDV|MwKgcz>S%mq_vd5-I*)BE|npr1*cxbjOhCLz%&p8BUpT zl==7a|K>0fe#rmZO7s5&S$;r1;|Q~Sq*5_IQ6?p^2$@jIPbDdPDL;`f;7gTU|8Rn= z^$QY&n4^J!5*RFx&bLp ziRRZpS{g(ECW(~-HGlxDIaI1MH+gvXku?K4HSXz&)BHc0|7U~K{6CuiNAv&Q13=eV z9mCKQ4!z-+=Ks(Sc+c4fl9CMa(L2rPrmY0KuAKJzz+YyzKCaIVd;c;Q_1g;Z){sScC^fJ-Tc68~)k63hZVv_X77iiQUPn*T@h z|7iXnnJ7z6<|GQ>s{vvWXo)1akdq4E7T^nU_;dh1h@FFz!gRh^B&2{~=^Qbi@@;K3 z$RWq7J;T(WF9zL|NSuZ9L=a9WlHz10Kovc3V23f<24r$cIZ%x!6Qj2W#bh$Lim8tc zzy}79Cl(ke5CSn~@TDp6aRPYV5Te%A?hze@JUPH&Ktu#Obj)E`28hM*Edw#hp+02* zHeIDC8|jryd6Od|gX1bogRl`2Jswsk~6cyw??fPZ_2W)G^gA(&b3 z-gb8JcqdMMqzbN^#EZpZ#m6(WdUNHiJfE7g@0=iZ@p9kObV3X4K6+^Jn% zIH+H43IxOb`8+&JB*Rllju02YCq6_;RD(+r2?U}HNK9u2ThVyrqNsSGXNusR-E1Tx z6h2G`jj=Yg2kIY|(ZYHkbzcO5T-9aupX2|vOJ|1uX7}phhY{T`R@fc%*xGIDi;Z&w z)E-yn=nWsdVLg%Um(#BQpxCR`t#1r*D(XMFk>9Hh&-;h#?^utm*?UF0d_th*v(9d_ zuWXsVU`lcyf$7HU`)6I5GySmXlrqEq?5mxcJZd(gB4)xQ{{g%FZWvu8;v+?4g31fZ ziYwYqYI=Tw;@%+I)BHc>()c@%Y5pJ0|KrpAKUl&bO#tHYXTWlY=Kss?i zI&QdG?EbW&`6U-^Cq90eyl42K*#>IEX#O9~|D*YTE{+7@{>7{4K|`YHAt`hH5ksNrWrT31(ryA4WimrIJ60LP|732{&XgYE+r< zytl5pmQ7($;alC>SI?OYY<~8Ljh$wO#Y|&{?ClV^Vr9wgqCHu`Q&~4#K1|*b?{_*Z zaOmzQdRq&(e~hL1e>DG(=Ks}a>fvFE`pUY{M#Z&2}Ex4v|;+mLhfa&2FCkC|lVY*FSeX<~jVN1Vk?ldw{xsf2f(04Cwo+5tCJ zQa&V5$^-$WYRJM8Kv^KA6blH*|3d~r@{7VHGk=T9YQ;K#MVf3rM`t?C|H}zjmVVFM zhFnw@ACXvCX3BM$QCNQM<+~R~#j~w$pIkEI%sijAn5)mE}_27g=-uW0OxV)a>GTOO!Eb(Rk7OZUgmOVC%M-%sm#Xf38ovCmCYP347)IzisWm;{Um` z9Nk@M{@)j?IGX>*6^kUIBq{EbN{abh4&Eb;ls`rzVOtXI(27OJ&@?KABY?+nq9P;l zfXMD1e+sBV^Z#i6pIqk>#ZQftazL$vR5}Eu(qU6qpkwMMfD(crS~u5a18#v}JFp#H zoShN))LDM&giinEVL6}i?I#G}oog7u;1dMU;z~?)cV_61_Q0Q18_szBVJLs<0BKZ{ zi%Ybz{NW#;4o(TNO*mL~kF!60i&s*I-p`svTB)+z_!zgEW_n7?aQt8n5x0);*L&V? z#PR(v{fQUguMjO>01n8QJK-XNS2nK~Q zE0te6*RkM9I{UN%d`is>PtoyYT=~FMw?wWTm|W}}94TFMFU1H1y5{agH=?WJ9CXcI zKUxnru>Af~HY~l1P@-|9WzL&Mdi#Y%+Sfk( z`4emJFu0LlzxIy&*|oRE{gL6icMknFvvb}+70-E#ip@kD9xpxdn!Wq9+MSZmA7WEm z5*zj(Ogh@X{B`BC%w30<&$p;}zw_yUs94Po;radsAGbx0J@Kla!RYi8-rhcQZuDth z)8~EP=FT(Q#e_(!e4898-81yi&=;;by*it`n3dIaQUq4&rq}$neO4ZMwPe$PyN6G` zIhKuyLJ0qM=ABMIRar89LR|Zun?I@EPFvv6)#_7psr~28_r^Q!NKBZ0J=Xi-^HZ~u zCXTJ?pE&g9!LB-!Ebq8KY1wrkciteg)UvsY7IykDG-rDMiJ41N&)uH;-n827%G6hf zmS|6>`F~ngCKophac-@-{hG`5^9d7fNk;}76z4Nf(fmJ}|L3BvO=${;#c8WD+17+5 z+%&7RQDGKo6Pj?JjH#kgj2A188HGj4mnLfPg`d1UjOPEPDL#TkFby3sjPW(b4sJmH z75*RV^UGDHvo_hDnOOZXd)KAiQ_fz0vml?>tT=PbqU3W6+tU2M`n$V`|K~jE!MWir z?tDr$>QoTKTd<+h>JU3%s{X<~cUGkyu+dDl;$5Fg#7GY0*SIb4@#!{n=L(MY^S8ux zoTpPE$RDeIzq<2$=is0R_pa;?8CD>(dGToS+Bk3N;D^;#jy1#6SF5Fzlbc%Vh0WNz zS29KYLYv=oBlEo8rY{-N>_Cj(hslf$vAHF8z4rZPK045M?36{HXLMiKWSz?^k>%mR z6`z-;>&A!&Z5Vm$@X8I0yG3uJ^qoKA8xkX!EK8pZ(dZlDJ-UrMek1UOuA1s_r`8!K zx~6P>o~Hll((Q4n#%>9 z#@Juzu^~ve=q-UCgc4N`G1=rm(B3o)5e^o0=%disDNfvPQ4s#*ktOye|7~m|$Vu+piqKcYXPj60Vp} zz0O%L0^X|yEFSgZYy>IbWKu_xdUr*#fPROxP2W2BiPEyf{N$7do&IV5-@gn0<4eB} z|Kp=KQ829W+M$z5@*f6lx>Fsa`uWy-n*T@h|7iXnnM(8jX#O9~{}aMng#lP5JVq!- zozeV1n*T@h|KR0Xn*XPa#H+{G(fmISykyP8>Pv*?|H&D0Urr-EC|cat=(){mz=czW z&C&cnn*S$-*B3<4TxkAZ9hJ%plp^Sx0JZ2SGBXX3ZW5e>BhD4D(&~6n@KFN_370{N zDPUYJ)v7~xQN14oy;10Jh2FR>X$_Drj$VR#!uGJO~*D@Vs=6Kvsw9sw3w~QbaNV z523gaV2=`5OY^FYgp}Cg5;Bbg5BEZH60=Y}kg0q-u1Fvf;#M84Y^gMonVi(LTHu{0 z6oC~(9HxZutF22Q&>_eeU&s~6fIz0;`k`zih?u-gY5t$QxzYSTp@ioD(fq%gQs%#^jNX2 za^YG%BBS++wr)?b8JaswmaFtiiaoqLqh;k$$5N{m>Sj+1R$e+6&;5OOlR=LvUbk4b zDaT?H^QpL}ZqoW|amFSOnRG;B>^cm>83K<^!JliG?2bmTpW)FVe;$~wlDsb& z^2lAmU~_+Sk4Oj2p=ub_v%HpBaMS^F1~)e_(cT?w*dUR_ zTtTKY<^r5W5?Y8G<^*km06QnJMMo$M`jfkJKq3$1yMaC0+%Qc@pAX;@5N$CP;uk=V zz<-cN!~y&-*=YXXe@R9CGs*mq^ZzWaozMDz?0pA7R7cnL-Fuf^Sc)_k6%{Ptx=UF= z1jUNID>ksxR202t0UM%##uj_;y&HRCjlIPhHEPtv-dohz`~RG|dzYfg+uzUc`o(^;PLBr&qd9onK<`j)cq0BU{foe|Fps-GmXLTJOPKhTlDuGHz?{H~p>l z|Gt2$_d)FHeGu;2hX)%&D;O)#)%)_y83bFN71|gF{zr@i;ASA@-fI8PYX9%a!ybEe zWBtZf3v06b>en?#?6YgQ|McP-fvJ;U_I%aXJKE2!eW%GYsx%21a$)Uok4tkJKbx}l zhuZU!r=7ZTcK9fJUQlp~h1rUSFvoD$=xn(wUr?ch0SwMqjIPr=DYZ)X&l;mGY>D8` zD;)`&e(=xcqw6t*4SiTqj?R6)-&JL{|Ai^d}^OB+1Nog0RRI8QO2gm#8t9yN7sw@vPtjZA?I|wZl)AT?jcSQPud9+>)vZxy`&}CvJ-<43 zP*Jg<)&5^grOJ(O**wV2=zl!>nB%bl<@YWYZTo*5KlZ`)kqQ@E`+>%-wY}HgsXKpH zsglpPSI9gzY5%@vCm#Kl(bQ?j1N-k=wHTkaA?(rhx)0i3IleKnOZ4(Z;~!M=S#dmT z%-1O^9$qxA;1;%fFlV=0tCLgrD?)uLZw{wUn`_mb^pk4V|b8{u@rS$!L4YHiB8xMOZ0~o zu^zp=n+GgwcI*}{3r6c#h0&}?th+cC*24lHFIvRQ7!6ZSUT|FEGc zn8Bji9#*izp@f$sT|C$r3_x-kvkw19lyP%`+UG9Nf5iUZKUF_})BfMwQ^Ovu7_vIz zQTT{bG3)Mrcc_q4g`uy;`yRJnzvlT@qo)=ApsN(zIAYAA5mhIB<@HuLyexX#=AY_5 zs<_@a_K)B9+6-#&cxCs_Cd$Q zZ)5tk+%fK|^B)?A%r!1Q#}^L1I^mbg8^h)fKHqbio4a!M(Ce?llP(r>de&&#vQdd? zm)>pZ8(H8^WxrqSsu!AHdPVnfA8zc6o8EfM`yofh);+W4$FHwXPW`&d8Lzz~B8J*d zKXiWR>cM-P?bthyui0g+Hh#)-(cfiupSp*}thm;_al_yvNB<~)rpI^VJRY9=+W))M z`cHk5r?fIe4(lT;ww@>{k6dc({yrbCcWoLsv0T@R;YWwueVSJDUXMK5=$ZJ6?M4QT zds-uXKyAJ}6G~!>X&?_vv~+o!#LZ z_bsj8-mO!5_sC<@4}KrEF?`JQqA|yYNB0=)v$|7o_nGU*9j*~~x<`YaH{;TOEcUoOEvJ2d@Umf&Yzv^p~O&VqJvT~Ah?G_LJ0R{MWe`+rvZ zf9sbtzvxc|fZgh)?q0Lkc9z0*bna2jGn$a%FQh@HG z&QpMYpZ&iET@IiBm@#qRfKmy@ZSS)S{MIt$;o4V|53IP=rn}9uk)0~Ge0@Ca(Vmt3 z^SHg|e%tf1o|{M2BF;h2t{460w|3jY9>?$Nv@EOQ$_d|}nO0`;iy1ffJkF|BV)bp| z!uq8H6=h#-8FBo@_hMRN9pgdj(iy}YyJjNPRC`$dg6%yu4nMWwHLvZqxtk4UCJlwYq z`Nr#JzI_3*{}-e!m~CIe_0UF#@-L!KE_l}Q!@RYn+wj zf_BV-W_3G0xo~g&u?ZdTG(G2^;Te!}BYfzaNBS0S&4!wOx*7Jy`RA~%#| zXI=9jL)^<%Z_ztyjiO@suJMPOcnxvrc&6inkoPzA>5aZ>9v*g6H(~SHrN8&d_N(0T z7v--fR}4-Y(zj5%b%nU_D|1WmcRN*xdb#sON>uA-O>gfW9pABjfS>oa0%O!IqGS6s ze_T7`=T<$R9~xNXdCZ}qRcDS|?Z2w%4{pO-(uT>lXV(+5Za-D{r;`_uptD zx$6JRvHuqo78Vw2wg30usQ)j;{@-_H!*n3dRBBRU zNQhh+T*j!fr{z^czSx0=Zht0=C$=dOuIv?81Y8}vc*6vm-+uK%;u-gBV z_p~`KM8O5@S?-;)qn&HVJHWeoalA+ zY?nm&Efc<+?7UdUQ1W1A;= zIAE86F_WVt@DIp;_u@4z#=#|tfk#ZtO zuK~GIO|Zr(n*3QzSW2LF+s{8PHU&lvdZ76wd&ed9WLYBv4w4Lgy;J-3N=%X2v`B=} z11c3}^+3*m+sxcS1BF9DdlsjZpVr)X9$v1jGDu&~%rNE%cjq+Fsgyh5o@6O%?MInCyYsWjM2zfQ$* zO{>?W|3}3}4UTzrX>k9oH-;_f-)z*2A5Tv7b8a$CXg_&+wad$=2QBNgtMtBp2e#g> za=6f&i$}jMx#;+ZMNVf8o$M~`ePy-(XSM%lwf{%=4CA@3Fz6+kZz#s&4j|nGoQt8L zE?sDi!!g$`c`U*ualL_)#VazKn8q$E(xt&fTs9TqYHl{Dn1l<5Nk9|0BVg9;ub4@< zBjvOuHguCU9&FRt9mfQAv$Ynm-e5|1DSKLe=D8JeVFDV3I9>{I)Q=luNfpEawEnt1!5BGuPIV3 z#zVw23Q#O~B_Us3m@9?-yme1@D^tE<{5>N1eJW60M5V?|bztJ^npqKj5fQxQ*d!w5 zNh)7rlf-iP41vnaftn!J-(Pl4N{*{Z2_{3@>JWi)AeR%}KhAFiEd|U;hIk~Cl&efb z!6^J6W0Yfst_LDl%!zD53Fa8^qx3qXfYKlh-Ml5K(tzbeAA;zm|15e+u7Fnie^&c{ zXhSJnkNl?ms59l5k+s_YV|`p62dE2)Tz6nS&0|j^^ukn(0bPM5aAQ>*r)vpM8cyR8 zvwg#R>w6wXJDk^Rq;`26^1wf|?e|7W%Tmq<1ht@i({_W#<7%E-31F;Joi;f-NGwiXt{(>fR+6ESXRNz6t_S-F@pVu68Y;k3A$I_^Wr|yp` zJgKGlUan1KH!l*ncS@YkJ48A ze^&c{R{MWe`+r(|%eLD86S03Puap~_7r0jYf3%4z&62g5ZO6QJ`*N%)TJ8V+uTT<< z9OnQ*3z6Pr{rmr}1pe#x|0>n$vhKnAgV{&!H^{hjsaXBaKd*hgcmCbYQ;WK{Yoo2Z zo12Av*NKc-!~Y|OJc5lz$udgWoa28{B7T{t2A#j`OsDS>y{o6;n4Ad*MCo$7)&5_? zuz{00l}=tWr{1i)T|1n*JhS7p?cDoLaFnlW;O&*R zO@G=@b5r|s`vQctm0h16>G8B;yZPE@wYOdgPx!WHLTKM5^WqEm|6Fb2tLvB4j%V8S zTU@W~ZO0w+-1_X8RQb`{>xMSYUX5Dm7W6k=ajm$ip4I-J)&5@~Gt6g74#bI5`Z@TN zKy+X9Tl89VR;&F#I?hHve$WH|=w}cDyo==!FBm#=;CQtTJ$Rt@bkIUE+uE$ zPjR^#KVf?0l#EmT9LDWV>=@uz<<(x(Nvr+8r?39d&Yw}{>aoRBPyF6KzWVjH>RH38 zsQRc*s@A1>x$lUL{r>T92RxNKE>}P3r2G9+V&H?RFXp$Ka*jJYzxMW+r&AZ(HK^-6 zJ=5z1S9brpnTxB|>Qg-Qz^Mfb=JxMj@=e{zUMt_$DV6zr&a0i>H#L}g?S5L{A`k9` zP48Ez!N;>3N_9=UwdT#cZ|>V?-b;#D^UnBC*>KF|%V|C0$5%c%yH(>RJ2P9CoZr_a zxJ3U))ivv?zFl^7QTyHVhtF*NRjbBzYwe0WG_!YGO=jKh@B7W&y}d_|Zik{$+#LHi zJrU~6_`d-DIZ;oASY{lBJL);{4bew9{dbNk`3RcDp(8L^JH>u~RG^@G(` zT-cIP=09Zr&+SOY&^xtL`yCBy>QJ_1z^r{orYD52-SzxR|I)|$1V3{sUgFycPsU9Z zcHJCtQtWnMQS?ub%0D~1yiew+^#Oxx-q-*BAiKw){jW>UDZTv1XImG0E;zORmt&6W zgOVx-Pd+%d--1G#Ix#OJ%T&1-lQw9a_vSsJZpoPmwIW~d&A$3EYlUN>8Qm98@HqJO z_V-cmBO7kJcXV{g`yJzlZ24h^TPY8l^Aoy89bEm;uUBY@uw>npWhGu4ewySwWLw7h zQmxC5=y>qNbLG3%og+gH8J*InRW5e+*yTPqkJUf>Vacph@3v3dvSY8u_scJ9ckM~N z^)hP0o7kz_tBP(FFL#S8t>3<~)6`N^W)yS&pSS;axo_s{MbG8u3qb3v;Wt4 z)Vli*e_4N>>E(*X`R0-TS!)Gki#wP7zo5MK|AN|lsrLW=srvbw`#eM6&b;%y{`-kr z_P8xs-28kf|8eh)9-cKfOsMX9dFqax>r3`>YuH<4julcc?DecQv~@SNWVU;e@M_`-R1 zy_YpybD%$;=Jb%0E!r#`_oP4>MVSV$LN3-7i z((vAQLq{+FGy8uFLYukyMqYoh{{HP-dy=|cSkkHRRjd6!g#zX~g=}18T{vRakEXatVcM_P+(_>{z@2vjc z`FFYb&DkR(#+93wpuJn+T)P_jY}Xo%R&OeLq*dIe-7aDET3smY==6jbw79v% zFUw}8?z?G8wznD_u2!UNc1N#y*G8{#w0U}?Le%lhf!S$iHy*x`=6kV0x0gGj3~H{m z(a!FA#n{PPrdsX)MI~D8|CK3Lx{Ir+NQsea8YGNp8n>?f`#xTkAGc2XcKgW4M%9{~ zEHFz|rOTk_op%XSY7TsKqQU!~H)kAPx9pGpdQH&d3yoFdHx9QAz0e`9(7 z;E;fLQ>rm*9=7m`dE+Mrlv$IFSrd#|V=X^X5Fi+{vS6aiY;u)XXoLPVwWe14e^&c{ zR{MWSd$(dOy2d6arg*n#-rT!Z^TrkbDRuP|`+tLvjNP}r>YKeg%02ojx>CPpfzAW@ zFW3HG`I~v||AmC+v;W6{zp(#T{w8+V%=Z6^FVAKFFTrg8Z+IdF`1jfWD_`hkh4KB0 zc%2Qk9aF;lo%;vhU1JZ~&)+qAK{@07x7VtD|G49}lXcu~e!Dv3>AJ6CK8~q!u&7V3 zr0tuMym|jtV!4H@_6fwa_2t1~tKe;~U)mHn5Z@S%R->u!lQ7=R%p=5>g6Aw;%ex%gwWkp(7 zbR6PX)3cTsI>e{;fvLmeRt)2vD@IhV_s5)igJ!LK6|v#go&y^?&Z&B*(Xgmh$Fruo ztK0*6JR83&d1KFp)%Ks~J56j*NuzpI_kj2E-v_oR)V7Xi?@oy;GyB~CV{fIlzs|7l zxa7p~B|l$@^*^rGLr4Tbr-)V`+wzwVE--jzfn$UDXFn0 zZ*Q(oY!}HQ&YvXuxBUMk+LsRJs{c<7pXAsTvfPaLXYymjA1wNDcm;)p;`f$w-XP0` zhKAu6y34_uuF+V&ToC;6@ja-V)&Acib+YXL4*P#c;;r`oIA6I$ zrFS)si_D8~oO~y$Eq%r>^TK)$MA=uocKNUBh z+5dB5_W!iG?EgLI8o`F&1@;`mp4Hj21AFdfPd%Q*MdI~k+5elV=%_&1SpEvKl8~Gv z?`BEpT=xI0#{Uxk{l@>gi~m;pe=syB8U5ovGg*JuIAC`%XA=LM{lDq+=DK~i@>uO9 z>m5%0eyQ+UtNlN#{Xf08)&5^V4Y5ZL*dA;MvxYQkTJ8URys@Hj(_5#Fb8bg3&U{__ zQe}0W)l1Zk7A$dm7m!&XDJHnokQHj*bGO&~j<%1{EmLi%d2w!L-7{lVP4&}$Z82>A z?T)VwjEpOxzuEKQ;+d&e`~T3VM~ioTzWO<7z#Giz-k6UjNYfLig8p#^CSu%eG1tS6 zP<{Mcgn#v*lnjPn0{&G+Sh9!}i*N(+K8(q3DZ=l7p9p?$fStj+I8Uct3%^ z6T?f>DFsMY=-Mh2_>Kb#qsj2PxM zA857zN7gFy8dl3Oo%jJ0ie5II*baTQofO06j1~IzNk&XjI6iSq119qn%9V5Z3xr{|2}8p z&1(M-1tXaetqogwX{e9{t{0S#a(Qj1O7>E%_WyFXGOPW+v>u5)Q(@XYE-lqNJvhS~ zR^wr1-D>~OYX8q_|1Ys`Qc9}T{-4$UAAU%JemcTx|IhosVE=D$9=PBu#I80|Ch}5FyjSz{vP;DnvrDyv0f?Xibb>qA@pxl9mBye_C>7aZyh1szv9Y1i zBNtM@XeTJRdCCQRCWrf2dE+X*e}DhDwEMm0GbaR?f+Tr|5@$-^-Ksd8+q0IiILYJozYjaROppssjvoqVAs2O zQkS0e)4@$^RF~`%X7eR;U&d09l?T26XUyg`JX!r(`S^{=xoE(ub3IpNJ2xt~^^c9w zCFVwY>bu`<({#mVRd^9)y{&`xIuySc*8PC%Is3=qd#0<_{#fCR!aXSR=Mj$mtoHvJ zREgU6ee0^Fg~uoRw+%c~>UyvC1)A0Fv*8tY^@nfy?2fH8n;Dcbti!J{8Es%Kofa?IriZRf6ecX4g!YrCgr zr9V9Tu)*zmWtY0?mMqQal6h-nT;GoC1Bd+5dRDugeRMjj{XeVyzhYcNEK9rK1V=L0 zk^Mj_9TSPig0&--s#g1d=YK6YyjiX2@Zhh?6dAPcS(#Ut{3?1UO88}Z z)ofHt6nb5i?5b{!I@|Bs(CGQqv4e_=1v6?b?R~SFK5^mR_EB*|_ZEvUKXvHk3;$>B z|FwbrzgGXB+W-4r*~Vskv3fn{lqgsJ^ozpl%Z)nmTfMNSs}I$m|8aMR@FD*p`+w^L zSJf+YW%ra44=ox&-=o|vhzmk?m1sp#+OW+a85a~%qZpPl<18L z?c!}8HgAoqpLBWPg2McP^7F&4Z+Y1;-n6Gz`0iQnd#zD>^s3!!(wtw4t0%wRwcGPo z&l;l_D}#z9@>eTP-!Oa7dWW=@qeedTEn(=?tJ%)%xD=dIRDo8H$9`YA z_xSV@GpaPweGH9Pi|e*~-u?E8wo0o3ca9~kwTV7%Q@hWW){8ziSiZ4-ru|EPM9T1% z^}F1f;GPs+=+f))Nvn>wx}Ev+N7sV;E4O|zDfRkVuFsI+bs~$-n)EFC>6GB}9X-1A z{kdS>$03t#yLRdL`{Pcq|98Wf?Rv$snIH&?plsI@z>enGn{eF@XbZ0pKHZzhRy0%D z>xb4I`qEKh=Zx)%Y(+I(Ij;m8Y2j$iX4XSuG=kzYn-imsUQTGrM{kTAx9t2+nx-=o z%WT^=>C}(?JQ9!f)?F(fN%sGy20lsr#QtB9F|>_QnaL}j&C5EmDC^i4YhSK>WKG!r zs}<%SR6acP@3;RKVa!%OF=h+rC41a%A-MI{GNVu zy!QV>zFhl%|4jY-P5Xbh`wyCwu8-MU##1QUAu3)68PiQO3~k?%`G!$X{nb>&iF49s~q1I+GnuGfTVr=KTU6-G({9w{%Lu$XOL8okctc!crEMV@; zm(^RAii?cgUYD=hyXpDjzw*O+*jH%z+X%NukFuRs9h%x^f6ra5hX1&7!mI(uK2%@U zNI$b!c)v{#MirV?xj{yR=czNX?Kb~9Y-@OvrM%u}rfgNq6D8$gEJjwLoRnIndv?ph zUWIG@x+)>C#%``g#HRamYYnv8|I4xe*Q{#SRMVIb*RTJ)t9anV7sdS=R-AwM(%>7< z#ub|p?R7qVz`hRWp1E8rD75OdXZAZ&`8B>y+fp<6V-NRF8NYbB7+*8(ZsPD7#_gUL z^mVJ8D0k5%#Ixk^QV#d$-d_1zRHc!(;)>5`^i?PCBlEAs9hp<26{%{G_s9Cd#E zpzb$|KI!;wK-X32*$S<`>w>W{ox~5BZnt(-ZZPCXKaW@6vB~K0bE% zQPt2hPe1JIo;a`2==G1f`W&Bl<=5IzcF)f`5!vH)jI!=%Nll)rYc+W)iK|Es;* zYX7g$K4U8yG`*BfjE#&9=GB{5XJ{?6xx9E&azKxyc$1hSc1{h57km8m5E1Xj8T5AJhBQA0Nf72`}LBJg{F@;`!y@cfWD)_>05+IkADU zX6cfZetIY@o-)>I|L?zP|L+*KWXrR)_bW_c|JRlipVz8Z)FMMBK`+wy^g37lkR3O+G9AqpXWHbgdz}VYZDQB^%R0IVW{Uq~#-NN^g zc|SWmcm;M?J{r|T@-98i=Kn_4B>#V(`MDcCD469S0w)1=6(>u7FF}7@jW)JVZtlRW*x0oL*kGtg=`As?XiJPho zPr0n`H$9(w`O7o^_nDPzuJaApGN^AXV%c!86M`J`Y$+H6bNrM+uz)x2ZsE6McDFjX zykW=T8@4SOup!E>Vl`96mVGb&^6Q+fk52uy`M>06RptiH*weU>hi~lgug{#iGc>fb z)3T*wE{7LCD)yJ{)Zmh8eY8WUu!^elL)(EcU~W>-z>7F@px0G@ynuoAMa2-t2MLzjVix& zSTP`ZXziD6?%ciO9$5NAfijt6d6vp@Jsf7Re`Hhd*;oxWxk#Mp%qJlNavV&Q9m zZxcqTxf?PwGb{G;Rx>+h4ezSB7P;}iMSELBXCZCjuA3`PKx$%NvID9-V$K)k)hxFh z3{g4-m{Lsf03_LvH_GU7OKw@vY8+P$R-TeY1SFel9Asv^PJa?El10e%=tJd-Ka!2? zzu9^VT+KrQr(ozm{wU7t{9$!XFTXoTZr)>bLu?ZJXoXoBV6D_wG~+^kC)KGXc1|c5 zU?4c1y>pm0l9(>YK-J}D%A5$!-fl*oD~YTiVHe(CH4r&g>Upsa3R47T(5U=uRf2fJ zhEwTzJb50#VCc!k5gE%^Te$j~K@HhcGhYIG@iZGX} z(auOEL_{%aGEr~J6bx=E9a@kolbXHctPZEhFe(#$d0xcOrV`Qh3_N-!a|vWc2~H*} z&&AvNR z(L~LBlqpBx5b^u=nw*%(cP>7tXt;cN53v;_$O#2|Q@KK+3 zM&v50=?Juu>1i3NcXHWX@z6l&@EI|I`p%DXNgdv#Tgyai zwc_Ja#y3#Eeon-7sW1qPc#Jf{{iLWjw+~zyu}<=&s1bL_vw-B;)_8s=V{!Yo>(+>O zQdJNbaR7AqU8!`q#i6?*4ojXSNyKYnaa8gwubF#_iIaAq+A+p!aZUA+hyW>@1V&sZ zUbCg(9g0jk6%i|mLs27sree&LJSYA7@hW4{t$)Jlh$M*xff3J$MH?y9&ttZ~jMyTH z6PMWdeMA{zQ5l|grcE>=*Fu}C7!P;2j)D6vU^<0#W8g0q&_v(|l(wDep#|(lAe0S& z_6nJ24+2j!u&f2_OyEuiR<(fb30%Rzwid7jfs+{sWzZ~V0|GM{ILHD<64;%A6D=Ur zIkbNUF1LW_&s;beO|vuYw1BKY{22JF1uRY>Js5b`0z!4*!g&VT@v=yc1U|&W&SbEF zN&?R@Fv0@9rG~JVfz2)89|W#uU>6IBB)RbE49u{AR|y=#z{wWyJb|Pj*qPA9%%yaa zz%~p#WC4F9uoeS`W+CbLu}( z$ln;)zygv<>F|RLg#Ka<6$rxQ3E4_=4)L*>h2@$Nd(PJF|+l1EAwMs*(# z@oT)y_yWSsijHsiBo>`i8Q<{XjD}(cdH|zI`|%C$#b{E8e8UqMjp+__G^0u5@eOat zXi}7X!>cixlq}!yazuOR!kD8B^B_gbH{6raK8!BFXi~a-!*THn`N5n5`XxFeuPe*w z`$S9nmv8tb$)RIDC&?kHbH3sGSd`MtV>6>mGWuJhKQop3hEK@jGZ&>RO|rg*^qdIm za={6_t}^j7wB>b}06|3YI!u)y>On$M1APrud0iz&l=qb9?}Nm{$HR7kPa)GIMi&+q z_!KcIl$2y`3@#=ckSTRQ^;dgD+pAS$lBzns{`isCSK);e*brr^CMlCN-y)M76fk+d zErmH1^DE80&;{UW@KdX_;xnw_D7?VYJPm!!1v+9I1hNE09T@yvRqh{D^^tN)BBoTa z3yX!-C-h3CzCN#O053kJA)Xlw0xyyQQnNoPfD)@aPh^3u?rh+Ic~i;33mF=4;*}ZD z5R|-41}1tX@1)E?2Jp7YfM9HK41HCpFNxrcfB+PYR?QTT-V~AE6p`N0DWwREptWWV zNCXG;h+OL~UWZ~;(F#_hF<{}SYfKpuM6f||>6*ahe^**j4#BcfT2boF>$}37XStm9 zT{G}^CjNd!`E;nQN*{lJU!M0!QKRI1>@x^b8;bDh2n0VD_-SQ7g48}#Ng9oS`VquB zSY)YE>=Bjfht^cbScy{0mkJ%}X?#)~p(l~@1hPLW$4qK+&|^7hRu0)Ghn$r|zLQBE zn5+1d=8P|9H5DzKkVIe(>6=3q%ORmO$zfe{NT@v$ssl&xZ3$)>P{&zKL5r7aiV>(f zXzdcf2mo?OsO*vlBjDj71B?Iw#a#-)2r4&$!#KgA>|OYDDDp~;%3dw#T0wx+87NB! zegL7iYFfcTFI9(Jmdg9{@uL4K9?~aX6yMXR;+En~?Tt@&1?s1k-g;h#qLf=)5p#?4 zL7QwwokCjOp)p%p-^Ki`kC!;4#6T8ahbE&+f%>Q7b!Y{u6bw`#TZ80v?Fp!fhYznq zk*h>>OQI1|C8E!&GDtGBT;?|I$(4ze+H@5RTAdJx*Xk1S(wi{8Dc}?`u)4V-+NoJtF{6F!I18BzZ6b0ER*dU<3e+k`llO02n_dfDr(^Wq=U?O2_~s0AM_q zqA&sg20jU3L{3{ko>3J4&`9D)v0 zx=Jm^qIT_79?=@L|2dV1t^y_-{ZNA~&pe#5$3_8YHAn9>ls)fvU7CjmAr16k7hce1 z!cY4_q2bd2@L1v5tHp5?Pf+=*RsOs?HYc?X66O)(=r zFsxD%z?clsXzWzbzuMux=_>m7r^b z9_a=_`~?@K-o-|Xuc?@>4N5!2Roe#bQERJAMWJA;lrmrG8_+7XM+{>n3#sw7KyGT3 zKjmEZvxT3OuC0q&k}*VZQR`i7Ee>0~*~iV!jJjzA7rU5bbOQQ&T(ymhhTLtSBC0O$-wNZu+Dlbidjmpb0B$6H_ zIQf+WBrW(Ihr zIMc))%ZYM}xO=B8C6GaFRiKE1QOj3vwW(G>r zBU*>1rOKTuHivj8?6c5M4W(r_@rZP@Njh`O<0(o>ExV40lN)mZHji z0gX52+y(!J`G*8&x-FVUo-zRsvz)3KLJ04n&mHrYR^Q4jj9@N(CJf6b&jsb%8v?H?abx< z83`y-467P*8s=KeF9DL4Qu~Yq66C%>F252;59))tPBj8nI_2!l41?9W%E-REUM0+s z!eb0ac&HgJ<{)7?MLNEdV+P(xZ0zj|~Fakh`3@`#fIT>ICfKVA=1Z9>6LnwrA&6$Og zAtk~H#0ZlCMgRzx0Y(6*AOnm5P*DaL0U$yKWI`H(;ZsTWkqKQVvmmv|hxO0;XfO09 z_!$Hd+bk-4Rp~|*NyDiiek~zoR5HSgLjm#W#DPXXdb>-Qkipm@;W~1{j3_d&F1d^I zne0vDf(`d8(kx2tdH_^#rS2t7Dz1DHUiStfraXr;gFFNqrIS)fABe94DNkq$5_HZG z%*!ssO{r@Nz|Y>v#!stzhgg0EBxaZ}-^0gX(mlY7{5{n|dOBDLI$TzQ@_@}(_DxLV zYY0$#c`J2I5KtK-cErH!nTKzSPtABySEwhK8Y2KSkO4*jKVqFCHX0pn#8s((n zT@|jptKh11wQ*&i3l08IbOg1nT?)R@t9)FP8EAq^9~YYpY&77l%4kk+sE96Qm0No6Ctv$xtTovm3qJ6SqAi*&ZKbP|*!9r7YlLx7ahT!;aTz5_G; z1s?}g{J_@8gjfqHr2*$PQ2e!emFNXP5Idp0={u0F!@}C=iW008z44;HEA3O|=BGs2 zf1V|xm0;0WJd9{ej?V-xno=C$G?I@>tU*a)p{^1~A|on&svLpd!LMk@OOrq?=2zdu_;8%cIBd0K!Ev49u0MJzi z7=ikvF%=z${h3~&yo-!3%svb9Y=JilT~~oURbE#G1#Wf~%C#IZLxs%{tw|(^HZ?R- zd-Dc&{DUsi8Oi(j7x3j%iqTe{CW8QKoW)6t$1+qCzx~71f|&vZKS3yBoQw$-YD@2jQ-3f)r?XI*(4!N~#_6B={NwX0%5Pt*E*q zJ~5#c74P=ZnvMgS0HfDr&NeoG-3ffHQ~SdNf< z90W&qrOgjY-6RKO1b`G7U_>O(hC_@82p{7SjVv=#fNo2mk|QfDr&P zWPlL>2Fd^<01T1=MgYi^0Y*^Sqog@(lDP1?5fBYu2e4q+4oW5NAh*i@5!yMvjj8Y& zi5IGj)fqGm_D73^02H`%rcKf|3z#Ybk>GMPL+Ge0`g@?@7$<>o!UCNVGB`*{3*tUX zMdn`&+_6syxhSs2P(UT_0%5OW3t%+_`<)iP5@&Xj37wzLDj8UpMJJ&yi>_fF=V*Q; zek89+me;nOj&OY<>47eFo? z)4>BY&8K2jqCLdDc+n<+?jQ(X{Q}ejK0T{Q1zKQ{QkgLvtaznZ7{h(W2$BR65k_y> zJ(Aq?d5;ko9T$O-)~I49I?;L;!YP3%7{aA9s*&dU`;$CK^8GzoAwj;81z-eH{1zz| z!k}4^7yJbegQAdb6%YzKN)E~hR1sATd5o4l7y)363@`#AX^hM@dVkyE$Qz0e7X#l(v`+i_Q}(nk~#UmD?!R9R9yDQ z>xh>h#zlJbI?9nGJtN73AjzBMPRfU03F*y?N6Fh=M*`r*1aQ~UNDRG9;5Hx?U-LM3 zTF#dgRUNYf_W6_EY)nRr09Ydfi~z7s1{eWgy$mn{06Moc0Wku= zcQU|;#%BH2J!g{48OJkd&ZG}MG`v%DHIQZ}YdVm*QJ)mB*NiI!B0N5-8i~z7j1{eWg zs|+v#z&06R1b`o8fDr(;%K#(#3x0(K5vvl7Hpm&Hk(t(&giJVkwL;!*bwuq4;R`f& zNAvH(Dp_E?o-d$K>bxm0sB7BG_<*;L<`()8r|}nT=o7ZmCR(Gk4?hV%3`1D#XdG<4 zd_!Gry-G$vQ{dnTNC-zS097eKW9wBVzz{wMPF_$e)iLz>8z-xE1(6Q+u1)VSQs^=W z!%$~$=Ax?eN1R|2@QquR6oui5 zvdBOmD9h$qDnuQQQQ{H>)@>R;UqOrAZmifeex52Z6K{VvDS#>k%CAP3jfb;>*A=5I zJ4tUr9L!Lux{3!E5KMZ=Q>chI1h_#_&|Y0I;tfhoT{zkv)vDH&Mr@o$a5VS}cC6TG zPWB26D1&F!fD(9?3h>0UVn9JW2L;ACmcl2~*Y0AkUdDURF8xt-!X z3d2eBF1GUNyr2smWeL9tZ$WKtnBJLi1?p{??2dL7_QA;uSTLFe$H7GnZVXd)ztv`b2qK?~j)`&KRJw3Dna!b4?-hH2~Y$J|0+BQmM@r zv8vFxDcKQ8q-M~vkn)8ATiIXhW@9M9n}X2@T$C<0<3}|_=5!+v*IcGJPeQtr3%-2^ z|H8Q0RCQ;KRb?Y*N8g49`d~KD>u?&Ft^nali=&(javK)Jla#aKyeU%d2ofZE z0rx5?viu4nj;50e9>=zyG04R5rp9svU#-0%SPG&Rzk#d{YHg4m@8vBO7O(UdYz=Cq zEotXh zfzJ{cb2K6wKzLIpi(ou_uuNeW@JyWvW~p1!0w*+bjsGf~W5a|8+I)(VHZ-Jrd7HS_ zP6{U!9mYa|LkgT9D?1xq5DHkx`DW(VSxB#qZl%F6K;O{lN=rSZzr8KntHe@B<7?yR z!K-b@?m`0_Kp(7dU6BS_UxQm7ST~UZ)2Tcii^gugfGcfE2Cw4v0V&YwG?~KKFQqmgPHPc!2?k%79ERSqtpj#>Vl-cmeKo;2=njng`pWd{FW(0r( zGQbE{wis7QkH?<&L3rjm3+V!RaTbzLoJR{r>;2>`Wd3;35F+*Oj`!nd(nfrkp-NT4%U*EMqPYk0E=uf>>LLJv z^oX`)JK#XDE3e{hu^dC4sB|^qB5#@yq#(iju@}pt;dBCpl@j%cVM(%eBeiE^UYRJq zSt=y_8L>PZ1h(pP#L;bAiN76N__@n6*)d@x&{6AP=l{!J3IZAEOwq4+2g$OqHbBSX z4A?>wp*Uy+krqohdXo;lRH?&aLE~q~r|*Wt-hl5MyFjR172-U2_*X&m_LDSJTX8-R zM{LxIWl;!NYD+=weC)*q@G-cW8$7AAA{G>y-~(#ELX<2n_NsVQ2Bn8XLX?t0FR){R zY$dEgb?9(CMP+a|ua7Y@``Kce)77Au>C_U~2}g4l^fP!}7<_V;jTwiCcRD>yT`@k1 zi;zBb7((>fw5gU%!xp=GoD%{ai3Pw05G!h4N4JjkE8xT(5EbuD7nj*Al(85Ld5?@G z^h&|prpZ`FNw6~K*}9phKF1iO6~U;7QQk=- zkj$5sP8tzwAPv4L&`L|=kFg8NA5=Ux=;#MhPWH(;VQVdokg}ShVI8EwWm3iifllQQ zv{nveP7PmySXk*Pu7fv@1YoU1nW8wZEzWbX4L*Tur#h^OG-ei3V1WfTXKZU8&01|nKcimjuo}?dvMau$Y$j@g znX}-f`Jj-hhlwJveF8HdY|jZG)pc2vODQ&HnCD~h6~;n*55aERFU zkA0&@X7P&*JVrgMIG@ShH14d2J`_SclwvBPDANjJe%7ce1Of+^42B}+S{x=7XM(@6yydNdWa>qlmRqTZHv5Xe+0w6uai; z)YHO(1@s$e4%i#1jZFx^ZVW4U zDov_wE*`-La9CN~iwI<&p#x<{ghm1L4q_S{=KkIcZJ-?LPnk;>tD*cv7xT@nc{yVB z1XTpZWXDc4NoAHt(K>-fqC0>vdUOscJpfQbq;W>zUL)O5N|(Bj%C9FvvGyaPf2%wK zlwSS@-m9{b`iNB8B=?UjQ6*JaPDSN3F;o|8Pzae*u5jd3030muc;}=Bbz8}jEgDq7 ztCU2t7HV)BcpU9rLU6p-9?^28W^TR!(PrdUlp|!GRP)HgL_l#IqT=|YsC-@Q8U}A1 zZ7|(p??R>r>|NOOjJ=DPKCri^Nn?j_nIsw3DpE%9V(m4js1M6!Pg5*a#u2&fdF~d< zzI;xf&6_K)w&GE9F$>uBGItJBAtY)kT^oysQpBZJm7ks9Rml>~?lZnsEWVDpd<#(A zaHZ&mw?=x|OD`{7h~QP$9yKZp<6?=2aYF__DPw8Klv{yZ&={?xc4x~)VO$E!$-7c4 z1-=!=qeL*p4N$6>I+$7lgBXoZ)JW8<&fRQWZE|%uTxkeL#C)iuQZx{%#AWtI&<1da zzc|Xx*3Lyaswu5SQE8e5tWSbD)eK%Fq_nfmRMV<`u^?sZXzU)ayNb9Bkt3Cx8utR2 zTzFAqbhA~8K9r~(04fh$3&@kYi|r_k8rWE1BDiRnE0-jQhE<-*-$`JLJgJfmwv-H$ zP#QGgB0*gsDP7V~O0vd6Rx}^EoPVNno{-ZfNj`G}%IOz!;1jG;=ss0z)Jb?wo#bhc zN)a`t5>Fy9D^d+~(>@YtE1m-CBeta6t6kN(s>jhs1XEl=VOcWRn1WFaZb~09CJ$Pk zP#dxBrwrUwDylWwqhX&C7O>GRmoTiFa9Kery9^IdOwgYp61IGryV~kb6KR*y7~Fka z?8NqXvvYKAnw0aov2&EXeG2XGyE(WxxY$b{eQ=w@LBuerQo3lwk$8jU8L;$Ug!Q)V z2QAi==Jhsu2@Ufox10)7`>W-OF|WlBbDi|kS{$RnS%jxi;TL+7-iOxA{-6Y(17_Zz z?uaVSy+56t&mEu7-8rATXFhkYeC|H^++FjzyXAA^zJDHh`sH({=W}P|a}Ubr&dTQ= zk zx_k(g#&Y%5+)fH|`l`}BK}xHoIW4RoenUK_U`t7wsB{0TNt)9v%IRxMX)dvh9_dhM z*;LQevCmGR7a@_}B+orcu@7}I8vMP?^9?oeOB9H$ZE7GdlFotcdkkUNkCt@{v*w@_ z2LZ!1Hm%zHJ-`w2WD#3dl(L3Fd@mER!JrVx`P}06A%C%f+mO+1}IbJE= zpoo~DOPFWPToXJAD|oe+Je1-s3Ry`h-eXBgZ;xuo2`9*rBoI2fQoKWHOQj;S&@06k zKr2A2MiiZ8n*PHQR4KwRPCk9%)n|Nj^o2LMd^yM~DcQA@;sTyxn_|hJ(<|wAodkeZfh(VBKW2Ze@`%LMFc}dV>=m`QKhXvMnEQ7bIrlK64kAF zvE|oST2`^8xk`5%adEYgRx4`O%xIx<2O!p93jwml6cIAG9JExd?)0hsE`qW>408ZM zyhoAo9bGG~LV@_o>s+m5SLTA&Y{P*cu+3xBOV$*?fu3;W~mR5g8x@4H}rxW zm7979iEb8)7G@8aFy`du$ z68ju!{$SEj`@j(^t}>e+B*DcMC?!%4{J{^qq2fxo&6+PXX^zwwj2F0hE2)xRK_N~O z;;PU+rCewoBu&&dM-g?DbBZv}5JvYrM>(Jb6 z7C{WU*{genWc|$=G`pDbnsOl(twnHCD=K{^E|%aq^3qoCUyCSjDVx>hE~GAFM*^t} z9#S)+@uoH8r9a+F6Wo;dN(ipUd*2bT4_B4uq{x8&iVL9ZEX8QJbL**>L${ZTn-SflZzZt!rjv$v`fA1~_I(2y-k*N2Yx}7_TgCFdj-b;YcLMK21p@bGfHNE#<3VfV_FX@4v2J z*QGsk-_OjP>GMoILAlH5XLV@Xp;j2i(t{X1K&i(lMU{Fn+@O`}CcKJTHD(Fez+;v` zbZh0A>SE{#rn98Y3E zWKL&E@rue88lhIQOOC+Dspp}rV1kAnkp!@nD!D3VRNIC0->TJcrP3{-BCae_H}|uf zsx-zqQ~hy{t9nrWKd2s1o+Xk@qy!V`{{!7wJPax2+LK0tzGIHj(w!@TBzrNHsA$oh zRkFZ#HR+v$1!zy0$5?{m*oT};^uM9oKn#vmX%GX7hX|0qTrV1lJYHYg6ihgxiSpMo zpiM(brqBzpFFfE^q%BjD|vJ+uPZ%8d*dQ)wp*bmv)KOe`z zLS6>WORb^amCVt8RvFoB5?vcv2ygmuYBS-Dg&mA!v4kbscP{6R12a}TJ~-5S5*^nw zoW;E~yI!dGm%f+SBK8Eo*>B1YdJ{&SHx9fh8$H#lds=TYkwA1BkbMLJT0@@d+{LG@`DBbyb-cYD1+C7G6MZl&gaceGLd+OQP^1 zuwp~{@>U^`Cmp0JxJQXRB zC=SE)*=aB(Lpo9L!1yEKy#`m1oe6XKjkoi>ryOQ~epWVRX^%$XWylbYpJkcS}~k2up8 zb;OxIw{~!Bt1C7OH5NW(OfW_Q#Js`uSzr$HMpbcD)4Hxi2-IM)bY!S^SVFf~WBt)u z+lWx_7@t+7G+F-kH$AqTsGhy+z-j@dI8lbXDaIWKpi=F9cLR+US^z9?pp6?I>YeL5 zpdO;yG+&H97V%CLmm(ihXhWBdMEudZBlm2*st!1T;QLIPq|b3i_0#!=?RnlI?sAn_%TuGqgq9FFibJsf-*_UP1*~@>X;ve z1?2-7B6?2{A7T%1PHb?wD4_*D?Wf+QQ-|+JgtC%4c(aU}BMPYoAMd^Tr`}uOd(YK@ z!%H4;Uh?>WBbMUvw2dA5pW<~q2*jscob9zzqVMks2lkTGL;980SC&LO;t=I3Ue$|B zYFX`|cvUhVG; zS>37ln-_moVDRDwxKuWoxTrF0t62UP3=TJ{%qZWgDrf^9d-aT14FWFX1bIP`6UG8n zNgQ}zo9~Gzbhzu;8V;zSnc=_$O7{pBCgK?ku8n+)_w?14{)S(ZM6vxK4Z(u#_ErQF0rF5v)$BB%3yLO6559l1atcSHWxv5*g>)lIOF^+qCOxaKeH5qj;2sH95=V~%-9 zi2#%GR*EGlnN6J(Bl_?A(HFzb+Ws&#+$p1r{WrX4@tVg}w_7p#f{S~lCWUZDgEfiI z!8M8H7fZVGC-sO{2G^r77}TS|Zp$-JkAyPyNGyiRqm`i49YhgWKRHVVzJ@l8o&`?#s? zdc28ZB+hpU^-3G4@?VoUYAm@ixCxL%{|`-o1XlU_qsl*t<-sbVGG@(s%?LS*s9N4Q zn;i>F&t%$`d1Q&iY*h^clZIa z+SbM8=>=vQkZ*P6)k7lFqFqq^k+{dS`D^)3kp>bfvd<&NPga4B=R!Eh6(megV^1`~=1oT=I(T29Kws!# zTq6w!mI;(&F~B$UV~P+1h_8G?3?0EEz5pTn^>D~tfm)1g7#nDx%B>iDDHqCkuxUmyk$-}!_Xj#Gh@ zb6XhC;jN**IEP{(+@9DC$gr)4CyocNPY53{X|CQS1`z-B2{Et@8Y18A*+R-XK0*cU z6K7tRPz}YXJHiWpBBj6TvtS|4x69d9E5UdH7@9t&id^1RKvjqoYZb#I`16I)E;39+ zzBeRmlns2ZNqqQ)vMgS0#l=X}KLX=RtL4qu9|?4TEjo#Z-bk~V0$0$U+$7)!FCb&OImLn8%LsARS) ziG*Ux&4`M&vHT-sv9gg>37-|8vH4#le489!QubAGQaQi^E_0vg_kS`|yCQ|15cBd# zoeqdA107Ue$&GHHBt8;b?B5ua94%rcNm8O)rk+9(z* z>s8tIdW8nO?GbO0y^@CeBMrAU<%_XP6n9ciEN^g6WCKKa>jv;2-FRUrpBc-Fs%~wa zvC_ntq(G@)zZs`E)SGQ5lG+o`w5TL5@E)QIu+9ugg`dx+V+XSJC$mY8{{3V|O+|6~ zU*%L)5Hs{v0;?qD@f0_wqBHklwy1p3*>9>@>&CiVHqH;tFKmj0Y<-wp|IdYfpzoSt zi&C!Xy&R09)m;m0bGKnH-yxnifn5o!8Eoy~*9$s+d*Z3Dk> zcQHOjFyTu~^~l|*kI5Jm^P;N#8ti9zu%C_UI@^$kNh2Je6}xh?NJ9CRo4|ccY{Pc+ z{lm6?*+|ifS7YFbUk}}`T6~=?$T_xBoUzkoSp~8-0a|ijI&);leTLDGb(TzIwwR~x_K4?vy8YBa0A$B zspJtLgk~0;Rz*b^_cny2xK6aN9HN&0!4Y;!(nl5{L%_ zf$bR<9OQz~jY?M3zaK{>mz;7xT2B>{sFW_Wk8|NeY}r`wQ-2R>OiBv^#v}{IJbXjuD~-}&Y(yaz8QOTt6g~9-)I@1t zBY}UQ6wOCCvxzBhvp}h09KxE5PD{y&L;rusi77iUJgU7=m9#R7N{~V{xMHCQUgqd_mt1c}j|syw)jQ-oa@6QTB%=@}-17;l#HDVP;8@1!qs znqR$MDkf`47jsls2y~XB)gWpA>$0z%OhWU!1Vv-nIJ`3xO+`zi(bzEOq3z7XBg2dS z=b@A1_a}?E9$+V!@i7mGba;#Cy9VlWxhmd->(W$Aio>9ANP$&(t`=lM_;%1xlv16| zGOmsUu!hdPcPJzDD=`J@QYcYN9{WMwn*m8oXU<2G4A(Zd`qw0#`uzC4{YX z)H?}5$0uHPW4L7GEv;cx^qv^1h_2<@>lyXzlT?U#1ej%@^(!3yWTk{%QHXu@-Y8)_ zV@PGBp9;SZ)DZDKDq~1by=Vonuv!DWr@+XD3&Z)SDCGITM8Sr9E7F{O;;-@KAG$8F zj88|=R-Lk3r@ExUy<1j1Kxi9jQ$-LDc1Ji?DcxaKg*00b?MX){s|FI;LP@#Pk>yA? zxZ-fMnkp4k0o#;qrs`QXqfrlm4_B&~-$sp~Td5F*#V}%oTv)>A_A9U{E9`9!mo1zf z@pdBHA#BjY>4yZ)-0y~Yww1Jp4@nGds|Yq>z@LM;0cLa*Vs0GZG1d+vjB@5(3?Q%} zMiFAb%j@}?8-j&>@C@QxR$Jmt@-3@^e9LNRVJpU^8HM1;!qyB0JVAw%iJpEjfWQ=@ zBE$eF$$ zvpCWt9%o`x(0c`xP+u6ryF&7dJEIl&!JW#f=tdPNK>VML{}uTE9sXI#ry!vMxIKg; zmr`9i*iztl5JQk^Jf@&92XZ(h6H3KoOdCj-mPqv(;(&0hE;z4QLeWG4T13ejs1w zC&U%FgdR}wi!6+s@WoN!doqbsA~Ny!#d@R>wnL$HjVU|b*P}_qk^Z;Qc7z9=namY_ zi=^__P!RXfQQ)8rW?IFbebh_aLtTS~3htl5Gs68r5q+aOwi&M$j5O_sxDby z$xNG}^0ultUgfKG?~LSVEIT2o$D5^KTwgaMv1@<2*r^LfMKP~SMTJZ;sAR%%&&p!0 zfAUjBxBV5|n6baItQ;d9SZaF;+o5C^w#N@QzOKz)$>r&ZXzpc`STP-nseSBHeyU_k znfCGn<(*E@7%s!*;i`l;A3sSf${vJrgFY^e`*m2L>~mO&FfNfa$sD!PQqrp;fca|P z^M|#?PSoQP?^GA9i5G!zMls2o>g!>sgbLJyH+IBfSO7yi?RxB>%Q09U2|Kukhljba zaqg5o5WSGc4oEJwR7BK!9XX}UG4IU*vwSWE-#3SCxh7cI5Eeem&~!KHp7(+c8Qj%` z(g9`5I~m;AU||nDFtCv4fH3OqfrgK_p=-pH zB9G(1Fet_jC1QxGk5L##lZj;~HmE!)*WxlloQ0DQ<`l!YF*BQrEh^1JCBSaK!|_@b zhL*U8o;A`E675?Z4E{<8G%y}@9uITVxb%hnuQZQ1T^E&ESnpK`np&}`lJj-mrub>V zt)qpV5#OMHAy9rXZUoA&xVW&0Z0~+t*jx;wN{74}OMOK&Fz5J{g91LDOz z-wOQ@)-&z8A|*Vb^IhjAGF~#eDy~kDr;&M`n3ZABs#J3kFC|hH!NPJd?eF4yR^5MM z=b@PyuK=i~xEzU3eGEuch71a$=)+~*PPd>THo2)%R{ct+sNRUX)iJTb4(bMgv(r&JIq)2tjigDOLqrI?R)iX|yn=*O?F zwJN-@EwvVxb7eDe#p(XY2Fc=lD}FeaiCL0FRVr3a>eT7Xv7^a#;(pF>XDo#Yzf8P1 zA{EcJPt-|N&@W8tKDL-k!I(*=lKMrgez~3r=cV+=*(83dcVm;IQ+(rer4Rho?mTFR@moTz*0)V5D#@Ypj^ArWVzatMV=JM4tv%y*`=Cs-I5*||VF1t@ps0J880M)=a;`_dXI z?9BIr%Nj1fV`o!Muy=n9IdW=mFyy%bIX<|NpGj|q4p5Q>bF3PZ{&ynXg;3wkDtG z+ZB0JiFk~T6c+PEEooffhT@ip6n4k&Hokon=&CrjZtelH;|1(RZEKE}YvFBY(hqre zTb2HlT7~r9advhqu=N(7E6K(Sd%`6ztWTuF-rjgnihINMfsxl$Krqxe5RqW0X~2v;q)z@Dq%FpPDZ9_mnnMGQGp$BxuZnLJh3&KOk1@6= z&B%SZ?H3zO0$Ae>Ou?jVARXvkjzrC73wh*4Wh^@rn~Jd7ENtO0WaoV8<{FbzYL)d> zgROrLUtyi>VC(Nf0N+m@Z2bvko$O%iH;eUrccEE_<1(>{c8t9&UVoj70{ht5N(B3$J4RY6)WzdrUNsPDsphAWOglK=`Vvj( zKXe7s0W_ehOZmV=iu~o*%P-8&>)RIvuBG=OM$_9*%rC*5)8-FgZqVj0VIHc@|Ae_w zo2zO92R3Q*Xqbm-a~bC0+B^g15!$>d%=x$m+Ylr)*qtD$!M+5Q8sOW;2j;6ZIFX=Q zgEI+gG&rB2R)b3jQW{)Ekk;UKf{X@F5!7k$20^_B9~1bg@-=~B61Uc|T#e zeLC-_4EIpy{iOMnz)u_Qrq26`!!6Z$KXp>I0C^pPCW2-S#uJRxU;@D?4Y~+MYcQK& zj0W2gv}nMO^yJ5Cup=eoG}xV>pn*p)UW20uS~WP4ps2xx1SJhFBPeTd3qhL(_Y+Le z;30yE8azkPuEA>r9U6Q@(5b;c2-eY{A_Xu>gA~DJ4Mq~It3jDyiUwT-T^h_Jn5x01 z1k*IwnqayH3khauus1=s1|Gpo4e-tD1M{;4tYpjHIyo#oEv99;aYO3$m8fkPb3tFO zlj+!&hFQM=rG{W=EjS{S|{=cmAm3=kbz!l=RR%L`y4Ok_2 zW#U7wSi{Df+0Mk2cBqCHvbOV21a43EA8Oo*pvinOLWb|b;YN3&@?qi9((uv@l$bsU;{@Sf&*LG8Pguc#Ll*uW`^kzp(0rf-kQKH1PEbAy;8 zJOCx2Rqo8ddN1#m=QoQzkbMW@2a}!$;gKxnFk-^QZerQF%*YtNSrGI3fI%k?-ODGk@X2NfXMlT7(n3Ei3*(v0|+L9=;q--CGuyUzo)LKkrV30u9>T^se@ym|^ z*-y{3pFNehGtjnhG%UpCZyQ~XYi3{=EL;T+7bl13_A?N8S+H;i0)Y<}Hvr(n#bCrY z?@$C{=H4jUTu5M=Y!?jh8z2Ms%mfR6fJ-d1^KshVg~Q+=DEA4qWaV2fg_|J2Zm1ja zkSm2S#s52)Q5mk~qponhAo1{>qpoV7G|44~XF{B^m)LwG3tIl?;~)ps}&xK&)T z!@Cq>q<**}g4-dU^Xyk}pA_6<%^T~E*HHK^x)5vtj;JV>5kfSx zl`;7iN;w=$6yum1<|pVQtz3F9zDz&*;0OQyk1Mc zd|ZYv&Z=-^RWPzYRkNh<)p?WACs?)Yr)qTT&MR(1?e(6gb(t31((|P z!!qi})3m(` z=45eyw9UuBgsgiPEEbRFqDG^)L`P;8kCm{B7cfu4)Y#dX3Th$8!d)rbyFmumvsbA5 z@J^&NZc%|e#;@<9hNE_3AtsKZ^dMe#Jh<{ns{g&g>VNxAfS`XAL$A-$r2~hbqWWLv z-2}wp0K{QMJFMV)<}z37RUynJ%v#Fcfn>C>J8>|I$%eYZ3oxsEXBU8}G~BP#jDm`z zEZ$himW?EUdL&*#VH`t}6T#&vn1z%r9O8c~P#QAMrr=S+)T_*h%|(di#xCBUN&PR| znoWeoTT}*Iu^cNrFV4y^hb24-T^~b%Fxu4v87A3Qu#^Eq)h@$+*GUMjn*S; zwK(6fC0-d(+j<&Wf25N(v|;_-5rV50cX*U4YZ*ha|yEEQ?2K3qH3=8 zNB(I-ttOx~#kxQidOy87xtcEEPi>ecOm}^qAiI~0TdJ!(R;a~*IB%(2^d0|{2!wkj;8kV!nK`BLBonSY@ z8Ld<_6fIMuh!$E9_jJsAAC}8;~S-r>OntUp{>|%ro1F8&y ztKO8tMo$$YF1hWVsVwe*%Lrv-YD#+?LJvXbd;zxrDeIZqkT+Kl6TPuL5lYqSxo|zM z!T5$TEe2Dyv7SsN?o)}5)#Vv;y1`6Us*0ywSh{d#HdW=#gQ+wD7ZAPz1Fi=e1LJEj zTBkXG942iiU9IjA3ifp(ZLms&IX6uIS9+7=S?#UMCoI1M54|oS6Q0cc^8&{IawM2R zTCtX;YGkMvEltCBP%*>J;;J$_mFyf5mHRpIt~Wq;*5I%wUI)l%wZ(B62Cdg6qvgI} zAM)9Rc5pzj6fi~ynl8Pu8qim-q`_MRtr{?~yaItWg_XhRQ^K6G=dMBls9XUIZXn$N z&e-Ir;*D#SIn@}Eik$7nY8uQe=TZkS(Yu~5->ed7QaaG2`o$faRZYvGngVW6mZl(T zH34#;B~~cHYHJ(X8;pt6Sz78uzBp1`%)2o~DAlPnS3Xg81}x`#+M+33*%B<`YiH^+ zw%BZk-92bFF!73}9uCieMcpJJ96b^a6|vG#E-Z53mz{7S>kGSs?DT_VY{yR#zKTRa zxBEID*}|I&z0HTLbQIRW*m|{ZF{~_BD2vb#T$||pkeO=uBL)yC7K#u92;{IL!~kNP zPly2oGFRCU0|-naD?$uVqBz)V<#%v;k-z9LQ$hVjDcnuIA_7g3AGrAo0$&^80VIBi z5i{ISu)U4&z^-|@B_viV#J0X;Y>Q?AI43K@ROCSsHW z8GJ`%CoubV^g)s0`dBFLj>@D)X)+d!v0R2t#n71j5qwOK;N#+p_E~L3#-i1Rhydzp z5n=1!4axC#G%7oc-b7I6z$=vwezYEgwMsN(b0P7lZN(ymPw{v=8Y?`G=bIr+>hlW% z_zD7gvJXMAGaWJvbpxZP+eQxI;sDHB42kcc%#(xJ=70ZyzW)@21a_%|qACTJBCjyK z`~y-h5s}#o^wtq?Yj|1wD46rO^BmS;KOEQ=dAkhubBV@NH^V7#^njth{h*RvNraCt z9*XczDZ&=2L(l0XD`U$SVK7)V1=~mh@!0ak08+7-A!_R`Mt6OWm*!FHf!sdLXoM@aQiLOw+(63z`9fT95KR;X|kGLcn<&*cf(XrwlX;l!NkX=?cBVfkA2*8XrBuA}`ls;gXJG`S?V9cM7-6eFYiy1ltMp z;<&$+Mw%#IHO$5gi(=BmRjAID%@wj=TD2U%8S^I)W>Z8PH${xUxbP)d>hb7sRI4Kf zRfeexZ-#iI>QJ@VCRq3a51z-Y!+Ff`oKAd1it!tplfhRMa|j(D^4_@RD5uIdF>vky zbEfjAv;*0%BYjw~Z%Z~=O0iH~yw;z%a%-tl|7Cyf_lVTxXFKo2P7zV*cyHO)2sd@- zaN%2+e1+8Li?$Xgv!*id8IrAYhcHcKCL71~de!_T)Gz6DlTaQC|74WMP;P5@^q}CHbv!=Me)<`L!nZ0z_J-hR!?Ic?&pOO$~@I8PfsNCGS z!41!)R`loH$S0Le_|}=)pj^h}s^}1EM!y)&V&^`T+lo@k|1bb2zO&qhol8X*b#e9_ zZ}ql>5$q_Iyh9ZSaxnBOgStwq@$6eH|+ zMvP*0-Y&?O|2|^UH)oJyCK*hGGf8ZEO>##9KAsWQrVPU38xbhqh|u{)1k*PnyuLB6 zQ%_@+e5nNP@LmG{@!$-fDvm6%I%R#^lC-cbTgxJN7~5gS8=?y3QH3RnP^2=%_egRC zw$Ul^wGqp9LVE-qilV3`s#YE`^L&qJ=4)fhcFeMk8Ey$tT#0Zt0)(k)xKUxCqG5V~ zdZA2i3@R3?847!6LyGaHG)gJVA^ie)$~*t&)b>=|FwR~^Z|p|ra~icUe)dcZ(z~7R zQ(`bWbvW=YiV*ZouJ4=yOMPeJ2R&T2N zj%i^IyC@l$y@szH_Y~#QTj?``{DyF1=4@0Yd<(EL7(I0l%zX7<0J85w{NOa%MR;Tq zQyxZBkWLgXCc>UFiQ7PUyH15vg4~UDz`$TJL%oLzb!9A7nXdAF1y9ODBN&)7r1Hv4 z6+{^RUjiakb=uy(uqRWUs!CO-l2UyY{d9jQ-2W#DXz-uzh= z?Asa@1jB6%1=z*NbjSa!0m)v?IL^bTL*8t7m&2vSIj<3>Vls{s<>-S*hoEH2QgOvw}=6RroX*BqjCfZUE_R#72X0ql?O_n z+8Km*HIh$vhhb6DuphG0erJQ|>9de#{e#jhymTBo2w&Y+Nrz2nxF%s6_}hlfwVZD% z1)Ff@b{-fNysQe&PX>e2UerAB@!aN4UYkj5%maUSMp(-BjAgOctilvNzUkvaUKYS-|y zxFIN9_%-rCwn1~gIvT*78THwpD4()@5SXg>yi&?6m1PzrDp7EP*<`ztZ|9d1Q}%LvO)@TP$T=NPkf zA3YP?_Y%-iY8a`cG7$i(7=^eM=cv6s3bDW%NQRH9>DR-h@F9H90g0_XAlvH0EGbBC+l9eg|O@ z=WH|dbwN0C)B`Bp(0dA3f{?Kc=5~Jn|NI7&7}+m8I1Lu7G(ejW4V;21*jRYk+=fyb4XY}E z-oJbbwuEYqI^5S?W>xDdm%5J}Ku@`d6f?I5l3;))g0p&p!z3cY4+?j_#UQ&Ok1)Fb?ulTZ7I;l;S=}PHN)FW2ImPeI4q0@i{ms<_c8v!;W~WMJ?aeu znU1Fu*}`0yQt?z`ammYKVJ%*Yq^fd@VM@@{08=nZ^%iwkbW=R5yo-o2!IG{?*Z$|G zK2@u0c8%2ZOmzr#oh?4U{2=8p9KhUQ0BhR32jF@bk%ad$2~~PVsV=KTt&DY@2su7i z4W?mH*AW7sKcieR?lboVQCC%;!KuEUOvMzIZyt%HZy7|I&T@;&Ni=QBhthNy={_pI zZRJ65{?LVGw7DXJ5qFZ%>d=LpW|CuOY^Ei2DvX`u0M$E6!?ZgUu#PG;$Y@b{2MtYKmv_kn;^#k5wv6+AvZZ~z)3 zwwL7{gUhF}GTg^b<)JY;4rl%4;sn~qkX{5Yq z5r4?-0$1@CaSSN#mBYbSqJyo#1v4oX>)|*m0;vt-QMtsNLs6U<T-SJe7jtdQ|!Kg5$u*m!%5E@7G;yd7ept=l=MhCsfL_*dtaFzuL zGjleaWHYtJrZ8&!kJ66|{F&MmK7K*V9dFUIe)IPVI_agklQ1)d${+mD|cV30v|79o{nhFME&;Q#O|1V#d{c)C#9mrDX z92KHJ9gjQ>)omRP%9w&%WHEKz1yurjN~!PTcxo1VR+pn4!(!=nC@F%)$rKByerLjg?- zdTU=4rObn3g|02eNnq8pVX~BCJa-I(98s#PIvgYkh0y>@YE<2;#vTsqVN${e4hbi? z9#*B(1iIyPL{bzpF{pAMMY%tbY2c5wE17KjOtDxO$3#YATcn z>g78l&7ddxx|q)Dfr_8RP>shMQ*x+)e1o<= z5L*>qlrM;Qp9$333j2WSn3Z^NG@#|shXE}o8I`dF1}4jNZLnTeHw zMd3i;6v;b|PQ2+Tk{nRsbgqY4`bc?8-L3Y16%8CHEuso+#0q4@3S-1XT;767HF~Ud z4SM@Wc$-v}2~7`2Ci%jwTcPsmJ``g?9L7zglWENIr>i-nNT<^2bS7O_co1c;3&#`! z>3Ur$QfieaWy(xCt3_!gN?W3w7G;zuV~HBHD5*qAOEgrAs+6e8h*bGZ)q7tfQZ2aH zMO_{uWi-{`eJ5<4_l-QW-aqA8X_wp7P%p&d1;y|Ok>&tzSuF_LQ3c@|1FN=}BdsYYFbaC-;BD)$t2B1dQydK`vu z;dE1aSbBJRL}4{^>Q&TkokUH8l4h8l1j;v6+kPUd!>xEp^$ev(Sk(V>RP&J(PLMu= z@Q)3p@_tnFKND40)lrQ}8!g>MRUPK(vAZ{%;Uqhz;V@sUi}sG4W!;G`>}-#CZ{aoQ zc_c$IU5NQXSY)57JK^ev3>FxaE$(Otqa)2h_Xrhcu(Mc(K4;L9EpHUz2B;Wz*s?@a zp@kMLO1=dijXQI$xTdI`&37&$ErpYhZ0)5!E^PB_rgVv_r5ar0RRNGz0ThsTNScS*A))e{m}!%Ko-=MU ze62_fJePerT8Y!xzf0GFkA+H~X8QM#cQcX$$tp9>^TSGKL-Qz$s@VxS#i-5u$`;1p z#jR6XX9G~}QMsG#s!Ww&(EtiG29r>s3bNBPjxD2V@Qyv97;jf(+iN&}q;++l${OW2 zulK+nQ9TEQj$d7}w*{`z;J`#8p?*83YED9o4|YlnI>%@hiypj_%D;XC(+ZqRS7&qf z#rr3!>obZO?WefL<~H`GnFLlXc>t%po^I7G2feUMre#7B6+||bCh?V}gYJ3FDuT+#YcT(^$fY4@aK1_d2mi zNP>t}vbFULt9q^ERh(ak!f-M%HVXG)xz_|&H^99l>8wyPx<)RDFT4gz^Aq99;+RP6 zg@y(5=Tya2deo{o#tSpqyaZ#dav@hm`>VKD45wAX6$L1&N;eP5_u%ROPx#w0*k9Zr zD`ALBS{3nK1*YVW-tsu#vVQQ0_0dcmu?vO+q4~LagNZfsXaAUJT(K1!7ObkvvvI}N z8p^YA#XJq=*|=gG4dppE80xHCu_dTrVQWMh+A!0u63WS0h+B0^7A43A`xO;=%iSd#rlVv3h=ZK!z8B})t;fI|Z~+Qo5UDBp%_ z2=i^7mAG*vi`~ofQn7ihg^l>OOko2)D9H_$99Wo5NgTUR=D+4tQ_;n-#R%t+Ec}g?Yv^4nvN#pS0RUmcV@fa)FI7iMI6PCvWkqV?cwQt<2aKu7i7KQ9%qOk1KF%#n>Rm1wyRs0kD>woB|YVMNTgg5k2UG$9g+;WqVf zBsO0yv1kV!H(;5!F_{0?qWP!=Llz`N=C;~kKFLT_G7?o1i7a+X<(oSYcW5;U#QkZ&b`;r(9pi%eE}GWs7#_?oplL}* zCYV2*rXxGz!RArTfq-~|6ztI{I8UV@+qs(%M$Gl3aA_t?6L$^;OA?-82u}z6sA^B+ zL(~wpC4$XZP=H^UMwk~4mL>-CBWYto``BQ9DowN6;c7>k7Q^&5?YjttpbPYs*IR^=+w0K1;hf+QqcIS|*r> zB$hP35Kk-oI|NJfn4Fsr1b+h^{AnuqZJi7@0ybeH!a25c%s|+Y13K);f#pa#9dP%`dy>!T&{>G@09b zHWZ#<;T;sFtooA7#=+(QhDyypyb%Z#_Fzhod6UdLKGP8l^@Kw`DrE)%RhBSEA%DT< zXDjdp_GGa6FL-u;g)So4{Dr3eMhY(mH4;&vt*Ll+L#YBaOH*@6VKEle{+jYgT`kl> zntF-U*+PAwsSio56zY3TttGX;P=Tm=V-=p=3xrB*szhqGP%AZc6{&TE%KuY2Ea2Ha zQm9r)D%rkCxw4TNK@;P`m<0QXlg@JFA24=rfwqjfKV@JYR11o{Z6Q@U}Soo zPU<3|&eGH)q%c2=H-14X7Hs|(p6!PPn-5&8@KQY6_YO86tnt5ydxFjPAVb==4mRJ% z=bT{kYChKsHa8*J+PZ?xc|O~N&2RBJKGwW<1gU4M%|6&|os+ zQg5Yw*|PzG!XI1M7+Tow`5@TH0vz7GDM9mnkTYH{ou;YFNF6TJ6`FdQ)Sf~;tEq2DZ7Wm&6_lYr8qe4mI@+ zsV1Sm)zo*SV#+UM8vUxlv-_JYQ=(l{+mm`vs2)u%BK3?=OEh&nsXq!;5m$b7;n{ty zP%|_&i`2P7&C%3mq*e(vUsFp+9VpapnmUlwLZOb<)GAVQg*sMKr;u7#sM9rd2B|SZ zovo>BNTr0jPE+{Qa-e%HcOW+3rl~tgeInF7n!1nFt3o}ZsYgjYB-9g{dXm)5LcOV} zw@6(g)H|Abm((dj;Vv&p`!7iyCe+_F^*yOQgsQ+0i8++OvwIt%YBW_#YL-wLO%+I$ zg=*E*L{g1Hb!e)SR8*)*nwm`NZ#KdW&DBh<~Bx`hqlLO#Q}>ao73v91JxS`{89Kyw3?-cy_-cRE4H0Nj)f3jizcz z-6T{-Qw37L5~@{G6G@#cREMTINgXQGWKDIE+Fhs_n!@KS1Ksn4nysl#NX-;#Q%!9~ zswC7-np#L|s8EYEwS-hes68}wAgQm@Oo?MPbrPvHLY=0mGe|up)LEK3htwa0I$u*4 zkovVyztYqtq<$gP6`Hz|)KNlRqp9mi9U#;Vn!1(LjzZn8sXIw+BGf&ax|h@>q3+kz z1EfX?^{}QMB~>HTLhiNP?I#(Md}ct*3;C6q;?Z(v8I-g!kuym>K>Z%NOcQ!w5C>(DhhS1 zrcNQ%Ak=A^I)fChzJp(9Y3dqMU)7SjPE)s#dPk^RHFYPcCxyCCQxB55Q>aHY^(d*U zg?e05PmnrWsFyVLGO3k9tq;1hqm_m88}Ys#;UE zq(%yr)>MI1wNR~^>LT^e8v50(sad4{EY!xD+Jw|gLe16GW~3evYO$u4kouiaduYld zb&*gNyNgXWI1)92v)UHC^qN%$`Z6(xwntGTNuEK<0&uHp7QmsP0 zs;PHK<%If5Q-33c;W!-fU zG%4JF3crrm)Cr`{66zP4I*-(mLY=RvOGxb})Mc8wf>e)C*JNQf|BRPW2Z))l-QXdHwKoT)=n0nnW3e~8obx7SW zRJW#Ple$5uIhxvs)P+KwpsABdogmabntF)TGNB&P)RUxk5sEiCGY~Ay-CGJZT2tdl z;iEDLJ#O<9TdkzV3pGnqJCMo>b*ZLsab}=9B-FE-`j*resBXdL0GbBAu?NrYw}e`x zsmn>RRtKA}(bRXOZdVS`y3!%O(jMr(QYd^eK&XvLohcM9G7@TYQY(boN>kgD+E=Ir znp#L|zEF!bbsVXUggQx6r;_Rr>I_ZYKq@cP&6>KE6x;4#^BtPHhtzjy^n=Y0XzC$S z9}4xTrk*DCf>6(D>Sa>*3H7R`{z~e4p}x>mHM-eu_K3meG>lA~dQ!&=)u5>nq?QWR ztf`Gjv8N6;Z=$IMq_z-hiKdPqHBG2XHT5@AR6S6)q3!UE2Se@ct{3Vk7)f0~iW&|k zYBco)De6Bc02m(7RwbU@ZwghdsT8Tlglg7QJE_}*nxv`8q^=NZmZr8Qb%s!jHMJk9 zexVM~)Pbb-5o)ETZX>mWQ1@u+AyOL(^@ye(CDks}i<)|!)Ci&0XzF89Nug>n7-SrW z;@SNzRPJDNv!)Iq^?^_;HFXWC=Y&(XEpT#sW*grSyOM2dQ_-2n);N~twMdJslSoBT&TZm>R+Tz7b-DQ zB~Av%rDkdr_if8vdLXFhacv8O+s$El)Nc~c% zDVmy2>R6%H)6}`7u$38sxL8w{kXj_vWt#e))Mi5cOH)6P>JqA=U4^TJXZKj4+BJ0= zsfUE(OYic>EM}#_3Q#X?Oy-@dQ>IqVp z3H7X|){;6+DBgNV?+?bad$~}{HT4#$y@Xn$skNlGQx4Zr4sYEY)cT6rLQz*;0&0Sy zE>+YiSArU*sNX8;idR6z74@p3%HMd5l0ZlzZ>L8&W*VHqlb{6V+O}#>DQ=wkh z)SIMmvme402n~_YkHE9LMW|*?jV6^AYNDp*lKKI&L2wvW4qNc-{#2-frZy+_nzDs; zS|-jncy>RmD6B)18jEN5EkddP$us)GAFKL+Ws$PSMo0r1li*22H(1 zYFnWKSe)h?x5cv?OOpuw_L{ngRGU!0($poSaQpzauF}-iq;Lim)U}%WEh)~i1)Fcs z)SaYo4iVJdn!1nFGeSL}snw+ZDAYrms=zvL_q9SrVPsGfq|OzpN>g>DRtc5W)G$&9 z3N=DgU8EKYHBD39q~;1WOH&(?T34vKn%aug7@_8A>I$sccc+B921bVKF)Y}3uf;TF zuo?eCy?iweZ+)VuZxuECdr+@xTQy?q-?*>7`yox$YN{6VUqW4nDc5Pg7UQinUL?jp z(8%*4!REi>ciM4cJRAX7-vB@n)a?3cc2kz zM$c%(h6)%jqVYa4zCz=zV!Q{+tJ(mB%X7E%~3wF=1|Wk)*Qz0*^b7D&+)Rg`NEckvkyHgAlo zVb&a=;01nxHQ5#0Vx<}%UB=dva3pvE#?pl~T>s@BiF=2@68?tup=973~F^oGEIrtj~|J}jg5ua}S zXNPBF=<$Q_zZ{H3@j&m{#{CZt4zPY(^=AmNm487;4$XUz96I(O_w1W(_Yq>N{&4@C zoqsV$9(UvkN1k-#m5#j1k#nPh-QM90OQ82WlO7pjtNhdvTlKr%k!Kxw&XG4bavVS! zy$mcj1 zO533R1?t+M_6&;JAUSljLGrB}IrO$ca%eHo2Tb}wbqVx7WAOHlddR)e#5+PSK@aJ-p!Hk?#MZOvisw`iLLg3 zA4k5gBj3-F@9)SDaO9pNKhTjMZ=}e{JLs z5r1d!!^A%r{0MPHZlHaAlsIYdW5igw@Y~8o9rkN-?;^&cM-Tm8phh^_SdgxE^IPaXMZj{FPa+fDv` zNofw@*4CF|#8&x@6IY}KEvBhNW;h9QowI9=ot^DpL?lSgg5?l3U7O_=6*CV#-!}`SUoA+-(Y?Z&+#50Wl zn-HI8?9U-yW$@<2R{OUlvDIF0MU2hKe*ESUTjh0oVt&b0&qwV*{EqQ|KCxAQcO>4( z__qtO)jsV?Y?ZIw9QV6B?k^%f(!B3d;yK3uyNEwGaxVGXDapX})9wXkxqzKwC@EslJw zBOm9;3yyreBX4!&MMqvDw%VUEu~i@19Qg!CK9SgJpW2DKGl&=bL7(<`3y(iO>DKVGl{MCXqF>i&ylb1$Tx808xmXX^+v=e zoA_?*$Y(q9O&s|gM?Tk)Z|cZ5Bewd7&55n{bqhznr6b?Uk#FtD=Q;9i9Qn4yR)4e| zvDKb$@5py>fmG2z|Mk?-%w4{+qXPQZ45pd&xXk@pf?`a>V_ z>E``Q9r-dxey}4y#E~EB$PaVmhdc7+j{FE>Y$){ghkjy9KUm?&k96cKiQhNzIg0or zgO7IPs~q_;j{I0hew-se-jSc+$WL_SClPOF;&(E!rSG2N$WL|Trx7nV@j0FNY=h4r z{>0!ji7kESEJuE}BmadXKgW@uOKkO*=Mh`w_m{+0dY?~hh3^7lOTW61*s7nG67Ool zf0<+daz}oJBfrv-U**WJcI3Zyf;>aH*w)C&Zh%No=aYz1yBY%?E>c5{Nw)*d<9r-hk{8>l-oFjkU zk-y-`Uv%UzIr5hs`74h6RY(4sBY)kIzv0N=bmVV2^0yuNJC1yfBY)SCzvsx`cjSK} zw)(dZh^_wZLr4CRBmc7_|JafL#gTvF$Uk-DpE>fsI`YpQ`4^7-OGo|{vDN;6O>DKV ze{mB8Xro`El(OB zM$Da08Xr!)%7o_#;^PhOCqCKW6~w0-e5A-td%BX?iqBER*8ZQPiLL!YtB9@rLdOtW z@jaHPi&3fE+DqXGZzwD`o~4YmOgV0@!2N- z0waOXH+Tr~Wd;X{_cZw%a&QIlwZ?vg_$Gtn#Mb;qg7^~SUy}F=gDV|e<=|>!EB$JT zt^O_L;56}S<9~+OO5b{7&&adHcbf1ICAP+ojl}mFc@yyy#{Dn{4|i}g@oM9KB=KVg zk0O4~;4#FX82<|nZY8$nM~cL|8v7;UcH>`}*viid#8&y8NNnj#?Zj68brM_i73&aN z<-Lpec=P^g#IKn5Z$xa(?`=$cp0Pih*b2`k#Fl?^h;KLcw<1m%yfrcRU+VU49`QTo z{o4?8SErV5OFYTg-;S7jJhgm#V(!e;cn9K-jDPcqKQp+8IBD!JApY9OcO=dk`A)>& z8TmqDT=n6`w?69bAMv1d>%k-l^2iLDt`wOTjk>* zVqCl8hqsq_YlHiUdkkJmY>mg45ic_GgNb)H_z>d#4L+0@r||su9Y$=m_lFbr8~JkL zRR$kH{D>(J{lrHayn@)OA4d{f{lSUECma73j{>&(vjd2qHT$_d;tqosj{&yI(-LB< zf8K@I>YsNdw)*GYh^_v4cVer5-hQoBUZye5OhNWyI$jd@%84 z1|LFvt-*&9-(>J%#CIBeIPv`kFDHJ?;3J5iGq|7lHG@|Wzi;r7#Ge_wlK3A6A4NQ5 z=s+`6#}MZYK9+dA!N(DI8hkwQ41-S~o^9}n#G4y@67e<$pG@3i@F~QL z3_g{3cY{wO-q+yMi4QXP4B|r!K9jiL;IoL2HTZ1eQw{zF@i_*cLwvEp=MrCK@Oi}7 z8~jV+TMa&+_-=zQAb!Z;3yGgHn1?=lUo!Y&;xmZ{d;{_B2LFzDe}iu%US{x3#Qg@}Onj`tw-BFd@b8JwG5A*Eiw(YwcvsV2+)ixi zV|Nf+{oS3!R)6;gVoM*pOXQ}%{v+{)#{avCuQ2!?VoN``m-rSVzmM3`AMYo&`r`+P zt^Rg3v869RNNmjyJw$Bj%MTM<`tl>hPnh>VO8kPsj}gCN@Z-dX82kjWrLR0m{JxPt zMQrIGPZKXU@@I%YG5A@rZ}4-()_VB!#8!X&0(^wiLLR@E5z3L za$>h}hDP{!DDm_k2wJxv~EjVrxEOX)ExxCcMjt zZ!-8`;@b^AqC{-`>nFC#PoM+%USofVgM$tZIXLX#3I|6V9CdKa!EpyC9GrA;rGu*+ zT0h~GY+nEaJ_@G4$e8a!NEfv-00vY2lFBTJO73|c!Yy_TYznUq=QE} zc(jAZIJm{ZV;wxs!3778cW|qNiw-V1xa{CI2TySDLlN>zR!RtDB zii5ixJk`O|96a5@GaTIQ;F%7d<>2)kyuO2ZtAt%%wjzGWv=>_w^K_>kpUfkkVDL7? z*8IY@#M6v?J7Q~oVSD1)M!o~_Q|5j1iC-|dhxj#v7ZAT=@Q%bE7`zklCk8Jh{?g!` ziLLXNi-@iHj+==8VeH>b{BMJAA-3i-eoq`~8c3g8iQ@*}MqFd??Zov4-$C4D@SVgX z4gLeMHUDxK@i-&@BXQZ_yNNpuzK6KW;CqQ@8q7;V?D6sa#Mb!u0b*->yqee=A3sQJ zjgKE9w#LT~6I`ZK>$0A}YJr)yN>9K^^N{?NL zt@PNH*h-Jxh^_g8-HEOFf<1_>`GP%(t@(nzh?Ay1?oDjX7wkivGxB|jt@(oeh({aw z{=`;$aR9N^UUBFY(?6_Yr#rFC|`P@G|0lgL$n@?<#{2AwJRI zLy1o}_%P!03_hIr5`$L~UuE!7#J@54XyRQ>daNS8$;gi(zTMzsiSIV}IO5d?A5Z+4 z!6y(uWAKT@uNZt1@w*0}O#G3-rx087-KP>;`ul0bpBek76Mt>+8N}Zid?xV^2A@S7 z9X8M&o=se1@GppS2A@N0>HFsr=Z*Y4;`3_;{QD(wi;n~AOQ z)GfqT_k zF?^tW-9wx-_+H|a!S@kch7`1o;R90Kt16U5sY{3J0p@%!?ph?f}rH1VDWKSR8~!Os%+8T=ga zVFo`>e5AoI5Fc;wi^QiI{1Wlm2ER;vp~0^ZUt#d8#Mc`98u2X#zfO!p1AhG8Aim$= zH;ErHn0K7@K4tLR#4i~94)JRSuOYVdgLjE7{op-fOFwv@*wPRFL~Q8?9}rvm!H2|_ ze(({or62s6*wPO^Cbsm0zYtsc!6(F)e())=r5}7oZ0QGoCARc~&xtMl;0t0)KlqZ^ z(ht5Ow)BIqi7ox$Z^V{<@C~u0AN-xz(hvSYZ0QHz5?kYm?})AO#P`J3c;cVL)_CGy z#MXG?-^A8Hq!IOxs{Uno# zt^FkH5|1|Srx1@bcs4P=3#!MLn-CX`d~;&!{aZMAO9yX7Y^BdU;vN&fZHcY)*^bys zzwL>w^x1*fO1~arE4~Yet@!RpY{hpcVk^Fjh~JA1#CI|A1QXvS#GMB3LTu&#uEgsa z`EJD4`seP%*81lj#MXN0Uc|Vi)KBldiKiL=_932W@V>+w7(4_QuGr}jB;L&U7b3Re z7bdp+uOPPkj}Tk&j}p%|?~4&z=^ZDw(mO$HrB{;JO0P;{t2|T@Tj^I#Y?Y51;!Vx_ zYl*G#VT#yl|I@@)`=24U+W$IYtNpJhw%Y$JvDNLC^`5aJ zH}!KI@rA~Hf%po8#}n^sa4WI3-cuyL%g9T_s|_v_Tl!iXv1jBHh^_UWiNw}=Pdl-- z-qS(+gmK?VY_0dKL;Qx3Pa;0V;K{_6zPm25rJqhAw$^*Ph?g7pQ;Gi%d-oq7#dY5c zf3>r}S1Ykvvq{x2TrQ=Qa0xFS%H?voluNn3Jizn$oSB{P(SnoQKF^;I zuNR|v&pC7E{F<3Fv$L}|#ErCeJbjkd_V*@QJH9?gPm%uKOl!y6v2>9dyy0 zPivniji;ANem+HS6i=X+i$6_kpC?VEwd>K((AwuoljxPQ{tNVeaSN@D&p%6R*O!xN z?RxNY^lDju3ax#f^dhZ&p43WfpC`RUpOW>b(&xl4)0f0;^jh)fY3=i*Y4kM-pH6F^ zC$-bs=Si>7wA@p(%SjxHF{b;{OvZrln=iHiq}L0YM*f$-D;-V*@gE+ z1m2y`_w~6Q6C4i52E4D&a3=l*i|f4uVu@$*ldzWSlExamX08IijmqF?1Ad;At4BRi zb4lV={EDj6)6IpopUbCh)O+z$l6c<)f8ta9_S8`P#k(N!8=~gc2fPw620wcAXz3?C z>QBI9)H@BNl)zgl0?anvMqy@K%^=%&9fiuao$v3M`NnH0`sABtzVW(1=9^Uc=K3n% zT$0Z>7c$>w;%2`8JC{9{Z!^Y6=ld4dLcae8|027$@t3vC^1B_c;V<6SiF#HMw0c&q z`;@V!4eyK$n87N)On~`S5zPFm+1T`8(&zD(zvmq=J?O<7HHZHz8i27`5OcF;LH?D? z3hUpD@X_VKTRH-@|6~k)8#%6zxSU;hO-I1^_RFpp${!Z-_x_w+cd;aepJL@-{I2i6 zaSd1b%hB3@vsNp$)-wCZd)6xaG2V5E+s*Z?wapmn<(}%dYG1@w*-xT@WXMd!Q~sVO zHa*}mh0^|u)4=artLDY8rQTzLY#XO5<#VadilzUHOWD($?gU;N5~%&L^R55QWh}i@ zl}*)mHw$O}_OSX@TD(FeP+NiaT8@1DG5hOpTFpp%Vu>->W1L3z|Hj(pbigb5zX>L3 zWFKJ4pU(W4C;K$^m};jd`w)wY%bWuek1$h>pY05K&6S2<_$7W`*W)pNp%}mO+Yc|2 zbxd|7zvc)aTaK?_=VTuq=}t6p!>aQd+u7e$9mWx76Z38)uwJ0dk-(cz0x2J6@XC`w zt$Y2}k~dTL9H9!9^9t!0OyC}v_G zm6lby+B#=xQGT9rBTv|FRBgAm7E!HP_Fa$TM|iLJce(E@ViEcK&v+9{AmB-RqN?US z*(JzF+8d3kLl=HJybBIGy=Be>-q8{m{VHEft`0mA{7$WJEstpGr`bpSSC@momu~)^ zH-3b+3-53VguR(^{$6?)Uf>e2B9HnRVqy{A;SwkxJJ19pkNI1?B?AF?nM)wzGutBU zTg#lPY~okI@k85Y7V%5q%xU5pCXrxrV1CPC#8Fwu6o=8*@zcJZaB%o#PBUeFR&AW? z=GMx)xjBRf+9SpIE!yXNMOtc6Urti)b5HeGGEti;S4|FW*aCEsU) z;Sh=y3WvhQvG(EbYPrEXZ36iW#M%qCUyL6~*K_dXq^<17+O4MQQxDh_cNP5lE#8)c za;qbST4eU7@3Wy;(PIr(q1ixYmDkT>C7KPRDlzO1`&7kS`A4EsnPx>u0qix+$}_W} z)-I@;BsODr0Bbv1?B8Zvvbxn$W;P2pWF{IZb%slkbG$6bI;rQEuqk4-Psofq>!{Xr znkSEDiolYeJdrB>VFve^by+$0k>|7fh}A|1CK_@6jn+E73A|e?;571GfafijV>N1P zGb-%2%R|0vKfb3ptb?+{)vap6q1Aht!#vJ<)M3^Pz?rYl4sM!#+lpJU6D@cGRi-<4m3wz(4KMsQn>x3QlhJEIq zf(@(v#8VgKLhd8JrRj)2+zE zK3-bnOW+M@I6J98Ujna33p|y;OVI+Ue1W~?b^S3y=1Ik?#$U@=q39WE>@*woyyds8 z=U7m$9F(mzhe~m9KoCRDN-CtX27L zpIP}Fb-3T1KN5{@9i`l1k6HJ~j;ebX>K+SO_nzc0IAk@qkQ(8SO%M6=75#Now3X`& z_ad`~9?$JZ1U%jv8FW&wY7H~YYc&SmNEbk5qmnqLy?@fCY!CAb$QL2MIQ{i`qV5&muAgk)2vxPDi+IFvF_yQ z-<%zGdtbh~=b^e;39N%sWb*N`zq#Lk?1^D6>#|_k8|b>V&&3~h;Jto}Z2ne%u9V8B^o1>p66{JjXL<9U>0E85w3dRV}Cs;jou1?(AZUf#e`(7n2JlaqwYUfh6`arV~gy`v*L=U&kfVV6ZCfs_vh3 zCo0vvx7t{vD&zA`L)%kl#5ukCO4QMY3u;_;s|hT9(f9Eo}OdG}PA)B3^pOZa(rwZxN~f%`bMSneot z)cc&L6L{HSz;b&(NB;LH5CNAWud3CjpT=)fmow)`8n9Wn+# zc;s+occG!G^H~TO&eMICAQML4t((Et!h8;_b=3Lrzy6+?fx(k~4#!~rNa*07V$y;4 zGzO}2vrypNLf*Z?dm7i;}shD^zb%}ujcSdio8$I=foH2 zYvLR9J@I|oh}-LXF`FwDN9eeC2wgAE(4)mo^aODWJyqOJ&l4}8mx#ORHR5#z-a_w^ z@ICYa@ge#H@k#o;_#%B>e3Mq6?wIX!x4;i*_h7qz{Fu#!#pU!6@ld)!Jc6DmZlT-6 z?euK%TskZ6C-xoik!zD?f~ z->3c0*!c-zHdihlNLPxh=z4L6R-gWv{iTT>E&ZvT*0wi~*3w%-Yvo-*ufxPTK5U@3 zig(aG;(hc{@o`#xx@hL-6s>Ll0)0c`-=ZIgi-y3Zm{{A7(1XO4bW&VTj}uRzTg7ek zJn;g0xp*bLS-h3*5%6U5IXy%?w7{e3@e)3fZWqs_ zwerlT7fE<0-7Q{5<13K)?XRQpmA|~V7Z~4W>l1#I##fy3@$qe?KJ|BnzAfQ*3mmLM zcsV9k`3KTN#6#%@@d$c?coN+zo<`3S&!s!Wi|Li()$}Iu7J83(FMU*eoW3BwMBf(Q zrQOwbdHk5o)riydB=KZ=mUs@mNZd)U6tAW?iMP=E#Rus#;&b#J@jbd?sGYw!W^?1k z6X}KGMRd1#8NEilj@}~PM(+`SCkXEq?_>BO@lpDW_&j|@e2u;>zDqw6yAyCJCi(q` z9we?Ta6R25;p6Bj;;Hm3@f*=lH?R1a0mp&{$N}m#+p)ZOr(>KJo z==+ zqA!Rq(Kp1m==6@R|aTpvO!2L|QvOx6(5t zd^WvMyolD$e_gb8{#!|p@!R=ZM{mKz+CR6^z2g1!5%IACpP?^G_+|R0_%{7OT$Jh? zzm(R(2hmAPto+o|P2zF%B=KarP25h;6EC3g714Zp%jmV@_4GFJ4!T#opS~=*y`wZS-F8KKh9G7=2cJ zp1vZ!M&B0SrHksMyqMKpPFG2I4V@8>q+7&O3Ot9_>T3brA@P^c%f&0{b>a>5Ht~)E zAE1v&_%ZsV_%wZ9e38B;zCnK|en1bZx9g)4v$^r&iS$hIYAT_&>C$0#ej=F7CB^mhXmJy*m1iQ|F5xrj1!8=djq|H`IlWJOfW9iePWv0| z{Dd%@8z>%B;Ci}I!kcOJw4ZrB(n7aO_)J>6epyi9E?PYeX|BJL9xwMRHqcu!v5q&} z>Am881>q;?OA>yCzA3&<<16R+^ziL*lvj*zGowAk_%<(&Z(@9VwU1}h+V&REof5x` zUL{^r;BEA73GXQ|zI}=FgM^=;wd=89299B3)lUUIRGg$oiW}((;ugA1JcFJqo=E+^;^m_3|dYgDBy-$3A{y=<^*2;U8*2?>U zE*)W)FM`=zjW|s=ikoSzerD3z_Pc2EAjUi_$Yls!cWm!d)=V#OZX!?INHw7I<{}AID%Q-m2{JYk1OyLx?RF& z((}X%=q2KAdbM~h-6-e3E%Z(a-$U;gAELGL9;3DPI7wfS_?PG#;#+jl7`yy#%7SE+uiPzBD@oO8cm1kc;_y_bAOsw)W_Rl%Awtudm_h4eBzn4BMK2P5h->2ix+3|;9HaAH;nO-PfL~j&t zrgw{b=nupv=}Y1(^lkB7+Gw`7@5O8`ERNBY;-Pedcm&-n9#2mex6-r3bLd6lPI{Sm z1-(|hp4RU7ZKbvL+D-45_y_3|;#2f_@kRQY_y+wzTr?Ig#l&jA2wf?zqBG)=^aSxF zdYX6!Jy$%R?i4SfSBO{98^xRH?c$wukGPlC&S!_|4~C^%25su3TI}SBk6XjCdqHK|G0W6}QoI#PjHd;zjf_@d|pQcr(3Syp!$`_tHni z$LQ1Iv-D;0Rrqj)pDUA&X-5%4LrPZ3Wo2%ke|CA@>y_J?J( z*5B9BTO|HAx>ed^KdrUzDf)uMzeKBVvzgI)da{JK z(sRV~=nnB>dbxNdy-vJ=-YVWsYvX|)`hbKVqP6@Vr%y@v8Tx|w5`9g4gT5oaM;A@7 z%kRc)u2dYM2Z<}`*wc3WBt25X8w)&%*2+7Z){ZY-1>Qhw$D6(M0Zgp+IYb{5e?XrT zU!bpxZ_*!%AJD;1+v$~JHWw2QqN~J7dZf6Ko+X|`YoAZ8r8i6XHhQ+ zqR)#j($~Z{>3iY_ba0}S2eY~d(L*IXNskma(yih)dY*Uzy+qtiuNJSRw}`jVJ>p*a zi1-+NMtqLGD!xwN6W^!(pRvmq!fdWW9H-Ob2D({1o^BPl(R0M}=uYtxdWCouy+OQ* z*6M3Jy+^`(=_BG}^l9-~`m*>ceMfwc)~<)#li(00R{syvaq$qkK|F#UFP=zG6;Gq* zi09E+aR=QcUP`YLuc0@JH`Ck1JLuiw9(up{AbnJPoYvx>qP6tS(>EmktpeYpjTh|t z@nSYtE*?nNh|_elcsxB>Je8g;o=YzjchFtpW%Nq%YI>b`LqYf!dY6Rnq4$dq(#OOf z(5J*_=nLXY^fmDf`i}S>UDRUNj~lbPV{}}?htNrJeSt^QTKoxgtHf`kXNl+1S#c*_ z$45YRG(nL?g#EL(Io-1BJcZ!$LTKwho zS_xlIZxwH+)wko#@x?A$YyX~t@O|`QOsxDIrB8{^(3iwl=-cAEw0p9>z8|yt@nI01 zl<<05ORtI6>bI5F_Ro2=R-cP$tv*)Jn=rBRzqP=-Xzla7ee_X@f1K9NC#UI45`Klg zExt<|pR>2;#jJk+Axu|Dc$}^mXXs|}cv^j%-E6NGx=q5{>AB+hbfxR z&`EIv-7FqYw~G10AGtPhJHzLR7to8vUGysP8hVp>3%yIchdv-aL~HpyN}rPOGxR0# z6wPl!*^7sQw78{%8^hvEmc zx6Q7PAZBwhaRoh8oTM}2k#w_oJl!I0rQ5}`=mp{|y+pi}UL{^jZxU~%cZqxGL*gU! zDe)QllK2XJOMHiZBsM+|mttb|j|g2UuA(#Ik@N)dB)V1HM$Z(_rss>Z^kQ*0y;{7M z-Xz{a?-cK*_lXbCN5#kK)8cdVW$`uow)h@hG|eu*7qhvDI7U~AYv_^UMtZWim7XP@ zLoX6{(#ypw>2=}_^j7h9x<}kw5PpRIK*CSb+V-!|w27V#8X8}H1d7f5)P?iMej*NHdK+r>NS9&s;yM0|`sBR)r87GI@ri|^4! zyInpnW^)m7j22nf( zfxacaLu;QOMqY*MF|q11L$`|CXzhBbgVsLJT~`p^Lu=(bMc={1O8*|MU0=m#(wJD` z<7w^rkg4=S313975wD|r#J%)M@oD-@kEiE|=h4f=E9f2KU9?tz zhv^Fveu=&&zCqs+-=nqu_K4Q{qkk4$fr(W=@d6K}GZH?Mo*1Isw?O))j^jry_PcIR7(^~y(E(q_T z4@vwZw6;H-qR&bAMf$4v2Ce1qHvOT5KcKy{?feHZtM6YiTI(M}=mv>Df*vQHKu-}* zrDuv~)APg&=tbgATHAk@(c1GW>uGJgu#4W0iBEq%P^m*|``iA%x{XkswJAECa zD>1RsuPX3Jx>>@<(=FmD1#YLc_;cw+62FsPCSF0W6K|lk2;d6h}D7M`V7Nc>gwPVsJ9d%op^g79m!HXbp)09Rs?uTQ!`Jc4c(PoSrW z+vqvsdGum&7rjcnhE{KHG{+B{=>rmeh`uPkOkWq@Ebs$b`@WWUF09_hYNj8iFxL(L8&5 zZp`M&#RKWII8)#zdZL84&~4&&dX9Krffv(DC44!(TD-QvTWIZhs$Np{5AAO@fLcgcn__u-%D%td5AtP@lVp)`ywvTmnHlveM5YUF8Y#PA8yR* z4%6|GcK9GVDe>#+Ch<7BMchiai)YgF#0%*q;-&Oz@mgA2e=EIP!g~sQm_9AxXX#7g zEA%b#UD{Y+m(P#cTtpnBtHd?*NO2=QNj#aJA)ZAq5NGLS;+6C|@dkQ}cpJS-yoWv@ zK13fCAE(cX&(l}M*Xg_B4-4%7GQ!I-v5p57^my^a0xvA^x&j}fPheuDcZ$9!zD(Z~ z-=Ve7F9$7zwew9Q{Y9UhUJKohiIx7$0xzUHCA^DXE?z~i6K|xqinkYd53R*NK%bQO zX9|3gzAE82=zHS(wDA=?|9;Ho!s7A*$LSggucsTu&2)=+3Oz$Si=Hc-qPL58(!JvS^ilC~`n32geNlXcz9GIvYw5YOu$Ep0t(Cu#*2+JF*3z3x zYuj5yufW9WKdTG8f!-$JJLo;)Uiz^3D1AbFn%34oPhXYr>-0VGecJt1J3m3p=E}tb z=^AmG){bveXzlpdPS26}^XWz6PP$vXjMnzo&2*21_tF=|m+5=r`?PjE3N3=Q{kw+N z_SYs_>+e%(ZU5__wf$`~t@Z!I^hHdp_Pb1L`(rQ%Yx`T0){g%zw08WTtKv&}7SYQw zvC>~fZxnB#wes(w4@vkD`n32gt+oGMx}w8QzY?>0e`uk#{xgHt`g13}9uq5n8)>co z^w3)WK0|B$^(H;&O?&+zn9WTTPo~?&GYhy`{#OLX2;+wR#zI#dE^#{>f z|EZz1{xXu*+OwI~+HW$gweK`~HYQen=h2JAi)pR?SJPVk@1nK#?WMK$JzU_Ew3gm^ zT1)RLt@ZD_wAP>9Ux!OEvGN>)#Eu*8j&9gtyV!`U_~S{ua|(eXXR|VPb86 z1HDbWlh*owFRkq#M+?Hw(c1bqY3=xbk9K$2+w)^K7ZX>|+VQfA){e*HXzhGFo7Vcz zQd;Xj+vuH`SmoPI?-lQ(e8T1_Se7Zxtm|h`XMQ;>u zrnifC(!JvS^kMN)T6=%ONqUgf_j&rN#J^5|D1Jcum)hkIVK!GT9!OV-Yv>W;(X^JI z33RK3x6yOO^XVnxZhED7HLbnRV-vky!gtZV;sf+i@o`%F{P{Mm-LEZu8?L~_YVSC$ zy)Pt5H%Ryhx>4LrkC*ywp{GjtGsuM)4J zH;OmYJH@+ct-l_mPf7S0`iA%xUHVPCd=bp*-!HD9t0cUpAiR;DB;k|kcJWMlo_Ill zyXh4YzKUKa-at1$ZRc-0t$v-({Cr?9eOTfjrM36Roun^H_+|RK_!fOn{D5{Zx3}lV zY%VM=r{m%ww03{Afo_uUar8uS3*9PiqqXlV&8HVhcqgqrPrRI7FX0;t!gtW>*Z$1< z>7kEE{A0BCzPHo#WeLAZYu~TGLl^y?T_0}D=ECA~x<;HXa3kF!;Zx{Y;yJXo{(M?{ zUVH_;QQ~i=cZhe_I-!&AHbEESmmvvE9CgvK!-nNhmWJxubG<1la>Ov(X%nJ(wj?X z#hvtW@k)AwcoV%tyo)|4K1_cgK1rVwU!bpvZ_xL|_h~J@e-&JgiIv}h^bqk-T6=!J zfo_!WW_q%?m7Xb{O)nC6(#ymv==I`_wD$d!9klj*L@#|r;vb{WiqF&6#5d><#Sduz zx9swUFq^9o$LX}Vfo>9yqqY9nMr-fWm`!W%KUzp@@3&n-ufW8r?^X0r>2Dip_3N8v z|Jp(CmH7MUW8x3!^Wuy24e>4dfw*WjT#AXc{RmwtuA&>nBWNvu&GbYGZ=t7(r_r;; zbLmd;5?XuT-HHOQr?*J_ZS+p@?gHqOyYZ88gzAOHaJ}TqiqIde*PivpQ z45jtwQ)umdBa7)3nB?1+-YDKoYvtKa@0Rer^g;1qT6^Ei3HqFbU!bpxZ_;tR{4+6+WvQm*810nbo^aA{t(RO zCW$B0+WT}C((5IBBdyi%9$KrfQ?yoJH)$<@p|!C7z6W|LCRYBZ(c1B1F}+H{*U;MY zBD?705`KcdA-+Wi|Ikjq6tlSo@d$c`cow}}yprA}-a~&NK1tsa-=Veg2iL(hm{{dY z(<8-=^l~}hwb5FA&8D^bT1a*40{w~d}7;q&Mv;%-{&FRN(n{J)Lvk@&r| zcDy=7AD8fx^jY!w0$--J^TQ2Vdtd0i0=w5ETH;mcb zAaNyKBTmyJ#G~nn;ugAHJd>U;UPvzychjrHYv_&Q&Gatu9{RBOD1AzNhQ1)aL|+r% zpzn%5q_y|Kxi`RJOsw`Vr?u}F525QNJVR^GgEkj<3f(U8XVU7|<<0$P9^EP7OK9!) zBvu!ABfU-H@1XaHd+CGXBeeE@j#Kmn3BN?&6yK&FiH+~TAxy0L2-6kfIIX=;u8G#Z zFEWGHo`+jVYwx35MQi8NUGz~*tnD4APl?aam&8}-TjD!((MEfHH)eH5=n4ss(`j)7 z-6(D@a0}fg;qCNX@qD^NyqI1tUP-SPZ=`pMchd*OhiR=oPte-?gs;$Ae|bcQ{@5;m z7_+${;-R$G9u0JpgpZ>qi6_(3#53r5;)QgVcqzR`ypC>>@%tuvyM*tg_lXbCN5vn| zXT;~}YvLOPene~i%fAUO$HeMS1L>jSG(B3}M7M}rY3+J*20c&07tl+@-38%m3&MBM zdnNup`l$GLLHPNC@LTjfiGRPq{_pk;kI`EBn`kZn(`YUKU9^_JO|+K3BeYgu=jk)m zcKu!}@NHV#zaP-v&360{W^*y|AX@9sNm}clqv?qfzoo!!^ehRVLu;ty&6pV;YzFq<1BuB6lA2D(W+j&2pV z(R0P~X)V8tX)V7iXe~b*X)V9I3&M}m+V;=UTK;a*_c5{R=Mf#+Vmpl4TwFYa*2X7k zS{t8?r?v6NjDq+JX>I(msvv$3t&Imx6vRJIYvYaEv^L%_-h;LAMmepeS4C^ryCdml zOsw*cFK`RpCgJV$Z1G%rp?DG9C0Tj~7p*r-^6K3&dHvOT3g`EnZ7+6>q1t`r1ot`8!N&3>LT+b{hdJO~r3Je734I75#UPoTB;%S@$bN%$OE`@T@Nz)R^h5`P`NMZAsPCEi0H z6d$IKi%-yJ#OG-3^SaCQEeXFv7j3i4>&9#@B975j;u^X^Jc4c#kE2_}Q|OuE+4OvI zmR>CGrdNyC7I=Gs_tQru{&D(@_#Ay*e6zs!>3fxS`6KVc+IX;vZp6gu598=5;;99m zM{DVI&{}%S=rx#F>8+!;h_}&N{5`bxzVQQeBL;QW`lo2^_aSc5+V+j@a49BM{0P0f z#&#v0k?@i91o0$Vd;iT;T6-RTCcXPPJH5Gd2PW3`7Sk)ltLXLOP4ss0F8YA@5UpJg z9jDJq_<8!O_nby9KHIrV1iB+CXTD$&VM{C#rd+Eax z|0u1kf0Di=;a6yFf4N6{ci7ttVm22OSI|juJv~l5fu166qi2cd(phl_-7Q{5uMw}K zw}`jVJ>p*ai1-*ip~}wxY5Ku5+jnT~^OD#P;3`b4`mLcyiW}((;z_jje)Flcc6~UL z&Px0adZ~Chy;i)Q-X`8b_loz^N5#kKGvagfCGi#dhWHkJU;Ky;?X=4q#%wMw9zxfP zGxRv|1bVV~Dm_Cyo6d?m=w;#+^jh(H75bG^W$ASizJcB({c#(;Pr?t-$HX7d zXT|5~E8^?)9r1^>*8lvwV6A@+q_yxGx)~Fz{Nrh@f6S%3C43pJy}y4`LHJ%;>n|s1 z?R^c`X{|lIKZ3RLM`-=|L|Xg4RVzIM6Dz;7==tJ>1>sBRRT932*5YrWwdZSg(c1Sv z57TEcv9@=fz9zm=;0JVYw;jI}v$+a!oKA}C=|*ugJxM%;ZWqs@7l^ZTw|E)7R=l3p z&No}=JJojncF|h-_R)tivC4atJ}Ev;Ulw1b?}+cw+VyMbPhstSP;vV9I6M6jw03MVfmwb0 zmZr7$n@py)&xf+~5=^Y^b<-=wtLcs6&GdHhPP#|jOCJ^=rB8{^(Aw{BT%xtlyKc}Q zO8f`3_WQ2xAH&-7k0H7O6D$95Iw`KFo5bVjDdMU0)TizBXBUJoC*+1x?X=b(_tIK_Jxpu;@g%MF*9-J@OsxFfq#uZj{tOObVugq4LE=if zUYwy<%JHI^)_%Xeg>IMlGwB85EWKFVO|KBIrZuhwX)V3IwASAH3w(?|g^5+Z zv-BnLRa$!=<1JeI{pI_#c7As6g|**H4$}iMvC@yzL&a%Y`@NjewD$gy33Q9Z?;Ze8 z5l>~f_P&!@wDvxf1+@15l1_RlCRToy)7tMvucbFh_*QzCxQ9L}zO_IuJNXzhI{ z=Vsd+V4*%Y3+D4g4X)qc)Ar6YkO_<9PvDQ zk+_pyDqc>n6|bkainr6d#Xar5Fe(Gi%-yJ^L~47k;7H%a72c=9IG7;#{h>TJYda>4o6W{H2&(As#v^w%iC`t zPAtC=o(B(p8?o0+M#Q(j2u1_R&v@d48~W$YBWcg+#HAufAX@MC#Fu6UzQq`x+;AU4 z-f6=siB%3q;QeHo=XAU}Q)~tIL-6~a*z|x$EqHhS@E_N{;8fcg?(AQy7COJH^6GRv zjjeA(UK9V#< z1D^P^bxnnl1(M^OMq(EduEpQo{A+m3h}Mdp zcsk=l*pC?IiO*2@p|!$J>+cWv7kP;cb2^R}IUMgJPx)*lW+5<*oD?RUc%1>L$8-jz zGdG(2RWukaPKNWgG7&5GBwk|dYsmSCkS8^eC8!=1z_vW`rn*mg;?LE2N8LvjSmORD zaXtmqSG>NUM9-NOqoT#1GXrC_UX{ssQ=iDm(tJYs`YLhrBDjtU77LB_dR;8+icOEW z3X}QEu#4M@21gx#_~?;OZP%>tVo!V)n|KV1TCkeOtoilH19-_c^{A zO+1B$OwBZuvb9chUuRV!h=m`Uo+!qjXuuQHD?MLOPkd(Psuz?0;!H#l4_o}t<`y5@ zE_WqWMsAyBe5|`X)`6q;Hjys+d0{_Fq234A4M+~gpNuOOOopr)FR0=J_O`!_ZR5y< zwA9XumQc+WPn&(w$j{iNQH`FD%}VtS$P8dHk$tN}oB4{>qAMafBbqe4vFX8l4JCih zef2r3zKwXZxus~pOf;x=1}_qf;xO@qRJ{SiYp#+!$@+6Up2fbnU6tYMI0U9VZw<$v z+GrpeG}7L;cwkMs-{SE$)IZ`HbqQNW=k=0&`8PS(r(U;xPmrETFqrdNPRAhUQEY2$ZN*x2OB|pIuw!R(Z$5;@swHLzS z)Egf%_TNw^_VQjX_r?dm9{<|df7Aoi3duL^h|1o?Y{X9u@WrNA6%WdAuQpzY_j|<~ zAJ#to<>aTm@p0|(OS39QJpFhKY+`nMJTM*cp7zEYGcjMP%ubz|^|Z&Pql=;gr&o>o z%g6H4XWLKbw;jlD`!}Y!H@U!T@4v1-TYlN?ej$c@O|+LtKOV|Vh(%l#5jSUtAX^@_UwmSK2lFaYJdg=uzIZ^y6)%gpJzihf)gE?t z1egy5m|5^6S`=Zi_PD$Z9slj~{P@78oaX7XzQXIx1IpW2k$CEZ<$g3y8 zLtb-_G3F)OOo{(>q?dY&yc(TKgUdR(w#qs0#VmPLvQS|t#wcPAE74UROkyWg z-HE+ajbihszId_@Bb_>qbkYxtl0`A=RO^2|;_^m^^|R9OVGr`Bo#jCsgDbt!hKNtq zP<-%kzt60jXl*{}%*PXB&)N0nOjII%wNs4@gHEFiN8NEa(~tfM zqPV?@-zjo<+-7L3J@Ex9F-J{jV_F~7w&5%@63-wpfApafqY{;ocnt<|f#jFaciu3U zSX;6JTAi*kcj9?$F!kvYm$|tTtjlq#wLR1UH;6xKi^Y0T?A)`^NYWV#cv9A=()D86 z>rw-$R_po-_3Csub{Eu>RE)cStDbm?M}kVc+PqJj_iOV3Z9W)%sl*+fin@NA$7nUq z%~!Hn{rWSK{~Qw;{O-yV#`Y239qDV}ViVvN&su zeqZ$@F1NCdR$%bAxZGXhPJD`OyR^h>mB22u>Psaqo?@AGY4m)vd(Av!6l3ODYXNgp z5o}U*-jYDrt{BO*om;(AxX~%x(kXaM4(^g{RMlR=$N)T)wH8tuuT$($|D=elACyS*vh-gjGU3F9b59!tUts zVAvgN+>iAT&FeFd&4`ityZkyFY9jJqdgB2zG`ZI|8lzc<&!4Hp9u@NX&E?os@;mvp z{v2yzmz#|U7?uAHl=ge$ujbQ#HNyk?s4w6&iPe0GR}mqF^K-QRnOMY~9E9xE4PZti z`2@{u;3`P6IjRb)8#wXyPkOxOf!AxE3p_YaIvxLi-C524e_VGiM==`sg?xXECO*v$ z$z%NQqCf6Y{Sm_evrFb%h!;2LT+e25(NKPw>Tv#ag^$;v`GxEoIH_X)EJteoG`jAy zjRDSnL|<{mLdkMpVmj6v^DAU58nSz8dc&w+a7o04j)8uk3E-L(qdA;k!J14I!~iqa z&WpxqJr4?-5Z|4y|Hz(MhMt+vs>*+IC;O;7@ptT`JdwQOPBq~&H8a4uh?jNNrRhY} zQM7^KV|zRO>pzvxem-1nW>gagjqYfJGm868Pwds^dA1i-_2a&6&{2=! za&bO6wgj#_o*lcvteX6CZYG2ZsqjC!IVK`u1pBaRW22f+J>@rd-ZFjXHTPmaF7r!J zSGe4_4h&EG%{F>uZZ>~l@L2~4|CkPxaMWcL$^n&MwHL1C&GC?5wU-<1g|jY)M`n9r zNP+gk!73HDG9yP4=Ai;dj6Nll484a=;ny1OchGQtt>JJ-q0FCl^Nw!XowA z?x++S5F@>hZor>Aam%*Gi95I-$N0J~?u@7Eo^s*_Ub!<~Ti1^hjJ{`a^!=6^eSg!L zs&J~qV>;qYOhp5xgGLI$&muUghUe-$@dv1+9<*KzcWcUvjZpG6r{BEP!W9U{mmzgK zi1$ozy@1;y<_*LQ!s_du#k9HZlb8;v8;0qaI^5vEb%V=;`?#1(*J0GH29PNX<6}X8 zYKHC$m2$S{->C)F0tF4HzL#-JRhzSKph1*v@?%isbbWf>&1k+ zxrJ@@UE4b0n|pMSqsU3fQ=eUm7jrn>7GwHM9qtmL_m06}$U4YM7TjeXbp}s8)i>1I zgfBgSw@dQt?PHs|{OC0?dl_?&vuQ~_4tHE`-Rub0ap-Eq=5fmz(@#E2?gT;kR`YM-R@Bh!MMSgG|bBC}F#c4>^Q-6h3|1U4Y2H?xi-o)Vug?2)R@ zmqc|#+}u!|-m5yj7oGkqCH?X-?6Q{F6{XTNhttjye@QU$S(a&3-*xhZ=(`qf1*-u$ z&OzKi(PxrVrD@cT!n1h8b0xkib6j3LG4YQmqjiB{4?CC#J&Srn73^hRJzm6Du+O3J z`F+ltdJ{DfsQU`0p}H^TSF`rH>C9JMiT}k^jnl98x)MKj0d{+RH_-ZUtQH;bv3-au zX)B->LSbKiTV``fJB7WevCLD(TT&eNzm&vH4c=kQM>n&Ui6F4-rTjv6@MJ(mbd?lW zyo4J(JXUkO_YC&+Qb&{*Ad}H%wRMEcoM#+fqcDzBqSRvEieb)vjw>P_$KSl>{B!g8 zpWixrR6skP;NwVsPGSxu%Ztl-y@J!Zb+bjgY6*BoC(RMbAgt4f(+aLiX5x8L{(ZIa zd-!X8mN=u)iHHasyBZ7g8)mVMu;=yBSFzA*-4u-Yla*e4Ai#Tr=Ka1Hi2+BzA8QYV zG2zDu(fWTf*BE>aN5rP>NWpDhNV@&j%?Mr{nztkx^qUbb>#`(zSx8THmMR7Gq469EFO&h{qN7rPGf^$QO$JA%wfR>V_I(8ZnHTd=dAkpW|Mm zbtx3~s%xP?`2V&oGQX)U%2XT7P{aCS)!uiIkxzppJ8+ime{8)2d}!n41=5zwam zIK~X7+H?oSmQ1N!Si&Ujg7K&~7goCcCn^}7RsWJ#_<+59vv;HfQh z4xCl{IVVpQ0q0X4*v|sp4VctADlm`RY!2K?$LA4ThQXc(_wt5g)?ARyVD^^*Z_49I zd;+uo%zd?}ANCW6-%G#`F2vZJu(M-;%wjz*xqp;{~bXB^Q{X8KP%6Jxk- zd{mQYZ*<>WgI z>HpAB`z`PF|J2;hvsR)(tQ~y=ak3rg0>5DFL)E zh58)$`05xM>&@^>USAlFk+M$W@pZyjG!_MUa!a0y*1m-9@e&H2;=tQbg=V@=N4=yw z`0;f8R=Rz&bj~VAHP+pR_Ihg(J`Su(7gwt*^QyPWfcaq*9xlk=rTU7~=;}g9X_304 zia(|3lIr8|+A&UbOA8;l{Rr(^`%SdlUt>RY8jF68KixU3hPB_qpKjcgan*hoA55x+ zuI>(oxw||0r^MC$ruyqPqy4x~0>3^kKJ#RX_*Cc{{QEGsyNv!N@+33QznmoR)9{|9|68?cYBso-1t_N$=A};#=6M9$)8u`y<%c8Wvek&}npd zvAx7YCXW1ljrrqevT6nkmgE6j8)7d}aKn4P3cr-y;mHV~V zu^i`a+!4kn7^+G#bIfc;RarwuYMkNkVxRJNv4{Cp-%$P6T->fNF#|)`RBU?354>o( z@!TiPR@u%HCjOO8X>Kd+dF$(JKO;55$bJeDjV#&~(V3Cy^@EK*Hlqx9#q35C*!9#C zclpnye}J;$LxYC?_~7Ck60jcpP=h}_0K|?FcBw+~=AfC=Fmjqs;s&Ck+Bx$<{LCXi zZ||nnVRsjIKRoyH2?O)27yMzx4r)#vo3!KPQ)Ur7ssv{4KaMO~2TIo1@QX-5l{5Qk)Q;Jg+z#|&$6xRm z#eLQce|P?XSJaMZ)pfL?+6;(t-(gx>-_I}MzNDp*oyeB;sJ*rJZ>`m>m7f^3zqw^Uef! z3iC50K0$*v;r?PvEIjE80y}tg2UQBRt1G^~5xW;Us9Sj*T(i^N4qV`Bn*_7ctw|$=Lae zll*|K*ykMKH?L&SE#aT)Lr#ib>Q@=9H{i1j>+py|K(vZ-yGO zaofZFA613sdMuwBgPZxr!*$HxNYuB-u1uys1o7}VoYgK!-z;blA3Wt(z`o5V;LtWW znJ}-eL{EtWHCA%GJZ9~2xAvLwhhL1T z@y`sT`7=AsKysqqMS@=QiZG{s;LTv>+(P7SVYez6#9(US! zDp^#Kon#-|T#lhwAA`F5{$m!FRUO2`B(gG^?FF?K+xEBXyRm%V#pmFvq0PsLFI)ZA z=f!Sl?h9<|-@Gq;RC-2!hj=-^M?5i)?A+MD*w57d)n4rN4g07xkrEG%UZ0gmrvu~s zzIp7Mo_aROH*63(q1s>jqr%v^tuk|m{`DL5nuil}yH>q$T-~Q$v~A)sQ1tPX%NHGH zJ$H)SW~bo{V_qL{{L^RMKF1fF;kE2pdkl^@eyhz!UW(QJ(wR^vcRxnioZ)8~=Aj1* znA$LWz{0=QU_Adx#`EffdUZN}TMbU0c6PL&?|i*3Hy*>^{QP8XewsEvN1I=u&39_^ zE4BFz+Wani9^3pZw}}%<2R^O}d>soW=NEj=%*}DeRtph0h09Q9>^nThai79dyz0!F zbPwkB7S7cT?nE<6T>CjbLHRcrXsE%xS)@1mEHe_%A)>kMCx)m@Jk{|cxBE}d2`+3C zr*nr7|M_fDfBa7l$elqRYjfV8a@ww@C)M-~e7~Z$E;nL7ijXg8;`eYHul6k?i>p*m zb}BDb!zMaDg}h`jbWc{-zU9i|vrkVJU)?~siH=DO|GWyv%>dphsr?;iqTIj<*Z!_Z zdP`y!yB8{JEbG8L{;b3B;~?uQn?Y>$5hL4R&EaF&uK$4tEN}s?oXW-b+A{pEg@~Qo0^m7nm4MD8Y!!aKXmASm?goCBr2~4P64dWQ~xUQT3sn1*%|sjeHZIG}J8wq!Y7Xeke&cj}4EZ{Qe7QPtHgWR#FAvAu9%mP$ zWxvlZ$bGQ`@%Yckh7pR#Uvr=N3w)ic8{w{O6&B?_pLew@+seEZ8@cb<%Z%KA3|R52 z@x7QCc*8y(oj1&=X>ab6e#cjn?p#eQAIXT%G~=)YpJxgF!7zWa`(K{8W*gTugUmOt zs(G$FjVogy`%Zo!t7Z`J4`@&Br#SC=veT^nl<1g-{AZ`D{Sal2;DMYZ{{EG!r)SN2 z3VL|E&y#IOELZ1jEDU;aFV$T53KnwHY7hRIGw~i8L-ybqTM|D+?{Mb+7S)qz$F`ig z|Hj!Fm}O4aEHnsPd^4 z@ril%C9D+ktF_Fjdf;rpbaQ9$XM0%k#4CuUKEF=mLF0dB_fm_p=P+w#{>{P2JfBIM zZb!xA6jod=Q*mSVVHIOY`>-1Ac%2buu$|dg6R4ZN*4t{3)mFHGOs4yp==fc(^ELMG zd_z5Us7+djTBKKjdm<}v2t1C^5m*dO$`*Ze#H_vm=&?+Q50rl}F>nG^d>dwg4p}WSD znSj&q;;B#M3a3%E>>Jjyd1{##Per|fIZyW6n5KP<{Uyvjh5qMuEWmb;a=WUwtIR{b zdN}zDh+{JGMb5hLh=)oiH3U~sQMWJq9qh<&{t_9BWp^Wny8d)${}4-uUv`-@*&G7A zxYdu<6US7FMukw;~cA?8^3FxwU8tI*+*^HQZd3 zveM0}*n`Z#>@3D}r+v=sYnV$G_0Rqp5^<*yz8f>Ca%<)O`lh`8{@FiAsOk|oW+Kzg z&8ReQs-IW&k7$DzAKNmA=9t6f*n#8K->Nd3-5O67nO!ny_CZ{Escz^=<7t8UC{NmN z_sD2y)T>w>1!wi(I}GT}%p492VYk2Wvj_|0aKda1$8)Scd~wE%>G4Ip_{N)gg@Tpz zeuVGRJSAZsE6ltBmVCo&CWny>H>r*x5nq`TkKqnP-uQub{2TZlOsWDi$xOK<{WMq>-HYH1N9B-xEA-`GP=0C;BEhQ;REmmN7lEQK3f<2EYnvV&1tsqpVylEq1REJHupn*W;+&n{SS6t z14)ibc_6_kXb%$bsvOt3qQ$?gK!`e(TtsGZ$tL@F44<^-(;ixv-^UI0xdD!6sE3cS z0%vlRrFKR<7?*t!i#n!oAYyd=A%;fXpXSvKHpt$O?-a2CP@y~rG$N1c9MGxG0iIO- zlTQOUfTp*p^&Tg3o=Ll)nJ3z_HN>|7*)Cpc3M zXR!m-`K)}mFe|R?O7w|{Zxo&-aA0f^MrEnwimq&3y^Omhxz{tHz@e&A0@fygk*hpX$M);1fAA=xuM*kZ5;kL{?*QXemQrN0=tzqSKw z$Kh#0mU;yKe-i&WMpOe;{N?g@@c&Er|8MxOFE2(nnt%v6XV}Yez48^*=ttigLK?hA zT!p`Xr;Y>9;DFePVUrUdO!C?#jpy`vi^#k!6fMTNgg0tJ{`4q(C4IQZ921*2C(Kir zxkO!78rktkBKr{a<%wnI;!g$cbNJ1R%u+uFV*#G2@vY%8nIPse+juHTZjP!4TQ=da z&4cE*^T$Rt^OSmfSnX^1Lv2;sQ{Ax)S?b=vc!;n5vRsA(m+Fp_ELV*8%5Zn)MNIkd zfp$f>80)GlLhJH=7D7>Yb*cY4V-7HZw5n;Ttnth z60yW`q=b+AR^Siw{hfR{)eIJF%r8(gJV$*B<>5c;K7qlB;RW+sl@;c-d^qs#~?azAzs{PHI1H6JnW&8|For$la zD}A>UgFPos26!lv_x0?{e>Kke3&g|s8ocR|M)t>;PlfSifngYI2l(oakos=C3P?L+ z#T|c%{RKxlN!=_5kM1Tx1s^{;K zsoN7_3>>(%c8s9&nTn}Q;R;-B+@-GIAKN%T{HZ`a-*Y=0r&M1_o4c5l-Ky9U_n0Ue z!=qlqfCq50tFRYDg8d`K$;NQ76K75*54frR;o`KnBgeyKakv;q)(*^ugYLS4h{eSD z$#H*ta%`?24yKQUi%0Xo9*vYlBc;(uzfr6wtlKa9CX)$=!`bg)V`kyaCqU(O19rOF-f`c1?yOC$2!d8MKxJ=_QVCA8!&?Te<-^bz^Jmqe*BY} z$vpBPOoq%PKnN@w7&4h;Az}zDA|fJE7AYbiWf2h(Dcth=_=Yh=>&Uf4}G6x!)wK{rAUi?wrqkoOAB$+%3kEU?Bb4weIxub$B%WfK8FE)(zwh(_*)1^@T-m1MVEM_OFWv0 zCkGuxF&~K~%`%Ob$I6|}q5=VC1S=)p70=4P)m)z9Y1}BjG7!O8Ohs+)Sh@8L#E|oSimL>ajm3%aq3|&8%807)ke7w@jB<_jtE-r&y)YdZRV5uK1ow_a>C{zF4;= zRB8HR7`LG&*4-pH7|%zbPczQc{qY{L9$11sKD{41t*KiWjCyomtZOFh&P=R(>hoC7 zv2Lj~_{pNs2*sR%I$BQ~2&nsJ13nh2C#R(9~lZ;pT>0rH^4P zEG0})VTPGC=f)80=|seLfK9Dtyl1Q@KK{@%^*Q7q6OHvWi>r1?_63Yl9jj7YfD$FV zG>L~O5aPYE8xYI?ajN(;v1ekv%vDY-(r)%5ZIg{bO4rCs7<$HuAcQ~*Hhip}cgBM4 zV#9`|nZT!KB5h)$6dUzf%m=pOSQ7hsGM04qqhSMZ#^jXF)~At5ymz{&w0Ei%L9==g zUW9Pw7EaiEKS|*H*sWW{gHNgi67^MQbZ@)@Fiu2+3NH)N!%R8pNoznDY~| zmN3C*(|t>yO)W*xjgaR*@oK!ag<`DQ`W0N&x)$%-nSisC@=btF*Z{qqG!u7+qjKf5h@~%G!kDP;lkuD%kPgkg$ORnQh&`E=j*8BV^KH4+IJ-j{y;QoybNn*-HiT> zdB4w@*I|!wBA@PT>M-0sXVC|XyGu>DrpBKuQc+)bP6wVO%8v4PI3yL7sEG%LX+P#I;!u? zo3+oK%RPDMT(J#UAC7#%JZEOswUfDFb8()*XN~;6g~;CbFfXj@NI&Zjn~XNIf*p5Y zI!DY^U#LGG+2BkSIG>g=GdSQ}qBuRsAJqh`Jga>Mn=D7g%l@UYpeeka;?%sk9m@|5 zxM?;+CnE!nILp-UTZ(*~*D}ScrhJ^2OU+~k+Zd`pO&(BrH{M;KW>9ey@BTVz2Gg-< zn!~n~V<>)T_qEw0nox-Wz=Sxgg7C)a8N#f}u-f(L_I4~Nw z9&wAndV2XGR%iH&r zCj0)uG*Pql2L>=r+>ln99IdA7B0M(CtI{RzZwua8bC!Y$V6l8P*TV$3&%PJOu?v{* z)W0I{O@D`_;7@V33s4A*ECloM$KM$KSXi;U?PU6N zamH?!H&*84{vrtTjNn=Pp^DmvIv_seXHE#-j^Ffq-HiPSo_@$B%gh+RDKk!ACo^45 z2ApoY%y5SAIQjsr3O7bR_Vbkdru&#w5w3!&@!_}JDQ~qu<((QM?48|VwK>m7AgioT z*oa^Lb1P}Ge}%27I%#IXTFG!%lW`|pZudkMop6QyoEPq9zugOWx8Li9EA0<@;U4x& zUbrf1FA)mtzYz-US8{0G?QCW(=C^${68C`Ce|CqP-`q1FA7Vuis>xX^ls%5oteH*? z5a-u#o;Uvi%bQ#s(6jDy1Rv&f?{wf#eFGC_zsjl2(*(ih7qEy>p!aqk2ARdN6As+5 z_jqG>U9`u^*%I^HbIU+q=yE=8^wIQUe!6Q^7#~A>7T?>ft4n_zZ*V$KXI1rWnBmlV zbj9KP{p^f)9~pVRVN@mf4wr9h7}Nu7a9P*T&kI#mMKPqpb*7;NN1PLw^Q3hISKfS| zp9OC?p6`r-8#oDmk_6wddk^l6BydR)#10?D7RMd_%kJNZHesv?^JLNz{0`cLP7)L0 z$)i{}6TvqL2mKX#p{@#_JHvM#@+**=g`se=w5YV$O@x&!?vUyDM1+|d7wnn*ZWwp0 zChZQs%^kr+_rcnFm$(cMXP&{kz{8R0S|raNwIzlbT#cCFn9uCjFzfE~HPO<7(!#dS z*A%$V*A%+X*I4^GGR`#);Fq^5%=MZ3V;-?_*6rk|_wIS5HsdbeYHJmb4oRmf#Q!Ap zUx+083a)glPhd+&UH9iOJb+(5ox}5_psyB73g>Fr8QNA}y@*;toCWFI@REk)i2XUXAr6^Ca%Ik1t zQqh1fG~&1XNghrR@u81y?AyHo?-=8^o9Wvp7OZ679u4^ZBz`MR-_Fsfbr4Y{trNJi z=#!p{?V&TasYv!P@@=g_V(Ce&xM{@s7Jx_lakcve>{uovSk{r2bx=zMB(I7l@ifU9|brpx5%Q-CbrYBg9W`Ucl5u3*qd>9~A#dU%jGJL?Sx)vYpaE7v> zkKEA2fF6tXqR4WGwRtJa+JN*}j~H$`h}dJ{!T*XMJV;dbBXebG;);dvs8~5t;U@;; z(bQ1{YwJ+ARalBoX{G*_QQ*@q?zk1XaqGHcaG^6eR%+_Ps`!OSrx$M8Y{Z03?_jb) zb8(G|grGU#@o^)wFF7A#aHBSl48-`jeeOdJZi=~w2CyHavaM4UZe!to)|U`_tmH`^ zf=p<7CQy;i!;BOm_s(wKHs0i9tXkHpyI*tgYNU10#g6VBb*u56OSAW5HZ~!4rwG8u zTTqG0TEuJt58tsOr^bf0Qb?fCd{&};h4&wcK334WA4h)FH?xA7F~*9E(-m$lCn{@e zizBE#W}Tk(cSt{47#@5Il{pb>GsKTiT7Qo~Vftsu8arVQTZtt+TG{`KttPt#!&N+km#wy-Wo{ak!o$~_DBY}9QGT;6-rez ze)1-DfzgAJ-?7EAXejjc_4ekU5Rt zZq`<0vnY}nfN#>9KIReV$;AP?rIYWaXgBLKNP>k~Vn8f_YvJe=^Gbll`No+6o&mvi zDVAj<6n19B+`bCcypp^BWxk>nNX^DVFn5ElAv^Bfprh_AnP2Z&ADqhgP-Mi+gS0qp zLoOF#2gL26WS>RY^Mg-9$50exw;|)zOE@I;QAD2F4&$jH^C&t_2-D_5G-L%)n7e&H zhQ7E~4x=!+jV-U{i-9grLKnDXuJefUXIMP#```?mOVl}s;%Rz0@`cM?JOlCrOvddZ zpU;i>uAsl)RLx`gUc?|gQ+pOk;6t@x>$?b~KZWN{5L>P7Z%*K(s@T4b?ogeuxBJjAL-s79YW*fxC|-o)Z@@aoMKst|(E1)}mYLsI zie>gHmYH`xif2}=u3RU%WbmjlHsXTX5<89D*t5_vyA8MK7J^$epBv163mXHj&WOCh1yPWT2pYyo2N+ql*_A9mUHb|7*Mf zAMTYn*X+)Uz#Q5qFvI?o4-2)xE%Ay&cK$a|V3}>$>?&rTz%`o>8(_>|)w$gIXUwDb z&PV-bYY$uy`aGAJU51H6Ay$}u$;4~+wS2zk_kWvy;vb&=OPK!Z|CWArBK7AiH0Gg$ zD?g#Ix?Cu#P#AN%5{ae$6}ivE@vLIRwqiL4aNn*=O}E@Gu^uD7Qk{&xQeAG3>A`SC z_!V4JnlQiQs3*0#4#U2mBES5XLK#tz-G?Nq?Q4j{zK0G9sh?ndXa9}M(T*QMqE}&S zzZtDJY>z|-qh0^wqfO#yGo8_HXtV|B(>Atc9Br*L+RfZ(343pc(T;GmOU`IN%Z-+_ zZ?qe233o}an5gG+Si+qUZ$xK*hlx_ZLZ`!n671iK!p$7&%&)th2h4W<9xZ!8g2J2=WNsqX|06Oqw17&$2gsWF z+J(_?UAgbp1by9*m!BXn+1F4O;!whSznHZszE_bjw|w1WP8H4vuVcJGZvR3xU!8Rb zbA^{IhXpXypSp|4t*7YV5X54p)Ng$qKTVjqEiJ>$WA z`!!VN;JyTRc&8RFYG*LWjr$=JxQHBP5>dNJ{U7D}N9|GQ+r^CIPV*SUoO7iZzAtRD z$X@1^hN_BU80P^~Z*|(gm z@>N>%t^-a-xqrpF;9irPq%VXd4`X5ATDTh?xcdf!xW$eyYUf$Ek)K+iz&sXs1cNfK zJI~_X)P)Q;4|gFJ<=fkl5hqnVNZi}ZLe(?Qvt4bLl{4Ro$RAvW?s!~w-gtj#nYLMI z?sCL=Tl?i0vVMVBP}$x&>Ykj1@%_&W$X3KYik#ZV%8*^IxRCWr&TLV{zKH(Lipr1V z)`I=en=L*c;#{*Od^pWxO`s{~GeL&9wej4*Z9>;%{*MXr)xy*h2A%Tl zRV>qLy9y)N{m`-SxBxti9xczH=gO<-_3}abn0$wRC|7+G?uU*W|5$pG+(Ivx_s|FB z^Yj(@0iAcui?0GfySF@q9wkqs=g5ocRq|GPmwbdiC10g)$$@Xd#pt;6lcopC3+To2 zCVIPkj6N;jqVLP`<8UQ9Zv6e}A@X#3uDq09C2yg3%7^Kb@)i1q9R5$Z3>`PUCVGTC zgPtodqgTt@={@pE`kefj4xjMiZ$!`@E>ELp%ggAs@;>^oe38B;$NmfMhK`&6A@oRj z1-(|@Lm!kc&{yRLblyoXz9fQe-J7o0@DcPBc{ROFzChoWd;K?@M#s(XunrzgPt@?a zbhEsL-YH+DZ_0V6;6ijv{H-T(5cj8kjJ@9aCid^_F?3r0+dZ=5u@>jni3#AU_C&6S z382S+<$9O^dN4j-|C%Ux-Gz%j^Dp-(vK2>(R*T1Qmqd{V-ZXMw=j4&Wc}6y1_h$ag z^Rj^;Y8A^cNy6%jZl8cNeR;s{$8k74o;UxjH!ZJBzJ+x7aqS9uf-2--gZX!3) zAvq&rrc&EE5d8FaFb@f(pZrc9T ze`28C#eCLz#m`@!I>G+sssG{+&I$`~w9C%IxqoUlD>m&(NFfzLPuxE}$@sBUPvsW3 z37~BE`<_8MH*nnaXY(;GPDaA`!ArI7n~aq6)}uLR_nYelULOZc4G}&f=6qPo`6P$) z2~Qj}`4J6Nn-pWa=>JBt=C|&HtQOAUa`!J1**N3=Z)DAVAoeA9=zFmc64?-kPG!cC z&wy_f^7$&#^{yqKch3vwo2eWmvO!LD3RAg5?RG=`xuIO>JeF~xd^@*LOaMJj=X#g` z#x(EUe!k;du~-whWr)L}S<+>Qnz5b9O>6=@eujJ(aBlK5=G}Sy%f0PU7!L7CRHt6N zC|T^>RA41csG*4WWx2MCU#ZJ(C&D)&6#v=)QU^9{%9m()3|Cu{Z z%<+N*YH2YQD+vA$!N6xS;UFqLA3ByhL3ml$Ja!oX;fFbukmtDGOID-upeOEg-c6vIS-b0 zE{!=e5yQ=f&Ui2}94q0Ay|EILkNyR*qA1>xiWjDFZ^)^Mj2C80v52b!kMiE3S?b3?qM&McA*y~-SAkG9cBk;>wqQeIGbW$ij0Zr@ z;)9qU=zreqpFv+SwzZ!lANfzp{uVRpybW3qO8p5o2{cuQrh>*IglcZQO!vViRQvgY zwFSYdId%ELs?iM#oELieRO-8saDgVkcPtr2=BLhs_2#1re5Z`xY(N`YPJ3`KV2pS^ z&Z<)%Ln!q_49gE^5HYH{=cIn%Fl^6FnCp)f_({Eip6Ssc(;{L#gr^-$J7{>1Q!((C zRMiYbG2Dp)4%-u*IA-SJa5CHnP1*!fzeb$gGw{{e*AYzeTLM4E6&@ZE!NscCO<&9H zrY3;>_H3?)319+qsvBs--l?)4iV>N=@XdLQ79*-HRnmXY3}}E4e4-?yq2M#$jl^BI z|MwWOe6qoL?Al$?HAt%#FOiuN$KL&AoNR62slpF1B0j6^-T=k+dLH>VPdS+YdVD|E z!vxR+M;&Jj6Ywf@Q)wiDQ;oj-vA1(;>W3hT4|A;gAbxLSTQZ;1#OXjE3`5;SIc`Je z8vjM*-We<)_bY#uWIa16yMSR*Qq+|OYI z%@TJ8u*gIeyYrm{K00$6d2{#1Ph$VU4#rAlT%oeoIaj`ZF@XA^w;&5`s{GsaF;)KN z{Z-u8;Nv$qpBaUmRauAlA$)Zy?vWDz60Ed>6RL_o0tF-__;H z=!Rno)`Ra3^5$AMdGE9bwFCWGfVJDT#Z#<8$4~Lyp z{LS4l9*@YictghAXfRW_PhzrG1OxKTt;bX&<_-1SSTbqe)hNIX?Qz)j&T$p~jt4iq z+Qhcfdf{Q$=W)WRhipr5FPiu2Occd$48RD(Fhb`0s96a=Nxa>A6%EmuMe&t4@EC6` zpQben18-$0zwe8_x^Fr45qvW7&n}zKsGDQxXE8pCW4>F@BB+2( za)wf+2=-ipK?7#wnEEibk=lVFjL5Tw`ZNaMFvBrZvpA@0Zp=0VzK3~6i*>mnC>=k_ zQE`77FQA){d#>xo+W#*S-bToE7%<+skK_vQQn)YmeT14< zV=-XgE5)btLqoVVe-=kGYYjRW12sJbne$k%cs&_~zkBc9eK)zrS3kvBUfh;=uCW;l z<1X^yl(x>9)AL+-!K#*2PcAvUWZCMR9pM2i=PQM%+%(6G(mWhhhjEjinr}9F^M1Yi zehSY5%uD0^;z}%tZ|C(x4yTxM+r4+~e8k;_8!7Hoe;5-4bMLvcCNH=D;=?BGzd+OC zoNJqT$@fKZy!*8`F9oR1Gns3;huLx7wZe`u1PiaWBx2tD0PDcaUA*y#{QV2^$9B8$ zv?;msfSeUE(HaUI6R>5S<9 zw0(|-pFA-O(A0oB>-Zo1J|C6=+m6Izu@zXURV_Tx_nUKGRE%~h>cWSsu=VimN$&Mk ztqmo3hzfnWpwFP^5d)fe8)$ymE+r1A`BlB~JW}X`wV(E;L%sY&qI*EbBF`sw_{^$`aHt9tndp}xtVg>-1#MPG`;R;=nk&?F}ihiucMo(`@Wk6 zPQkf|6*xD$@uWq*xpG2(^Jp!8dE$h2B+Ja??DnoJaZ_jGS6F)8qsTT2eLN8qE9{c( z%1ZQZ=nVQY9^ZFks2ciq+INodahNs`=_Ko9dB)mxGjO~0&unV(WhvLGGD;e*czT74fT!#&J zmkge>h!uG&r&HTGjCE==i-+-)g%{tTJrIsBy#wa9MzwQCygFi`4CU1qO0>{;e`x79 zu?@t6{78Xm!!*|l(_nl9C5dmLXMc!g+4@7AyWkvUIrbiG$s@6{Q8u*vAa_P%0_cG^ z*_=}x6F?76$1z{e4KRV+r|nwY!q=%_n1WdK4W=|!(5oy{a?eiobWhbk$k9HHDP4b< zZiT(liWN7^DHFb&OV|W(8G*|Qo^4HZX92r_lVcOW1XprBOaMK8ldK8G%Lb494+u8pdw(NFh%- zI0ahcc|Vgx1=@=oqXMTZRss`Nw>hX)}#$1w`?ifG?~ zc+f6#3Pk~uZ}WA%a;yrhi+~R&uD<)+)?Uuz^NInBue;acV_N*RK7wr3zB6ED*fWZg z+jk?viW>LJd)N#|!L=oLe0?0oz!iQee(-8Q(yZ?ChNwFPAJa>iY28mOh64#}EJiIi z&q0pE_V8P?J^VXkX}f@&=OEczOa5hU3CJn?;uHi~?307D;5GWYFyDPbi}1ve^Hjo@ z5qJ_hiv^o~1KUUS5)QF8A_{)ZV-QbS@lYk7RWXYLPgcGYGnlCFjK1qR3|~MUghQ<_ z%6o0jYvHDDsl>d%=zQwOtV`#_HiJjc%zKvRg~h1#F2rVCLCSb6=B;=f=0^yc_hzgK z7!u8nLl>nLQJu8L;|B*lCn~H>9B)E>Fx6E|l{t#jt^6kmoRhn!TkZpte~o+%Ys671 z*G9%|--zdO&pZaqbJ-8LtY6OO8So?|f%-{jE(iF{GVQRWiz3z5Sd3;qNc92&SQfO! zq7aXGp^K^|&RN*{G3Te|9j|d)GCS}R?k{LdAaxBx{Pxs5T;hEQqq2OumMc9>z-*5} z-&XwM#2#fs%()mlk1H13#ltlA9R%Baw<<*=rZ*MF&YMaD4g_r58_=$D{uO`fCuW}N5qIh%$e-UH#^6Uy za0-JTbLSMd`JIy11TgE@b3IG|J${<&VFG4Zgv`EK&VAE*A0jf@FTh*=?*%eL>{g`E z)&0^-(E3yKH1md=*SSEsKQ$Y@@hphjCp8PFGU;CSV@%p+5`StAM)Rj;p_}>+Mse;% zn7aVEgUO9t22J2iMg5Dpul=!nUy1zVvI*Az@af}uh^e8#&0Dyx#3}qtvu)jq(sk`Jifb@_9kLcBzd3XS-7kHZ zs$g7Rg(5Y-cPn8R^LYQ9izPfzl{&~;NYGk}KKQn$sjy8ry>j;({H8wlRc;5l^8xQO zjGXi@FsXO^N15(7ugc(fpnYiEX>8j#PiS|4iblbi#MaN*E$3bkbasZ2BYQfhGy4}4 z_$fB`cH6|ya@&LnU@J!DpR=8tz#rX6SWk%3$M^eo>%#eTu`F6aO{Y+5I^`fqfV-0m^d@vpIyx1?iuL+ zU!3k}czwW$Jz-(DGSz*hcwxdkjO>2*#aw;1`Q(easB(@`=2)Ds?=f9&Xy)$Ca~k~L=aeTOoKbuY#kn!Uy`lXFcH0dq=U3-b zI54qd9Lpf&?Kn%??l|0wydCG$SS;4Eb~}#gWp*6i2kC_+@M_!rCgIk9<5q)v3T>f$ z)86xa@2Hb)zsGprO$zdajCF*o+U*)QxNE%OO}(T2)aFT{+&y6TaC4yD^grYDs_6eY z_ap32=9hIh`M%lMU;fAJFRbwA*$3(yo8E`M&UeUgDeX`F6_!YHIzD!0LgmvF{1^#a z$~Epv^E0s=t%m{HL?@~`8{sMC9w^SNf59x`_Sp+~G0q zM)rEVh#q)pNImd%yd)Yh#B1*EBtsj}NL>)I;U$KG%ubxRM4u%7!#i<7?1S-roLr_e zfpTUVPfoeB6G-9(fq0RVxvE96!dOumLQg{Hc-HwM&*^`Q-ZhAeWi@W?nD23-`UfQy9;zEUun1pK zt*hk=x0!VRP}PfdUAffz2CT1QjB>o;cw`e_qdbKzsK%c4_w1fC;Y;jxX|o;u+TD)K zZ|=s?Um<_F8%GI$YBkn>b`v_L^3SQb=35eMZjQfh<4fkf2X2%1a%H>;pvQ0BL~sYf zeQ#mNhcQ$5*ArJzzU)nG+tv1UG59s1^ zUjE_;+8Mcl9xG3vXUp^GW%5dTtGt6gCZD9w%a`c;@*_I_Jug2M2-=PEP22~(`k;J-zAE3K*-zcUiy@LmcA+9p<@@k^pgnM4RRAbUY2>l(dZ)aHJ|Z8dFUXfW_*Mr$q{A1z z{1hW-_m=z8jq*@>tUQ69AEKE9d<|bfua!5@d*uW4Ir$=ePku-zU-$A?iJ+a9`_rT3vGi1V2A!1`(yQfl^mchy z2Opu&YWM~ErhJFayX@sJjG)~p52feJ3+T1-2KtD6oW3Yuq3_F&=#n?Q^vV#lN6X{r zd2*IsA+M&l$~)*I@^Sj6e21>S;-!~H&>kmGq-V&p>4oxQdX2oE-Xrg)&&!wSd-B5$ z4*v+lE6{Pvt17xt9!igq$I~<9*&V!)UajHl=>75``jmW@&cEuVUx=XHP3}cE$W8PZ zc|1Kww&-Q@N_wNbh2A6Yr_ade=^OHGI`(5Pe@O)GjNCwvmnYHl^Ch6XCKN@c~<%SQVC&*Lix$=B^vAmpKFK?oE z$$RM|@^SjCe1X0#-=m+(`9Fo@=;Y3)>4EYPdaOKwo+;0v7s`w2_3|cqzkG;3BcG?Q z$v5f14KF`Y1nquuJw0BYM9-Dy(@W(Q^hS9Ly-VIpAC`}G@J0H%hToze%YmQ4addLa zkIu*q^ay!0Jx9j#V=vjQ@-ljZyt#w-(nmG?1btDyLf@9}(NE?4n{W)B-1bU0%0uaK z@ZOdd&3m1ock<;CIDJmO*unXCFuW2Sclq|F$H^1v zR(Tn{S3W@BlONKJzw+W6il9ABo=Gp2SI|44*H0EoW3YurtiuR=oIH`X^hNm!eOG=!m)-Z$?}nh=SI*Fl@=$uTJdU0v z&!tz$tLbg>PWq61ls+q8=-@ka#c#d*RUv5C%LD1*@+f+`Jd3vEW_r22iry~oq7TVO z>GSd>`lft`ek=zbz)5u6@}!b(l84b_mrv1moxUqSprenx{FfkTSIO0MgWN<ErS#`i6X)4&-_1MG>^e z$m8jm@*H}hyqI1suj}Al^id5zL0^?`(0P6@{V;-dm0V2^l}FIy1*;$IzQ;8Ux=XH zBoCt}$Wv%bZl;&XE9ourcKV2XoW3AmqVLKN=xDx|pArP^D!G~-C6A?N$g}BYc_F<` z-bo*oPtZ5zJ9Kf#OFxdFT`i~SMtLYbMV?M)<%RSrc`bcZK0#lUFVi>WJM?2Y5QeMJ zam$NpxEZGydX_wwUM8=k zH_BV+!}2luoP3eKDc_;PQ7=Em2-?+hnjS5Wqo>I;>8!kvULmihH_2P+z48J2n0%7H zC|{xP%a7=i0x!R12-<16KRsF=N6(Qhdbzxc-Y9RO_sR$83-V?9wtSC{7JB(9LD23i zXXv5w2zt6ai*A*d(d*=m^d5OXeL_A>-;i(9;UX_T#R%G!a&NjpZlcG?R(g-TpS~<#qaVwG zPH-F@H~k7aBR9|^<;$C`X2-@}XKzgJ+hMpnMrWeSq^hS9LeNa9^pOVkgcjWtYVHYnyF$C?Q@(6mI zJh6l4&8tV$I$GwXUxJ|BPp+q@$}{Lzc^SP)-b(M6578&(GxS~g z0o^O%rQa7pdz?Ixo+INqR$QOSE9gz~R(hX&kiI3~rDI7iy(EHmTJBGelPA)1<@xjq zc@@1!-rvC|=^Gk;n+}(I=@%ntSIWKVVe&|Nj%?9uax1+--c0Y3_t7Wh)ATj@CLQSJ51}GdagX5 zUMjDkH^`gmlkyq*ihP~EFF&FSdwKbbA!zrK`_e<@5%hR@5sIZH2-SJLa`P4qT-Cw)dfPv4gx(G|VD{8S-mH^@!& z7XlLXGdV)NKUMjDkx5+!{Q}S8* zq5PCCtM<~XK+qm7kE3VGbLj2zPWp^|j*j;6;wwSW9w-l?N6KU9d2*KCC~u*6$b0Am z@)7!^e1^U#U!|-2dihBsXgA42>GAR;dbT{5Zk3nP>*NjePI)(dP(Dnbme0~xj{uLAy~NLXVdx(zE5c^fGw`y<6T#ACZsK=jBUupr4n16hXVc+(?g;C(@SO zOfQy~)2rpR^bUD9eNsL{-;(ciaIYE+Z$!r}KZejVLkrW@s<^aObdJy)JjFOyf&o8+zZKKUShT0TeLkZ;q0jPi$|T_so3L*(J~BzYR$ zEVt0>kmGpl8W*=~j6ey-wap?~(V@=j4m@Q#rpL9*9nE z`=zJI)9HC~mR>EdrFY7E=qvJd`l0-kPCw_R*B?Q9nmm)|$}{No@+SJYe3HH=KcK4{y!g`y+7soe z^h$XReNa9^mreHWpWUE`tn?gv3*7Am&m-vvgFUwx5AnQ@u9ol9fq`EBq6pee@-TXq zJeOV}uco)lyXdp>1^T*ti!OPqmtGly_CR?EJzkzfFP4|nJLKK;arqQ|UA{#ZHhSsB z5VVKOqv(b5VtT8*gFYdjrf7rf(evaiy+htjpOVkgx8-|u-e9GNpxs{{PS2II^k#WGeOA6eR}S&wt47cs zDUYEoxtZQ1Z>9Ij2k7(iCHj$^_dML@eUVDK&HE)o>51sL<=<4gS#F`X$vf$z@(KF7 ze2ac82Zq9NblmtW=xRAb50yvI6XYp$oApYLH+@dNLPy``rB{Za-Cu5`+q@4k zm0qaf%jq5RKDy2O6ldw%8vc;380Mu{ji5bT9!t-Y7t(Fs4_QlZ)9^iXoA*O5(Rpw8 z;x9(fZj?vRbL3`vi@b|IE}y0E$dBmQa4-HOg7y%36pinq=GI>ey-Hq7@0AbJSLNGu z**m=Hdm(6#m8a0n@=|)Myqi8LpQrE3c_ZKoblmN$njS8XrDw}odab;f-X|ZSFUr^H zz&pM8OAxgC%R}kea+cmI@21boSLx!BUVIe@+D-CEdXC&oZ<2S=XXVTE13B<6xEDI^ z^2pGm0~*C+VB=eY#?l7k@Q^_Goz`-72r7+q@sTi$12|XXsn<1G?nh zUi?V}?Iw8?Jx^|-+q_@8ir%5&`{*0;Jvu$wi@y;;d$c@`Zu5TYLVBx)@1`%wSLwX> zc=3f1wEM~R^mus^ZOP5_GI=GvMczdpm(S8yUiyT5n!Y7Jpex?%rB{uhJxU%+Pm^cT3*^Q0CV3})Qocan zlb_O6Q9L^a=SKo%g3+d|?FbdU*&vTh7w!<<0a7`8*w%;Kdh1 z&`!&Z^h9|Ey;|N#pOnwj_vD9k)%(2o(+JuVlnx6nuB6ZBpAF`b^|#ovgaJyD)Yuaq~@ zC*`Yj;bd?6-U!+g<$3f@`4D|i&YuF0M8_=;C(+C04fF~5A|3mHH-0|^?dkFYdarzv zz9;8Th5Mu9rZ<9KAg`g1$`|R9Kl8@#i=aJ4o=b0$_tLlJ{AutobaL}Yua|ezXXHzC z{)^uDNd)a7@+dkhFQ@m($LU-01G;*;7hfZS_H=nJy-D6pUy<+9u@8FFS0HF-cPIe#WxfsVU@>7VQ-5@v7ZJswAPq%9LGJ1!+ zn?5O@p|8m|>HLoBn+lHrx*# zcYCR)$H^1v1#&CBLEcQCkk8Opc9`6-?JsFz+9g7z?Z6g^FzNiUEW(_7`8^db2e zeNDba7tZn0iz8_FmFwv#@(g;dypi4|@1xJlm+3q5eY*H#N)JK1L2jZ)%j4+TvPG|y z*V4P>ee^l`BK<&qOvmSX>32iW9wLvRr^qwth4Ny0jl7;dARnR6$mi)h@&mf!&%N|} zA!v`1$I_PEOmCBS(Wm6I^d0#DT{6#$zYIaUzuZVqmuJ(<U1&U)#m5wwTM!|4g~6neHik8YKh z(HrHh^db2ueMi1e$6xl+uRzcqE{~>X%ND&x-av1cchP6%i}Y>zK3&-Cr58icZjgu2 z6XdCMv)oE=k$2F?b@X2OAbnoGOy89s(&0~f=@lbr_m>;#>GEuPp}dsdChw$A z%4g`S@=f}I{Fp9Y=%rtVpgm9?LXVXv(6i-v^g?+ly-nUlpOVkg*W{aY{-?b33lX&Y z${Bj3JcgbxFQC`S8|iKGF8Y*wmcB1PqGK&y`bh-s2DyozD$k%-%4_J|@;>^6e44&5 zKcf46+DoqGwm>9x0Ef7syNL_3{?_w0wcSCqJfpE%xG1BWMqo$I#Q|IdrSM zg5D@^qYuj`=qvI~x^Rh?UKxURKe>S(BTuAf$rimv-bnA057Rf~yL5P|mtG7(J1q~S zN6QoF`Em=rR^CMKkq^?R6Fo+rNY9b8^fq}neMCMu-bNpjPt$kghjjgCy!4t7v}ee3=@s%?dXIdN zz93(v@5+zp*m5uaZV1}_$C+RElO*+29ORo|^yT3eyo+{6x7s|`%4f0lcuY8EUEZ?9X$@zZ;cSFbB zUaIMOxrrVtPoihZ7QJ5HLLZcm(bweL^kX@^67GghE`7R59zoBP=h4gL)%0e02Yp07 zNne$3(U0ZuXW5`$?NHB@@+bQl^0(Lf_A0cmmVdLr)SFZ=;iVn z`lx)0zAE3MpUTnC!4>G_=7(;Shto6VdGvC54ZTg?O&^g@(%0oX^iw&y8Xkj=oBl+4 zraX^sk(bjO!eJyxDX&yyF>tK{|c0r@C>S-wF( zlmlzvYINNBt*1xJ6X+T8Tzav*lHMZkq)*D{=v(rAI{MdMdT|8pzH)zhv^;^HCoiB^ z%IoND@^1R5e2Ts--=H7K`D@`SblmyxM-P|B(6eNVUN3K<56DO9GxA0Hw)}uD{u?j7 zB!YHdxj#Kyo=>lm*VB9CgY-H1GJRWqK$ooZ(yKtwu9utWG4e!uwmhF+A+M!($@}S( z@;UmR{FpBOf|q_0LAyyFK~Iur&%DcjSk3c)gc?3_&|1H_{{J zar6v%F1=7*M(>pO(HG@w^iw(dMYsx`-1bEekw?;&ypY}^@1&2*XXwBNFTP>~?cQ>R z9x9Kbr^&PF1@cmQy}X6qCm*KI$QS8b@_jn~w_biK5wwTPW9V73MK6|D(wpS%^kMk~ zeMP=WKb4~!;RbZvUA{x-ZT8YDM9{93`_e<@QS?-K7QH}TO7E5r&==)v^aDBX z@8NFfxbs_0kC4aGt?~+bi@cM*BwweCw|Ma-5wz3tKzg)1fzHaU^lEtny;I&tACphh zSLIuD^vhoQaRlvZxt<=GGuy8Z`aT(CD$*}-dRwyfa}-`K(1I(SzH@2A-kgggDA4n9Wn%gpZZlQdg` zaDBFeFVSqd!5x0BgKu^4{SJQG!Qrj#qJw*PaJqvBcJR;+9@W9)I(Q1r zmRQ{Mr+4rink{{}!{>K!3(b}>+~G?*coof-HQeEAJ9uLUZ|UG2G+QQdr{CSd`)Rgp z;|@R6!N+K}bmI;`*}-RNwhZD9zu3XoXtw0y4!_;O4?Fm22Zvw5^lYidoxZq(%V@TQ z;tsFu;A)yJ)40Ra9o*2tO&vVEgGY7nIGQc_xbaWy;Au49{BVcQr1|ED>p3*v{BS*= z=9?d`7tnn3!*wgoH$RMP*gk3{%AY4_^U0t3BHBm_WTM%hqdlX7P&z-g0XQoTO6xhoVVX7b6PzwUPatK(r5J%8-Cl~lbq4E#l|7;39TiKdY z_P@}s6v|1@IVMxYqYo};bPf)rX(E68+$(7>Cc+7kN=b8b?53sMWa<0dRL zGhASO8`1Ugr@nx!My+2Wu87rxk^JKu1(8}bQ-ygfcs=MOH|R^487D>4$XwebgKtjK z%oCGj`@76gX})y_DP$7%h;4Z85walFU~(2TbMfY!VN|9S%eQ{zO#g;6y~%(# zy_567Q_;R@+symJ*}Ir3^=oumO+!?9-O+}yZ>;adUA_X$5yD^hef6VxCj4SD`?pvY zOMZi8op6Hp*?83=x2g9)>+e9nzlA^6damZLU=d<_2>Z@3vOKiW=QL`bnuvDD*tE4f zGM90%r3KUF8n-XOT&E^t@=~95k8{Sx4AF!j7glyHMz40-Uw2#N%PaM(5q30OIGpVl zMx2HQF%_4FwGLBRdraGy|BS9Pz2yZ>)9kr%7h;0Rx%Ta=O?!Ur2BnISza*Od!fbJS zZ^ZAb*oM8fCTra`^RNoi)z&Gr2xh2h?%=#RO<$V)^y`?P9&UbCnaLa^vb#AMGFRZ`;1h0Z)a9!Y zab9(zYVhXjWYr?IQ;PN$vA?3FTBQ9f7GrZCY$a$4)HFsN57nZP&G%yAJ54!GN%r>| zp~Rl~7L1P;8BL>~0qZ?xRj^^o$duw}*ZOE6;o6NhxnaE$8%)8BJMq|;^$fs>ghsm3rAI1W`jGwlx zXog}@r@?GAoy-=v-E2KXwuVhX$)IL7(F)}YSirITHp|UoQ&qM;t$F?>CN_~4`BRN37n~)XLPpYwVJDCsr>RqH9cD9Q%j0j_&SIe{ zobj&pb!cW0+Ybs8=FjBI6bE6Gj0vW=yi*@WCsBh*`WFOZA$N;(TjzE+j&@6_%?fI} z(KxM;I;*+uCK3t9B4(Wg@XJMx7Qamvsx!epNgOOcf*hjtR@0Dp*GQKqdC}>$g`w

z!C00qkRJ5;&TiT+H}TmgGBW49mkV7OqYHk@>_z>w<+g z_{b9+qC1uPo+O%(xO0x-EtW5MGsxr4aC5Bo`T8RKZY*~Tf1MEKKeRiHRy5nUJN$c; z2j+lc0%(HrQLcvxpvV8@dYAxuJkIqn0rYs1>tO=u@if=N1keMg3{EO0fF60d9wvYu z{#*|eK#xGKhY6rZFxSHb&?7(B!vrvYY%d#)-1~xN+vG9O`dqsM;whA_=71QmOv|sU zF|;65J33S~*s9{m$1u0))4}apFb%Z~!3-_hj`XTC$v%tz0f8r>@3Rfk`RG(H;Sjb& zTEJ`VfNvD?@M_!R{`2l}_VewIv#&8XJkGj9aXx~BckU?so!n6GD2&zj&nS6#YV`n9 z`I9;tr>0}K@OMf5j(O#r_ zTpO~_l$R&eFs-v(pU1Rl>)Jh^s%;2b^~e+p8Lq`=vlp;33eoJiX)5*~u}(taC!rs3 zHL0oCkNcgbUmFVirj^*LXX&#=`N5jn*`CA%Jy^cKFy<%937Z6H+ zGTe-PRYQtPazkDWH?!?(Z<^EIkayxp$|29Yv3-rJ(Zp60ZXU?ko(VS(#xL5=Est0~ zLC$JBN1T*@kQ*19Ix;x;edhE(REr~@xpqMzlE*CjihTQyIOqFVf4m5*dC~dx2dXon zKH1l?fLcRX$~C#xaB<{p(;99Ihh?vEGyZR9!(tn~JO{mH_Kg`x1gkA~4!X9@)}Q?u zr^2p`cHH0NCTjlz8Be`|0a#BhVW!LTU=u)(NUnzophq;E=Q^}MSbjFf6ez& zb__E0sn!CF=I`e0Nv}N%q;_CeGS?{n><_W+v=%ZV9QVS$zYO5`!R^nvUMaw}2n&sb zzlE__myx%Sbp?}`HJGayPH8qJ=vOs1sl&#v&Cw}6e~*9@8fcEm)S6e>*9mZ9J#a1 z{>&`1Vd+oA^6j@F*WFUPkY1()e8FSwWX?32zV@N_2i1Exd;hJ|`{U|e!`@3x@2a<( zH68C1>r_^kAL~@vU}hYrhQ3%Q9_P8nN@Mxa)M;)bW*|xkU-rk?8Qsg&NNKn<(&h>k zCoSeQAE$l8I2PhqP=~9IbWe8+yUI-{Y-T6z%tkCfg)8U+3)ktP>ZEnd`N1a7lPPXG zfkZm5G9ESA3C5!7ysm(A@!1;Q`mZf)%bc0hg$DkX8_juJF!oF0)NE_^B<4H-@0;YPPAW@i} z9%{y=hQByk+b3#m#^Bl>QEL-^lMNwUPZg#c9hNuLg_BbX)2UGNa~PjHdu?}gtZf+A z;(m}R_V^U^68rmb;)y@;B+t~Jy%qBl<*_CZO!)%Xd1?a9Gu%=%Xv%vuo!%v6?ZhIp zaQwrz61GqthH4V{Z*TzTC`|8X*cr|7z5wgC<|F>>WfpUtuyAwbduuV^9CK$QO^oN( zDOi7lU7W|-kpD^O7g%H2D36dO=(O+C34NSu2x}T9LB5_1ziE>8eK<+3?j-2@D$*@v zS=*d2bC}6PwGgwFoZhq)!`fUvC(PAzVQJoz#H$$B!Xhpx3T1zV>{TPpUox8&m_=R@ z@Vcol65=ZGTO-k<`2i{%c}AXjHk*fq$_srzHr^2!hR~DHZBG9RrmjESu22u3e$C^d8r^mMWIrEDjxw< zId((xnKG}3KNUj%WC|A_A&eacGAD6KfO-BMBQl3>MEx!d?}J^#J%*=!Lq6i1{`1hv^w zeNn_Zi!^Gvs<}C`8mpi<>WpeNVGwq+cj3pZ;&{**D{5gIEO0iCuG2GRSZQWMDW9Hr z5=f-Jj;yD{s3tm$09U(H>5Bl0&>Nk7FU9i{C@b^h;nXiUMkGBj7Q!`JD8?eJ20LS) zSfnar?ZnQ45DKjVB!`fb30$iuER>H0sKqh$c(q3(2z{5!YOp_rD(sLykoq+?6rQ$} zalhheOD>SYW?+USazjjDfV=OY8YS)Qhkvy0?h8EVdRGnkTy>|AY42pV#-DnG)Nz$+ z)*Y`+uufxsRH9=wIyLHnOn#~sg*0o{U%}cm)$Go6Se>QWBCbyVq6*~ES(71@CB^7j z^Dd{av-*FJ)nD_D*XprVrBKioEa3!P3g5*>gr)G*T?$=u^J)Sgaw`|T%b6P0D+Ybv zMSeS*ZH;w_ERq8)zrx`NRlueKwh+H@WW8!?9fp#;D5eI^vnqO>e%{R*-W zuwKQ2skR1UIOkrIFO1V)9HuB=sTwVyQ+_A4G_&!X4I$$GY6I>;KJUF0GkN z6KMslCzxZ*T#S47fPno~mKZ20-TET?GllLoW$4pf4+*O$MzrtbE?)bfZjFo1Owz}V z2A7!sk&DJ0&2SJh*WZ3$Ez<3Rbp5q`dmi81eJKysUHoBl))|`7b6uV#Q){Nh!tCVvZiW@0^kxS5`fVf1V%I_dmHeb7JK z8JR{o#OXuUSgf{C&3^{0IAb*v))ocKh}I|;4ycL5&&yp=R9ic-D4bHHrY?&sQco^UPHPvys z<88n<9P`M3{uVQO3#T>JVD)`*^TxzvhM2lA6Bl}O)Z}E7KoaFl88*8b+a2AhM|B3e zsV6W;?X!cjfmfEuE3V{ORJ8CHg-aJKwVD^)q2;ST&I1*$9)l>uf~JlK^?)%JTN&=l zEgXcU+#f%MiK296D6)o=6h~WdE))zjM54jgf8ykkxgOTuni(!NsI{81% z$;0K7Q>gPzJCTJ0I3{9t{(;e8ju`IGJEaD=2l@DxAas3-PR;mpI7F*fjlL-KeliboIZv^$+}kD z=PPS9)8KnDTA7qJ_+P4uVO zl%0f3!Z?8}NDOU86-t7;7L%yyn(dCCPYrNr(s$Q!BbGzCw;ZaTG?e>WxTMT7YbeCN zVHQV0I-JN>qCd_aTYBKPl?#Pu38^Xs+AMLL65*WPEb$@SGO@&2#(w|@_6m~@M{t+- z%Vv3-DY88o>DxGQwikoL7;G^;TAoMPdIo*{E$p4JdLujtCu`Ub%qagKYwrP7)e-jZ z&dlBi4ov|CdjS;=hhFUs>=h9eD;B_piUNuv$PvX}5XEkcJ&8tRj6G_M5-XNyEKw6n zh$bc)ON=ev_kCwLknjK9d)Hm-vX*o9Gr#G5&z`--2YmKft;h?y7}o&UuO_Hym(>J? zDp?p26*I+1QaTnh+zBMvQZYOF_Ovxp0Xx~H*93`fi@agBz?GpN6elJ~;s22$soIsZ zuRYY@34@<8$Nsz;eQkA zT4oayGR_N}x;K9XTk%xan9tI>hO`nwA>r77^$ZJjXz!SLSuJyK*b0*mSlu$K z`v4ax17-`($=_=HrSzdcs1XO-DglGs?Qi4e3G@t#PGp)vEZf!0@&y!i-jnLv2<9E& zah@<%{GZ*eI&?QbbY6vASFyk2U+Po&qcanSWGbPUF)Vj`Og22!vcCoG822DymSszp z$aIe_O&7)M=b*yD`yT9h7+Yy=K+i*zJ+HJrYFhIv>jTTNtUf5mR38CgkM#jhpzX7; z1Y~`{1@4@uw->f1>^xcFaE<+k z>@tzYtpPWX8oI{LLvAGd|IlbQ1PCg+AGZ!eLw8dBKN}8?(-Ejw$-?+)0HK6X=+u{C zoNgrSs3-q_PK-*%T1bX_^WmkVHbz*k?I8ZQ?bNoGm25j$mSt^+(r52m$vw3p*kjwl z;><#W+D;?5DA$)81FAY{f{Ln>2~bRRC?0eG1=JLNpiXeAY$}It^k|#a41RoDi%k6e z-wUugI)o7ze&h&@EIrU376l>Me;bBOx_TzTZQFZI*` zE?^Anh)j9a7)*LHuP_dPb(J`K=<;v@#fPpJj{KL_{N$5dY&-=)!ebbcr6;nQPxdx& z7oZ|28v@`wO=)xM442s4XpN8xaeGjmq6;WlxbZ4&Zw;xvkx%!mE+G3h6SkR;A$uYd zaS=vmf~T(bSzQ64t)W|LYvhR>ISN=(l5gqB*7OGi5VDsV9C|Bla4;|umd%}>)^y3X zh6yigYZL{wHP|YlwuVW^8+h5)x?$L51<)N(^|xqLsK05fEdS^LGFA=ztNteQPafT~ zdVpLm|A;dG@Sxg0D+Unqk8UadsK52Z@Jnx>v;`VxHL_ySj_SS*)O~#lAMNZbJBX>h;G&AV zsW<%in?+_H_@(=#Fc%x+DhC^5C=%R%%EyuJ_jQ8N-c&}IEohNz!Iz&M zY&gAz6!^j>*gCMlhXjte`|=Jf@gB_9J@6^G!Bn~jHy4>$3hu$MK|}dR5n)maai`%Rb*N;Vvrh20-2;d0q%4()}BshCiTMy8G8%EUuu zP{5QB=-*T;1h6ZOB^_8-xN^95p!;%^<4mq_O*Pi&B9ww{W;TT3D1%VGLI)b_*oD>? zb?jx$Qenu%QH9IuZv@YXnXyKwhp6N9|K!d$*;vOlba<&N-+?N*eM@8Of_nS^m)Ly0 zO52&N+|q(l1%p*0Tcc?uwjEDl`WSw_;G&9Y6WUN;yAMhBf%4Ye11nBA1shfq!nVK$ zYXlY#6}c8CgQqi*s=l1LEOO{;)=E%qTQ+J(*`Og8VVaT3y-Hj_n6I}L`a%%p{8ou; zU{Cc&ZNpJH3%cm*WTe`FfV4XHW@R7hrGmF3TM0Gb+R1E<7r|(xYSv^8V}3cS1Nnui z7upw=3M{E*vB0x(+D80KHhl9c=wTLU9I&-D9e)g2x%g8-&zeEMhOC+JYhGwwGUTDP zo;3@93|X`B$IY}Iiy3+xiuj8v{-TV(bMO~CGhKki+)@j=0E>C07IXm?^Ghx00xTAk zTF?bpEG)I43$R#JYC#uZu^27jH(&iO!QTxcwJ!{rStyFset3zxvPCCq&4Rmr1&Dgq zQux7umf_i#5GgsBMZXw_uj!w_waHz4&aCTooh zMkXsln-B@jUM|DTKpp;kL_Oryn>0+6MN8-9uofhAskO zQ(D?Ny26Gp+L`*vTSS?Vi6V0Y1g)9ofz-g?31+8_$m8N6Rw&V{7&)HrvX*E&y=tg~ zR;Nj*P3jr&W3Fsf25F}6t)Xlw3k8;fgRp*}PU7)5iMDiUd$@u7I9J&9g&$bE(3*3w za*3PI){s|CxMyT3B6BMQI_@vb#4T`6569?nzkDEPb&mUfb>PH>FP0BIoKA!7L^xdI zP}$KY^DDTKhKiu1;}(b!V!WV z20^F3$10G=_8~F$t`6l7RM@Kn6%OPFPCnR?OZ6j9KB$DKbN!SdoV_@ zJGod>URqF;19&p*VwAJF9i6Cffv|CROCBm!5w@rgn^f@V#>UT@b~r`96K`X1aQOsk z4h9$6jAoHNJ4M3t5E!-Lxi$Qo7#0u|5E>L3+!$>PEE&uPa4MxQV z?wY|h?roqw{LuapW}_SYgROmr>r}=T!80-ZvtjP7hNXeo8qM2edbg~YR*5ae2mNeE z%Y?Qz>_qD`eQnt6R%mvo>#cO{LuNZNBgnpMOLWt#1)7GIxe(@|zJFxdu;f-~?ryPg zr43u&0^|Ct^|crqHh%`1f3!ez4cWArh1WyIZ8zGmRb;Mii8im{u$T>d0bMtf{RkTc zHtbR(wC@{&=8u$y+}0H#wr8&7eyxu7 zhufw>X%tcVH-SwBb{1lEWmmwZE4xL0pHVGLhmdVp#}#RP?b*2&nNw`oQ}Q(q%Ez7! zE-cQvrt*Fd>?f&f$4HE2Ry#CTP-z@rj^+Pk2-?Ids~k-K zOiIJ;mTlnrI=N38faP2x72SlSV(dpLJvn4vCG%r4v%#-Ddo>fy>v`8=Cb3(6v99yy zqTgt6gRM55c5$i4!WQYw7OSW9g0>DV8fX`^VI=Hh&a5evC=zrGpi!g==+Q_gT4jPi z7!ZiKA_y9^qL!%X%#M8w@ipud0$tevV}k{>&I3c*Bmz|+^3Ostvg!~E#9kmN65a!H zX2s!1cB~C)8AFj=S$EPVb$-9J75Iv07Vx*U>-(kifd*5UZ>PRrn#jDM?_+$e6C_zE zlri8h1+-l9m)!+J@n$ng3k0nToGx8O^ar_&U|$gp0GBB+IvmG0lvt(4@0T8cvEU@- z?_Q_(aDt+(qW6k!kS1nH?K#EwEv33GdqrV7_s1|h!aItXPKPW^XCHX#f+f)_{{7Nu z7RPE6WkUXkaW6LrCF}9fPqZoFB%lSZui9#v%rR*~K>qY*SvhRr;D8A+F zCZ)wS8q>0x-6L%VxZJ}&Qna4@eFe)`%wOx_H*+G{KISYi_Jk2Pa~M0ye26{<4arwv zJ?zkL<|G0IlfTD(Z{~Dj$5;eup-oXc#u^d@0_prTYfH39+{`iZGpr-|o0jx^Pz*cI z`V&0>>dlJTV50Uw{eXrN9RwN#Z$l;${WSdfprJs+iG~9u0gWVjJmUGFQ9z@K`hdT& zKx2sVfhGWrqqI!Wo)4M`G@i6CA(SaV6NpBF%WR;DM5e^K6Q=`Z5M4}|J24Mv3eir` z<^oM6`VMFzP&UyUaJd91hsX`ILZInHErC`6%^+e)b0@9?$|D*N+6JK6MAMRdqP76d zC29}!DZ9uP5*-BkoLyr1L_ZDpiP{ZRKr|d^FVHfg$0K~A4gxKwyhmw1QAdDQk>)VX zCn^zWHBmT(d7NEi+lcxA6|o!abE15pGeEnDMgkQB?ItoMwx4(zXb;iFg!U7E0NP8m z6SSK^`-#2-x&w5O=nc5M2XvUo4YU$=lN}>!3G^G#aiTjwe*&E#>IL)+sEBA<((UNK zfld*%2YSP9vGYV7Cf|;p&u+7e0!NLwtlQCv>}U2PX$QgOzw9piiOOZ5b~{?|yX-D$ zk4M~&wgI|F)CXMJ13e(h2dV&6LNpS{73d+6DRJ~fcc9;hE+&kgSe@TvPl$(#u=lW@#8N7m ziki-WAe2^39W6$o^CY4T!qHMw*znO5O8-%gmToYTP9pjS$SCaj6r$Hej@&{qT%wdY z^SK(1FI7VvEqHQmA<-I5(qf|dik1?6rf3<3IiA9F<|`;I6@hwlXTFxS`H;V%Kp#}AkyZmr$tXPec@1X-??H|h3+(@1r5I*_mIymkcPY%r z6sDQ~LZ!5YG&6rhp>zXE6K4Jg`AY;!0D3~&6-u=)e@@yCD8WSL$KMlO)g3LPcmUUQ ztj%5IGKd?A8WII_C!$OWGlV-6?HKv_#10~ayApLJ3gzxP&RiW+KcAQgb7)o4Zj#oJ z*CHB3)Qo!(#V2DZ&ESA7#y(wXzC>$?n)5&kvq({xjxA(x!e$ufTkuAtRn{am){UTb zw%wd#VUfHAxr`u}QM@&ge+s(n#glbhOSKY6z4=(8<3vOF3LRTrEYK33$k&j+WC|sb zuLFYCLzKif=-8HCPS^~y(@6fgj`bHh6k{LB_mMv*aygnGf^;%AIDB)?0XCXnBkjsm zj6DSj;_FYbr|=t;_uG)8LinclPvo*uFuEMi9}~68LYlz;p!f!bVSE$#6QYLkNR#*r zB6A?p6mDzCft1BkTBdRMNCTwh@41+kX}lGY-9V%~AgqU@T~0=KVe=HN>vIyuta-dO zX*H8iMjORE-iD~|h?CLl_&nZ$$foz}5$LiL(diMMc^mkA-j!%4&=#QXME#a{=3Qs= zc@HB0IM2L9wt&YH*^cte>mU~JK1AnwiS$Iah!2!5M~ZZ#Si}cIs-0Q0=2A;0?MQ-1 z|CBG~=|pozq06Ow64A2=k-ncT<&%kiqA-{7ETT8r7)l|x5H*JwI*1iKkH|Gdq(`$= zJfCQFG}3Cm+<>+DO{_>iz&_$1lh&#~hO!X|+b4&#B(lwX3u#rCqQA}j6QZdjD$o3! zZ{gdC3V?R=ZG0zD+c}kIUT2^3-9%~AD$h)0JNO}@s&Po4^RJ1XjI2DfgV@Qxp|lh> zt~~Pq+s)4c!CI>Ky6{AH1PN;Ma-SoaiR>GGiRf9cE|9Y0{3;QTTMycC{v%PJ-gO!! zvTykvqK}7m0_|IV*YGj4@=-vHo#c;6+tnMjll%$M^=zaf{twZnq`RpH`B~0wF!uWi zcT*uHTqA1SI@& zYfWV7y%JpB<{gRJ$D?+ecOeSxwld=iyTiK^rSw~wk;d-w-b6J=t;{frd%Q2v$>A$A z&hYzuFwv`|l^MnS0Z$-W)8*duX!a{lCbAoSZ@N)Dq5o2;r0G%PSNgk7P zkK2f|L< z7Lo7hr_es_#eE{@;ZHM5n4>5m8ra7dQsyWgQRz0D<_qI>Me&rh#r=G9(wLi~mvMI4 zDa>6wC+(l!c9528;%^%qm+B=*dQIAa2)pd-th#tlR502u+bC)Xe2LPTbsKJ%{fyTT zx-HHY*|7PL$Z7~1TLXmB8ID=mum-}`)(OZwoG}aBsX5pR@b^&|y7U!Jw)UXmewc;% z31?UyIm_;+jZoB!T>8vKf4xLsq6XwIP7ENI zlgVXYF^IIKkoQi!uNX?&5v3)9#@JBU!aTtGijm}U8n{g2@jwoc_YBw{vaooOO#Z^j z-w-i|C`8eCD#5S7-vmBHq?0yVX&JV;5XxKFE=puW#8k?=7=~dE6ceUA{#4miAL#2sbU^c<}9QPQ9%CeVB^=qGDRU#S2!(ZVHU9k zQs&Ge;3#||+%;|`f2|kH>7nO zinKzUD5tFvXUfrfae-WZLaE*$E|=3bi7TYFC2fniMpOk#@K3%~+#nhVWW%lJfM`yv>H~ISk}W=lxkk=+2ro^y_ip% zp7lN0-Ac3UJ=mX~^*ke3V%$SLl>HvwyM8d64yFg2T&G`s&OWM+Zc;smg3aK1qrq%l zF9pm6Zs~B6cd654aMP&5EO^N;B{&n#BH7=jFqliyNbGK3Is zPooF3)LIU1;vh!OK6OUZ;<5&8I@HDM=9NB%>tVIg>|bdMm^ro4^zOA2%zXcy5X*x) zd*J%>*ssAH=A8tut9kgK`Av;?@Jh!>6JFo0fguFcc&KyMhOUQ^dAtGI+-`s>_d;_O z#qR8k*ZJhPeN7DKcvTF?#f+&sK=#dCF`dI|qRXSM$LrhJ>^CMk_0HMc_;~%^Ihpoo zj+u*QlYVG^8H(on&S<^?6T)fO5BBYAO)P?I6Xe&0Mfzg+W2-*YZP=imXTkoo6NW#e z8k!ZWq5TB1k0P5j4bc6+l-lo{QS~JC4%t+xjVZt2auMn`Z~0Xyt4AK!A)H^S?%uef zI@Sz$W7GuvsT-)pX0ronTo~%c`CWc&xOj)N`*AcAFD$Hpt)mqPr7|uqjyLM2{@Z@3v z=KV%h^ou3H*&0eGC-KR{h%$D(8GiZemQ^v9krY?Q${25mcRz?_Z)J?@8kvI9 zFqh1R?wB6gp2t(${+~5lnv!kZ>>BjWsj~{r2Mz5SaQ0vK6~IQege_H3ZQ@)N%$d+m zAlKzuh-?p~?F4dNmIS=SFR>2Ep(IC$IsG8}-lHc`%R0VPM~LL@O{`HEs*%{)0Lu zIe9SKdY!UnbJ z4z0BGI)YN=MCKx>U(PmA$+xOK077fviKE$7&jh%>L214~Du&>}+L%W|nq`>1Dqwk5 z^cW8=C)ddU`-RYJIO|L0JgD+au$O+NO?r2sTfc0#irTyu7$)~8^$^VkXI z5MRvoY8p9@fZ01|TOry^AscklBd6=!hkB2kwYF$F_j{-ZvqzKnfZwV04>#~&f6q7$ z*Z#9H{Z3^5?T&pA=Mf0sjJe+Df_dT7JT z1UJF;JcC(6M^8xGilFKc&H^ww`y#C&TyF%Evj@~}cf|Gqn{{Av7FZc;5a&=By$7Mq z8c2f&oXI%i=D|kTqS=G4`{_sAg4w}AX0KpYF&@)Xm&|D$>v?*xi~?*w4`4>XHrW$K z*9Q&PfZ1#ynok|jEC$nq+2uTNcVVA*3-PjHZ31y-Ne{;{KWG4&b9$jUID8GvU)6dv zguE=P(;7@nAXn)#Z@+UNcW|EVcYWdQ0A@$X!eOjvvx-`pLIa<5!jcyJiD?B z*f@}RrvqL$U)}|3b3{1iWhRY*7FsQs!1SQms&ww|U#ADS%%ru!4C>1UUo69`p8X)T zRq9|1tYyO1)p=ArxI}vow%aoS)CS-Z#)N8U)}}c$1IDG&RLz||22!G>pt%OFVQt_( z0nGPa>0q9QnKYOsPMZdyeFM^i(99sSQX4FvMV@G$g>{7oYv+k0 z>Z3j@AcZZw)`EG=58KIA&#jarEa7!tXnt28-CuRx4(asv+5_q^D)X`#zjRiT_A7m{ zzyAxXL@3W`UxP1cI>caT(`mI3>yFojR698T%9RYRg^ok3ldG&BY2EdPRyek_(!j9- z(o^XyqybI2g5s<_rN`F|!?^>gg>@s@$a203D;AhTX$-mQdC^*`K65TY`Alh#=9Bm(0#$|YX}Du&VYgW{~WSWKL_b~H4JCQzJ54MeoE&5^ku_3OhGsK z`U^-&R|C5I-`t@6R2|p7L*`(uIXK{YsWFYH2VrI}9a}yRZ0_AV$9E8#waAQ`g4Zp; z^kRPu!@LJWiAAs;k?<`aR@qOEOL9DK2QKfoL-Qq=cz)(xWw`qojAmV!S!~!BWNwPZ zkr3w{$Q_k`X_~RUVd-JMX1j4VNB`eyp}gwBJaYy>USv3{x?;%n=>z1WMb?~f+VCSGh1xb$K-VYTMPKJv#9(3b~8_Z}>zI*zMvX*9k@=BwJ>p$4B- zjRkWqt>HJ&iWgUF9;{*gzR>mtcn$^gRGq$1ZaW%d$XISLp2Ipbf{nKw?d{ISu@rEV z1#2x2wxiNyxNb;y**M~%n;GEdH*n+5KH+F;V50pT@>>N;xWkl%VE!33vjN%{fPDa4 zp={tpQ`B0xo*uLT(txX08>qFb^`q;;h5^f~+5o=g3U}H6p}|)A7V?&1rBgt&tb|&j zl`xcbRw@Q)~Lk#MWD>vdNv*^pyTsk6NaxY`&s@ z^UbE3?4qJ~O(RTo*=sAcFnO}d^`yVX1+`2KSca7xOg?NAQGQk5)Q%=Urq`D)eVcX# zae5+^yQ}Z z?5(1jkcW=U&P%3x3i#{9swjFtJswV5H&C=UBi_`7g(@1?Dc;nTwN|t=^f^^Nq3wQU7jGKM z`Vr+BFQi>J4TJd!HQ6_Zu?(VI=&5%>J0rzjAF@B zW6g(G^BK*~NsY#kWVRV@E+Ey$B#VbnGTT99F;24h0qs>(?=X&Ie<{K|q_EdSG7l+C50NSJcIxgko;6bx z2Q-0=C(1Q0aO&-o%BD(<9rPOj)GCzxQT|d{G|>#8A)t*RDzS5!H^L{4;kV$h%xcaX z1C*^a&ylG<=`2rCVr(u;XA2dj#1?y}v*n8XLvq|Lo7!RisWQ+WF`b=k4iSn2Oe3B)X^&=`^-t+eQ%wSWA z3fb-cU;E5twh`#BkW~yn=`)+vR5YsV*YJ=e4L_a$+PVJceHO4BMF;y|@ma*SDSDg! zqfb6NW~En(}uy^xI}lC5Al%T_Lv{NDSlV5=mt>l1`|1=~P$ zmsg))1lpLq6#W^W=d+!iQ)C=GALy#04Fj*}JJ@YSpACf5n5;z6o`HEjpR+#|6%CvZ z^h(hO&~~y9iYg774`ieR|0Q;rGq32on6sieGvO2xtEOoA%sihjn1`azXU+#QD>@0< zZWf~G4rsesQ$-!1hkwbU6vaUg|B`i4lopuhvxmhh$`70mG*Hn@D3`BTqN4RsE?=>+ zL^yX0@!89=B^mDy?rz@4@)SKCyvn$bEmG7bI@YkCEmzbn+Q9a+^@_3!a^Wf6HbwIa zioFl8FBBbu*blM;iY`Fx2ib8&#~M!dImFH=y4-LY(D#Zy49@d8%zjits0KPWrU;R39E*q;z=vvs90nr92LK_5{};R zYCQcFIpOGCMmTz(wrV(fml5`(Ggb}zQ5j)BI&0OiAC(dIqjOdb`%xKTKRR#KupgBX z_M>8}hW)6FupeEpYS@p;2>a1RtA_okjIbYFvTE3m$_V?>Wvhn$sEn{5eQ(vUAC(dI zqbpVo`%xKTKe}qwupgBX&b~ibHJp8|WY}*%$b79-Gi zEm_VTx0!7Vl=F;E5o67Fn6sj)5oth4if&KLWk0d8ik?m^_Wp@YA}TZ{6=s@$X4#4| z3a0_hmM&R~uo>pNY+Or<0eTf@C2X3N7Mn}h8cD{D-LL46*d|3gx;wK+@V1gn*-K-d z&u{E2MRs=cfsQCT)FaR5cX+=;y1dY1KF|e4K0U7JkJ&Xv!9ASWWA?M6f#B~C_E6DS z@b?G%OVQdHx$IB&TG8Ga#om81(MrbP6`JSsgxM=<7CIlOlA_xoSM;Z>hN53XoY_-W zU(sJ7c|LzJKSetD`-_Dusx_v&`59}jsPULp#%HXZqQr>h=I5-NqA3w;f#Qe?+3Tj8 z%rDp#MJ2|a=D*q0)(rmO)Ox=k%pcg7ik$l2F>`)S(UX3U%m%JUN|&p$Uzm+Nl1Sb+ z+Vh@7a^-K&lO-8jWxhAt^E63p{485vd;YniQL`%eI`Xfr{)YHe;6=*c5yxEkE@QEx zbB@K{75Ozq{Tp{TJM*6ujcUBg=*%A~dcOFI?!uoc((|3+tCFu3x#eHcT{(}!JmeYu zL38EyioO`z-CT*gDk>Vg%2gj&{#t?o}%c7 zp$2%nX0oE`v+{hZbBm&aS@VJBN}`@qgBK|6=wx@_8ho{)E0b#jZ6d-x4bPPMKB5vk zoSka&ql$2Ls>x3&!r7@7zo-ajr&|0LQ66hsa7C}po3+8xE#Wx6)aD};;rLRQPgR8D ziw9q<2*;Otd=n9@SZ8|s*5`Yy6zG*Uj4e{~iOC%XzL;n2uwsM*uKdiJV>4SXz`3XhguqyHA=M+W3 zs>GjPRfO|j0KcsW=f416V)d8H0{Nd-f5qN`{FR~}gL7FB|DY&&aIrU>4{wKg&okn@ z8O)s(;k+5lt0}^9K7@NH!f`%?n&!Sks2{PKr*$nl_yGEG55K zLj>=y=n{MtH-aZ9It8t@Ax~FSVO1_`$Y)AoO#;UHHsouFN_fwy>AsElF`^>Yb83RQ zG51d3*JeR z@pD)~wB#|0j=~C}CGW4O9?X=j_%KC{VWw=wlO;hZ!C79OskA}Sxp1mISJ9~GV(&;k zUlGm^QGBT)oFAh2S|XXwHhi~h6;*+HXvfbhGDAJI z<3A|+X2BJ`J-?&q`~qiq5AIh*Bkl5hI`AiorokN7f&ZiET0k!A2nUX2>vR$qFkeE*LgtIl{Vim-?uaOB(fM+`z;6ZRaz2gU3jR{(m?CNn@Nq~9bZ?T zMpVST{MPw)9_FH~wBx%*@YyyYosNF=e@|N_V9CM0u>k*yTV8iXIiFnWOnO zq7$qnf4OfDUb7SWJHZ}AF87V$GZm!{JmA}te@v7I_prx&d+|?*?((+di-7hj!h6_W z{9EagdPgsQmI%keOW^WPsTn;-Uia^1)Yuew=|7IANP_r&_l@H#mA@vbFMa#*j}O5qXu|IFBXf)gv4B+h) zWx!p*0NzUx#y5};RD|&jckC|daifWb z(Y%?W9~*t{JDPV<#2bIBkLI%##mvk1P3FgmPH^lU$^3*O>^Wn2k#ad_;11(he%(q3 ze8=&w(HP$ej{Rsn?@lDw1*yExe<+?P&-mUym!a zkPgM(Y22a+=c;r*M-k3d>3oSKY7-OrDl1*`oya#TmwSS8;cc7G6demH_MXJ|D8l=I z41QP<-UnpxlZx;@U@||i2=4p;Z;ayKI&sT(ZFEjW`MR@lz zgKtoTGu}-8sUn>5X7Vo;;T=&PKcooni1PReMRjBHd}i@;ib7-N16@_rxJNy|+5EPm z&OLm9N)+Lp%^dz`sY|%CnZsWx!n>up{DUIATbj#_F|v;EZfPEOR)lv;^LRBy6W|VP zKKD>G3$*#%tmx8`TzDfYMA6SnioF-`riuo2%Vi6Bl%g@+ioF-|E|RFd!23~Fn(woS zNVZ^7$Gfxn@|xcUk@IFfQRYddeI%Y?#Xm_+3Ta z8y0&P@ZS_&>5>a?Sv^zqdzWJGrTnd;m*8(1*J5QT_Kk|YmvKi$yW8i&8(5VUooZj~ zUC3)GifWY0mh%RR`h&maJV4R&9zlL9c!Z)4JtBZwD!MSPx!+3OUeV9v+WW2I(MUXx zJ!%-^x0;W$QeVF{e3g|F{MPYp(jT}S>$jfo=|!n#+k3?LZQ{{=kSstMew+EAIH`qC zp60iWXIN>r-zR)eU#UGxU*Y!|Z{80{t`&Ed&K8DciyPG~qvOpt`h8KVIZbY|!|zKg zEdttOr5a;*_JH}rU zS&W;86?-4!|0-<=Xy0&~{um!T=K}2;?o3o-hb3{GcTj{S@h#6$ge7r;?^lE+agskJ z%44~)V|z4)4cW|(u|$QIr*I7UW$5;+hIJz z+Y=QrEYGvNH<9#rj?W;1rzf*HJI{|0!AuV;tMmK@Q6B3Uwg~8{BB!~q>&KnrWm=r( zeqmqCn<=U~7f!$OI3jqGL$nPE+V1h@-y1LR(^mS#?jrxkNA%TT+^+=K*q zKi>ST@q2y{2||g5wEVztTIpB&AK>_CsrJ3`8uzeLsNHqmMo~b7=5T{gMq-7=`i`0A zn>8$Gcgw7dM6ReS7r zm!C|aP{`kXex6A7qx;-G5j70urQdz-L4;!+XTNYCtM;$oFFd52_A75@)olHL?==rv{l<- ze8QKGB9~A~^L(H3cZ#kxaW((NM~s$Q##mSLGk%K*V-N6u&TW#*VtC0b5TVw{|0VY= zr@i7~RxQ&170)fFz2@_*S{MJ<{Nr-kTfW_@_4a?u@0HWu^WUu6VE^~rZA@8OKJdCk zn3hrgA9&BPWf~U)h)_%O=VEs`O%n<DHF?PM6aR;*wRH?Qal2m(y&;LrKPcjdS6B zx~GaRH7@qH74NM6miQaRmT_fiu@}3DFfFV7;S0biWtyX?MI_sqqv%J3E;so*illNb zD~PdHZHIpaF|(ZJEEZd}z5dRk()h9%Tt!VH4D+bJt2j3SwS4BVSb1u9ExIocIor}HQM4_UVpt*~6iu!}*F19L)X#;n>VyB|yHpSjm z#C}DAopM=KaZFM7PQ~6;#c4&Kjw$x9CN3#DHs%`8O+`*qbK%Xxdx|`!7JFA0k0n9h zyz5^>1f^5{jOVg{^RFcuDVhx{fm))KqP4IRs3kf|V*aq6s4Wr{JxYJ-Uq{>{!V-Mr z?l%UhKm(M=r1-PT>M#1YbgG^k>0@fMz0&2*b<-nw^R9AgNj-6rZsmptV?}XmrN1fJm`I(S@{i0a0STqC08Z z1KNn~l2}r%GkhiJg`x(l+*msimPILJyO$ga=pgnhT0HQZfKK8{Hfn`z%H%TvUByF1 zSwP)Im1$C&H~Dfvv}iyia}*;Yh%oOz2E>RcBANGC(V0m0@K_ORb@?D5Ry@qXFr~}h z;wce^@@GJAG0ak?#ffAh)cy&G6F-*I`ic8iO$7E6cGJuJ4G=DpjOUla{)-4wbayH2 zzlcqW3g8}ZpxCZxHQeJ36#I!VKF7d8A}O~l%)ugs2sQV>!QzK<+E8)Fs?`k~DqfV+ z62!azkoyb@)A%OJ9GD<#D>AeR0x}U{3=IPl#Zsv;=Qgbahl^8ItwZ2Q@u$>iWEd^} zwrVkfqlMGVvQ&=|Zjz`sjuEvKVQ(BGyofNq0fA#h&vO1!M1SQHOE5)bD8dp<5ljqkZsHU_5pcM#DrKLu`_gN~sDOx-CkHDp(w{rRE+~+{?O8cvStYMiLuCxjR4Di*g z6s7f97HcRJ8Hy5@8Q{HXi=x9}a9=DIDp~=1s>{V{MfkLAx!9-(pO!5b+ZEySl@;QE zqLevErxeYdlMC-+|Db3!X?KV$#@%xap#7?})1a*sPn7l(Xe-4(N(+W(FYuk>xmbc0 zW3yGo-m8S2qTN&81g;h?ibg^nR*PziW`q@cuNIy}aQ6x6TqDei?!#{H8WAdq-7;!H zYeg@jTy_f1*R2x?$|at*TPKng;c2^dB3%)lW&B8F5n1Rw=0{?-)L19S5kBk19z{2x zJl6|0k6HoC?8Vu7(Oc2>!9~XPB0-TS+?{2|JpxRn1#P zGa?H+*3+eOnAlAb_XJ{K88u!9qSB5kr0B%xD4=IVC3d!xI|UsUZxq#@91Wzc!gR_}>TBWfA8JUHXPjGj zMgLl~RJ5|tnSCwri@P{Zv|Si$I3l7I^T<9LHtZ4OX;F`s0d5xqIf|hQ+7#2Z)EUS z1g&mM;AJtINXBqQ%upKU;fmO=2-9*^Tp_ZsgZVoHuZgft7>b28v5gP9E;cD@WD_3* zpVi(XwKslaf_@hJw@T{WB_rsbsJjhGwvZAv$6@Tuv6OH&oEh}cI{)1YUJ~@Xl`aQw z4tlCex5x?G#4{^lZmne4y?9s9^HL3Fy!}Bhtu!O@SkT{AI@WYo&_7lh+x|?@n^JPR zWjSpBu9OV5qu?tJrR3xYm!)u(GF?LP!CQY_$gBE0Uc{RwOt(Rmp=H3mm(Y6s;j2^iUfiR5H)dhT@g$T>@ zX^@?jZUw&yaZMz~ogGIFKzIbQfoOW zGT2*NPh?@g3>$0q)gCA+jJFT=)e`ogOAGCB25GN|aP;mL9HdqJ3bg_@x9OnZaIGeh z?3)qPLa;^V%t#E5&`hMs*4k9-A<6iaB`vtAHh`#zVee?F)!mC>%FzZiMc4zHX-|nP zY}GPcp`A1GbdryZtH3fa4+Elhp2xFc9D`7CJA_TT~92u1g&d=WfQTcIdw(xKpZ?VqEi zB?ueFTG%n9A~?ZU5IjVCOC(2|1g+XPsO1@3O+Rd(pm`|jJ^h|jg62mwgVh{&GB{Bi zt~BQ^YS2Sg=ySPv7m$5Nwun5exZD&p8a zCuy&gOB}r?X&;DkjqcFjCuzo07^Wi&$?!sr)ixOUFbRuD27PpAxBFll4X{otv`$Y|W7)kcq8QMT1>2iiPl}Og~3~hNiZI-rAl5umpTsBKPs_0O= zV((enDdi96quJW(3mAh8bFQ|BsEDC9SL<@ARQoG)^#&m?SoONS#`XwZ%#s-cSq4*H$RXX=n$u ziAat_OSCTEV<;sYN3bQ@10tE~<(l7B)ZjZ@Q=CIqYCboRWd2rbZHT1H)!Mt8W!hS; z>W@fx_O*7%S}mDKx?Hb0+$wXqLGzJh{2op>Y|w%gJ@ha3-k>!jlKwVo-EWuq+pMJ! zNo})s>keubb~Vr(vQ=C0v!r!FXM%QV`Y)0$zzL1rT07`?mx`DTJ>@M2GCvjK3mbC~GS2)e;^O8L^e`(~^;Rp0Q8N-xc?1+oi^^ zmG9RaAE8SNYtzxs<&c&{lm};YR~e6JlaRlU-;7N23GKY1wxFHRt`g<5o0Eow zoYWpl4gN=%;UV8?a6FstSBkqmsdQd*RdgSySZknY56}gzk)rqZsUa7&b&8JJpZ33` zZBca7J}cz1woB2vsnbKg*M3k`EAUCBtJ()eb$UFh^n+I64;i~H&^0X*32LRupeL2C zYq5%gSIh~yp;i79wF1_&?~_Wmv_nX6m-UOolS;R>(~7!+zdPCmMHd2|RQgH#LD3ca zCzXEIZY%l@=&tre(cew_SGcFWRWv!_Nu~Rm@rjJ#nDI%a2U=A{)gZoKG_#_cv!7Hd z(HbE^s#`(Ie$||wN`GGsep2b7R#%aG^Cy)aX(5WdfPT~35aqMmK}$k@*Ln~Y0Idx9 zQyYu~VOnNqh5V(ZJ(IK)=$ZD=o&y%J2JO~|Jl7l@kmNY{Lc8vWRLD{~esFuCF?id& zRC}o<4?xN@>QS+Vms%Q;#pn`cU@x^SrOjIrYxrB6t!NFrllHfE1BqMM4xm@sQy?R> z`F|Q4*gsl5_#bD7!%lBC7-J}bci=XM*y{t3Ah&&D zzBfAPvx)MIgJX7AaMZUc>J#%tNCo|hB(~XMcZG`j3oA9Ok}RU6%*a%c;eGj z|Cva(Gf!O`L-9eGMOX3En-N)9`m9TCUiw_A!D>6Oib?-OQJaCc+8$;38($ zi-_dP!>nH+LJGP=EaekxWaV{`fg+rIh3**$6jrgXTWEy7R8g|MTWBNQ`5)=> zQ*hZtpHGy}`ptCwm0qEdI$XkEkrVD} zwzCrMhL+K3I5lo11McjV(RFA=Wwag6&zGknqm`WSM0xwt7z`)#k@~*Fv|uZT6VUp2 zNyeeDquW8BOk^>p_cyQ(`V6Tt|FArtj(X?!G7rnUg@$(2;}o@xY7yE+|L0$+-HF*A z++FYU0f^@_GmL}LdNLB^eR;RGp*{3295)c)P2FxiLSywLD-8(k1OEeCsWvWjfWFvD znW6Feej&B*?G}Y5=;w4v389BVQ}hQ`IuSZSuWKWg;=(@B*ITuuu+N)P~Lzj7UqI|DDK+%|4i`ZWM zu%fw5;|zOM3pruH-nh?7wzK05`}CUb6biH#&i3o|t@PSvzaAtB&f$g`4(L-A9q|8F zKd7HlwAcTY;gJ47(Y?HH^}~7;{NK8mvIfiR8NSwsTFD>IsE(MJC{K=+6W*y&lz!oJo2 zlKvonYr;D33)3{t|XW|FxzJQ%ijo zc2j?$==T`TZtA95sL4_PrrwCi!fvfVZ9P#g?3^H7CX(asP5lXx9A9qgb!$@$P!j)y z{iye_Qik7ceUg<}_|N(}q7pkC6(8tZq-Ml-X&&f1m4>6@FZw>E;kz`y=*JY{yEG;G z73C5~(-Qpy63p5-4wmQ@@l(sR5-&2A=yi!oIF7Bq>IsT)Z2eWAPn63p4(64A)o&>c zN7{$FV_gc9;}eyKdK;oV_O^AA@sXaaXpnu8@i%=n614KM?d`*V*SA~AIs6Zuc}Q*F z++6s7$%ZSM)YLxwsh(ja=kRCx6-9|rRl;BDl|7}u#3)|*AH4%n3CEHBwZ1}WC-ZBE zzt$fs(%=s4joz%D^oMo(M&Csw+r%6FvC`}U(Pc<|>GIID`r&W%QADzC-|Cq}h44R) z`G&vMa}^zq=?MS5@FGRS3XoPSGDRb8RkUO|(wB<<4n;buD0U#ySw*|YAzf2+zBAH& zMP9Rzo+x?&X?dr=vQkj^dmTRX4JBX5azOi_8?6)+&I~S!S`>CP2}3PKSHYz)n2_LZ z;_ulJ;hLeF(hd%27H%*MRrF*)RJe^{s-jFFqoGjIngJb6_J*}Y`OIcu*Km8o6(A$5 zE{?E{@IPh#Od9r%AwCXX|)U)l8mn%;DnSRN09-}ZPzl)Dd)1bA)iRb zUfZz8N_V{L7=AD3(!=olKjdkqv>02?xT1R)%!<0saAqEcP(?rHUeP@bO%?qC=Vm+& zZHVM9Ks`e%UkpXY-oP-}N_V`y3`>b*ZcTi(x?I})i|{6f zQ;Iy69u041s2?h|heF*n|`W3(8Uz z5il_YL5rf)1*w{lf`FhR6+}_fX`? zu!BG6`{v{K%b#=p=iGD8UEX{5y`=Z;zaee(4BZ7yjqMD*A)y`2pQ*o{C`bEC>;Evz z{hfXUM0dZYc4+BK`Q`f0rgr$2kT^#-#;DAUTVKjQN6%0i)!t?Fxw_Z1aqYA9MbOkd zo2|bxmdmMUa&z=A-K=dC%O>?5eW6}7fwiC*Q9ER`PhaIxw*3X;M*H>KOl|n(<3?BL z2TbkRjh@j9bZ4pZv<~x(UZ|IvTI29>qc7H%KvQ#fkseHFzQK$1JCtVs(+y{iUaW_e zCK}Ue_b0t_BF9`Uc24F!4Ud}I>9wo{C&7l%T&%B4XuiRV^+%Ov|C&bZ68#BNvu@VK zC3?ivR?aHdFV&wnwT-iMajE{QscGfqdZqr3sil|G+hX+(P3j?WW1INwb}SJndJln>YG$-C=5>b&E*rt~9h^sooFTW?@`ZHF~K& z$kfW`uO7WjFEX{6H?1Chwf;p?x#jxzO0)OAC?uBC4U?+xq>En4U#_PpjcV9B`Z|3O zG(H}}qgUvcLsQq(>vej42KO~Quh+LFJbyp>2E8@OGoXI~ZL__2(u$J<`nRT5Ht9yv zeuB2zzKWha2X#3`<#Jc$UG|{f+0-5^+C6%u-qY0nSo9QWPH1W+5Yns9L^=HJV@Q8Q zY3QYpzUMe?UYV-lhKY@%L;3=xp$#GZdegT5hW(>!^i|N*@mHfil+X_5uhKK7a+J;X zcel{)xOz`h`+Ccbqzy2&%9SflUZbC6YU@|tNZN2{YF@9^r$bZ6*jl~zERGozOUA!8 z`euEQ?;>rP=3KZy0`;el|1} zTYn~@y`6uL{z*bRn18Q+1lmS%MS5&>Sht;nHi(OteKNXEf7{e%qZJz#yW_N8=W;n!dxL&bLOYm$zkXUmdprL@y(pm_%zsEf7n+Lsdwo8%%|ajd z?dad@8=!5nuU~C1{DWQ#ZKF8p&TgdbGquX$eG4DeYtB?$i&M+WHx9rah+j znyqZx=JhRnT%T=fuTAM&_=J9^sTFSSTll1Y`uXgsa@ng-hNebyuTBQ~_gwl+y7nhD zec!1$g$XTvaCt~Pt&f@09_4BMjD$9{@M--*rP1%bM-~1>zZjb8v%lz-3GHBhL~n)` z6kQh-7e1p;zd*HN;&M-6vwkhKpm^@osfEw#4RhHR6d&I>weSU9%x|y#MZNeUX!h$T z(_TBe+thBFOn-HwpJ{5pThn5DNuOzIkF23LY}XXNreEZ5&$C6pB%%2Rx9C*~O%reEe^Z*h zAFasV&|fpP;j|)qLq7nGf9(@2d{cK+aLkS3b@~O-Tlz$3s(0VhYZBVQ`~&)1(9}pD z)IU&~op%B_sDEr~yc57d{Yz8hzq|fG|K8O2@2)@4wFT{Mi0UcFX~UF;tfTsArp8%E zbr&>seu?RM7jqPqXRBV8&<^Ie>C>R8JP+x!kJENQQ{P1%(w|+_p3A3ti_+|iwyYlf zseZuJuGzAlw2w^fwh6QkkN&x--8F&s;nBZU8jaYx!o#}0xIMEY`p|@SF#mJi2aPjZ zSNMeU%KzmM`G_%F_tv*HCsvG7|x08RDT_xc)Ws&~KF zA5Lfo^MBAEN%H(re>`D(JO4-h0JNYOpZ@hJ$MmWt@t!!C|8MOtZ%!F zZ5zd=CEHFD^3==GcFcKAj)SIZ*JLE29n81LW@tfCSGsD1O)gp5Ue1tL9jDy}P4%uJ zAG(4)`8(6!6{g79RjT$EM}5&PObFKJ8VQ2Xmw2=Mnt+elt+-qt_w$i>ovKg9cUxsW;Xb1DV$i7##x2T)U zO=!Ns-Q-YcA$yc+&y)qG_D`xkQ;tt~?kVgprz*|vI*a~xN0yt~+4T3mJ>)!7Um?fuQ!>v{KYW-ykw4k`0RtZk&TCT?E!|^W{=E#SXhCO`;$|s?z z**Z|}SDO82I`0mYEvD9q&Kd({6dKR+_X|&w8?I~b-9hqCO0)kwvBfq>K5c4UCuN91 z@~@`0f?^JqFPqv%I+qWYZ=2eKWII_#O|6k^C(9$yxW11IhsdQX;`R9k50lH4hSlM4 z88kIs9S)c45}x#i2iX8k_1P(MTy=XdjgY&cso8U?JetrB=8uwnuaDQKiPK~rG|uIp zg{R5tBwL}ZNoc;og>r+^?5(t?Op(09)c#F-$`r|aO^w&I#qt4D#_3v8{?Vz29KAYLsM-yT@DSfjkSaMCGvb|YHZ!o2aVhCW1(AaNwRt5 zeF>XhUY5`@NL#5i`?xb&Y}4gBQ=4=~ zhL|olK?~WJjTl@sL*8v_{L6@P0Gc{So+B^#f<0A>&XeARb})aotcRvXWsZC}q4@^Sk-L?K zd3}N0XKFk{E|AYAdCrwDK~pu%lV2vZgZcC2z%S!%(1ceGJ5HMlP0cK?occCZ zRpgVk(9}7kLgpWhNAV3_D2t%+>^Z;aVtMqNxQ*_h<*|fD_smlNmThY9(@SK!sqvnT zm&hKb#(OqiD*Kxn@7Z{%%r`aOv$0a1Vrsl+W2G!IHQuvviFBD7@7cISPBAs!v+*)H z!_;`s#>?a!Q{z1wFP9gY8t>V7xxCcWc+bYAa+#^|o{dXowW;x*jaSGTQ{z1wuaFx| zjrVN4Qr=-|yl3N;@?KNpJsX$F2TYCkY+NQEH8tL|u}VH+YP@G-m5i7g@7Z{jeBRV} z&&I1{i_-8+^=di$JM=D&@N4A5(9~R7E+0Ei+k2e$9yDI5`iqv!R#SUsd}Yyfvdj1F zqggGppz%mwT~sYAlWaH0Drjof-5~#%&<^I`D8Glck&gF3QBY?7&>k}+v!JPRAvqzT z9n7zhrO?#<-)cGZU+v{?k_8FvrlOnVRA?&78d;Ul4(6|w+Y_FexLNK~n%%y##dfo7 zHnqH!8Dx9W)OeM*UcO;!yvkcI51LxW3flQY9x}B-D`@8r`GwNxc)zLW7CGWa&Ql%l zx60^GtkE6Ordx_O%0K?BY`m|-CixXK?$0xa-yt>nMR)ujZ;MPxXm=HDk$KQm`|gxm z657H1t#TW*p!nKx-6?m=a*d+|MZa^t9C45Q($rR$))n0+i!91Eov!`AlNI-SQ~3jp9)0$3=gVUi`eC zN9D_+C*{k~)N!;|z71`Y5R?B^v{%x5Q_T_kxoDpp1dV^^A&Z}u3r)>f;~?!$XsQi= zkqyxJJJW8(f04VP9n$_u-!L}Hze1zm-qC)5jgsE2$u-z{Kfp%$w$jjp&&Vh=jf+wPi~TTnB~Tg=~vt=DIm=|wh6~`rpCW(t}A*zp&b}Gu=wu@?X{7G#jnVQ zL`-^LBE1s}?GwE7<7;vp{&-=v;JqGO6Np$!&H7tOo1-+e?;YtgZQM)m$fc$&{fZ*-u6)eY_?JNM$-U6H zwYoSU-!N@l-}~}yQ{(#Hm#3$5X0epQ4X)z%JdrZD(+PL?66`)c7yW zK9cW2Q!V;PegjR7*dh77sd2eO(%wb&AdlD~nV~ea;gIZU+PDpeWS(i`Hhe5EHZ|_S zPvqs$RDGYywWf`G@H4sI)VRLSWNO#;`aY9gm4^Bb%igAq>pLt5nKrKPh`iL)xW3Pi zJ0AX#nDeobv{P?FJ1}xaal7`~$P0?UIBF?`m;O;je9~9Kg&a=ZH#tJ@z2NAE)1GTbWHP6>^{Yk z&<>2OE~fWPn>NncFjBj5pYge_&xjPGi>VoF))uE2y`ic4Qq6L#2}fMx8g46gBw`*I zd2ew>LgT;u>S1IjYS>lW%NUfX;nBgpj1fsS^frnT+LFP&kE^dwB4%vlp5m;8c3@ZRGyqoa4&nC2X;gZxo-D&<>1zzj#nW<8nid$%#BaEgo)6PvrSEX|ofV(f#Ie zHN-XUiJyu`CSo2KnKEWnLVImwpD~4o7g5x;qu5vijmN#Nd$AFKc1YuyJjQrPX>_Cx z95cq)3r$@E#u%@go_v)VW4vK%d~A*}4nkAM${6E&RSsvBuw^3D1d z+gKx{G#o2qjdiAtkCm}Tt!aDniitU6jkipVkCm~;2hdb~V~rn78y}nFjAN$8^^G%D zbXWB~MdyNXMo4L>Z=A8tv~hjoj5|%+RysDv8Sj}I*Eh~+g{JBoXMC?T`mJWK^zp{z z9$dp}!N1iUZ`3M{dUwQ_(~a&u*`|J{Q)2Xk7R2v#N{o|C8~^&oWehiM57BRJT}Gj4 zf#GHwRV?4%DRSv)5 z@fb6DBQuSE!{agLm>U0T$756^wCC&|qr8vuDC!pP5=4eZM)?_}bLMWSeIE7%xY*X@;#Y z`r5vJX`c~i84gpsZ|U0NvyAShcK`HAW6n1EncCyir;>J(seLjsB&Hj~P3^~#FXc}+ z3Qg@M+J|n2QDSOaXdk*6#$;3DzxbPJOgAj{v^*!jY~}%uf#7kRwX|ayb%O*!o&gA%Lzsw=Iz30u2x0m~YJsc;)!bB3)Ju_nl?vDt(+ zK`)OJx_BU+J#lYPdX!>Hr|v^$1H z4Bgz$sQi_64)GS#lVyH8Y8)+QZ$DhY%*c6+|37-~x5xbLo*l>N|2Ojx`dQV&vihe9 zmg9J${LegvN8vUaH7n+ZP26<>&v|uTI(<4@r_sn-#UrCQ+W&i7KHbDKiszUn;xf;u zC(gFe5qExyg=%k|VG&Z?NN9+eqxjdYJqc69HstX6I?jr7qj{T^tABf`-!f9;ZsM#IK3Ry&(O0U+6sj7N@z*m{*62p= zw+DuC%w+#1bY{?m)6Y2MOvYQ+u;(7aPm<+*Wuw0AcAl1Z-XMDp&TT$J*c_Tz#G_+-LOjpp zoIAF?V=I&o_p0T8cEok8_tzOUf}f(*%Ja8g>EdS|RZ7J<^Azr}WkuZE$ue6lVj;~j ztLQ(4*ILR)l~Puov25kC>WJ97oTL2{SKih#j&SEy>=P(zkHD)wi#d~({O5~)ZLC$~ zj-~imh_@)&s{DVw50!PpRIc~K(TwWIO72M&M=>MlJf;ap8e_cQSmyI{oH@S7m{)6< z_8y}*%Tu4kkH_Skm8`5v&Vpx0AC+fE{zeZ+R{W}I?J~dbB+lv##{Mla)mZ!%&yGGFTirG3xcK!s!1odHwW#u3id9p5-tr1ujeEy>e@hSiy3dJP z{lDrrjvqfdeks#TF5p?g7+=dJ%je-J{=ABN;0Z^29Mz(Bw1}KOJ!$>+RU{Wpu5#i2bh~F6{kJ0~&?8eN`qxB>m*K7Dr zWa}M#&%$?P@vC_~&33v+yN&Z)Ig~Sb6|?<6W!Qf2_Ul$|dwkrJBX^^FaNUfre3E-u z&83I2=2x;hHkHraV>#x{G>a5k#Q9jiy>}VsJdx!1dGgnLOhsN^%>AI|Px1(IyW(ds zJ~vvAJ2!qxV|4s8I<<~fN9*ZW2Ue?jh&UbVQn~FL&tt)v$8+x38y$N_^#-34EJEE? zO}&O?u0<2=vQ?;6Q*u9yq;*vCKTT}*aw*Q=BGgJa`7HXM^NEjXa_^~HRJLk8nJoX4 z&RQ1nhg-NO_Y>O01;e@CH&L?}m z;^UT1p>v}qUO^vzeka!+A+(A)TX~)E`JH?=h!8Tvo@({3))MW{$Kq?$j?6fmCzGGs zj9aQv9Of-zR+2o_JX$#`HN(}@t&VcM7WP!_bx4kOk-?dtNwQ6xZtju6Ijj3$h5Sra z{nJDgRKtw{Dyj-Z}N9?x*?qi6B)HI&W_ z@n?)G!hh?pQJyw>4#Uy-38WO~&|i8Oh;OI({7f>3d{V_tglY7A(jpw<<(l?-lWXKS zRnnZ|%V%2lOnx5AWeq%)wNo3p?fh&u75$Tj{&Apx(rF!T5uMN*o$35+5gDkZ zi&@LmYk20X=eKd0YveOIUnPHwHQAqA+UKtJoa1r+Gq3Iu6kdv_D+={FTswa^!T&5t za-5HUuThAV!)~mC_?U`c`_%EJuCQwLtL_f?>}|uhFuHk%^6OUhjm)Jux*08EHC9&1 z$B{ak)Ok$#^RqQg@H-sTnjyY&P%TwQeex>emyFHKO+`+Q|2r?oRL8QaF@9Y086Ylm zp1eM>CYax1<)gk5t#hYwpWA5#5`Px`;V72(kBB2(Pru=)00EBZb`=YJquec=5svNs~yWG`y|V%KRfy-_jdA%sG}!a z<7=wqRd*S!bF8A%sce0az60fZKt2}Et>xplH|{KwSAFgNHgOBC+N$1mzCBJnX1v~H zA5}_aqP|&JO3~E6_?lU@PR&o{qh`o!$V&Ck0%WdQ7k?hkGx?X_T*tr7Pwug@OL)YU zr^-jQ^w-y`Pg4KTH;kH?PnI&k$&Zdb=Ric#}~<@n4|zaLOX zddE_#MXEQF&y&hutyI-hWwmNb?$6{rJ4R0S{0?{Y$^J@C=GEw^d=}A6h@VAOR;q84 zkGtDxt!@?S`$QE@^-t5aT()Cf%Boh3$+;!hd!l1Xl}*JpCAqAsrDFu;)3HyIM=&m* z`0O1&zP8d65=}hX;Ws=SA^vUGc@sE}`pwTUS_4>w4=VvxO7-fA=0I|bPLw%Ei09Lv zo`PD02WtiuS@oMLtJ?L*?VMY3QF;y# z?-O<2u$<4Ct7u${Ce+hEl?mUQTkw6WRqVr)gyeQTx0?Oc@8~vM&a%2w*gvxUT%;na z*`j`@^ggal6YpaG+(|vbjvq}O z&mQVd@DX|j8~;TaGd4WCre9Igy&Q@@jAz zR)a_AJ~7^_9anL8;TK}b*avephcI4Bogdo!{CHmVv%>aXZ9h&kL6eLr0 zrB5n-w$i5uefo&*ViA2R=u;_r)29!~edzyO`V1DM#V|33K3hcr>8FWT=u;_5#8KfE z-;0&vbZw=Wpxq=2EbHiVi4iziNDe3CHlNVpEv3AHkE0m|J&&QL-ha0^!bE7pVH?u`g~5Guj%tGeSVd*H z#ae&*@c;LSFu#GOan`Pu=CSNo$iMeuL>yAbL$o-Ah*rizh-8KM~I22KIa0G zklQUc&KqNlga1xT&pQ_wJ1z3|>y71F{je>-uu*E8yCqFNX*qZ7yCe@>7A5q~JWNSfhVeaSJ#Xf+lo}h4b&ZYte?9uY)^^&KTScv{*MzMp z>oFEJl;^FK=QHECQ)KS>ZD@Og&71f4lm^@DD-WgYwsEw5ltbs#-H6#>duIG$qZXsw z4FB~aHu5m_YSq@|smM}0h!JN!)wzjA#b<*F!qtOe_DEs-JQ1GQavzn~zmpX=mF941MmIC>h{UCKJhKr`zmV*S^wt%QeX-k-kMa?7N>gokMdx-6aFe43^6J5ICkj?yfh zN6n^Bm^_=VJDg#ah2LVg&BAX?-Dcr8x7qZsr`;-sQhTR$8cHoK?-Zn~*aal>*?6d4 zdWx6ir`J?=D$w~|EaP-OHx`ip!^H6WU&f)OI}pDaeOQX#8;av`s?OK7QuNqVov&`C zdfJv=>E-Y#N8i%*mU?Wb<)I5Fb}mPsG^5{|(QiZ5c?`X@AH6geWh)S~(vJq zo)4Llud~M}ewxgZm(0JtTb|_knPN@bQr|60@>pa^?h{_U>?G#u`L-^ZlILEQ{Gswm z^5;>`lidG#lKZx|b$#l~XwH&9JKJexJFth-TAL>d~Vb-`3&4*!%=-`7+i`HfBma>smTw$1ltuE%^RkoAbL0k!aZo(kl> zD8=t?nu^HBEa*3^d#NsZa}u8c9;G;ZJeHzQis`(XAxbHKTE(Gn3naf8YMjjR9wT&8 zKI3FVIpa>18|67pe&IVtarhls1@c8?&Tr)?ko-ob0?BWa%A+$tL3ggPgmB=LGYMx^ zpV_?}eN`?eU$>_FT*z}FSCCxSy%J27>?)t`UL_Y9j58q5v9Zi=QmT~vSNWBa{~F(I zoqkGd_dIF^Ju5@I_)7P4cV16^m|jiM9`004!+BPIH%y+D-w9JA z`8+ukIWYbphg!ee*rjKSg;)D6bltg{tbBY8wenS`rg-WM(m;M(cmB(Prbf(9{Z+ zYw<>!aj=#GrvfwKnQ40R9gV}rnb*=0_lVqvBW|1Ib8iFn;cUHD@=;uiez4j2-8Hq8 zp(bi!Z9u6VD76EnKD9hI?44e`LOa;20i_xcVYlRU%Wlc*mU1%_j<&tq zCT%#PD@>VN*G4f98<{qK15YK+)s^Zlk4n*w>^RRK!5lb(xp4$p9ih6O>vI%!9YtN0 zR-Q}8P?y^>{fvbUo58i)4DJn^!M$NKdQG778=@UUoMVXT#)x;ZI_@0Qm*<1KZ;G}0 z_9=ZG6hSyrtP{s9CBEdGb$x3E?q{{EJ9)i#%cMUL|KXa)`o5}F(w?=vrfMQ);FMuh zDrfC};`P-r_#CE~|Cs*+Vb0p|v^EIP-DoDoj~ZF1CDY(@X070n$}{->WhnRpgZsb0 z;2E;m;-mBAID^ltr3TNUsRp07ry6Rn4vsdCJgGm8N0x8SDy0ZN$SU-9HL%7+Udhy0 zc_mY0k*-xYA>Q454iTAWuooo zeh#cFD!^1ApJS>ntidWN6Pn5N4yIvrzaOBxE$*d-jw-aV5^bqQ*=m%nM0;xyVH?nf z8PWiG2XHrV97UjWCgRr^d=6QU+-g-cnq7qhwxP$WCBOTwfjobp{l9p%Q!V+ecE{+N zo+kIHm^foJLvBXT?1$U}++pyVumQC+7`)EhVetB}0om?0cu%=~$YdWzb01~0%Gper z-0j?N@U?Y6&A_cG&8mOUGY)#M(QH~d)DL^vX|r+9w;)0bA{-#OZ+07Mci@hR&!zOM zY?4c|YjD3=WyD5K%5F2B7{4%mqjg@|%iY?HYtt5{w;3C4D~SJ`o)WYfi}f0kcW+pe zy%o{gC^Eh6$lzxPZ3gyJLcK?UM+`pe9t9pT_?&zccm!=fhPsZSmSYC*dvy%895d{; z{n^J*%Q1s@lR1W3j-i%gsKsXIJZ*N)&}QeS6E^!s+tF;BeVTqV$($j*M2B*-**Pl* z{2lOjkpInghrQay$es>(I^fx2^R4~F)?!Ob%gt%A70+FmUQ5R{-H!v?u&!u>oN4Fv zPX*Qq74rPe3)9ObXH_mat8%&4#<+XKC$@6QyXVY>buO%PVVz6XHQ93|?{!lta{_a7 zD&<|%7N+x)pCu%7%sPu_-BmgJa7Nk>tVGYhsy%-@-51cPbxmn7_^fpRd=1_ke!$>4 znP=zOl4s}H(v_b7ev#9ao**)w26O`_0;d3H0M7x=11<(G0WJq#PiPUV#2L9=>1iTI zy9ZbY+zxyM_$*;3@rGDLp6`J9hR{yWoEeXaqlEt!KM@M;2SS_n6GhWCw%Rpou3b1Z zJ7I>FP7$)fkJqlrrN1E8>WO&-Os0kXds#SImWAUi1ycp)S}@;RQKOZ8gbj7sxL&&r zwb<;ro#^>oSHcmtfrRuM=vAXr%$6eLUIl^$vN01=irc>Lx$uWG9|Y(3qDTxax_5f;$%5;+3xpk#> zZqZ~r`%ksA|8%>Ra=U`8G-vFbf35vqYRj+`Zqdk;dSVu(aM{WfF10j;OI4+CoNH68 z)O)v)Cp~*0PhH%ZazB+iEtTV}P32PCQy(N|hJ$-xaXQb&C4^Qnvhxn|>7Bto{eano z^u1Y^dh##s!nJ<`)Vp%o1>M+lC-7O|JA@YTemC~)lF2^q?i_y}a9R(RXAoM%&K^7) zA1B!^y7%V!Ik7j_@=YHuHMlSPEa=BRi~D_%GmyTS*_EF!Zl?KvGRb8n!|9j4M{|aY zZsOAM!$n_FMVKo#5e^aC2uF#}2*-+_2|bX@gyZz#VwU(L;RWJpLcjQ$@KPXsiA6D2 z2v>=R-r{vM$0Je+C!$^-7{7_kSBQGT1tLf6$*&@x9r;06Lng8h?`d@IgjMjVg-<=K z^@vPLI5!PwrSC#^v{D&QuHl66OZF08p0Zet$!ffnw)QIK8W-H<)-_rSjt%tXjO3uo?! z)emL?u!@jo0<0leL*PS}$HY?;LYBRvc|r{_WhJY?Z-QJ)xFf#~rRu3vSxG&t4Y1x1 zc{h9-;nPHMKARAOH3p^)@<;I0tel%} zwG{pnVfDi5gVj&g9r+coE`T)vYY^5D%7(y)tb4^k&nnci7XI|!c&eoip7rpohv)t9 ziNM+jYZGc|g0%^JGa@_-&nTD}JX_(}3ePt9d;}k1EGtBdB2FuqHbOcxK>ixC(9vq0TTL$?C94xmHW(LVH{?=SClcetaCSpE85F~d^<|0;L};2DHx2%aH$hRAciCk$&Hto5+g!+JmPF~YKv z2z(mh(*&O;Seq!q<(_9DzYdJTGX~FAeTa56=Ogf61BFC;B}Q3t&Q^(020CHQhBa62 z6>B|t#M8`&brjGAA2)nF9~e< z6R?(WM}8PSb?~W&Pd%)U0e8bE0-r|sG!s)+@+_>c16$w|g-;AVUxOD0dcZ&r7?|e< z_dqwG6IQ43u$WPj4WEJFM*&^1y1{!;)&t&S>=iN3EXd`AG&kVsgQuT7X|}`aC(kaW z3m`882H+WlX9%7lgO9jXuxI1>$MO~JfP;TG9aIA@)3SH2V0Y+x>Ya^W)&)=@wg z@nt10_;}#sfzL!(X92yi`hb4;_~GME*(;o-3*ZxgH3$sBCj_5Ou-1XEC&pEJKbXgW z5!BuU|0ei93yi_P6?`k0kKiv-(Q2SI6|GLiIHsb#;Io0bu;#)#5ac?Q zf>orkRivT4Kr1nHc1pu2r}4T`PeZF=%?9SeCl@{gVReCb13j>MV4Vo77qxg{^#T3x z@xx~Ud;;(Zz#0UG;1hz+D)@xqQwM83to5+o4{Ia%Ch$$*n~A5h6Ra^EIq12y}sW13j>Mz)wV3FL)o&533*61+WIdhroxxuL2(iUk9v* zwI0^{VU2)qB)P1l3Dzc9o54H_pD27{z*hLQ!lw;BAHheYV`PEWbc}2|W^y`O4L%oq zF8G1qUEtk753C+oC&KCl?*sZ_^~1UV)&Te*Fa&D|)>W{E!Pf!nVXcStepn;m8-Y!* zHo+PN69cw_Zv`(pp>;rOC$z2;+65*TOfHz*PJA|Yfp-HvuzEUiZ+OA@fPP|Jr2)u6 zUXu@bmly@&YZcGWLp1s<{X^hv%%*=&IRuV z;{oFV*zy;qNEj zRT_dEqG-GF!|-oF)`D`fsdak^Fltz9{?6LK~%ml(R@cjbKCU_4+v zT{#~g7(W<4F|N`em^xrRqSd2pBbX*IG03eb)e5WD4Q=nnwOhM!UAd5RA-hQ4k?)3& z7w8A$hcy5u46FxV4?Y5>2}~21D3}C>uiAFqpcY z+?G1X^|00xvnM|SCJKxZv)vto+zOvoL}*1Vq8I1v1ZMZ*x^jDQ=D8%(d?UH6#0}ol zi+k7$Pd|M8@bUNJJ`aEo0_%W{z*sNNFb4Tk#L;>)qxHu4_C_!D=DJddf5x2)CYR(r z`GW~xbbG*f;4`K7!{XJ6elULc1PTA-4uJ`QsYB%Y-h0K=(ih+#1JeqhR>X1k;o7r- zxqZ;yK4>o(H_!|80sZjt_u;GpV1mH4REnN-L9T~SJ>qN!-w3`5d=vN=z{kLU3R&xm ze&~yS=!gZF^{v5{*^nmw(_kjrl>wxvJ*7xUjH4v7SH1r=sM^GcIF<=|` zHt^a2^u~a_;?dG<$hiZ!-rNBk!3D-mG97o2J+OLUokB==>)?GrKdgRO17Jd6LIb!J zYvCUT-vqu1o-crJ1=9+~>Ex_(oyf$=nG7b}k?#WU1qOgYUZAe`#8b4fNr1%R!=r(?girm z27n=0Lns>t(?FgyQrTR~cH*CLN5D71vk7scU_=gb06Kx$Iovb3Iq0h#&c_Ab1I7c! z3&sz|PyTe31QP^?a`;JC7;+u39-j5^jDTqbHW5$vGT>hzEGu~-XOz}|QWX9%__RW9 zg^$SPth8LrG04_juHBi-*OY9M>H7j$U0~dhrw~t9OfWw9_`nCi1R>XfuY+8V$o0hR z%5MY{1;&7_u(sxM&uDpEqn3w!^0+NlVrXp%K97)|ZxB!Gt2`bBFFbufKX^a!bk+qE z1ctzez=y%q0qeongO7k|1U7+hLcLKiF<>kBR`6mVMj2=wh?zDJ{RSo*m9k4n8@e6ac<`(X`$2?9glLnm=t z!eHuv^}q1a|jbp-vq(4 ze()&mhteju#2H3a{7pkX=AG7!PDGJiU;8;Qf#Tz#y0qvp@ zN&{vCy}$r42n+-3fDvF6C`O=0pbO{)27uuaoPQW{1abs&6mk@@7|A|jB;r7JLUuuR zK@I}zfQ`WD$W}4m6@#38Dj!qXr*Z^0&<6|x>wt~G7%+Pjd*+Se6}}6y8(0d)3)u&( z7{z@UfE)ydfpx$Luo37g;Fw;Z4;TOjfi(q~+mP#k;xx1un0FdR7INunoRtr902l;@ zfpx$}U=$bwiqRZR13G~&U>FzyPASY0XHEzdvS$s++udsmkrkK-Fba%;k3kkihzxWB zvw<#PX%T1Zh3o@XfC&`w%&dVNhFk}01DHn0QSdRyqL`0gtr&emGJPLf+$tV+WrJ~n zaYOb(_CXFn4nht?u7ezb90kU}v=wtp#TbsPjp16dfnHz$7zWk>Bfv&r6c_`FvFMGl z98H6q4Rnp=$Zp79U;r2dhJkg!2(S?t1;&7493lgq<2YJ2WG`eNotun`yq#(<&(ae&!C z7tjs#0)4;$FbE6->wpnpBQOe#0fh@~1UiA)Ko`&r^a6dr05Av)1M7ehU=$bw3O6DH zoxp5h7#LCf1om+Oy}$r446Fl2fQ`T?PuYCAgncz>mWChOe^pyoO3oX4_HS?_o|Q^ zr?5{9O!k?)Ht-Sd$`1nT2;U69@2y^wv71CYbO2(S@+ z6mkr*b`D2yp2Lw{Krb-wT+Xur7&wouVW9JTcmlmZ=Nz8l&N<*AyC8dk0bm#yQTzqG zb`1c-z>0Z1f`NIc1=s*4GLL6_cs}zHVE97FK%18{^m>^I0K;DPclj7geQd2Dq-z%B zh>ty^K<7p91bTrL7qNc;veVC=E}$0}0EU4PKesmmISM%nSyW)nQ^94Oke!fSkX?|y zkiC!tkOPpzki(E8kfV^r0z?D4fL>q#*t~#qjzSg-*|TCHS^+r>i~yU7-;p1MEG|Y& zpbO{)27qB;1n69ZkzK_8d5bu*3ycel7Z?CGT*C27FJ+$!VBpf3;uDv*5@QVv10$6j zEeaG%kO?rbgzE}G4nqz@jsT-TaT)x9d6(lX1oU3cd;k~*Mu5@Fd6dOcM(-7v6<2be z&CA9xUxjEuZxvf3Kyej#pbO{)27qB;1Q-R1tKkoHUCnV^kiC$-kOROlFakaTx%uiG zar?w5m?#)=4Wa>E*B}~XFJv#|05A-U0HZ*0E&GdWIYIz(1Q<1Orm(o3%MlY8SzIjN$9F){>zENMki!bx6G3(Xy*vAF*0t3JZP}JbatwChS zPRL%!%{4jV-ic9?X$8BAJzaz}+gIUOTg9cqzzF!f)jYertJyQWnynFFlo%SFn;2a; zG4Carj^CR&Td{`GwuWOm*Ra(E^a2CGFfam)0>xVPEM3brM%MCr+qsU9I2W*V9WsF& z0EU4PU=%2BW`8Hp1@r;~z%VcZi~_}a_yb+QhV@)aU<0=$vVrr70`qRc*#H>0h50bB z8BE@-Y|Xos%T_?HfZPVT?Y2I|H*aM0-rgz(y90z5xg(pnjka1YYpdn5rI1S@duus| z0I&gk1Nb(`ZOZ=+E?asBmu-gJ47qeO^I{9eVhd;M1eR`L-n)e(S3s`V!ewh9N5P9b z+3EzkfL>q#7}?6!sKUE=^rLriABwv%QroyiUSI$y?g0Y~5YiR!9`=j?z4vm4-g^-T za`ax#R@{f2?_;YIvI`gmBf@A`7otFbWh8A~Mhm z3;@Hx=!597hqw=&Ko_v)A-<+G0G+>Q9~Ut2dyE3G?e~}`52Lq%E@0`yn5&S(53_#+ zn74yth96=72rvp1e?SDF3n(7tQm#jt_X5Mj&@lzs^+)i)05A-U0-ZbA(*+Cz8+LM@ z5y;IX)2xFmcEJvFrkRfdOC`7y(9sVmEs_fi9pI7*NdP$P-xcIG#>C z&hZ-_=X|1&+aTxti5b_Q;13J{!@veuBaoxOHZXZlaH+r(Tq^toB7ot zFbWhA_6$c58M0_(rnHfB_BJvf07k$^f#Mm|0t^7d!00o`q>0fB3^%c71Q-R1W@hr5 zxvy$~5in7pcova?E}$1Ep5vHKVC1hXM+s?+o>$1FypX-mvm5}1fe~O7C|*GP7dS%R z3m9d{0bm%`2vGbDo?vMhbOQ5U;o8Nk>>ma?Ut_E5HDMl&CdZFJjsnG7 zCYy;ZfM=gZ3-hf;K zYydhBax@pP^dS3q4{|F4V8Xx%m?+Tp0sA;V;OlZ8WEW&FF!BLMivmld+|n9CdR_rJ z9Aj$)X#0@)QlMzXQAS8}sV$A3@RznB6Ubp;1Q-R1kJ!fvbOF70!(n$jy+O504?A=wbG(Il|V+5tePAL;f6n^$+eh=NBw{zvRdPU<4Qiihm+E zpbO{)27nP@6ezxeC(s3qe#PsS=vO>y;%i3d*UUH}yMSIWUdRDp7)-=O%m?Lpl*{J?yGWby$<6#k2?b|J;1xk3bJ8A8q&8r`RvFUuwV2zSsVaeQ?UulzUSSrsSlSr_M{gIQ5Ct*HXVo{V6py zt#jHbX|vN7riIdOO1mrV`LtKl4y1jS_I;XkI2@Ud9LIRaOvh};MUE>SS39a5_c(s% zc-Zkr#~w$M<8O|S9bY)~^#1A7(-)`Tl-`*Bdip2nKc;u>)T>j!PWhcq?Q~zKCp$HD zdZ*LTPR`DQI-k{fapy-m|Eco}onP&ItaGP~@fn_si!+vG+?a8D#_uxzo-wM+#4ZeO#YzoLFq`fcpDqu*2g zUh9|9e_;P1{b%*}_P@A)sQ;$^kM@6|f2{xE{<8-x9k6D=Jp*SiAjGW#%r{s*y zIVO$rZ2Jxk$=u~!i~ci zljY50Cef@cyo@nfcBb1b2F0{fOb6}4n@({%Q9Rm#Q*;x3X=m3g+R@cXd%O-4J;f-h zw?Om}05O}a=ZkFNqra=IpuZVjAWjk&i+r(23=)^n&aan?lf^RnE8?rf zP;m`KsTRYU6`G-4soAwt>-L>nq9@+}6r&g`?(QeS3+Kt*^?PhH_ z?Ff5{cB^)(cAHkDZPbdj+qLmpt#-P$Su4@*)LhzKnp@kZP0;S8U1Y4YzDVgDy)rjYCf)6?6TwlG}>bG5mSya0Ry;r?Chvb~;+{P&>oagH^7^lo+=1Ry<)o_bk zqnLki6!Uh-R@)Q#*p68N{vn0a$7Ti?8j+y4DcjQ3Aw zJa!S|mYX>K+sj9joZL(QE@0~oSDj9HJ;qCo`1M|nwiKvFU$yStjqHElFvgx!7`xuZ zo=q2W4&yN{mrZ9zwb6Y!^TRP8UfsYshtLm4hqF(QX_JY$Z|F3_Yk`X^XOa9!@%e<$ zVgAopb|J}UV-Bb|O0LFSRZOR|xphrxi~~!#mN_@`C}dCM$P)<*0MltjCWrzb@TFUaQGZ~wg+(SMCt69F`#s^5QLyeEXs>*(~X$SGQr*W$)L_2p=Pz3pM%%2^_I14{nJ{OTY)aj)jwT#gqSrb`!Qyw zIGEv-ER|yAtz!uoq$SQLm17b?mF-TIDcjC1*0^ zI&O7xR$GI)#4G0YX*~LWnZ!OH;|%kEsCyGIIj`!@`@U~gcUu;+EH5#}ix%(3merdU zkY%bjsj+0qS}cr#rn~TZvuaK|ER$y1HX7eX};dzIVXjW8$5qlb@HLt3;Ho) z@(sejW#1Y%{Neq3EuA|ImVqC+rw)AR)LlT|n!bI#%<IO9>f~Q$B?;fR?Gw;{I{JIS=RN;R z!e1xf-+ZCqE1#=ez1^hx*KSaYy|S#ylyp=9r4*vZUV;4gVsQKQhW}S5|H1AVdli|iU7}W zXBEzaz8V<2eaxgHcPlV<`*MKoIsDAJ}fw8MIAB&i|4T8Ujc^SXh$*(@}D=08v#I0*j1b;O%!I;_F zO;BD3jNO}VA$fU$cgH5a+x z1;*}v=9c{S2#`C?++Of^17pYi8{qE+#>@;4fWIFYy9cSi$bA6FU0Bp##BYNf2LBNC z7cqal9sHy44!;0n9P}~jGGZ?Ibm*UO6X1^k`BigjH*${xWA{mFH*%i>@_WnFF28jK zjNNCcU4E$;7&Ggvg8x1+X7+gu{11S!`y#a)GZ(D^zeJ64dmk`nR@wmnLtyN_0?+b0 z&%l@)>P~?FH(>0(;ZA}736S6Xad(0L4Do;O7BjX6g@u{|Yd6YomvNmqj0fayc+|S41BHzY-YpyDblc zUk!}iHPOexuLbg(sL>ulOX+UH}^eymb0FfBcpMy^Vkr>z;BCH300bar8 zfW(Nt16;u7K;H+__oKf7ZveUX4?9G}@9umb`~#%6Yv*BKL!6)Ah+;EKLfu97`tD?juE++0Au&-(a*tO3XI(w zqhA2ugoOin0zjT%=|G+UWA{5)JCGjOJNQLPtR0biCop#JidKR@0F2$cv4BMGJ;2z# zH(Cw;J|MCpS_A$8AhH4r39KMRcA*P^SyzYe6QV|$^e1L^6}fn(2dBW_0*u{TctsvD;91ANXa!n0wG41iu2v z@7xw10$x@45R|Kd$lk(7z^?@&dkYVPUk60?7CsK#Sa<|@L*Y^An}EpP!l!_Jg--+f z3!eoJ6h4pdAP@;$_yYJAAgx^ZBKS5SZC&^h@QH;lL)i|D-HnB>fbRgtu2lFc_z;j^ z&MbTld<2MuEc`L}Q6M^1;TzypAbM2czk|;K(W44~3SI*uOAFruzY~a@Ec`k6bAZUn z!e4+t4;Z^w7XAwSH-NEwZQ(n>*A>18{O!WuKz}x$PCay>BSzVI8s zuLp9cYq1x6GY~#0_5+_-90cA}+yZ=3aT~Byd?I0nfN)6hM(`0JbBf|k;A24M5ycYt zE+AY{90soe;fmrY_?^JmEf#lzF9BnByf_Yi0vNkz7jFjMRonyRIl!3Tz1a(Vaq(6t z_W&6&iwA)B77qbmQ#=fOfAMzUgT*_5A1FQ@_>tlS@MFa?u|5ur-A{{C;Qs`S-Oq{@ z@P7uPWpy0|e+&@W+f@ZW3y7B0bqsiR*Bo$7R}FYh*PXyyyBdVq4~*SYx|YCi2gdHH zT_?cr0LE^PUqPenU3WpL0V#XebAfkuJs(OPNJ+b10Dc!RcF*g25%7gwFNX3WAf@j5 zHSiY$DR0-W1Mls68So8VuYmqWAi6=N(Q z{CpteUH2EkF9o9gc7F+c9T2J8{blg0fU&!}`zzqr0AqJ;_gBFm4`jaF{Wb7mV9YOm z{4w|_kkPRF8^E32{~gLMAU9xl|0(z_K(yBGZ-L(mM0f4}bMON|=C<8`0e%RG*4q77 z;7Ivd=iKj+WkH7Bf!`l?fx6^8DQ+H-QNd)77&i={sH(rFm@-qe+YgG2p4t# z2>dQ!%uUok2EL;EC%{*C{}lSYK>A4c&w#J({ukieyMGS-cYySl?q7g^0EiygjaunG z2xQLKT>$?ukbczN1^!VWI$?JY_{V^{<9Y@7CxEegq4@13uDI1AemSPJBNFq(yofz~Ap#0)C`fPRWWB^|Bg%PSlSD<+{Q+ zaATn#E5mgw`mqaipV`k$`_(I7-?J^c{H#Idd)J+{#oZW$f4-B2ssqJo{&S)8woiSy_t|h(OU^Q6#X_K4>j-%`+OWC=yqu6% zu`^&7ma?a?x<89$@7MUPjW=T%dOvoX-@{_^C)Dx}ShN2*wu7@+)xI>kl3CK$s1)sH zjrtkU(P)7c?-#PV{hH`4tW!T2Jsf>1`a<-T=o`_uqwh!m5dA#rj#tNzjn~K5#{Kd3 zcr?BxJ{&(Yo{1OYlktmUeoZZYYkYtFf%xO`XW}o#Uyr{Pe>eVN{7-RIIJ0nWVQt~+ z!luI3LaFfN!hym>VWzN9I9Yf_;kOF!D15N+dxbwN{Bhx%g}*L*zwq~kpB7wkMe&^C zMa9dD*A)kgJBmAt`--<0CyU35i^b;_?G7vEcaq`0T6tNY6C!R{No-_rfj z?%(fza?hTgKk9kh8CRaM@r?avyy%P%opI)hQ!8G);#Dg?xZ=|*{&dApS9G0u!I>{T z^MNz>t!%8kYvrd`{%GYZAM;y}dGs;QSoPsmV`n}0tk<1&#_F?IKX&y~R+m@5aP`Yp z-@E#=XaD%@e?EJ~nse4%xaRe1etXS_)_i5n_t*Sn&3WfMbj~&BKI7cVxs7vQaPCXb zebc!s&pYS58_v7syceE#_xZ0n{|)EA|NM`h|4-+C^H;9C;Jn9P{MgGM`_;$(&&OVM z;YTj~?1f*t@M{&7tm5bJ1G;`5oEN(>*9MZe&xldE_vZ4 z@3`b2FB!h{=1b3Bd&$~s*AB1UzxIrE*R7je_o{XGulvEebJjm={r&4du>R5Y-(G*l zhO0I_Wy9Aty!mgt-9_;`fEULf23`{XC*Y;==YVVD{{mbWe;v3!{w8ok{CB|1;(q{M z9vAOslM8m#?5}S`zuBDqeQU#awP~w`_Kp4Rw41S3`*7%=Lfv;a-2QsKH%F_m@T|hV zb1uF8Job8=hkfS~tUH&{r!S|sUQR!}oL+c6{p)&q&Y&BPp1}T(o7n#`%>Ivgw==rS z?TYv%M1J}B$E$aY#O%C!L;<=6IFwax4 zXx)wl>Zv?;u;1iq>@j&d`$(R_Gl4bdnOJVhJd;s(G=-gG8cRimUUMY6mfmt*G{aNH zqVOy%3CDP5dFFWLqwN&iwf^ZBmues_4kH@x2;-X93zFDdx^t_|;3h4;PT{o3%p^9&#Ejurm> zvhaRIc>hLtzbd@%4e!^6_gljIZQ=d)@V+m+-x=QbhxY^F{hsiCUwD6Z#jVy~J|Es+ z2=6c2`#krh;Qn%We`RjZ}5J)`(m-?uI{>%r{SL1RdXetojlLrndW&G z&qCKJ<_)LZ3wVAF_bYhr<#_|o+j!my{XM)N;(3_oQJ&B8d=dIrc>giapMrm{>n^nH zQ|Qk%cR}|H+zs6?M$6soj&;Avo#?)o-#WS1{d)If_uHVqlV@k~Z_a-;?w8At=aq(E-Suj|^HiSS<%!9|yLi8b=aoF~ z=6NsAUB#=rp3Ae7=S4jC6&EjfXYtt=++V!=f(MHCT<}owfeSuVeDH#g6hF!HxeM+q z{tx`Vd%@?6&+Wdi7+?73#WOB^sCd?eA1a>5`zen*zv~%~yT3Tc(|BB|>w9ZPyPkT{ zIM1H0*YdpSqC3FLJX1V#&>kwj>*D*0@4xu|;)i)Yaq$b>w=aG}*LN>|sQ8b#<4YbW zo^i>G-5D4DX56^sq2gOFxv%)Impt56y!7F&GcSEN<-D(W=cV@*Ph9$?t`pFnd+9rI zf24RH&jXkKIeD7v`r}IZPD~tFEH754O7(jA)cAaL@!+Y2%7N;$ zD>wFTa@&tq7AJ15oNDZto|xE-d&jnkiA@tA2P%t83p*x*Ysb{Y#7MQVFk3z~JX>xw zdKILV*k?o%7!)#6n_8Ny%r8#ttJkI~jmG%=Y<0fU7@eP1sum>uhPhgkGve?}W$M^S zWnpn4kF-B=ZYIERZEm4FwYaZdIZ{1&uwJP^8>t*AFU>CQoqSeh zYH_$cH6!9JOS7}($yuS}qw_RDJAyx`+gMlvLPl+4an7f<;JM!Tg}pM&=7iZ5`IeM0YAoSSVU?yoJ)PcPQ1 z3vE8*zBzm;^|4%`<=j)QADgb7n9l-)id?KIZ@bEk8CXamcUK#F@2#sMr-N%eDS2>@ z&MhpSvU(%v_8nU$CQj7L3qt26CTREa?Ch!D)5(WE*Pzt>eK5iN@k)L1VC~T25u8f~ zCnlGsj#U9D>~kgGc6~0XfR>u; zbBHKQd0)9&CxWjaD<)qbsapJU{S;nlB{We-sJcEkIJRwI+sNq1*ygR<`ZkXYl}0vi z9xQDc*|KfR=B-=%2YQD#Zynpxw`EIdcwl6tw|``KOK;!smj1!9k7fX@t; zwvBDuHZ;0v>+qJLO`~I*$MD)RQW_d9Z5l&1k} z%>ftM4P^O|VY53}KV`LiuzXZ9r+2f(<`tp~TQ>e?H#$5-Ep8huZ5rCNY17uy=HA|s z-qB5?10$nj+qRDNQHbG9Tlz~wW5Zjh-Qj`3ZJW0Ck8K(36?tg0D-HDzluEs0oB9UF z21d4S>fJQlyLIc0W~{e4?Uw~@20gWCr9@a8Ss#(Mk52FJG2D*c;AHVu-Y!A+&! zEv+?x`2*>58*-*r@9o>_G;$s~IJVX5WouF`TP4Tc_C2-frP<03w|!r|dYpk{d~RX3 zqS26%xHdmhSu9s)8#^3>;oc*|Bc+2SH#oG33=L4g;eoBa1Dm(@j&9wwd32zEVB6+_ zO~a+W{?V>_!GR50o~QMo0QLQ$qt|eOot` z1_nn5H&ee`Vd$-6@Wu#W>&Wott^I?2aL4fG-htjto5x1BY#nx`{{GS7vC_!UmMwj~ zo3{3D8`wnU_HODM9vm7R87OTT8tmIf9rcg(4-5}(?j0WO8{ITCv~9F+qz|?oaRWnR zo5?|GE1jmdw{IH^I@q_hzi)JGsJAq@75*QE2{!kU+ungbaJYS73;epde{f)UbkrR< z)mW^|Z5-drPN?G&Boh;EyiuB6m?>wiQC*y^9HdsOWp}8NU@5nH54Fwi@?>T9aCLDe z1a5SoSvbb@{goq(X&qxM>&sx*l)lnJPNG*VwtTgns;~zcf{x|#mUoZNYq-o)7IUGK z!urufI!Q<-@vwrl&<@pSTPTW1!5Kgpe<^+y-4N!?LhUIpPN8<4F4VqC<(Nj((UW8_ zZ6ghf$c^Cx!UoHp(^&?BS&b7gS7*Tb(AL~tA5JW`Gz@mRu=8eKxgmL^z^~< zBy7N7KULXV_YMzBQ}tS-A$+beRjbcdCtYLG?W`{DTAHLEPPzTHx$^wMS_xI8I^`y2 zQ9utYRHmv&a0SM?MVboEzD>Xd#SJ0$Y8cL^H)9Z+-L6#&9KTm0;T>dC%M zTgDqhH6y98EhGva${HH1Qs28EE!qWrJ5{UQArw6LDI`7K7^~JBi>cN%+L$UY;Aa)O zoF7b;Mh|LEh>*C-)6)~fv$Y1n>c(SP%YwV$FYftAw&qhXslY9 zReHFlNj9YTyRL-#Q?XjJD9*E+>KaICsu89Fq7g87<> z!uA|kh|>JDN_DvG1!j9FFW-kMM{4zo>P7q`(bFC>9UR)dvgu&E-*{tu4iVMSW1eBX zDuIr2)K-HCAB5+z&YlM~?zhJ|gh|1q$uj==(w;U*=?G$RnGlkx?Vna3s?IM}LZ77` zJBJIRxjljL`6IQ{cuMfJM`|@hw1@EQq%jyHh1U_<1Nmf_A%6P-~q;}8J>}>6X37&Sp@y6~N z16RApNM*Kil=(ut&seRtIA81J<8=X>9=AsuZ#0%Vq=xdtocVYMADMV$9c)hujjo-@ zXx5RQ7{}Tw-i#8eIO}lB2BS5OS8Gd+1Jy}*ufvCLfiai$#ICc@G1ll@?OD}jeKnkt zwPRj4Z7=MBxw4EP%Xw$rK{Mx$-yf+=E*;%n>rft3w%b3suhu}dL=SKGN-T5OvW{Zc z=@3G*&gxWkk?brNgnlPWMSJQ9V``&;vA2V#EO-0LiyeFpSEoCXQLC5c=9lqoW{HC{ zl{wj~Z7gWdm$$z8Ar{W4EECLIVtxtt4WnW&6VQfOW6@ie=yl74%32&zyG$4=pXtFe zo4fWQQFf=W+|1~4xY?|+ha&4KQ&*T zt4?+FPL+&~zWFhtV*vG*jvhXyaal)y-)m&$ZqITeAWs)2sR-+Qos-#LJJH$0hOaS3 z&;wJ92puvo-q7r?J!7TW>d_8lpU?K-lw+#es2r#*)u$@E;R4wp+JluQCp980Ih(@s{&W7`9_QFnzL=+iS>X ze(mIt+A_ZAV2Ic8`P7)vo_qj#Y1Ry~ww^J_vKvH(9Wmw+0> zma*ESscWKuoF;@#bw=l>{0#6k0kz69j#>6JL2~Wio)vYvhRL{gzmy%?y~1q%G$H($ zazcx=9ctIc%`i2qb@1O`xpS#nuXvU^P+6cVG3>YJLu;d~<#qH6vKJkTC9k$#&Bqro z;Z!^MS*5f`v3|OYpRE-v>Dg9panqH`VnLf!`rutGw(G zL{>z)?xd|P38cccLtx(svL?dSrwd5Wu#GaEDqXYJP3oMUCTmY0#3mzJcW?i4vIx`eLx1fUBP^PI!sHe zTqc~)*l7Z^iqB=zNrl%k{+_*-@!XHuwY}kt^V-S2r!C_d1oSe#L4=$>(1FVAkz`47 z7cv9O>oUo)T&_KiQ%fB(kDrezHRpuX2_q}>Otg6%TQd)vL# zcH{HJI?Q@jrvRoywZ}UkWqTPvja18dnR#h>f6x2NMJAqaTC8sES<;lB5&B3cKS|Ez z{1}S0f0C_j?P=1i>`TjFeuTh-ZN2l=DTQd*pwUFiA|05k&Q?wxtl1h`8rd}hIislfUg&8t z(Jh#4G<2e(Ey*5Tl%J;6erBMu?5*3*0V{ggMPLO_@HvhVu(QCiU21=M9t00Yk*V3G z25Xs~6!vX%G+@SpG}yX5%O)>og}#Apzq*rB&elt5AKJgJyubZ*EO0 zNAxM>3EJf1SaHGNNDtZz%bp6wyrn!Rem8wDZ8{?^V7i<$Y)VsC!;*=fM5j*4n7L$P zUTGksSj46^tk6;(tnv)e0RltlVg7A;fuW=GjitIyz*L;g_YL#C#8B0HGO`5TX69pF z;)P|rnk<(tTWd{|g#D5^B*ix}0>$$Zsi&o zZhp#Uf|K1N)uR+RAt<0Uy~J(&opaBJL`=e2a!8^{)z-wcH+khY)Fn#1Kk!gJx-m0{ zZOkkA+Tq;fP7X+<3G8GyYS^Th9Lq`F6AOt?IC$dww+R~GKRv28@Nz1&ECWVxqeIOE z)Wm+kRX&pv!EJ5N-mUxzDf@ySEeRfuO*xquXLC+kFt-X~2Wmo^`4zuF@+X1BNo*Ic zguP8}s>QAH+YYl-ie|ayuvA!p3N&H>sH{xc9y7~%&Z!9%0x(CJ zL>Pytwv&iKgE_o?GHm}f$D$}IeaAg&_L0F|1jKoF_lt@W$m02 zcG}Ls)TyNatCWo56@TlADUnzh#Z#x*R%~r0B_+yMssu@P`yz#$C3EnUzJ~^`(hf|2 zLP#dXdGmoZi=6eq9YoDqWWtna%id{Pu1CFa_BgVIQQAkSEbguQiuD95oJXy-J&N=W z6HIInDJg8l@$T(AdM73tmZ(*$wOz83VJwh3vWCQX5O#^WBMGv*a)k2+QpruZa{Fa( z&l41&G=H?oKj)TrE~ZCIjRxy%v#0iOkPVwkIc*E)kGiM~oH$Q**ScgSIHO3ipuyMe zj16@?op~M7SyPVaXig#3B=bR&on4x?8G<~9k#}rt%mqk;9@0E9bumj{T4bvQ%AsvD z!YVd@bg3zXZOlBXPv&AFubU}JxlO0f0+gL(neYM?F{gK1aT6`^Y7P2MO0ZCg%8b;E&YNK-si43+h+CPx20XBVoq*iHA z48PGiixZ3)zHTzISvQB4j&QOqN1QDmZDdZ*ewGKsa`~iTIsc?GkSNnjQ`tUomv{`< z7EZA39FMikECTJnYlnA%LS67><_kQwDE=}VY2sTwCtmtQ=iXygh{jw z(~H%~st&Ga(UQY?CGi=X+}+SAz(M0glP4LL+e6L}t+QpBA1a!6AbAnb9zU+*nTSm( z<2nT4su>CkGmpZUoA_x&NpN}Ert~n5u|1u*2e84+mDLp5m2R0!wy1}2e!sd+n7lGq z!q~y?Ck5X-Z+2t9Lq+3Vf|Vz=mEDq)CS(q&!Kq_hXC66{LZCzw_L>E(y)ixa?=Zt! z7zBudG7Vpvw8{3~BTjS7ac%ejZyFk9cXPAMb>LGs;}-(4))`4})dVXzRzAIxflcbE z=>)Arxo7a~K-Y4L$ceTpTXn1s$V@xJ8~&5f(pKyDfnPSGuSM zi>IW0neig=u^C23pKOfsY6EuVB$A5lHG!0KwO1wYZ3C?4KnXFZJ$|r3$)-hM%j$G~ z&WM>zK5TKT8KP`sQ^}tyuwu2+6fSqTz{2F+GqfbFdK6Ow+mE%&E>Vm_Z`>HaSg+xs>M(K484OE5bxeno z8E!$`R&QWI3$4fD3kz!6E1c%vN-5Q8%|CN7KoUnqX3rW~SvopnX_=hnE)~SSo!GEw zZA7Kqc5=glwo}P$NJ_Dg)LJgIunDf@k^R2@A}(01sN|;w_5yeiqX^sgya!SZM{X~>0jbxf9?W}M@lml_j=65#Io6~wk=1j(;R8?zi zwBGObPS4kl(Q=LX>ai+og45M9RH_maEi*w%zP-#b z)>fi5iY-1X2Xri-MDuu&k`@^1ML`^^klfF?qne0nd1mBN<=%v`yp1@En@ z@R$}CJ!XB!qZ3x{?K}D>CMFG4;!IvNoGo{*%lPG&g^}Lxo?NY$QP7ULbfwE&iIVBn zFeCX@C~r73LSjTPhce|y2Xm^9b58G@>>IY+WrxYo>rV6)7n4mDPXYtIn%vxu%vKGtZRJZ#Cy zdKzkpJ6H=V8t8|%3t|X8S@r=67v9PhQyt5Y-g4W~H=}s0sZn&(OgcUA{uYPkWg>xU zn2X&)vv9Wg$r4fXSxx&GR^1+5MzmNgOGJn8d8ZY-2wNK^CUhURP%2#$%iCgO%4tl5i@7P1nWWOZGFeb&^HXDqU=p&*;~z#nR~58a!&asQ_vh))!Kn8VbiWE+)9 zmx`h&!L)1v6MUwOl(oa3wiV98(L-w|vO}MKlGe%1nJ5m0YAHh<+jE1R2enW5qoHbJ z^EI|M3k`!X%e4!qQitCVlsTuuDpbe~3o1cMSYd59H<=Q7Pj#NoYqS0l1`Ay68~JR1 zOtR$EWSe1?iBrukSt)4UmFIou2=Qe0=38cb+vHkLyO08LXN^@H%c0+05pZt<(?&7} zM+f4R4|gyXWf;f(LNJtiIU}oEw2;#Eh%8jP*qtLWC7jdP&wM!Cl98=^h3yNO&obJ2 zEY=KYi5ixHq-J)`av%odUJE(Bi!%$!^?!>PFUkuUN% zVx1KZeW0aoP9I3@WSpqGqcSdW`N=~k|1d>eE;@NYJS=UQ$Z0H1LC!R|cr0=KBu(@U^UG{%Qobkd)60boPZ9ldujKPTFEhOLi9OeqKDx zj*=103Y+L~Y+2cR#J1?R1n|bS<$ROqO&b}RrLq20okqLxeYYjaBvMAE_EQJzYg_}3 zT3|1481;3n>!Hz4bQ!dv&9^Q39?Wq#m!#j6sfoF8d$Su^np-fH=3otewX3DUL^Z+! zd#H6oV$I#gF3g%WnATOTaSV}2O?FPP*Ee`IQ)F)s+qNx4*u-MEUlC1{%BlBhVy!eu zck{%!u(a^hO1*|W%y!}Ltp}35m|k-}#QKCc^J^S*^WmZ|mL6PL7EK{&%VjNMU{@{I z^{xbMNBG2&-*>JcZS8}@pm2!P*M#gUz zQA%?Qfgo&OjeJi}+d)q=-uvCF-kpdw?^;Iscu%#S8I)14Jw?iVGX+7k#JBx@x1@F_ zGi7pSypWjN)WXISO$4PLjFgFg&MDtq)8>4Xht596s`jyYOq+%%88cF*dB|MyV;#YU zz|5MN23*E#C&v=}5~zi&F>AmkY51Jvysw@W9Rg=07gq2 z!SZ8^P3BZNJyWK>xneh6PvR@r=7d&|W>2NdexdBT5)0l;nQro@=!q_G-%eQF94$*_ zc`=>lJ282vVW+};PB`46PGR9>i!{V$7xJA)7c&Y9({V$j@vtzUGY^jWuU>6k){C8R zrHU6li9^GNHX#sgHbaxWQ>X>H## zLYvglFFwJF1SjMU)_hO4EZYf5%df}OOrhQ~uO`BF+pEyn!EMqAH-2frwuZP#|Eevr zx6#emp@h1bsc`y}VyS5tc1v~nR^2|-qr&Fyi3t_jN>ygtFO>;_ZKG;Fja<>P&x^kk zK1ob0>~Hj^pt4|7sh=q@yDGDcl}>Uipi+PXn%9;CNo}qoU(;1 zHqLEQPlKaksvcTGCx+-2aZ!jX zHYw7nPikpMDQT0X6pM}EpJ%=8fSDj zXG%zm&^!UPM#$_8Y4Egs9sJVICZ>oqmI~34m`%&1#HQgpD2@5e-RS?JI1;lqJl0)m zU<>Zlx)$7-@Ck%upZP4ZCXg~o6bLj?UJeCnQmwwb24b@i3Pk0vNel&gvq%WUtV-D) zm&;XBb4|pggQN+v_bA{^y*bd7ob~SDZdof2RL$qqkCLThN zAbIj(@bSVYPfP_!5)XdK`{x8l2qAXKhe#ws&KqM*y{xr}K=TJlD;$pVOBI0}u5D7S?i~o=cbWvf9XY8|`1TNljKs2?u3? zRZH#E@y5YA>#J0qR+|=UHWl*8Of}VdZtmktludVR!Nf~!TcNQzP_kOmM%Uq@WSz!` z^m2*CPVe*?O`Tp2OZEkSe?BLRnrb?hugs-nLx0MM#w)%vWyH|CG6GW(U2b)%WGZ7u zw_hI+gV=I(Mo$c$86_OB-FrkC_ZE)KQ#rGm^3(EwdX+Xfnoobjs=nhTzEig2Gq^Mw zB_7jDb93Put!1oBC+wa>>q+DdeI^h>wPys|m&_)9RCZQB1&1Y%>vklB7nACievfwU zw^}%{T{;5S*$P=@nrD{?U>_c;%#<1T>uxeZ4h9o3v~g^b2pl*vxep&=wZ*Lp^a3}z z4b0lUg)}KeE=zeK4Xfy#uWhtsmhnn{jE?C`VsObU z|JHbk%5mTnM(UFreRVX#`#+eb->&~3j2sM1o<;wIX|xo|8teZ~Qpup_WzD}K&0HI` zG>~=-o!}NvKTYKq0b%51(#n>cCTBHFX6e zR*p1XN$v*KqLcqsphjwb%q{dJaZR0Qs0+4Gl1k3Ski9XS zLTpaw2$p>-?+hHF<E_d4^}s+#&51vNAK48tFFEMs{?6f7z}xXxM%j(>2U~MTD^U-@ww6 zciHb^b!4Pn-2F4FAv|U3WO|i59h1np4q>Dnp2j=XUE9J0U9XMaELn|pY3bb0%O)I= zC#h;Vtbqb!+DC^7%lm3rYl+Z-3;fL9SSUgD(XddKoPJF1!L>Xt=Vxr9#r52^xE8@g zL!LO^Fz!0cjs$*9D@{E2;kH|I^IvZF%*C{nvoxh-gbcU%D9-RKo6$pOOmNYCBf^2) zsO#IsH26U1RE@#J;VUwA97(YbaoT1pwvO(9xh>m0VVshvdpWWS)`4tlSuWU4Rxe=X z9A&22NdT|u<${ndo6>LHuycefr$xzp{n7~qjjJv8Nrf6 zZ>igJA_3dSnvF6Fl-MSFiYqtR!lmEudB_7lkrBC|e0wlFuCHU^hn z37rlFxw;BFw5<3k9u_P#B59volEbi%%EFeWkL#v2HXEeW)=g{;zmQ;pB^S(CAm>(< zcG!}V3t^SVqE(L6v{;p+H_L;ZN0NruYI7dqq+prJQKwt)!*;CR*XpNoK`L3vLzmLj zapV5V(Iqx7(Vlf~#$tk&_PAu@(8hh~LF|s~n>R%Hy3TEtYUuZ-n?vkGfHj5az-+@| zhn=ODIYP#BGcQTKWm?3ufmcB@tCOdOo4={0>1sJ~B(jG}tEa?NnM*>YGuwoa^uolQ z@O<8#ZSPB{o+IpD%7he}HF0J}*o0EnbbKC-{5YF3!*yIp(rnLIjyh5Emz&$UMh=2B z+?;^eNAnnu`7IuJ*($F|M6a6pedXGvY*#lU8*R0=!Fs2ysW!rj@ZKYS9TeT#uY`8y zkfsfeo<~|p`blmR*W|1dKbXlQU6}N2(Mn6=`K7}~ayeY$Omv%^zLWb{s*+k2`EHld zlsz;1H5WZvrdbpFQTHV`mlK{n*>o#!NG*oxslgHB*dTCPzf!J&%w&@*lEXJHuH${U$4u zali5f57-KrFI}=#(DPa5QoW`d`ZBT_umf44bC&$(@Etuk$$6zy2;bF9vP%Zy>ZQN2xg)LnMkG zY>{o8LNJRUB$X`LYLiK-(2Rb*ucVETr`ff~!C&zL>J|3jn5fyA zd&eEXOS98M6}x1LlaQP+XK^9#(xG!(Z#bfDUAjQW>c{^Kgw;$y?Nqv}Eu>c=q^lHr z>(-5N`?qOgZi)Nh%2@w)Yr`H38T|0M9pU$G-SgtO4#KL@X4s_SHE;NbA1BY8<0Tz4 zry^NFWm;peto!SHr*3siFOPE*Q)u4Y`@9H?0@Ns85IBD{U1AFpzt+k6x*IfG@5pE{%_*cQ_U7fvTu z)4g>=(?BMVn69OS>2QxCO&yf%q+>gH!+u1?nt^<)V9HoPCDd)>G4{SxSq*+kugL`+ zqRtXupH_!H986RBzO1FCuzN2tkL0FAENXCIvO3iq!`SuT9WCT1S^D{Rel(Hv!QPrw zv=@Y@%}cUIBf<6W{3vxJhWPi!3ib0Jh}u#||A7>KNj?3N6!UeJ54wFv-^9d}-vDg< z8pdj4*aS!HX#6(+os92nJithDJRzC<4-qi->x}0VE80RO#XY8vw){$sMQNp3I8OIA z{aB3;*+va%b_(12TQ-(=4st52&k#p0Ge<6^;Oi5}@}6u+$S4@A{O)h9z1vj6`>Crh z=cn%^`<*l^%3`!r6*ef7+2;Bz!ZKcpr3PZ6)+yF9UW(-l)10eTS}srNq^>PXEk25q z?rg{cw~*3Fmk*&xewfH&DcX9)s->V@# zIA911-A2T5cL24@wO75H#@MTF*Vd&9^KS0OVnj>b_FE2t;4fxLCc@qbB3++@+5WJo z%`UvKqVDLxIw$5sa2Eyvr|46LGA8COQHhO;6Hqi?3a z^yDhZZ$5FAGPi(Y^Q?rtDs0t$bXS<4gp#c!35m|}>=&Udx2-gNN=90i9Fipo3)f0x z{K9B@GPOr~HO99F`t3>2HHO&`A|ZCtylv*=oe~B)rv#UNMkNcY&YlI$T*~EcyK|*E zKr=~98DgsoGcZ>QP1Y=Y%Zkj4jF=nqIP_JBG1mrh62JP9g7-%RNgf7*n_8t-;XaR%D4B z6E&q-PK8dNGEU$~D`z(O^(m|k6*NkjphHzyOyJz@CFDqTnnaofuoiGz= zwly3h4HOi+4S^ZHH+xvBrEuA@Idn+fUk__e_@V80!tC1}J*;W>9x2T$>kB^5w=Pxc zr~I#MdDN!P;biGBML)`7ltg?hDJai=waO)%b$p`9CGwV))S)WMUr2AhO@#JK>)m4R z2K#WSeVQOY{i9R7=?(Yvc{)ta+uA>MGmD>{Ox%cz_*0}?~S;vLAuIf1R3tlCTd@AlFag_pwQc|3UHs#8^ z=W#9KnzV3B_*dLCZbl90Ghp&p`gQR3bQ zapy{Ok#PUbT-WeXqjO5VAS zl29rkF)o<1@2TZHRwW+vb0>+daw|2}-U4M3cTE$&9BS&ArN9yxlse%~5lY;mSZ;0E z%3UM8axH4r@}AV1a>fdPrKPVB2R>Hns--fiLb<4wYkV8om(8!nHv?S@R=y8EA<3@D>^qRSuVYcj*?D|R`hlA zY~D%xc+St~)1BWbckZfjzNH?Zbk)1s`_Vf0Ols+w_#L5iYGtDopq}3zn)x21$%=kIrt2lKSFdbPXz;bA_Ki3@dU6-1&z3@ibXWM>^A zMG+$>xQgz(-Zac4syb1b?2AEtN;RXa0yBZr&g$#j)wyqN3koWd5ZFGLh9~EepvzYwVD*`|GgsSzxGQDdH3i4|C0Hk9GA4U)rzFsxhpPr zcezdOx$Zhz^Dft$VtruOL+R%ot@dH$R)}b&xQQ!v;U~96T`uVa>!5p{Z0EyuCfdXs zHoUG%IK^BH0Ij0dg%G~Gx$`9gB|ss%CE3PE}i|&braY?+el~+;@4TIpTu5@>jqIwIio+r2)_;;(X zu$p^6OgbHE-!-YfhYY-NIhugY*-T~BvU zU?}tL?_2*aU*5tF(p<;$G*VP3@UC?#eSxRzX~J+rT_I>#*B$QZq^6qTsw?VL162h+ zi&ktWuT@<=dlQdYmsn_wDLd?Qq*EXU)pwE>ft(C7&BYIOS@FXFFdP)pgClvx0pF z`wb2l95lEYg(w-uO4MhY%F(l(uOgaPt4%aOSA3fmNSBuOZJ@#1+L+K1<&L*{gCA_P3qgNR!$R_@-NlLt@4VF`tea~M=4|> zH|KBX8{Dgjo86SewYuV4k`tlks7np_i%>!huguEodJmFssn{899VvQcEm5m86#>a~ z_nS%t_qvT3O4&+;kQXYgx_L6#s*)sFPPBaPgk?eFx*w1Hfb0iS-(i(O-|^LjTfd!U z-QE4gq&!{@CK>WcDzmB^|EXq`Mt+$B>pv((bAcGjpxRPY@$sp&*lOK;;q&z<9YT77 zvaZw>`wo+C&!xZSrzp+-8Vl&p$C8qCs_tMg5aC|)(}MqG&;l{EY?FllIt5TZ|4N9(%Dy05xe zez?QOM57mnxYqa(DxVr0%4*NQeh}e1xK(YMk0^v&siE1=CEN<>*2`DIkQkdsH>S=j|2k(&=f+h>$N6aqNZJ!R9UxLgOZ<9aUC(G z@-r5-BVwaRE~Vm!0L39KpoVy{y=L3|yt$>}&i8Y%*8JpWXl_-0uIX0D#q~kdhV*|8 z@~VRj4=Jxu+o?X?ssyvrF_4fue8ap4B_oULR;ivfq-p4NT{Zx$@B)_kIhcHw_+ElZ zj+pT5(Ts`VFU;|ioKZhrzBbhju(Xpa6R|E| z>JN%as5zDEvf=XX`_(}udGehl>2&{J$U}W2k#Fkgo>B60Qc}^al|=N?a)C-vhf1nb zGbVTUPm_WuG1aIaE!4`bh12kyDHY8^S3I3f12ciSmkJUWd6_j#rKy*zF1=!?tb0k6 zOwJ_z#w{P209GILgNUkJ5--cG&sAP1dl8&`Q=?}4SKZxjDK#aNuy$*qGlQ3B5orXz z8_EQhFI=Y&X|nFM(P#2CFOpm58WMmYW*dA ziFx6iRkrjOb&28NgFxzE&Zk{7*@4EhPMRpGmB~ft)H?f|CbjW@dk(f+4wn7;-7ik~ zw!L-#EtQ^GG$)ZE;;Ci>gCC8>H|jFtQt@D3I{68mGPnTU-LTQEXPR=kyTV=Ru5#D9 z$1@_{=x%b)a1+J^&q4io9%JX@8Q-7hqQWNB{yv_59u)in>U{y_zOaR7E6+A$O)ryO zK}`vIZA#F~6j!*W1iemEf?h`~An}021S)Qy#qG1WeHORR;`UkGK8xF@xP=j(QJykS zjhOukQ7G{Y^NjP{!n2p>5YO#AQ#?r40uzP;BSnERqJY#bz@milg` z&e$b*i&1VdeBQo#lGsdx3qw46c=qv3@-XHU7{3Zfc*b~c<9Q0tMpD^G3%MRaxz^LJ z(sFJxD15!}!sB^v!DZK~nla!=u=PVG%CkwaXCTfq)E^3!wBjiSA| zu7lP$E!=0Y z-{643L4%tOZZWvk;5I>8XH$4veB71-Z%c!>rNZ0N;cY4LwzPO#YP@}V%8k;!8d>7& za5B87!h1TrE8%@4ypM+WOn6tr`&r?AEWBsKdoH}^!@CyV3*midc-OjxPmf7xUORccS-W~9CQA?C%kut_d)+A z2B{H4P-|yONl+TH>zXonOt423Idc^7$=1e^!n>=>tjdw|E#Mm55y?q=oN z6J~$7BoF79U#PBR%Fx?pKwbN23%6n+$x+WfQdesG+Jcs9bJU{gUE%jFo?q#f`@2qgp)L#MbxJ{VVAnPHC&h0mjl^~7w^S;>7U@g%dsgy1 z<=Za8PN8|_5xDh~TB|U)Ubz-c>(Gvz%o+wy6<$RN<>yzZUEv`sv9v}l4Y-1fCt$D5TtKKA?LMDEP+Z6r60sN%5!rg_dHmLrECzM0iM)U_!n+Mpd5Q(?(TZ-rGi1yS}fDs#3hajY|6z9!yIkdy^}y-JmvA>Eu4H-dOl# zTBd}i9KGclU(5Vlsc-ATh7C#0_@4NA;}4~!72&$I@pCQ{cgkL5ONxb}wQ=U|ilPfOq{dXMt| zkA;Xm6F!FONK<6xZg5?+I-x7PB*cvyvap`!%l2jHLm>_IOO;(5`YW`T=yi<`h3{P( ztx}3|RqPv&QYYU31a7r(_hm_#gwl1HFHxPcD~$DItfG?9nty%7{Jl#SGEe;|ygHfH zK+h1kB-31+2wWXqw|$wLecI6&C4D2Qz0Xjlgp!O;KfEFfWme9@XVXx!IBF3V8E?F$ zwA82h;Wn$I=vwiFr;3-wJ*vAn4c(xIH45wN-Pa~xSC0`dxI)*J(ORE^Uj)n~w7z`8 z%J}FN(M6rZ_;f#Xg}6kykUPm+(Kt@jgyTMqJoMpm+*J5I_;3<#QhscQS7FsPk?lb7 z{X%`^*;dQCZx^)r=Ei>lHh7y~S)iC=4pT;ao4M3-f8Tm7>VfAX~9{K&0V z`OFp370aim{>%@&Tl;Yg$GO3p3+ z>r(eF&B_YZoLiFRXzHFZ|CyXy{sY!SR2SZO>3i?nte=aT^_sU@9}z9zpMRT?#@F*9 ztGlPC=^uip(9BZzlKJ0}bIbp+sr!)C-BWXJ)!pr>d&&Htl5@-dytFoN!*y%wlFW_M zu(w&w&*t2!`(vs5xcNUT=a&EW)P0-feJbZx-X~M{aq}C)re`e0DyicU= zm*{>EWXO!BygMtsbf58*I$Sku9kvW^s^+XY~V6RdB z5o4fy_1$Yo*W;3O>N_KhMV_L%OU9ycMh8z#V&0si_;F=tN=Zh+CtVv|Gi+bdQj6w9 zBh;?uvwqP-dYIp7s$M?2K3d^ZXH4w6W`p}zZR7G|g`{I?UE=oI*cakxwNm%%f$Wwh z%=OI6WC2j=-M&j1k zq;+n;YLRGEAG}5>NY_z~{SNzB6+eW zR~41|OmOW)CzMM%p0vwzuTrXsTk~7fFG*GV8eHN2g80tkUoc#?=L%m!K4mre`?2cY z*Q?i<4{wOpCKQe3O4sWi*~tEh^%47`eXQm%`BD85G|GG^&7A!l?oDX@%|40C72eq9 z=i^Blz6EW5IQQM8hTp)rkffme_%ZPP%uAZ72T0=&E{`tAr?H3hwCE?E`K=An`FX#6 z^dax_T5^^5IY_KTpL`v23I83*lFu4XsBVxX;rmDULNX6J+xo5iCHo`;erTL3iX^1o z=uX!}y~BLn?`6>}O43r6HF1|;qaP2P=B+1^d3_tA$NN}5v{v#p3spTyMyhUZ1rx_h z&Rw!DTH7gnKFozC2UHJ|xUMjDrD`>COSgje>8+B*zK3tIo|wAn?Fp`LE?W6>6na(W z(hOK`ztbQ)&!7c%M=i@ok~A_&>RqZ`MseCM@mD$hjtXMgR#L?h^(2o<5u5Z=el-gn zMb}VVxkB$O%rScy4zxO@PkMQoFME2@qBn%RWNo~WKIFqJ+g9}Rpj%q05-sx}v!W^U zQJ)icoNYX>u%5C6kEkw&-Ck@~w-e$4##tYSxnqbe`7A!VV10Cxz9cJzmrDO`uA)6; zN%oeOk09}fEhn-xxWWyLobs35L+%S0gNMOv%*RUcR;&~{{gAjn7TkWs{))x+6%?$iUeUZa-GXsUxjbZ^l#^OgJ0j6da8 zzFgtYt^K4aB&GZ)b6LemDB`#quhE$9bM`eG(>;Ez$sXZ;1otETE*l9&)tE_q+C?ru zRN1>_du4^@7TdG;>JRI_!P&DRkXGW-Rdr2S} zuUgP3;#%mcca4~mT1oh1cKV0byAo=ChWeFId*Tm2>wkxfF7YWSc8BqU@kJ>$`{qUt zYpw8Q!~OS^uNEs4zL|xo*K#8LL_I`ylI*Lv;hSk zLN+Lt=lHkdnr2nWyS`?w#P8nV@;0Tjk(7!jmvsNXhF|rq#C;$9It`cPXY;G!P0_?@ z;>B;p%5h#_ItzVix{0zH?NVV>!t<~i$yfM5F=F*zy4@IjAggq)oP0%YUyA>{K3b!Y z>PO<08T_z7(RUO|RE;0V;=&0mp4yioDft1`21dZu&wAiZk4w{Zh1XzpS2%6nmHWd5 zrPZu0J%nv{8eK9u;ouXAvxBg3r(X7DbKD@v3k-flK7ZW7CAIc zDoKexgGM54SG6cklBTO#oTcT&Z8qLr(m8~$2Uqy-adiFiA(HVkm)7c z2x$-6wJ53f%~<7B&edB#2aotX_%nR83-#!IH9q0KpxLcnYh!TX$d#%S9~KEgU3zQ8 zyIge92>3EH0ZU)&VPVWIe9PKWt)vmo75?{zsPI#Cbfu@A3YPDS@-F2}HJ)fhU!W&? zfB9hNrawJ7aA}NIJI&4!&$IiB3aK6|8KE-Sk(gt{QGzV9k!DFOmpXcj;^NRbZqZZxs?G>w|rOKdUr8jZ%p z#B$XwN&F|VB{4B3QDgG|ea~;sGxOZ{z6<&AVc%zF&YYP!bLO-u7i={y^YGx4n%*id zDl;kygr?An;%~_vZPPk+iFy1?N${HXm;89;y2i#5MHAl@xHe94bgXLd*Eq%fq_d5u zAAx)0e#7PDCokDkZlvjfw3wyn?Oj-VOIldIWfkl@nMaKBSWy;Q-a1i!n)vTB)oRK| zf4OqFw#AV!n>4$Q*0s=IUkPW`9w+n`VHR(%>6bB@%N3=V-|By@86LJP*y*kRV$Eb< z-NJO}pRYke)V@xK`m2>gNr`DtWlW>D?$;mlR?T}$ldr8Du4*w*PI_V{M&Fo#J6m+g z)7i)^?>=ZJS-do*ewTMqo!#I$+G+BZ&99r7m#j5K`aPQ*&(BuY_K#CrxgWiFWL~EB zC1rfIUCAHato5iZrLkg|pC^|2AFP~SenZD;<{$7U&(t}CT4;G&MrW=y&0AQ{S0C>2 zYdyOyTp!}&WmXn~NZOsfcDR31w)SdTn-{Dd#;OEkh3vQb>6O#4wJ_Q4InvSDZgS+C z_ZxPz?7WsA|4_RA63tuR?zm6rVj@l{clQk`OHRt&dnqD*g0w)|?!PD7o!#wBe?;jM zbobqod?w^NrPv}{OA4v2ojkP$CajI?B6@M3uxi?z#frahsvoY9Bpdy!ylT?$!(jAD z#U(SPJzRZzUqiM*e4EDxqwB(kxm7CwSp%;r4k?eEvyJZAqUhNjC3V5wpw1n^b7?gX zM*q8JxYtJE=q!iPm!$u&Woyn4N)BVNZF#LM_>F>K6~O6((E~L~__XHiGaT+gj=lV| zWkpeg6xQFLDeje}q<52|rDmeph;2m!4=y?BVG4qLy zn7&JOdc=F3C&`vVCKs5|rf4JWuzN_KQfjMgKkby;8hm|>wmrG=#prFD^L<&2K;s#{ zTJZkP9=!GdaKRt1Qv_sV%vR^MkM1G;OR2qVC=8Z=Tm?o)c$cj7H~Fs$?A#wo?5~ma zy-^kkbA|bvf%W7>!mK6R9|bJi1#i=Lo^f=yc6S?O>gx??=fGz~jO;KQ(5V z^Ic%tO%~2Z&2yfIctDJ`rk4qt@{Bsn%7(hMNuM2QU%VKMz9DN4-x)4u4}CEDo~&_l zGCKAod8XaI^5}!I{Wq!<`!V_URmw|c9E-(3Q|QQ-?&0 z9k&M@_P0)W$6S=X6!D7vvDYX93`gUeeOTWcbqe!jeg9>wQ2V_-`@W|EV;DdsNl{5O~ zP&dCW>(YZ?8p7=WakpO%g*_$U9+HQ^TOO|3PVI_q_{-s{6C+J~mn^vQ|9k)8fi2vf zND8%aRrXM)6?GC{_txNjIP)6$eWY?kyTyp`#N)i@=zWqh#7McvqrG&k{S)<_Yky8_ zoy#qmK1UHq%5RWW3r_71YfgcHQzNI`nPV5?>(XE@yE@kKw+|TZO>N>kc%N9b`YlF5 z9ws~Fvcmsx0dp?jPHPcbB9*<@|8Z%NnzK$Yn^(3uNWqWwV2)JI)*j5mlyhD$=V;|T zrpbw$8lx?}9PpgoD(c06LMRsD!0L?;?28xz^RHwi2;j4Y}Gs*mul#^clE9BL;UjF+f zacep8pKZ#i5Xy;DvgniNX_ih3iI>*@gNMK(12bn|<(#DU;d<7CdK*3HB>Lz~_zLlBu64!lWVKu#XYnrIk1y=IOJ%Q+N1MN)con&P ze>d`xy8~h1uf7)h%V)vNgHJ1UB(2mx%UG^M5BL{Hakh2oN{J^bgKpN~5 zeQ#`v(Tzccx^918J{0z`b^JXwm!v|IiyHod$6qXKHq*@KOJzHsBpp7`zmlVxW&NwV zdK**!Y40RDzR^>(2Sy(9xt>!UM9pfq z+$QhNPz8Ib13#bz!vfPgUEm?F$&D6?=oYAgr%*t6Zczz3q~ocXD_Kh#=`H5OJx^BO zkUG*vx|z+>6Y&Nh0Ne3O$^gIT#ka?&(jB>B$neoDZHNFuVopXvQ2 zLw!q{F(V}|T|HdV=9E}(Kw0B6($(@4fU-Z2=lKz>&yy`rM)y)*uIOaT{@aJkP7XS7 zT9bA*i(01PVDS~ABNi3?jfmlBf1R~)E?#x!u8#3u7dg=6e?`wLRO1@qb8P?Nij$Fp zzt8*@KIO-GvQtPC*`U^7wD*ePa^S&s zhyEhnnf=q04oM|!Wu*yIU4tK&?j+4hj-4EFMjM$}9kbHrtQkT>p9sQQC$^L6!IJ!H zB!ckYu6|k$>DFh=7f;79YnrdUPEp%ccmKI;4&wMV=bv=Hf*p;)=wjIfr!+kC)xmI2 zN|J~ESr$FzXwnBrt5U}I(ckW@wz_Es6znjw!=EP+(9??-PGM(-YQ3o>-n zXt8*TJked&$7;>RDVjlK0xMP?QH-F?`LS-ooGdQ!J;=2G?j^b89P8qPB$r6%lP0oC z#A)OZwLp8V)f(c~Yg)U9YYlP#HPh>4A)JCIB&h1`9}rMAePEYHD-ZTIEPB<^Q$43D zTLC%D9vZl<>+T~fHgoL}YlW+Q;Os>mCd!hwwf$k)$E4W7#>V>KaJcA{NP{yh0gaa% z0`M@Do6-2%@jqB`iJHc825P%xF1g(qXw8f%_-k7Elpy5}3~KTXe)Ptl6l`c!M((J} zLo_PaCzn|iY_w|aTWT*$7;3>Soi|rtSwT05r|}Gy%2ske^5lZ{q7N7@2M4=I$atSf zVV|Q|sZ&bPp1H5|1WEK$bnd}?It;Gmgbe(Bmbms5Vak}t!7;-%eMoS8l^>6k{Q*~{ zJUL%!>YK}6r?c&q=RP9anMcNuewsy5zSWYSly7{B#uGYRwW?(KgtWUysx>ZZFlI-~ znVp{nZ#ZwG(m!v~$o_wi*>kymAyqj)Z6K7EL=YaWJmw+y6CWyR<^9jhSu0AMBH6>e z3n+E>Sl=~$c1Q-K865H#8ja%`r2a+Hg`K;UE=LF#)@7!TlnqZgc$Z1qq~&>xz8}@e zhrMLoUe%@6$kMw?t>ub2YPaDYk7{P(Sk1&$P5LoPKdPbXTSV2Xn)D|nzbUu=qbK)} zE(fCKoU1WEs-eN%l)kD-Z&CVG^$05mDf4>GIQ#UO{uB8|HO*Z7L^-EwYH$HIR1aK1Zx_9TzB0{Pk?dG@+K!_V~mq>ZY`>9(IT1FSGp8{WVmT4cv@Mw^CN%Lk({hoQ(0h|ENeMju6 zdrR|j-a4sruad^=N5bErT@uRC7tod0jxwe4s0$>my(mWHnpj%Q*-Iw!xC`)`>h)>D zMw{M4nF}6kb2cakn7Ym$USMj@tmG7@3N9_wxQ8Mqq~qL~?x1`1?4xx^F6;B*S}pX8 zmUNpb##(P+JxCTCrREn=NAtt3TAo1}j4qd*>^x44+7}p%P7Ru~YsSf^pxXEwy#SLTfu=Jez}#51l?%bWd;c&El^@nU)COY#lR@7 z8>ppqr}MZAl_qEWh0YKx1k-qOqYpIewLRO>@9|mM^-pX-P2=bbb(61!>0|ih%07m+ zH2Zw+T6CLNd|N)~sM+RbtxY<0hZG{J_#(yso+u1_e@C7J-^5G(mw2ha+IZw7ejslk7tC&vF2qLD$i9uC3HV~LPfqw z1@rnzoo0C5Az#q+GCfam>C*%^7>z>@Mt%7#UNs}#Dwtv=x2ch*Q(Qdv)@Skgj9b~ppbxWfu_MdEPDwL@0 z9^n;oa)6UvgVBGlVJ*01dO!Z7ftZR}dc*anmIfv8kZO-}G=r$wFRM7T2VUmGbqAy8 z%F?5+8BaJ~-W6?U`f>8>oX%4d2gT}#E2|zmB4j8QN8XiMswe>UZY`GhASl9_(HpvR zajhIQsg&l^qSB=@#gC2-il^Yn(OtGF1{*F zHCxv2jSv|o2*ZZGK~mqep#*+8+DE4~y|!Rs@h>Sev~ zo%*{qPmU2KB|obZb6|mIHU93Ky%6W0>Dd{*Iy@J4?Cqz-oQ)n8Es%S2&g1AZSUxI^z_Jae687c8C|eq zxP&sanWLsYHL*^7eR`*@?<3uPO_w?#QtW}~bs|Y4bQ)AA{Xxa-t>g62zqrTWMW&RL zqj-vBN#?k`@M2)fJCXM-wVl>l30SAJnl*#;7d^?DOud4oJ;T$xyfZZ(%Cy6;olhc+ z7svd5SG-CJ9~z9;Dz`u?MU)j{B!z%Hl<#nd=WYT9HPl<2LBbsr%KO=uBX@3pI4?zCg~z}GZ%+*>iNYc&GzjlMx~T~gk|(yN)Ys!?Q)*5b?=2f!2bda(*;rs|&WVc6fYo|gShOcm(}f3Tu7NVqx>xOS zT9II86)x9`qz2z}T9L%mb44y$G1TjINSh1AxqKndyeIJxX)SV&RSuN?H z*-~Td!N#c3Wqht)&Il2{YCAXZoqZ@)q*6sC8r5B6uZ( zMU>uJcU_}5^@QNv*OeC0sQk z-&0-`ukJc^esF#lryl)zv{P+_*T;%4GIq3o$e@Tm&RkY#X{~&{PSe&q7H~+3%P2SX zXp^ho0b|bb4XQodFV9+2%QXVZJ#YTfx8}{??Yup;%o`=5k!H$Y(CgZu5I*5xW?beV z?LFNxFQv@mRb?KL@5Yff(hp;0*c$S_>W^aF5`ON5 zD~2n{ySB-7{Ik*Tn!}>8gstkX3&h`)z+XR>e4~u-cMgWjoX_4U9NpYNUy>!r#pBfr zWb-xqv3{w2g8t1|t7Qao3K^ZTeVrH4j2oI$bL`dl4DMjGhh%Y@%6OMHoxu zq4b8+yzp+ES}C|Eq{hC+($C!(c7C)Xxk~^0jt@=>7Z6VlZl(Axr zHS|NFN6tnAS!OLu`g1cF-KG=xwTIwJ$U)(WOi!K1iFTVAJj7UAt=4b5pBl{kK60tF z+1AST^Y38hjX;)pw#>g*H#el)`E#22`=1FI=I>YC=+6x4V;d{v;^-NQNqY>FWes&_ z-a}txM=-~ea8oHZ`kVc7l$*pe*g8J>F(EZd+cnlOkF!QU+7G*lmKTOf{`yP!tMqeW z=w@W2f9iOT+^B;wNB_}tCmmE9rJKh=+qet=uGMD zV!z2!@fTX_iK4wM5J_q0-AHQYR|n{&L9Ke{!6myDxs4B+9==|02%V2tXAH#9IDLzK zNv^&E3ty4}lJm}G&TT(&OT)g*UxfA7MdU`mwG!QtY1N)t$GU3r}1-!KqJO#4hmJo>FgR!Qgo_8vfSNkYZeqj(l79Z_{}b!#VxgZ9~zP7#>kKeorYp z;^l4LJjw@#*f~+Jx@cdt@2INj#QR@?Euf4Adfq5H-WYO1y=&6(;!NO<69c2?C>j7X zsg0uB=ZjqL*KO8vjHISxzGP1u-s_#b>|J?zC3=vnT4kjNSa{Fvdf>>x7n&YKZ%bXG z=RPyw)-v7ppv`kD+@OPxA1%6fw%zD!I>pK9!J6~0isz9Ndq(=TV9$KDAy^OC76W++ z3zbDrG^>;4mDdIv4=WyDR`ru@E>P3 z4BQUyJbI1kW|?BFJ`GvVyYA559eLHS+f6$Q&JmB!T+-nUe?~tQDZGKD@ndE_P)2o& zXpjGzBkA>CW=^QRBgAf?3}5X6s7guowF3NBgYYwqZOSbg}uV>s-azx+j!<56D`h= z3_yyrkFaS-OK1V7H%FQqi1b-E*A>Y=ql;+VR~{cHgDvrXO|i^+LiM}5L8Hr6mZzxy zDrnT^{F}y04fSjEY4wC(+!sV_6czWWsVw$ zbw2uNV6~1Chm1BTZU77|ek#UJMBUN-(_*YOeY(X|cw`dbv$@ov#WC8_x;t6bD$XGQn@wBzG% zB$M82(yFQHI4`a_16F%9qqoOuAjN$CNpONCq)(QANYVyq{@1-l?IrSs{o%gqjbT|A zzSbWTPTf2vu}97gafjm~LS)NZnN&kTIf1dH+nSy5-I*GRE_CDC{@j_*h4OtX3L zVz26w;*`3$tE5;rv~uVQT7l2RvHHDHzTk7euYH)-^qHL$S|XXmin2^PNU1X;O0AtY z=~V8h5Uc!x)}_DUr*FuTB<1}wWDF@{RmhBcuO8}GSg7>|>1Tc;L9#=y`SZmND7TT| zOvTTH-!k``ff4>Avab^Lx~4cid2d;?nHRT>)t|Cwq*?G6^KH4iD(LQ9`P6}pov19| zPn?*wkn~W{(B8+|zp2ldZqUBgnFZo>wNd2J=zZextjRuBZ7Dfmwbo`r@H&3%*J(Xo z&&uBCOr^o*T@=5n01ecpMwK$WNb=F%;vQ;*1RO0>gcq2UhZpH&J?Zj8g`+p=))1cl zVD!;wkFPr){cqYw6SbN0TkSWLo}ygliwC75n2%YLFf(}%BcFFFYqrS1X0R>XNG zQ8#*ug$|taV;zqcsXg$M!V}QiioPQCkq_4O2kW;bz(sD=)%R_3@ie@LykwPU96r(B znPR`j52qj%kRamQWz%vaG8=uRcAUzI@sxf?3GIXzJbJHq>&#eVmL>0ye!vgr29!GJ*i6_EG_>e;RxGikF(T!uZ9O|H9RR( z+C6%LPTcsl%bc5YBo)tU`twfp5C1Rw_l0f4rRFtcB{OB(NCPa&{9K9m*UBLe&ej}7 zxxa(=)XrAjRNA7s1qv<4FLKq}6yH^EJN+~>x8Gr+!6waawTHLJN;O2jG`>~#6*<_c zSicXH_8{HAZSj8j3t(d3U@-cT?o9yW)DLv3EK}GdFPANoX{6j+WN&2}U(UZG<`GDW zNEdGsE=L^R5Fa|qawpm`db##+3Y$`qT9g6!mIGyvRm8J;oa+CLWVl?f|iU*ZC z-TC*?154k%mSn*wzDL`+wpc|Pw%v%-%jW)kUnW*d2UhmgE zicN6m=t04Qc$u1W&9}c;qm=HWdySdb*<7NUq2RjZrGCiS(Yy2;BAX zo&-gjARmq^yjg7Ny;~SoP{ab7TuTM#qBG~+`rc<6hGN;TnO1h1dO^g=awss5KBv1D z)3A3dc3H)Ayy|-%LPBarvsbOBI5E!AKkEEzAChRt7U7z_xAHjM1egy=l(~Dqa0;fj zyo`RdRj2(crsnp_${V^qduGw>=ydGbI2+ecqYn{hYxb@6Gk#a+NvmYl{PI2)!8CoS z&^;`pFX?1zEhF;ETIt;@S-hzmiD{`@Zi@U*<~DP!^_lZEjrxxf^=q5;ge8(WebTQ? zv;e&IWoW?B`?dSgw$d-p+4)Po2)Qtn*Lz5*(Fe6xQ6Z5Aa2oT}&boeuMDKI<;iir7 zv1?oUfUS?^6M7lBkEJco-fz(>;T5WdKmsO(+x)D#S=Po4g0Ow@o!y4ZNTG4bfdjkO zq$P=Lzgo}bxqW19{PyQ)k!)wq1?RbY{hFgr;iPY*_44Q}JaC2v;ZJMg#h=XZmp^T|CCopU49TzwecN zNG&*(Hti4O1CZ0_q9x)Yaue$5>hWf!vBOr%CZmk+V`Y=on^T`x+i|Ti1WVK;^r}Mn>AxIIa8fYx|Ox`)r+a6jGjIPrgfSYA4)nD3KtJoS4$QIM( z6ww73ryd$q%CeL1He9}0koKNacDFjImQJxwG{US~qTKt`9Lopv1ZzX~*}fH5mBUS2 z%W65YzbP5LOsgHt%=5bxH{Bd^glPR>^d_B3fj9U?S<;`C_gT}#pFh*fkqszZtbUz= zSDeM)mhQUy6+CL$pmV~(MNYB1XjpvF-wm#$#COf!(AC2d{hhAVccg!>OWT@1QIQej z%4nKS7o9GJQ#`3&v0)a-$3Nz7!Fc z%qj0nsg_5I4B#DB%gR^8%x9YZzk-_|1tx6C(JMO`(!jhjZij3Z9yEb5dLLZ3a0+y{ zk3M=?$g|v)_sk6TrWccY=M@uk^wI_s@ovR78cg&gcEvkPnG?|(%@*219*}N=&{Lw4 zcz{T#CbfTCc8VktvkE_0x@9D-h1x7!-3gyn3zanXp=3*Kk=l;lm;SHWRcV7oTwk$l zRZmObn(=6rYo3A9m*%irLE<6wgE&f7(7P2QV`nhaU(|gH(w5Sa$&q3e1n)-*KMU_v zy9Uy=n?wKi{R`nCFFrp$vT;F}u-cL&A`kcSPhH$0{bzTKUUO8ayxT@Kj0l z$qr9P=h5w2!9D&E^}t%@S~91mf={(p`#F-Yn(3O?a6k{%QEt{zh3z8WU8|Pwe;S(J zaQv&?o?Z^C?XL^n;^uc?<*UChKwIQa?hDXga=UYD`%LCEqtJ@$Lr>oqn1tFA{D_o; zKNADg%GAW3K+u|AbyR6`tYNTfjH#p-yVWZsxv?%J+kywtk&6ot65FSiy`!sEW3yOJ zeyu=2&1Z*2O8#L=eIzU-Qim(`M_p>2Qt#Jp6Zo$0`12EmugIZ<`5Kqm@voMDp-aJ= z&o8`*R7oEHob;RfmC{UOiCJl7Pcth)3D%(X&tUW=-Q{z?$a62g)%C3N`bJNdb#J)3 znm$uj&-G;3uB+)&;z;+ntd&BQcIEUWe5{5xN4(I>Ygb6Zb-d7F_X_!9 zSr5Q@tY7ctFsI*)oaPjbWK}&u^X;&g^TZ6CmEU16t3BcYX%`<57R?=!u*gUKVwp~X zY!SyX*L#S=EmgVQg2i!vSs#?5&)%$v9;JMLP7%HCcgXj`+CVDX=eb0F3f4x=xl}p8 zRL|uJ1*Ya)JftPtDErAq0R#5Rak7`|FFAZyUOjq}d%oyN-9?KYrtQ8|w);(;?S7bS z6ueG2@zVIU=OYwNXN5V(JICUSB^9d6+tYB2SSJ)@;~K{4Kh{0Jn!ZszWu<;ic5cm; zox7A2`z!h07c`RZ8Figs*8kpHI>^mhktIeybHNI|JQ_HOfp|Y_58dxHbnm8C^v~@u zi}+Oqw?=ZZtinxt>tDZEC+nS3JPv8x(f=sjNH~?DeM8!*Px;-f*X1>L%Bk32jW6^qpvvQ!Q#q_}C?NPj%u(d$n6c(_SWoh-Rj_7uaolu z=Ym5!eXIHqmG%wHURzbWMw-5(Re`5abABOh4UFTCzo*@$n=?kDuadtwA@U^SV04Nk z{8mvo_sZ_A5u;f${dkSo<@w(F6E$K(WX?4j@mBREBT3(tl)zre^e?3~D2KwUB&{jq z`}k;!vy$%h=U38Jdph#^XsgY6lG@@|HXT*bZ9G}B_z^^Y{r>OMw6Clx#ziax& zA>7HBEk93_JmqXcrZ1B`-Kx~F8ckUhkv3<*`zhv7QWD6bYJaV^h=O1NX-WK zQXr<}k6yKM7-dK^>NM>wrTr=S`+&Tf3SRhSzYhrQvGNrhD(3=v@aiZ(rqBF8t zUh*`@`J&h$=;jV>kqdnM_8@=j|>TKv!St|%v3m__vdPvoO-)mPdrdOa!RO`CJ2 zIF~xK%B=WHT&(X-uBz2MC%P@9N2dN;zvX_jIH}d_e<+E??K{R4ajDU7Yk!p->`u>4 zq4#3vradUTqQG4nBfwe=$^<_2V4RrT)3xICOS^DG ziPJ7~xxEhiI>m39c_C4@eHJR0g)#GGVvP+3#)!v|7+y4ipi$EtKx|?l?D1E#!r$!SM*|l*VR?8ScZ(fHObb%f}3PD8IpE6oYw)Yw<( z^_yG4qJNPe{ELOl>Kv$MrPv>dg10v5uPDt6{}I{Wldm$m$VGPyl$*b~IN1H%u21`@ zhqra9BQ=A!skLL(vU(8T@Vvff&J|AW`izF7Pe{w%CSIvfT}(*rVOgm?ePQ3AseY+7 zcALgobi^L#He)_RG@vYLaHXtCr;8mFsm?zU9?o56@4D!#a8~NPKd4dDe=h#IP37!$ z1TB=}Z)rg|QwP!OTSRj>>o)0_I`8LcRMj)sE(`beUe2$iqs~*$EX@v)2jp^O+ZmE) z=hZnG-69UWy-D9H3zTwT50o6FjPFz98|zV)gY5nDx_Nq#X6^Pa^)S)!JpIOjYwaFw zBXz)Wj#B3}^gUCsw>RmlqHd+t2SmHu8(Mx<>GO2@)z}UW-05pPI&i06zD-*Fc2UxI zJN{P`I=@Gu+qKSEla-2hD2HG2gu`qfJvCt3oTrI4`D>p`MUVWg&!g1#`N>hEC#&r{ zy3|tw3$utclU*@-sLqg`uQctPBd%m6T+zPBBV0xQjb1H_?v5_?A;sLzH>K5f%Fd%i zwevfV_WtV29l~cCJ?w77MU%flx_u?^h06t7`Tgp^RO$ag(ff{u{(qqpA9sio`Aw(2 zR#1iwP3m4NhWqR{STmR%Y#2Od@YuoQ29Fq<{)QK>SLldZ#?H3h zyuUQyuQB7tdXXr4oYo<}v(CUSM|QMz&Jg~qge^{V#xH5$ zohg2|ZnOH6R_hA2h)sIaV1-729l9d=wL-A@i=PJ%24@{F?C8@R)rznpZxl4v4f|j# zR2Sdk+VXX&{=%=w8+&mp1jR4XTsjcO8_!VxInNC5tcZG-=r7o?A;H!54IKP};SI_~ zpHpLndPIB+y4V|Bp}%eWj)T}LRhyS@5mx%e@0%d2fHn20$r!LUtT`^xoX`R(dP(eV z62H%%XY0`acE=%NW7a&jHGhtkENSaigfl_l>G^P*9BV4;8GO%sWW%Uc8K;j%cv>$%8`&>-GP^ zgH`(PscK_Z?Q$dmHfP~OD|$od%|dg%%!2)uvtn?F1kYd*7&8#3^x|3N_i_S)vBHdk z*qs^@0P$CW<@hTDXE{`$Z68;-Hrl0!PlZM*MR;TMu!JW{kD2Um3aNtx3rFzdb?en< zI4L*!A1=JZqwZ?W>fl7ZBkyWGC`foAYVB$2Tml`+_Z7|e4SW|0HWVv4$!CJm6Y=nX zk8EQiUR{3r4L(QMqhNAL%LJRbP^w`tvqtJ-s7vOv`rbfWGY5%xhKp7Q)j2$Ho%%UY zx*j8R8uy}K-cPe;`sGb}@#^4^bg7K7KJ({veTY-(WseV)#`<3`)pn4S+T#WX4j!Vu zRu#dl4mNL5%a_N@!WAk0`)g%|Mn9|nSLi>l`wKOC(yTI8J4ykbVccwKgzK=!>|mwZ z7KNViqLjLu1;mTnXKDgi(m4?pRG?sKrX)v?)=r@-&E$R|;PTKc7J)1<3qJ%F3kvaM zP21vB_m)&4w533B0+ha}RLc#m!g6Kd4))qlLxt@wV#4=D7ce-;Xt4ns9VEMfg*H5f zSOrV}Ou@mpMBGzMvfscYCJ}qub?<342l3l_Of}0ujJek#`pd7vFzUggHg!mp64znp zk?7eWp`V>n=^U|W_JD2_QyilIZjJvAmRRA$E-z$)_h8lLmiYwkMURMaG1)hXGJ{7< zVna3gx8tkMcuN2@w}B8>bh=iv0o`nF-P z+ZhpjV_PS2`WM=4T^%BEjSz)xuckMPu<>t}ZD$$`_T4pY28;SM8?5Zt-z@sGP|VLU zSBqVthyF$=)Wz%K*+KBGAZCB{BF3j8{K*ZIQRPgTe7Oyb*@xR$J9ycFneH8t3m zmBpzE$6;+SR8>D%gqq|m*2P|nve&&9+d9q}?1OQEf8iPK)mvKgQ48Dziq*6){Dk#P zjKOQuo&=`WwTf&ScZ*jtVD}@n)(_R+!v{xmMrDtK2kSIO`Rs~>Rt|R_p1jKs*KYc> za^(wxy&uhoqK6g3ZIUaz(^B(>g1lL2t?pGdm-WJI9~|RCMIS5($%g_huj9a7Lu39u zK`kR?vX)Ls>_4p*?cbta9IU=w&zXeMibi@TePXX7p(SbW1UlaSEVvczTsy5V%%jI! zOKIUU^-$47MSv?clSZX1ppFn+e^#LRWg68jibsHlcf6-Tke?8mx8BSe2byiTCo^&Q z;9>Adk2|{D4r1L@2<3JVqV*IUo`I`07ncgok*{X27|RNO!lWrlUhp4SS*^SLuzg-anWzsp6HT; zL~E=|P9HLQUUXM$`%JGHWdTJnU?Hd|6YX&yIZq%Nx^g-`%B$qZ;Sxoswq459HgZf* z2Tj9Bd^a6FW|H?eNShzm!QaxLX$2gjb%DNWc^ewAnninAu=-zM< zwBvUE5waV?f>_r=CQa}XuuhPKQ|k0E9VJ{xVT=49Fm-i$n2wQ-`oH$6t0PJwZ6?QF zBv2`BWsx9zH1A}QU~R$mS15DL{?$P$MQ5NtlJA&DZbgcVkE*%m#)ayD4es`D9HVKd z*_SQsX5ooS=BNcYN^-0xpXinIhcl0jm@rXf0uvcz8SK76?)O8*6OSFN4KFfFWJktt zf#9nSjyzUTT%yYxb@SyU#l`te=Tr5f@98@6c!qq*vvf{xv%Hh7y3cyf;M~D^gY)I> zT_C9rCE^_;d3&7laEM21RCgQW4TtcV9KhlBduNR=n-%9HoAIdAF9?r!1}l4@P#3=~ zSHe_s<&lBPUpcG4S1O;C1N>!be|_aX`Uaa|E+HI!?MQeid6fCwMU4p4xN0`ilgRZ#OeH)(OSE$T?h;Iilq4rxQ`@ zMIj_4o`NCowqv-s&Aq+kk9G|AUa#K3bHs4?_wrIU*a0TEmwksTO71;(4415rzQd2V zsfA0TWc}(zx)-)yYYiM%7wA294417}UE~40eu2KYH%oMb5$v^NxbOP#a`AZG`UMTV zp&qbfc;I{}W|BA#J($G%!0093bH!_1OLq(pnvW~#l|AV9a@mgI9MmKF0^eVtc8SGY zp#SlfnaxX;%CYycxZMZcMI5^t)$$#~{qMXVZf~EU0KSoDFXw4)ylw~clyh$AVL+oZ z9ob{g#U=L(4uMyZC_cIA8J`>9E6Q$G9sGIPsjb|1$8h=jkX~#a_|7JD-cCNE{|KI{^d!k6@e%HNw%rG3lsPI1Fp_qTot#{H5xo7kV%aP3<=N%O- zBkk#b>c1*I?j0?2x7BmqwtPg?MSI?%|8Ad0%Oj(l*1U%49dasp^YEYtCs)`P?RqVl zwQsaav9mAFD)yLa3O8D0@8_CMdk}}-l&;yJTN+4~q%q|dbaH8@8 z)xI+NbCKG0jT^QNSFIP#CTsYYrm$nMi_kWnAS21+~U+HGhZ(*-Ue>dgj<_dRGI z-e5EHhEn5Jy~c)Q_4!WxOSf!%&kAi#n@{Lg;w{lC@y=YEmjx6yFL4LgygZ;|HlhgEqD{aY$y36O_eVnc}@x_?iK-k9sr z6V83gHf#%K6kdQ2>P+4iTwP@)>k}&~_`zs`kqtxdZO9hRW6KQB1C}M}#!7=IY}(Ci=+v2v%qxi|M!_Y^1A19d8Ol zN30Dzx2i2~4^E#C#mRbR4$Q`PNALkSz~VKG?!{g-#K|EwlD^YnPKjRODWPwm+%!y& zD(n4fjgBb3@js*Ri}h{x>#5tYQGGJSXFUw9SNCPFK%ufWl|rtv`URmBTBTBA|LyRd zeK_XSGDMK0hw9F!?I*0!!=pE|<9&CMTQ!AS)k~1V%*teqIqxm8zHAN9_uK)~~+5`+Lef3~&iYEnI%`HmvOFz0Y2r7M7Lw#8b65qo_#1R2XrQOK=Q$?SoR|8*&lZ68+R}+ zMvc`@^vzbd^*R;;mNr%svx5(nlK7cDu9~Eqv7Z|4f)lOYdJ@lzaioRdld!Jy{8-<3 zi|88b!78_(8yd{Fpy*voD?G!hpRV6FJaS<>1+H#&Y04A#;nAV9+cBf7r`htShb@i< zxV2F9q~K|!rf+9?=4Qul3k`xDV2{8pofX_s=j%p|2&&|KZ`wxegY*@_+i3rb1%qzm z-m$S<5Hz!u2Zny><3pY`c@gD-gIG>*q#3yXux+SC;(qf@0=HgI2<}-(Pzx; zu|-G0fmL%ouG3tObGYrt1b2p0N);O`aJY8YFaGcIP{H^GrBY>>ONs0Bkz=1~QUI_AeKFn{2jkqa@FgDI(^)ipuMHp94*Hh#24wq%#B|e{j0h3#BXD{|F0>0pY3sSs;<9RMD5fT z6-)BWt3n>Nc4YElg>^fx-bP#w>a+jGZryyy#QM82TBIW0YRc-@29=mmB;5r;OHT2m z-kcl%My%4letA*k*}qB-{LQcliR+}*`r>WFwNMhz9vg+eAxDs>NE%|7Zp)*&B>dil zN9NpFjZ0&#+ZR9*AY)h+=B%n$-We3nD0+H^?1;MMi-Y3G2YTfbNz*aCD@KVmmE(R` z&;ohG$wlK^A5g7dd00^2F_gNV59-!4dz~%Sk11;qpB*WYJbP%gX1$R;I682%%AkJQ zFo#6$)#?}Y@XDMUKQ!u_9~1K7(ObA8F&b=OLj}tz{{56m=46|KQgOm8*3UZdLTH<|2jM z&ix7`Vr(_{@Y2^kqdn~GTRY$CZb3osL%W?tT~5+! z5Tn66@tQ`K@TLP6A+px>MrGD=-DayZ(QjJFwVx%sM-87F@yi9qv`6S0Y7p(3Ts!xU zQ2<|c(0xi9*zJAEvm~G`;j-PmBhL~d^X?ygsS+*ohvBtz`NDnMEhItP=gF0LcyOSj ze4MpxXLn_c%oZ;5fHzg=?ViC)@CrUx+LZ@}G;T<>=; zGY`dbWcP>>W98G2+KaUT%iW_IN7>LxpIaq)CNz#LSFGNf<4}LC^U{zGmLA0Z>9MJT zr<2j3+40d~X|meQ+0c1*eAG^C0q>I#fu(=k07F)#e!n5+WOn?>oy3^%8d9#$j*r<% z4B2}gtQmMdwaM)G;bGCSy3j_PgUuB^J6^w&odP_Cw8gS*_w3l6#MhjMm0?LRJ3f9V z5fHBlO0f?5HIIvaB2BpsZfuW;TDGi+MKVGxk=(7C9dC%fI%dGme2t{dj!%fbz%fXs zI))=-^zZ=hYqP(KRb?4DJ3eBk_X)gD*xHnRxWfYuAClb=ewBt<#**p7t&1LdrdfTQ z>apyY9UmHH%nLe%8O~jm+3{f!!KN za-#vh1gE+%HDmZ)JjV~($;pJfLgR&T>=XQV zXMJ6^6Mrl{DJ*=Xnpb@Kn|qb@={Yt`ay@H3CCY%3N{7=*$DX58xQ2YY&KfYJ}E5SXRh=ugYuP z!szp>sb@LP$u>A^NIltT-1?4a>FABC@w%sYfwhlgM3fcd{NY-1pmu5f4!`ExCx61|DV0{^x6&e!lLKU#&90c zE_p#GGZ-OS(x+AWGxZxW$4C}lTc8JUL)*sOSig;?RRs#~L>W+flQToi?8RN#vNFU*E!piq*bzG2$hq-@l{I@~3n?xt~ z`4@qeSz`R@P5m+~Zny;r$r|FT?(yBToKNiM?y=pn5AV=2F?)Fry_Eugn2v6F_sGM( zs-CNUaW5j#a6!Lh@9o&P*`vB+U1#O*!gGMPI3Mjcz87a9m?ff{H9m{i1TISv>>%h> z#y9$@ezlc7?8#cfIof9x{a_6s?XYew&r9@T^b`FutoPC^E2;B9y>^B!;UtXTk8tnw z3#g(>KTp5Z9QKOgT73^6=T1*XFcxjcQgsh<{U*M)uA@e7^*(wzhqIH!C!Di*JL5%S zK?x+7qjoO6cbO+Vq&%PZ#^4X@KH^AN)@_~D+lg-1y$Z+R4T0vXXGre89dE#M!JOCD z`*1Vcv9G;`@HQ;p@dkam+pq`_dV;_;}>|U8HvZdre46`zTmn@Eqet$7bEN+w%+szjIqT{Gl-u z=xVg3`}+3S!Q%`LJBzmJUGmN{3M5#L>`fsph|nbm9T+Q_QCZi!?g5c|wV<#YLUxE# ziCNUO`oi${dC!=+z?(=J^XokoNW5S;~OaEPov1qCWj;Df(~GQ%=>x zM~=^NO5z`5H2}#x-X`quXIiv#Jho6 zA4SxqUy>5i^2u;Nj2=zG)j7!$L;rXiQZDn7f)yHD8$YztZf^Wf(Z?J`+sA({CAR;p zP2J8vbQ%Osao+Y4r-D|*A;R*N#KJO#<1_x2G|dwjbK}niEh=2?uixp(2-{~PzDW;R z!HmLZ*s!!Xm*akXEwnl-2^*WW%2!H^Ka0Ken%i;%J;J|YHPq-y)#YE@HarF$k{H{% z$Qn+^?yCNmfzB#pYt=L2pV^&V3=)SgvaC zW??U;)$^ytqO%lcR_F^5iQ&^B1H6WaxZr!x&NSH1L{AtKRwLF=dZN1(4-cCV&4)}( zN%oZ(F*EM?IC>c?(Ift9nL%WnJrAU-CG&kdtd-9Wk9vzJ5x=n(ktwNX(bH(;I=;V% z@mVvXSCI0Sr}JU|vPev1O4<#{f$r@$g5GU(u3!GGZZy6%(JvhriARsE8LZ>raO3}W zP?(j={P%1B^|s-$#Ju`teZC|r$gIFWwv$;E-g(U#|9WsHH1hk1ng3TIZL`f>Vc!Xk z%v|^Kn=#7DGfk-^bEb05x{iJmOc7k)rhvOxvu@wz-wn#*mw3g%Wu0V~{Qb4C#-Iv4 zpDaBnO3`BZz)-grqq;u{?OG+n?D(zW{lSTFWrdv`zcc*g+K--RqR82squjgX+zv(u z*d}8fv*SMu@6nOry2s@H5>qtP$4Z2N)l#8yZVmIn@U%0}^D#UAP{iOT@!M{N@>QD5 zjz1E|y_)kiN9={3d=jhy{4+lQ)WFm*nIkV$GjxqZ* z0Uny=5ciy0N%ORr;nt(YBdHOJcSqEn$a6{p&J;7UY)5NZ8ZUhm@@?s2Q>3OzS(x*wfAV`J;#{Skh+H{5=tU$sK<9H>LXQ_=~|6HYjtiF%;FS}SgL{QeSyfm7m)!RV)}iLs;ev5T2+Xw1rmV;!+`R0r;u8-Fm)n=e%Q zfjHNWKJ|GjX0IPvF^_#ZR)#GrWH3@1e(?Mn=1+r~@UM9^qk~`Ai4VsN_^i|H_>;j? z8F#Gfqw>^ef+E~u;`~(gD`v-kR^|+w+OPh(_0R3(Bqn+iO_zL!O=Z2A-b+Hb)|&zw zGL1djvhOq6Tfe;JS~7;C3j6ON#V7 zC&|j2qKDWDoCQw`Yz-NN-Gztd2t}Q*Em6nO`MS?{K~RV}K)W*n=mdRowVzWYE-@H9 zAtZq*$rwzAz&9iJC{sikOA%hF1}bAwY7#%-P-JpmT}x7{{7 zer(}HWKc%gZ-_khrYqbNqBgP;*_xxfDApqM&l$L}P=R%iW^mh&4}Qd=_Nl0LpYqCB zo8AYuzR6nGMlCoLX=02%6E-`(ENJ91=+`g3B6t_t`s_S2W?1*<^1zG~!;j##i}YA$ z$Iptgs`zK^0oG)t~t%70F>*5Gk|=pFDR;nH^T}MdCW7m(MA<&CSsh>^1m0&&8e)8yGh_VrTELA>Sm}3qtSjGhMJ6Q88AbB@g+UGTJ9TL>XXV7` z39#59wa&)EPc@1#JD!WNFu%x!oPocI{o0z_TK!lsc(HXw{%y2}%}EWo$Rqzz3%P7U!7(O>x9u@rnd`e*BqRv2?) z|6$BJ{O%K?v|~%(E&QOPNt^rqkPbv0FVTP1KA0Q7JUkpmkM<~hGWy|aPOm^GmeBQ<9C0aW(CC1%~eKwz#GvNurS&pE$YXV9! z$BAVW{ODX_+Q?y_>p{L+$}npl%da9%@2I;uBV^=#?v z_zlHMurz}s=q(lo^3S;57;6lxsilL;M*p^&SVzW@z+tc698q=q@5embn#lOd?|1QT zMgX>-h1Y?FNuoJ^tcB83an+xM&j_8EC*%pw;^v6w#?S0tji46$PDl~p z;KYo9K;OCXvw{-VEO~zXg=L=rZUGv3W$0fI%$1+h`#~>3w|X{XZv4Atx5H)EcBlEC z7dWtC(c`uz69)Oq}H5s<7Y=t+=@rZ&IY>67+zd%8r7WNh#R<2 z+Vf<|ja^h>elvPXEWm3OnU*cSE^f-tug?og$STH%{g#q)Zv5KlLyO}zg`e$#b|vCJ zIDvCu?)|IcCh+{W`cSWqxwB4zOC4c^Pq8lH$ZEsPjeo17v|n6tORo?Am=%+}h$Tkt zoMXeiHRz2V@`^x`b^RBYzhVLEEL`K2F~{h8G_vn}MWp+ehat;1o%)$Ki z3T@yce3-Q4=f-b{KAYQpemuGBw_`11&2S#HN}3nM{)k719!ZOQZv2w6`kDDE>t@IA z*onroenYmi2$*Hs&Qv!6o#-EpawdP@HUw0L}{|{#5MztBu|8LvDjdNZ; zReF!v@xN@J9sf+fA;Q^%m;vSeM0x)id04B4`+@R)7D z60o|cwaT^Pv?IT1jJ1>}2+Ir5vf2_vL3O zk25$GH{4mzpS%$ZODoXhNFNUVe}eMzeAtQ@Q9o~GoDy-K$Ni8vkJI**ad>?ppWAj{ zvr_HK^I8bH9mT7Gl^xW=A}{QJOk#fR6wEDji}`g0HuG9smI0m-#`j8Kx}KIYq|%uD47 zdq)ZTc3`FH(E=%%t1V8ypeK}!wK{VQ@Znpa(Ww=*8vSq;yp2bT&h!4q4J|cCKUjtK zYJ2afqpgE(C60cyYLWx{a7i<9%IL?d=zEJ3U&W^eZND|pGe@pf-zQeWBz($)BY>4w zNIK1qUlTLJonAO8t;2s8J_#jSCA$c9maJ*q|JPg0R&9~k%wdcmW#o9-&iji)|y@D@bww`jVy1f0THR zEd}_L{Mqpzgul!EQ~r0}Fs$pF_4?;Jy(M{6$<>=)(mgjTeNp^xSiKe)xerq>c@fvS zdOa<2kJP)9hbrH>dULH{I7WGXFJ^YEm(+CXD9`9-ywkS>ICbkNU_DJUJ3h0+ezRFtVit-)+&m*u8X_|d5Jmr+ZP>ns3gg4CRgF3lK z!kp&}e>P?qNRDrXt&UqTJXNWJbjX5KR9%kF|-~&{DSU5 zLgmPR7H7whyuMk^EZ{9C$GNrlgvSU*-gVv;|8kn~eX%awe!ItATYZ0cwuV5)V!L}S zws+#@#vhJ$?fGyPi!}@XGaFD4iI`GyZv4kV6JrI=l+y@CUti5WbhU5caYli)ir-SB zgXjxK=GT=IRY0P(e1`;joJ5IkY(YmjEMsS2&D&uaEy;e`hXV`!dGs3ipS1|39hX46 zVb$~@XV&n>P1|$&&8SnWAw_Ht(LNCo%aJ4KrCPDp^!kF%Xdn2c@8$kpoa*PdXc^(` z`1N6RaRPz{V#Vl$4^a+xE?`3}Rs>-Qb80MvqH!u3cbrNdKF`bng< zR*;MC!;52OTxZEIh^GN@yx(Xe!U8ukd)}dhkJ`94{x*CKM?@a!O|1oy3texOma_7b$iSxeZk9~I3A7N|<^k+-aG%HK`7xHkL0A2zqRI(+WYX=|`F&|S2b ze`B001gF_b%Gi5qAx99SCqW&PGEN?5W%^{Jz?_DW1 zt<|k-@b@a@G;CYq1wQle)&m{is8PV>G3Q8V({OIA-;P#XgV7@aJ>&Y#Zqb!B?zDcr zIrcnQv6-je2JZO?_9|J`_79n_oaIs6)~H@47NIdeCQd~5OR$Jts$cq+57m}BU%xIa zTDJMM&SNL)WJ_mF)ZxYUZ0B(kb=H;kH%-*R%E~&ApQv+0sk3>a&Jj(W3nuCuS?X+= zsDnM1?OZrf$5!{;cX^X8T0`;+HS^w(aD z=jNh`vZI=@JYk~j=%(!AiLzswvPAI5Y&~QN+QIst$Rf9DY7C~2h@^IEM_M*ZJJ!&IZC{jO{Lk{XJ2?W&E8jm>Ls^gsJkcUP?~T=!S| z6Fq9%tx>pnEzP{0ehR*AYgh2^DDW+eb-Z`n?3HkKGquV3d9-e+JB@n|j~e|R)%loK zV_n?zYsZ}XHl-hWFe%6f4TNk!UY>lD$h*M}6dWqPTa3 zO8xln-1y-srHH0>IhG%r<*zp*PGVEc^G6D;%B2bn5_-$9Z3hUf10~1`HlyA z(Gr|p$M$WVx$$v3uqKHrr>|JKcoO#bh;gJZlRc`Z6gG@?2UoKH4oPy}4e8h4FxLH8 zwPhdH_euFi;}8*T`?X=L+tnH&C-ic6cLRDSECaCP15cg~1CME;`#$lmQ2u%Y+G}#` z8^*fDD-BI8Yd1p~gYML?VI_Z*@C7PGAvR#QLUpjF4L!%#vf{8^*eeEc%dx zo=zBB1#{yQ;_L>qHod=k-Cd*dt72f74yC;}@j+6v)&GnXP0KiZ_J@?ms~hz4tESbm z1;U8zsd3^t{m2dDy<_C)ZtO0f&GPsYm+|YjnbddQwSgPa^V4QTFJi>J5oNkGs6P!# zx4}hi{5~v0zsP2|?5o?9pIsuBK9vSX;s<;Gr^b*sjJ2z&d7)KK%1-j)lJ1=j;%wM? zL|yvh`^$2EadP$fWLEvHlzzRr@v#x<-8IxP#Zp6JaB6Tm?Q{c98i7cj&yyiXy-sT6 z5Sy?@LRWxSe!l%V`q=N?hOu^b7nxtF>A1v(vF_?g!kX5$@%-(0+jM`N8MzocRd#P* zi`2TFwZDzi8m$G;hnO3`xyT0AK-ea`>o-h@lWE0z)ghZ$wOGr@7VKKy%_{JVME7lr z{%5Zhy0=X|X_hK;cUe;{WsO$4JJtdB%xgWN$#vYe;5l-% zowdiAiVGyMkmKC+af}5%HP#KBfe;T_-q4~k$ge184J-*MpQM4JA?h{qf)m`i>S}Mm zG&k0MqhdLNs zgZkcA$A5wnDQ^ueTUc%796EkWEZ(Jx4~0ia8&x_cG%$OydcrT|+!ejby0V!?VMj}$ zjxqjCi8#Rt$`K#H^FXpDum~K9+A#jBsE-$D|J?Pz)>->d4X&d%SjXlIYejZ-qD4t$ z&ck6-<1+(40U;aZ>tO+~4yWV97Yb~9&W)e6ZLbx_A)$&7G`)s*DEqY@NiFdN@`1jv zDkn$x*P$Ec%iW1SYfk3Fw7ooiN9m=;KOb_kcR)w)gqJ-HR-gH~CwbNP$ zeHF4G;yp-x_vy~+U77W?4zmurg;%}2$6E2nOMMz|e+=_s!5Od(PBbr8DE(>sJUiA+ ztO=acV2x9-T8G)stD=|1J})$Qb&-c{A1C3!6>#Fv#06*h4qm@^dfhg3Ri)^BNcT;U z;?Ts0=0z^F)YGj`wb=Ho4`n=pQj3WPTLG#uo9yUSd~;*_1}(nn(BKVdt>eV&m4x>8 z=>xFL=cw7S?m)@XZrix?njVL0HvHS(v|EUO=f)q4-y~>TyR&*8o9gw}A#pHsuPvpP zYVsZCt;6Z?#x3~pWWRf4a4ZYvHO(&vBs6pb4l^R&Ujb=-z-fyf5J9>E7@*E~-`I2AHP zlB$Jpk4*b(MTM~UiuIFND&;C%XaeCv9-EJtM|=^%$kM$Tk4L=$zx{@(kb4=jv@4G0 z<%PRiC-om^`)&2AZS}pTxe=T)(tUrH#u)V?Ldo31d;J?2eM!)_5N=Hx9fcKt*XmF9 z0UXf>S!sELB2Uw8AU3Xb+FHS_w~1ck-V5tqBbwlm>XlBwNe|tatxibJTE|+M*S7Fb zxrd<^UKG(TntSEhOAKr=2i?T;#T6SC}Y`VQ7ID92^uRTV; zw?PCPPui_&Un#Vzy=o#Pj&QkDk#t2T!CN$~Fn>FuiJ8~V8)b#Ziu9q@MBii+0hL^Z zMq$PI&gq8nccMQvw~zljiC_HJ!u01JETx4d#NyZ=Ko(VB{k!2y_e=UMeK%W@teS+I zYz^2LPf!vW)AE%mxh;0b(a~5Mg|9@5ZP|``T1(4`!BQT$_ax?%zk9P`ygl~Lozw66 z_Qa^(Wcg%|fyo(Qj<7G%%ia+)P;>j(cO>?Z09kYX90M0EX!YF@(t$H%*~ZR@IJEiw zR(579(ocP;$&mmV?WjM{m2-pU))wR3_<1Q&itcIQ`Zx`nI5QSNOpp4)HR_?fCs4D2cw}Y(jg_Q)@+9?IyIE@b~dT zC-_Y;lC#$}w4a3YnEJ3WCUFzo0i`%WIDeIXGkCv+sdU^h{$_He`qskqX=u1;Pd)(> zm6ObHf0er5DpA3HS<49<#^1`;B*!PQ%wKOnN1LG?kTQ-~;om}uX67WrwZk1AE$7IK zO*HeLcu$f-#7!J`EB)2!%&+Y9jP%Qz{_bU%%4d_1JsNe;(c_>d`W8EFKKFjE;a={+ zws1YHd(Mu54V=7<4mzB-vF79Cm8>#$(Z9Z;m5_bB zh7P>45{Q7nkvT)&e{!^Vl0$#a9LXBlRh`PQK$l)AGO(*U{reK0nSr zwMWK!ogIG}?g+1EVaPtOP^0uL?4(`Q>-9~XhjWC8N(rWUT?BZ>PDO5EZc$HXu>u`XLr=qTGdH|#s}R6tgMBj zQ)W!~pm$y?`XY6PXo7O{}LlMVi4<~E5N5^E3V)a)WU}5O!fuJ1~@X18xkoW|$0uRn} zIWA{&h#pLbYgh4x@i_Y;Ik7A3^EDzhqhBGru{OB(A zL~)U!yT)Q{#z53}9tQEybPToq2}(`v%az->1Jh!n7IR4i+8(TT!CSmt?-uvRr;#0X z*RUnET1@RYh3OG@4O82%`Yp;$^i3nx+~G^2*L{*Gdr|A51$b-0_34pEI5)m5evkal z>k}*F6zO~nmj`w3I)1Zbo8$4W=~p5yS7?ZJnF91o<^6%!tARjT5G$;wJ?QqGzHUw^Of|- zF-@m#+b@lAUcXvCZogY9JGSY6HMV(lYU{P%*|WN`a%HF|k|BKxwKd!C#L}mF+oz7V z=W%0;r~RHr{T5@#-*f->US@wa>LNeusF_oZUD~ie_MFR(>askO4;Ee#^F|^0m9+}@ z$TpeYQq#+>E%j`{6_oJJEOf1P^j}a~*4p{iu0YpU>k)l!rS1GVQ$6*!yKk-yZZPg}p~YuBcFDU1Hj>r894qth-|VYb>^&qXuAJ%xu9gYhXX-WjTv2oc>p z^YlGpCB_Ng@|pzqBN$JOf4{K1?@(>CXGTmBU$l3BP(H|WB3^KZ zESv7GqH7{Z3}Zv+mHk6#ZY`k?s~^vlZ&3qFO)`9f;tUFi+umz4WClwU7x zOg~}|RS}^_aH2=i6f6(FM2LNsG3-~y2_Wq9Jh}J$h_*U9?^kQwhi8`_`#hKOg!@rY zP|*;mT5kbt7(chbw&#AI7cFtFAg*(BYnKPlYDh{ z!B6f@;zuG0ZuyGn6{li|Gx^=-Y&-86I`)uvDmRQjRbCTw+}p2&5`nF&?8@L+`sLYh zTbqNfrXRE5RXRI9D9%W*A~aq{>%aAgSWWfr z>V~oI8Y-&kd$f*#Fm5Ds&eb_(u8<6jxxN|q^zt??{UC1cRn+$5>X=PVF|x0f-o7cR z8=zr%fD!oz2EV<*iIlnnb7AxliX%0ALeKil_Y*gab1!qE+> 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 z z!Bnp0X2qxK#PROv@nd?PD!6(vmY2w81gbDA!?PmI=bTK(MPD8CQjd`rKtRW=^78i6 zS1e7WqZr{S8E?!^DZQCnl?+Vo7c7oV-f9z?c8Bb{#SIw1@oc8V7wTKm$AEUXEUGN{ zsw)(jD=!!HKN+yAUq-~^K{$+}kac4Zk4Bz9J38t@!-@+fwi5j=`tM3@S%{Cnf@6wM zuSHs_G&3k>1Sl>64I80S%WXi(Rw+;;>~=>nngcFd!1pqS`jfbTa{8QBC0`@}aVn6J z2Nfi`MuTU^<*>P$E|Z?@jMY$=?u#^|YEe)r2MrsVgz zo#!b=0VAUmZZpVJa;(GL((Y$Rld~~gQ9I$LS)&#`b2U}GJ`ZhPy>Q4W+CM?_g!f`k zSiC!Y-l!vz-Wvy_8jnmU8Jp!GiM4kWHL*Tthrr~Pl!hriWuYn=?+ySZ4%^(Qiwj(y zhtNKKd+NOkxb)o-R~-y4weff{ah@-Gr=21? zx}Gw*PP&bH2A?vyvzM7t@+@|6H~Ch*T)`>;y%XK}2^m_G$T6ap`nb{Ctkvd}S*L z>_QS1L6IBVPT~Krp%ZIuJ9teTy-4Cqxd;1o_g-kt(9Bp#P>vn%OHVTu#+}gOxrDws zdkI>kCMueeCYZJe5#bcX3a^skAk3+76sK5-KL@Ryl$Z(Yb{=6IC7P zEYll;NA~23xrBP7)TG=&@Gej(lM%ucjyPI=iKItTQ>=j|sF3*4L$HPy>n_4@s#S^0 zqvqAajb5d}+1$r2SVqwZH)XQq0K8(k`w)zM>xR!hOqYRIk~2i2ScV6e!(=~h-5?d< z4z)7gCKaSK=E!ix)z02gs}1@kcwBn#AhstkE{E>WE*=EEt!hpoz3(RK7*RcoXFeio zWoQ%)#40pHXcvsT(Sc0+?0!<x;_BO9XJrPGW~Gjn%aw4+c3wzmHk zZaDnl+6?lCCUvJyb%pUnajP0kMkSG(gPm8fg=77bO;4ivERi7c{}WNJ5_G| zoWu6Cx$`DVPLBqeN&BSk)@m$MjM*1M3$F z;f9BxHx=ei>kKdOKjoFyTr%Kk8EEw>h+A%n~_rjo~*Yo!@woJ(?# z;PgmlWpmm~q-B?SOSw9RUU*y0sCnLkw}JRtDVLlA^H;F+(UH~oZUT69t6mYhe>lj5 z?DC1uf#*0zgJ&J8L4y}TCviaFXHcNV@;H@IGAj9l85cc(4j;%-(EBtjM_Ssp3e#8# z@*2byZUEXRhO3GD2U7nWc8Q1WfWdT*G-~uu#`VSM=f(;kBIiR<`o*0h1~MRoGBEs+ z#F54G1f>M?3pBR`Lg%Z5@|Ly+Vo&p)XFK-~t3~|xUms$MfS@KEwGCTBzNPgYTu+%4)4 zrr7?9@o4If5F6Tp?WVal=|}9V;Hw2;+L20N;j;}<3&Y-(yStZ!1ujJ4KfEsEcB!X3 zye3oHz@U0e_5Od-vcB$@FHiWQb~_6A@42V1K4G1Eevt1TyT4X|-ZI3>jgFSvTMaPDstCnVVXo5q zugcyk0ePrvswtvw$G-hKJ89Je1ijd1)!$RPcQAz4aOoet|0?u$UBa)VW5UTV0z=Z7 zp+yG-YbwFGvM`i{LmM_}jtE*=B%aVDqrccF-?Fp4!OP`0>_{dKkS^+P6I>loOEZVs z+38TQ^;wwQuliK=s!O|SP+3~8=b)32N=PqNQb75gxZJM;kNyj>&Hmqa_P$G*^e)d& zaHkZMhUU8efk&tQH0fOw1`vg&E-&hB1RL3r`O_KVVszpTXh{0!D26e43Di8d4#G5# zTT`RBLaV=_Mw0mZK^*WUN9I*RWTm${lBl@vglB+k5f2jh&ir~}~FdgK~9t{gd^Iu&S8=MR+6CKGD> z5-@|=`PH>6HLYg~xkgiiT6$Z(vFol*>bzB}%r6Y-q_tN58==`k8J!)_hGd7WkNBL_ zJTt^y*VxX|)I32=a-ZneQ<)UwcoQmjq>nQiDS+?R9?*zH_qqY4p=?HB-cgj*frX;l zEaou~m8;EcFCTABpfDc~5ZML@z3Bbv2Ez$=;oAz4UnTqZ4?bzh?%kzumoN-xbsG}& zAZKeaT5-dovZ0-zDv%&;RTt!TJJ0;A5eFp*jNYUfQd@-REy;A2>nqGk$fSok8&@M) zP1ehml59UL+~`8O``$qjIG|?eZ_ao}ao=QO$YQxVcvwTXp?(IlrBZfxO;Dm$HE87Z z_SyqA9IBlbP^z0ts*fv^0yKvvlh(7v_vg7J<;@{aVA_*Z=_ocHc#ox zp(dTLL2CO6=Pfo)y$~kkE_Dx+PHV7F7}?Sb&Eea*CDFBN&A02E9M)ejzvnXpbz9X z&IGX?C)A=YbHtK4^SElyv~rR5eZTRs^M%9C(z~m#CP3vJTc#0deZ*EgF1=?zXB2A! z4H&vykDtPx_l*#r=5of+GOhnRyf@|JeNSW&Po*9@XLAToTS2fdIwU`W4qlEVffI`$ z(#6bICQ*##)PMVU@XZmIq8jYzT}@F$IHHHO;; z72T{@Cpd~;F?sDuW`FN(mQa}_KljNoRop2<;01vnqw{!Yzo%17XS#$H=}HwtU}3vi zi#@2R1UJr%Ei!|p*7wLQ35R1g^xzcuRSFVm2{kiFtHssHDlmInU z_D#v5QE+~-Nu-N6n@EFe92t7kW<}GdY%1@wGAh4hPs7VSO66CEDRs1pzVqRYI%w^6 zsUYV^wHj)`-l`GiyHjyt{j=HVc(YD{7aw}i{4v8k#HlByE7zJu#Gv(bX91mF(RSz}Y2SvU_ord7FO>&|E1SbpTSTlv0d%@lJ(E_&n0up&e z^wasv7Z$-rkts!GCnGOcqNITIaSJpP3j>xz5z6)|F?-qh8}B=Lt8UoD1Wadrb{r^ZNVOk2HlZKH zm!FNQd+&0~6*245X^duLJNKy7rg|MX40^8Wy##1V^XXzb-^@+rAhjU#8?Tv(du@$0 zuj~IIL8 zkEWkeiNDu7tO#=lVO87wJ1niyM@Dqo{>uVFl-}Naf-P91sbcPCc({*9b!5T~9L?7; znl&HUaWzlA|9XfPDcw$7z}WB;H=}jO6H8yAC*NDj6Iwht6jU?vsVoo@9Pn0CLF0CrHk7&(Vh>o#*LNO7;SpZjYEIPTg$!m^6c2rOx>Magx=7XmIKGc-HFCbQ zOV;tniBrr5$-Zeia&?CBbsXGmSW=41akgj&j*!@K*ZDFi}v7Q z8nOkbnH6nhT-KBzacrS+jV2(^TbGb$sL{9UCp`B)!=MGl?NY9Awa?I+be-7SHGHe5 z6MQUd<(D*7-wN8^C0Fd&dnCOB>01H7&6i_z@V&f5dN^84xZ5=kia%fonYTqqU|idB zFpF5{r{{`W2(5>;aR)V@oeqx^bg*A*>2#>cSL-wr#|G{YUhCvOoVuC8l}~*a z4zThb29;9H7ybgCPU(*9bAUiYzxLKcRHD*L526#bO7dp(C~f!dw3*tC42metlA`wA zBQ*xj(#!R6_7jF&24aqcoNTOgyO&g|t&sMI0yDg2M#sD~riSe2B(2rN`&GexDm^&% zYE1wngGCqu$;Q0z6QGy^WbT5YR&Hm=Xu>vz+Be!<%TB2ahenil&LPKOEiAwuo_Nw$*$AQ3@grV;@gZbS~CQVUe8}Xq!aN2ua0I4lFa0|xgJ=2 z7h=ydc)HL4qWJr|8E~zVY#S4=0-bIEDQE7(yLnvX3#?6wqf_f`#f9s(Z`60Vo6W#A z%^3@tA<}x_8fvU_ZiJaI7#1megLty1(9YdJ8hTyzuUY_yLI^!rh<@98j2aE3<``1X zV zQGU~8oZ~w#%YzxM`lRHx>Xn5&NJ@ToJ)J?Xq4!;8^o{vB-Ch$TYZ5XPzVQ_$Krqsqu4NyiJOlGbeI+Y(Fi+MDrFnQ|q3 zKu;MRAvI{sVW4q-AUbo9y2o(`WQp14;!&3T`-T?&(gFvJI7?=iU-n9;sj>i;(@FlZ z(ncV61NAGP*RENT8?0&VWcTtBoP2JQR!WemaaISJ^8Pka&6BU%gJqPC-AShI7|bla zde4SQ>20G^T#H_HXP2s8IU5h4i364ygqzo6Bzuepq9Rg3pl4(T>AX=PO3zSaWM1)l zbxV>0CCV{G*Ia;|4yMX)G}T2i&*fZkpwMGWvqvLv?q$1i~a zIW7w&)KExI948N!S!RqOp%eyFe0fvOY(H4~Q4j=7Wq>e;*wsqpNSC zFTVcbVf01J{~Yr_Q~u}li!W;=(4dgCSA2$E9g8dbNiN(d2Ktv!XaA=U@doJ%s&k44 z(gxVo1iAJrqi~o(RFW+(h5(e7l}t)k`G?9Wku(bwap*|+87Q*max40f`Th@9sZtfi zu9C}f?W-fKf($}<1zWQ4JqE{!ba`0i{g>}ebL014fB7EbSWZ}`WdGP^Ji+VA>FwNt zKqzn@_5j}YKmry>IyeWc&;MG@7F$W7Y9m>;HG1liWr=;&r!^G3Sv-U7*%MC8rT6q< zlUq(yyqMCv0?!n9g$T&`S5tb|e$M5QKKNp#n1JrH#c0E-4) z%4vLo8kJM-FKC|R4Q=S2F)CAl9Pi6p+-`ff*}}bxMp)q2rYtK)D{7H46ep8p4R2DB z)l(rH;&g}BA0-ITj5_tgSbbiA3x?B53Aj0u$i zP^w5{@kOWzR&&vrwE^-IUDqbKEMM@Pm&AxYjL{7#VFDJ`QS`d4%2@h_=j*%$$ZD{< zL$Qi^&wcugbHkREg3(LXKp?r>uV>bgr%I3-F(eKo8l>aR9A1ca9#y$<`=~+}%>qA6 z(i;pPHY?VsaIK7^%I1n~M*`1H+_4WDcSZn8x9+Y=`1U1l#APy)f2=j8)`2q)-B*qK zy!r=O!_-5E8Wr+JGC;pbZEmjup~I9JLdR$4z7d>5+4w!}-Yl90nXMIku+2s6Y7u|Y zKw}^#XEWG1Q3%V^xT;&cGvmnWGl(Xak7+w zrby0Q`X$jRk*;HdbTEM#nR`~kDKNH zPF86VQ$tZs9#@q63l{P0CKN-j5;nsiYe7(n$cMR);M~4-b#z9_jESMYAN?UZU6lWx zJ&c~E^Le@;$R+D73&?h=V1c552oZX9>86#9)L>96-RJZosWlzA zlhr(l*V6hmFR^nLo>R$;k^1$Quq>jlN1@5w+l<}eksg6uVlmICvl+bqd1K)Y=;SYJ`wHp}p#;eYS+INo3Z=FTn$rTUs zc4Kl=;|+5rIg^1IyO)SEGeobZ>&MD0q9d?g%TnHt;Jreq241WHPSMKzs^X;n;C9%I zJ9!5WIvnL;l=5ypMIOOzG*8yoDT-p)jsxylhF7ikpW1?h8A5y#ZZkkD5teu&Jr7{X z?-xpJAWf&scvg`7SR-yKqRQN~1DxtXmHUSW5M7~NezgGsbcMX7Qq$Y4GE>UaCQqTL z4zp;mxLqeV7FyA#$|>IfTvw}jdF==N!meMQFbcgoM7OH7#W#T+gx+Wy`}B9-OQ|;{6O~76r?f^2{<4cba3SHd2&lDi8_t2WSg0yFqVOBCbVyw0!3Q zWZ24AS}xDzndFR0F{-w?x4STDn&Prj%&xmOfCmnCqA{vstU4P4C{5gj??7YaKqg!3 z8fM;?VJIb_*0}Zs*cFZdxmIBWTgboi{23c~sc_`q^rBps5-V=qW0li3OiZz}Nj$Zt z^Tf3#Y*fIHew?KjNK{hz1zv;0${9WL0RNRNVs9Zj66HrTK&3J`UfkAApMY8jm-%D} zRj}ohJI&5uOJ#D68m4JZFa&{Am07(Mdr!&QT+;J&RX&dOmb{ZzQ=uAbch$oP~NZIX9o&nx*emRny=S7c{ZsHt(IJ=Jm$ z@u1%-BCXW`dT4sgX3?Xs2eL^1=O$ezzD{2e9kqJHv1#|K1QKA6_HT>tZLB&adH(y$dQ z#ll7n2K=DKAHlGpLjgH`aPQk-vbwF{ppqG8R(}cLdaX7<6@lwc@EcZ@1n%EAYHSZ{ zD3%C`TmH4xcCLB-p3(T-!uW}(!Q^SIfyc#uo!iiGG4U}vXWGUtpXY}}M~@yxzk3+{ zeSk(8WX6|v-pz)uqCf*g4#~0_-Q_DC>(Qb{QScZa*n3X=~*1A=lA3sb_d1% zbitI0?ytR;RdF+Ym#abeR^FQ1di7g0h0iS7hpnVe!$6!9lgNfTw%0zVn>ACHq>%!~ z6lI$5zY;uUIzV)mpj|&C`RYSR$%4Sje7&UOozsPd{}=uTVU?wGuB-$h;f2XGljwZY zX7mv)t%{JR!>pPtI-;F0onyojSm@$I_GN`Es{0xEa#ZCgo%g%?EV9q~ZZ2e^;T>Pi z>3lhxj;C}qXc%O8ssRoI<@7bwxAZ;HQ7U;U@htl7Z2j%>w^!?L17!H_$Vis`ZZ+$2 zPRkXbi108-U0g#|xu9oqvzn=Vf`eg|%%H=gE1r;6yI*qmv#_TAZDLt$>5cUybv&D; zH>@@Q^)pO~8tIj+uuc}G1!`QWty|7Dpaw=Qa_mG}`dA64&X7>iCJX2dNNyFI63KGv zz9K)YFtvJ66gpv>wNy}<4{crs<*h4)Yn3#nt*+pPI?fpDA@h$nPv+-o1VC z*-Mw>HC*Bs8%!f|IZ`ES`n6clJp^>TUdISeGz{o2Y6v45Z~0zmbi!>%MJxBehnW7l zSv=lH3!v%7vH`P*beS;zgBHoNNAaHn#a+-=&{V9k}>QE{Pr_a2NZ(tHs3E54iv8Z7L-}a9^&;w=#f{{oM*gkl| z?FT5)Zgf<9N*q&T+z9j;^JC-Gn##kxy5wXrd3`CMYHCU^Ut?n`o<@!pf@5llG_9$B z6`p2I7y4spvNUiPU)Etoy$e{D}<&UpN{*pn`dlg7z0FnrF;dqzxB2 zH?SMF-A6b-OP9CjX*Xv_y+s>(0eB;L+2eV#LS&p5A-IIJ+EqHoXD_HgpF{DcYHbgz zu6ZT`6b|dhfc|WQ6n$>*x}@)%W5XpariKhEq$8(2og6PL7Z7%SddaF!9Lw@qy_wUkH=3!tX;G+Od$5RZwJj5xr2;fj*Ng6gV69b z)?$KoFq#MM8U$zIQS@pQaF6qcnh1C^Wt7?;GXB7BsbipF`3URP1`eOb6Lf92(6gyR zpeB6s5kcJyhYpp}`2zv@!xc4{HzDI=qIf(`GAZWlMI7xep`loMeqgrRgp!gIsbfF3 z8*}lzp`7Jh>w!U`q>o+-Cjw6d}G>Dmxmao(R?U`-Ov&KK)@m2)Dki>@d^*C-RM z40x-E>g6Wx>?NlC{fTV!pOz-2sr6_>3noOyaMd(5|eHzG*iCbL)Rb4+DPZvtUyWwf-g zu^F7Gsh^Hv2e8e^HM+JS+9XP=jEjjU6XtM!|6q|`>YGFh=530!hvgjr)K(Pg3kHCo z&(UeD+G#f#6fztgrI60OfCJ~JY*#8;PuIxz?Ikmsq(9pW4m?#YaRkvu{>pnv7p)+3 zy?71`x6*q*P2d&hrVfE~VGOzW-p>hkBe2%<_zKw3ulp-F?iD>uU`(i@L6kL1$2tj& zytpTHt(Dr&!kX1*r)G$PTvoY!Lsz_Q)y<2iaGR24nP3Gu%=U*hr|REkN#G7biQ6{> z8aY5(!S+2E+zu2;1s#L~u!UE5D>U1J9tT_d6APpB-{B|>PC8@|7 zE-Vg5)@cW#G!#c9ivo1S0?3P1^mwQm$X31vKn>`i2(rQQSAMd%RRY=nb$*Hb3O&mD zEPN7$LB;lPfefO*kT1OTUQ$IPBVm`6y~Bwwv0mv=74mT2%tqL}u_f+%2atQyCkUmy z!Pefvl)viJBC>P8DcIhjRCwE`g-}hQow5g~J`tP^A>a~6S=eQ4#y`@wU5Pe_06}Xt zlMR2F=v7eYrPYsKXZAOob99V!o8{Ws_!d<%7oz47U0A#}@*HaV>#H>5Ax~D^=JM(T zor*WWUWUe~?WdZ!bmd9-^z~n-tII3#;${ONej@gTF-joS~%K+AxXeef&JA;xul@b z(*!vRNZt-Q{p&F%H<^}O7xJL1!bQwL@9IuYam*1YJr1E$Kv-u=E;8sD>O3V)H(@U( zG)L4qe+_w91TppaX)TWOV66>&dksASjrh4S?n3+R75@*q`MHx=#z^;DG>W zcuR#X&v8;@BMog+LlobbmDg4;tnOo%-^54kmJJyDCpg*D>h1U`PI?NIr)^1c`ULZ( z>Nt^wW*GsPf-Q1k)twjFUUFoo7&DV+B11bX)NkyIX*3>6PIUDCtB0809w;T`kury{ zFEBW0H7JKSIaLa02+13@&nh>zh1Y;fg)*34JmM8va9|?AUy^DScpwZ>0PPkj zD@oh<1apOgWz#-e3%K2n+)pKf`FeodMYr~-cb&Ogq6?V!R&4Heb0Dx;X|ZG8r`vW3 zh+)|<#g}(5p4#1|Zes_AXP&e7)>t^9gx`xa2t;9Digx( zzz10=wtpB|lLyrAIp)=w@pWK?=@s|Q_;Ty@BV_N@p9L@-ILfJjmY@%VqUE=T!FETR z&$6-t4D^?WKfS*9Am{FtRpEftg>LqfTH&^GAX~w`uVNU7g%m2TM7N-UWtda3yH9aQ zm!h7%>QID><{sBfI!Jq{B0juO*B^4*rPnB()H+EbpO#YV-?5w{%ioy)Wd8^0ASuZI$I*$LV{;rf=(Iy^^s81 zX)5Cik;c*DC|@OFB5hOWmI3a!<3VAyt#4^+$YFB_W0$ioSWL0Ll}@zo#N)h?<&o)a z$>7F1zPP}M-TMjv1x}X6u3(Rz*jqWS*5z%EpcC!NkVTzfeSr3|LLC z(Bf%UT`|rcO+zAft!%w3*?(Mu8tIy)ofj(CPUNX9a?ja7&q6{X;P*3d66h!BL7Snc zr8KoFL&$ci8i3brH~kz_|Nq&$4!|g?CcKw~-g}X95K3s5yA%karU9XbB!D0Ym&+wN zxe~6B1VKnZ1Vq3>6QviCDkvfdf*>jaN>f0kN>v1;2!im>ytliz*K&K8LikM}o4vh# zZQi_j^JeCKkDoxr3AO+3L4Q2O9F-5M2yl3UHs}8F!FwE?ooX@c%qrH+nCC+Rb7>1G zQlj^AI(QeU6PK#A^j?%tlG7hiuF%l}4n$5lbc}p(JKjaAaa@# zZeo-P|7F~L!1VxG*tqi`E2sxy91xfIg~=8Fa3L*;LWswFi*&J$4?a?#V-~UMfOpO; zzBta4Eh6fHjKZSl5439ag+n@PdE!hyMU-qH1FgDe;ZV+|$Y+)DY%NJq00RU@6hP1v zJziCO5)mtMJ|@$)*nHqT?u@{GMm$3~8C7(T52bLX`f;p;I|@Y7gzT@dhU>Y2u;em! z5;B|*e2w6CrhD2{pD2G(X&P;^QLVR+OpY?Z!VpwKBN4-1=#wfoV=fF> z+*TjkVm%nP!aW>#GLp6KbP>Qmb9u~@TZYaXK{<~U-$MGJ&?xJo{JfHwW@}Gl4KXn| zQJM3J$oAaIMYhsO&#^2ehM){+}a5VBh=#{UY zCuAhZEX%h5x@0 z^#3V>^J&dLHi$&|Hq1p$K{iGIU+^T~iS{v+g-clb(#6p>j|&)1*4WU1J}ms!({c-? z-Dqd^xPd&8Jdx&DQvMs+`KlDsLV|Zx6%Nt(;+}oVS^ZRnLpp1Dg))$MMs!&I3#=^E z_h!-Ql*TN($Hk$&O0CI|%b7*4Tu+{PLvlA`@tx=)i}IE?BL{AiW`KYW66$5tjMgaG z)9G?mEVxXf4JwNcg9E^{1-3nmi56!SjM1AcaH=3!`&4kM9SJfMcw?;gWUe5=nPV|} zWs+8%2+?pO;rutKFmLkYUXIhGt1)OJ(gGHIwXp@(PR$+H2d6BW(+tUYM2X(Eu3%>* z$Li@gxDcpansPMMlF~&vTB*@u*@Qxrd_Xoqi``D_)`oGt1~_88!HmD-zRV?PNvtI| z&v8h6rK}a@s)uwXzDEHGh}aN=k3h`5EEp8M_r}!gDM5*6M^qS*SOSwADV{_T4HPQa zI2$h85|9uLnHIF$ zpDTw{-m^K*+4!}mM^TW1_H`g&nq4Uk69)SV5PXds^m%6q5lzMVT?rc zV->a*-b~({ibNL>)TPTk;}k(h$1P!LZZ^udKv4V60WYSYzjIl}Bxa?^BK6azXzkzCjZ?FF?l7fdn{&NNnuFCfu7LQxcjFZ6KH)I9B(1;|GiI_MS< z$(1w#8?uHPrC4_323Fp~t;I~r&@`g?ayu##$mxe(D9zUR5)4FwwWQeglCTgKo0d&# z4Yt92+z6mTrW0A5!pX*5@F*o%f>xtacg+*oOqhi?L?a0)$!H$W48e-&MT4VI>e~-Q z+$fkQ`taKYz2T{6U?3)BnPB6ijE=w7?59}0IXKAXL*8guIHF7_0u3oCa2hWi&h*}u z02HRus`aVnG@6RuyGr$RrWX$;PSy}ZLcNRryon9t*ALvB&{v&-&pl+lXQ{E7{uZ)-(HB>QPgtsXA=;JF|02y`n<({5^COI1p`+#3+pv8N zjpxJVn-X`&r?A__y_qI4IWmrw>Nu*Y(ABk+nR>;moIKu&o9kN|BK4oj0kr_Jy6|4tY7Q;h|few!ot|4f}ZU{3f1DJ9Odf{LjCMP5m_mH-nNEh;lO{$$b^4fLxKIKZj>g>4=`T(M;UTao+Q zQ5-K(Miy_Val;~H`Qdfu#3T8lYzvkW|dzJ;m+cu7sOgHniF|g;kaTk=*&XFhsH)MM%u2ne)xWn@jy3g5SBu@DYh(4# z?L1c@A^_U!O=b;50T`g90;GPdiG&5C2j7z}0J#GTD>TTl?gf3aMg_<)uqzQ_2#6H3 zvN$$|AP8Y8Hpnpu8&iOdW0wvh8wPW&RI3CGAlMd*x-&l{$T+pr0Gv2!yyd2NGPRQ} zp>aloN^LSxJxwftk4Fqf+9K6ipqVhVIjthaXwU)lkzn+*kYAjBM?yZ5)M~vnomNqu zT!8&XLs&dItjUH5s2#EKDFD)xhE2tDpM+A^wmWHo;ZlPh6g48TX)KIzBDM-$Ztmkk zYTy_VKJEtR4PbXQiN{H9Ej8d+$k3S7wgn0%cx%4gidSF-mBpF}m>XnU;Pm!nQ?f0& zX(*5Z&&wh)Q*@iMRRGvk{Xb4^TvnL!#@tqDKEUAN$zBAwyr7i@LObsn6<19>s-ci{ zPoHD+jdE5X1zY9NW@?F419qLrc~J;JfRdG+0dRWcriUcV&Tf=Di(_y*MT)9?j6OO4 zst&7Y6Nz2ScjeK^iWpZp{q(l8Jn0IDRS#7G*f$NLoflDHY5*$%#&MFMh&=R_!>R_< zYBMN_s3y^VXH6NPsKOUcj5Kb0TO@^`zYCE*$Pgk}xe&uCR>^kI)hFSpaG%8_{Pc>F5<2C`83kM!it(pE26Sw^m5MmJO)*=TC_a~ zjh*y$5yCH&`BD}!y>JA6sFc=NFuxRtxVNKAQ5oNM)hYs_-)iS^&QWkU6lw%fu=B|y z8$M@>#Su-F3g~jk!@3A?;5%ssggkQ!i0zDnaQ+!!^H)<%f*J^=mUL7rY;wnlD6moE zfe5gELi-_BfGh;j3QQfsVCfJsTHT5kx1?ix8>-|WSTuStz-i3jA@$5h<+e<80YFQw zMLX}g0xO?d(TFX?T8F}Geyl#lPB)$F6ndDk?B?(9~>roo3`~PD9UAqHNlc81&yQYk(}JjIrCBMGWg>`RiHeR$jDXn3 zQ5JPR#hALQBKY#eNA*Tf!KR{#3W0)bgaWAKu@HBQk?fwFT?5R(g_EFCkDkaxg1yXefNgC@3Rmsi{Qm+&|9~ci4eYSUZ*kSc~ z=mK_FFHvH`Aro4QPHfbf!)gUrtKiwdENCDv7wAvC8Odq@U4wI{qyb~pMnjt<*lPm^ z66XU`yJ`$ZB8r?joHvCmv}}UTo=!vJp0QmcEHgp1pPg+ZY@Pov_Komu`M=ya!nQ8{ zzq=>HAq1BjaL;A{vD4Z=BN4=|<{qK%NaP$uljOEp!2Mi_Mvy`KLMp!PU%egyUWYQstl7%TZ(rTPQMSMx+miYXI*tq;XFcQ2jAniL{w0*xZYS z*iwNop#;c_Yt+nQZKuGvAYoPlcFvvPg0dZU5Yj6C|N9?ur;yXQ9+3;QxC(=xjykn23Dg0-Qm5|JIQKbDAWE#1w097S zWL&e?^2Aznu`0qjRBeO`3S3ulsLp$b4FE#NHEIru$b^jc##pv&dKhe=?M6o29Vk=2cPcB*Sm3T zT~Ls{dN{sYLm-+)m4-1-N^OQR%X-QVm`})tI~?;U4Q#lO1hUx=|HiR&bBsE}`rH{0nW}u2mVYyiG|-wKv+wR4IZh^3Z(d8=}L`}4Rr>_ z`Esrb8(?MME38G*5gr{PUEIWdQ>Z4B4CBA)eV*f`oHn0e0m5mUBFSK*AG^cp zH^Ass+mO=-#P_C)V5on7Rof+3BA^W0(E=`~ ztm5=+U>g(&0{;LTP4q(M41V^Q(@F(dG@LA}gY7e3@BK^WG7#*yA#OZ~2qzvqLNtmx zR-hc|tWo*2&&)|1O=ORw-E`@VcJFe83EG3Ir1(H`8|i@~3>TM>oHI2c0~c0Lur(h9 zIw7^2cq0LYZJ^pEYsf^v3x4mHU6cO1W*SyP3;3rSZV!ymCnMa@Af+h*kv~LsL?XX? zl-p&9p$IJe5VzfzwPA9622mdvs*sGEwIG-p0Cvq92ml#jJ6dqMq97zsyXTzk@N>4H zbvs+;GVQQKUxnPCiN0206C z0(%3BIvR3B_!9W6P-Y+7CXgZL6|@(PKgc(1FVRFt;owz;Sz!QY)7uSXXH4dH3^`i6 zczI?^;V3v|My%FC-o*tUVFuW=261V4stZ|Mq0tra2q=hp8Z-kqs8CxHkq+)2fboE$ zd9YN@sKhp&jyJJ}Bbp(~SHeaZQN^laED1$4k4OWd^^Rmkt#N#=N>Xzt`MWaJadw78 zVNc}S8a6hCZ7_7RYttTS8Nb+dWiyPi+6yW1rD?DlS88Fiax$LMMFowQt7h>`PW=L= zd}NNOG_`6Z$VBuz3Wo#E-f(o0y)lvWwb%TTXy^veV|HAV0*~A=h=WN)Y*jrml;oc< z!d6B@gcXcqrQU2BA^Ol}Oo(iyh28+Gk2MRiB*$&I!eN>S#AY`{+vSME6iJ`U0nOa- z1Un1|+K3hym`4+x4buFhUmrLji|{zeUJ}NgKY|dmwNjU`G8Dj@8(5ad!)W;MKdWt4 zwASDtDyeLsTu<+vuzUUyFGiOHxH~-kBC}i(4_9O4bTZGT6E=S*^Cxncm0&zM#qzF@ zZ~4Tmu;8kSTnqLD`~y)l*iKuy<%F{01iYP72<8rMok>WPNB59Rjhr{Q&^{2k3?sX5 z;V?Ro5Ujn1Vl3I8Oou`CcuoS$RT@)k*wGBf_L#(MrX(~IX)U#5qx>?N+EE5q0bXwt z6v2UR$Dd2h*}kG4fG9ZFW(bM`w@%?Zw@|AeYl;9v`)IKi0h=axWSl0YEdG?&uP1tDBOQPIIfC)w5#Wqet{|n@EADn#r6#JC?AJ}y^9Vnl+5(rl@cjTg=;een=!B{ zt)E?`c57p>Q$f8nCb-m7tes~=JdoDbme|_lT|nXU)>Uhptr1~rcKC_t3AZBCi>9zm z^I(r2cDr@VTQ^*$0IX!bm@xCu3PiRPDY&p1aIgYyBmn)94a{;YyxZy|%W7U~FU|k#C8`U(vO9kF{ zZZ*LXR0MVMJ}}uv#hRiGmI6AER*b*Pmd1#A2zEotO!j0z+1?rFJ#bVSl1v6IL|ft> zN82o^TYmH_MEAR=dVAzut@rlY*Z+S8WV~#1@o2>;TpO6<_ z_FSw--R5kA2UJ|JtAmXw5WV_vXISNSj?m2-`DIXLTg`@3c+zR8TENtWkrcdLp7)w) z$l6eZMD<>);A?JFkJcD0rUXqAtVccKJJJL;d0_;Aa8>RLSchI#SC24>Cfd}(ta7Z0 z7j*krxM4*U}VPrXh%Rg@SBT9E_ zb7b=crxJwQKtr6CK-Z2sd-F;D*c3_S+-CK3LZEE=nC|R%70*Cl6&n?oYbPhEVGUs) zTHt;$;n2%qAs`xyO;2+V(T~V>xzqCg>wQi)=82rWt-JUH1Jin(rOIL?`m0t0C*xqu zx(3|3RHt>{t!_0}cM=M=4QU}%#dRnSWnFHQcBBE!PfER5PG)oG19H$;gBB^&d9C3% zRLpoIs%T0f3%hc02nC$VkecCbbzkUKq-UHFOBWf+0a8azTrM^+vh|>}!zD zX=_{z5uvl)8jlPN;LN2iPWst7XCOX^k|mFULGCz*H9niDO4lz1UEJcs3B_+2=OS3? zvQEf1==vASHTbTO2kfE`>3GA=RAJPqh{!`Bv$zgX&Asx469P&{unYq@z3Z!3j7))p ztE3PLLJ0-8Gz!f+hzq1MNFWPXyCFK#D56j7qd^hGpR*6RsIs$RmuI0GZPBGC8aSAX z*nYA^P^kvN3BhWkSjmZ5@M4pdIw+#RKw}>WZj(QF62uM(;c&l+&L3|r*f){UgB9o{)yCzwHa?vCnnl)Xw6|^04fB}`jBGpA_4JK+6Z0HcP zRo;{K3VOq{(4O4dJTjUK{q?ZjRv$6CNidF46gGe-4YseEXRUS_FVP!nYL_)2Da7gk zw^wAZ+qje5*($Asf)xe0bv0O!SaP|Y-8^b#Z)H**&aK77yt!Uvce|~>%V}o99%B^*o7?TQjsMDS_FM&^hjI`3l3TM0 zz+^%l-LLNX%@bjmx9}km6p(>b1HcuKjOtWaK!_BD5g4LE65x6ax72`Eq9G@+!a^Mn zX0<<@3tj`C2*kc*Yt&=ovshz99W?8EMRS(_-R_K}s+qS$b93muu+g`|3#}L-E z$f_2?N*10*AuP36k#LTx&aOoT(zCZgrPSt$@zFYmiZ)eUK_&s}jqS|yG!-}3qls_0 z3^4uG;*48v2d@|r8m~@KgH>KM{E*H14XutwE(5SZf~?dM9S>G(X0sAZ%;-0e75s55 zPFM-*0d0drzw^XTl#d_?S*J9U<|tDUk^$T(&~(A_!a+$yuI6b=jvm(#tXolL%Y5ls zwgwyp3Saiw^?>bi3In_CXlgr7y(h43KF$>1e4#HDB-9_C2ed`lh&oyWpj@20+lH;g zj9@I=fvcXTl(SY^^f`k><8%@No-Z8*1nQwQ#TnozysSvTD;TLZn?x?rgkWoe(Qa*_ z9V(DuE~DK7%U$X=rH3>n8&noNfgY{S94MPDyTbeFq^44YR=}#-sd0tgv-t+bCYEaA z?Bxy<5w1;aY3bF_cRfdgJY&^5=vxotC;N-_0IMDlYf4Bn7|kk+SWpO?848y9G_Dw?*<_6hwp@byjti>fEoV{_ zTLd+xq0>(|%X?sI$_LRZW}XDRGB_gy*S_A&1Wt)!JzfdCqGZHSVq}2Xh?Pke0tlpI zk3Hr#ia|gPzJrIBfO$!y0{f)OkgC^=QRfSihy(HIiVzMgp;%<}qewDDK${2{8rwv> zap!C*^u+D$bQ;anh{zTQZ#Wcim;%)G7N|zy=^x^IFC$4 zixA5aXtj4S895mYj!P$JA}udAUSXqRO)SJeyM&CPmM_t=*vZr^oQ1ek0NC6G(R`#5 z#G*?}#Em~AhK>*+&D}QLVY)$??#VF>PIgq2sA6&)gS~0lS?`FMaA<`*3o&&N6nx9< zglrtahBL`XA@oDx2wA>Dc@nHdS+Rk(qW~$O)u|xR8N#@T>4)@(6XD^OLmWmtUu{rH z!1yYX{cY4#vM&fXdArh z%UnXN1?B;_Tm-t7&H`?4=vTHg?c*w7W?+d0em1&SP*6ZFZDczLO5p6DcKqZ_Eaio$ zI4AAhm_kP+o3*e$u zBPqEXcOI0c2KoV5nE?*`Ri}gB0=^_uDRp3&EN~h(aFX>9vDRRXg14k;VD3hN#2a`) zD#0FNtD%V%Smaz{lZzHv)g8C|<2due^43{Ehd8eqF7+Vz*%~ZE5RwTQtx$>~1$V9{ zFAwv&=LZ3H@q7Mdo~uNTpeV znFMr`KUC-A3=%GQ%q9%6j_P{?88A~A9-i{p+VS6nKb>?}ngqTB_$$nqXBD3jt&XtKA| zVALtKXnsU3+F&G;7z{|*1_I zYKdo}7pf-9&nuo#I3H#fTAYKmq|jxMQ;}Pg)ZK!LS@m|l;X2N4#<3e-h0u@Ep>n%I zy&BV^MYX-vQKXg0K^n2HI4vxKISU%>MAastb(-2BU7PovwUDfK;Vg3yq$WF+I}vwD z@|m;uU>zU|hn@Koz9mb0G<*{`p)>oj1Hm23bt^I#3FUvM&i&1atYzMrE#312LU$@0-cYc>imo*_$^=xPc*+X) zER#SKV4Rp8xT)xURm{hY#qzPuXdz}aY9L~*tImCgw%!x8CJQZkBGQ-zC6Q&hh%~$t zQEUQXA*_z(NipJ+(1L`K;V#PIJV1pmG{idLVlpA(%mjz*ij8966G(O7Gd3jS;dua- zMqRC`ha)T_%)=+JX)EZPHJ@hh*RX+&Hp1wbk_8c%%zJ(u)Rd^`@ za9$QWjEJfWY9*Y^YEWtDAx}wabA}q+6@WZR5dJWb0>=Wlr{FlfbOVJI^Nz*r92eer ze4Gp*lbN!Woi6RdiHyM(5Ua#P%!SH=3kqT`zuBH`XpxD51Ugd6d%*2PTnJ}>R9$V4 z_s!oJNGGF*qhqY8pD`H#Zu0*qCBz{GCW9p!ICZfE5rWk1+>uL5A|aeoZB7JyBaw54 z!y-3{aS5L>xW z)5;gr11r#*?3}&MmiKw-NAOW#1Wta?f(z!crAa_zMPs5XSvf}9N!nb|ynq|Vwg>{h zG&sKC#sZzZm|~%yb;5Zz=-HWP`4$(Yxt6a~ zo&vI-%6!XL9S+Kc`B3EOPXv+99&SvmdBP0_0!i+MXHkZOI%_-j^Fb4JI)PXlO3hPL z%!+KUt4SGRo=LC4sYpfAEiC8@D^UvGCF9WVTrgEMyLuH#c4RZ7!C(d?LU3&wGW11z z`ODRkYh@uWdF_k#L=d@EiyWd3?MowjmZCg8DIN7f>j~-L!~quq8AdQ|3K-WtGX>hO zFTGj5TE_?L6LH!|q6EjnnI@T@?a_iYJ1#o__-BmTXlRq91b|a$EXfC-V(TIN0ZuB{ zgO!Y>1MDcFQ6^42*|<>a95Gs{0b78UK#&VaW^D`C2rh~-(gN}5YNIR;_Sb7nYAOm5 zzm-L~M3n_0cmy$xBp99AFY|-WF1wRGv)R53=Pn_7w6sk$JT){DiwM_h4qd=(ROgEh z=5ip=y32-hX3A)#St-`kgF=o=Cr!qLGU)(Bm50r~MmV@0)Mh1|W{ho>Dvd_i#U_A} zQc9yWD(pL@G3#Yoi`MkdINOO7cju^KQx3#0o8g2S*wqK8zw4!;uPEezwFCxhwW&4q zJXO=d-v%%jSh7MIfM?N1nBffoic_2HRwE`jh><-*K2pa3RKBGRW28{}>rc^K~FT1t8|5ja@2?Wmn-;C9j_ z5@)h_R)S#+!w8%pAn=j)U~;FHT~>J{E@`{$oV38!-5kjIkgN&aPU!BMm;kVOAc(kK zFsxi*k4K=N#ClW{;1mfE3rg5Hm=#EN`GLl)F%n^I!*L?k$PN}t$dh{J;YN%vpOjBi zkXu)2JcWG#EFh=>&Yie%E5DAEv*SC?ndI0rV*5h;p_a&<*0U3_Z8$L%R2Oj^EU@Mw zyb?IOpimZ@6e`4$*n}LF>}>BF;g2HOcQBK9-)&?X!XDwAK`_M-$~bPb#BpGi1B4!~ z1PCgS+>zRl%aa~8S`Zk z>SkiLHb)i>2+?YNvQlq0*`MleJ8y`c9Kb%to}vqf*%I|6nJ+>L2VUW>V;an1J2~h$ z(+vAgYfy?gJjvY1$CDY|*txyvKxcaiN0!1UmYh`>kHV&+i!8XM(cKc-Xf-2Qj})r_ z*snRo$V{%?R2`z?lY1sLB)tUdELZ9UCrTq=-#4K;tl!8P!mh~fOrYjf$#c$27!^qP z$GVSzd<5H@XL{eW!%k#HnxfG{PnfvF-^qD2*058E-<1N2w7OH{M8`c`B=(IUc@#MR zxr&2jkpfU3pbbG8N8~;~giRs?WH}c8zh`Sstni^A^g*GCOAkaIKy+~uIM2-LO0*RM zYiS556P1+o9>U~VyS_MqX{*|b7N54so~khAxs6PJMS|JrMErlkV@V{8kx1ibhPNCv z%NQMi0nl!-*G!xnD#^Q`=A?tE1=KW@{?ntveq_DlxETi@$Ezur9?Z8<1keL@BVs5Cmxjo~qwiMFw!AA z3O5zGC4<9SfX|(fp%9&mwgu;_Yf)4qd5sh*0uhN%0aVg^3Xtwk7uZ_hzCfcY9Y#-o zi@~h+WaLCp(I6d#358)o3VW`%_Xat0*$@I0Y81M)!9^uT$XX*$22Y{0j@50J96I6BYB1R;f^a;UePI6=Ti^TE3Gbxy_sVZUR6cCvtbV6Cwc_r6jLnD^esN0Fq zLfle4m%)lu2e>MPz@mHiykZ_YTnXGSDwKkgE-9wA9cS6Ksb~z|qSPUt4rOwPC5vZc zBPOZ%Oap7alAWXZ;VqMPQ)(f01e4hcQ{rnSetyVHDQ&D(j>#e!H7@SBa8%<3$SI_! zh{i-l5&#lGK!Qq5_H%mGi^Q1;L0l?`>fs|sjhfUnGaLVowz}f+)Da?rl0ZG6rdDwR zj&zDw@(oDNPBe560`>v^(tff&bJH)7g33d_f5A&}Qjki--=} z?)vW$-$6B`0jD5N0sP#SI4(DZ!ngwO7#Nt;0N7!d#vAjJgUP{KCw9Ha20F#+&A~w& z+AsMa+FpzBCImhf=UQM9YoH+E6B~HC+-L+kBZQ1uz?JB};SS41ve%B9+sUmfccjod z0WM{l0&bkV@3~egATEiW7TN6%Z1A+q z?l{)IXw-n%S2KwSVEquBf4en&1JV@!6OdTCKM`hcff%>4578RHF)Hw+Lfo#?$ZFn# z#ig-}$8Ldk0Vowf@hs_3HkpXhIpkUQeV?a(iNQX%E5o^+*`Zf}OT6k6+tP}=1YjaE zWrCs7Tdhwur+LyVsJU2&hL)tKai+jlEPE4A02^z{4;2&LVxTf4=SzsZgEUJ_1JgI0 z=obkm4UF`}3@I=OC~-WHTmXj?vauQ^Lu5{jk|Knq+W})8=Ik2Mu^mOly69N5B4lOc z2#v0fj)CAng1=1h&oe{;6L_uw1Sl|F8(3hqmcviGcI_DWqi7c@7yiYs@P|=^1Svuk zLBTlsv24I{3Z@dohH1&Ge-3zCa z87+7Qjx@Sof>cK|kqTv-uo=h2FidZWFS9^e;|y2US*EeHoCJEm9z0>^lbRjiUJAcm z;g?}5lY1XpZ+w9DCqEP53eSD6G0?8Aui~rt-};yRh>zfBZ#cvB!<()QGolpUus;C| zlj#rlBN(PU{P_Uh!|I6skupqa!ONxLa}U9187^YrbG_%_0^gC$q29tDDU>cVnv5!V zNb1%VZZOjZ@GJP~3bmIR)esy*>xy+o8Zgb^SMbx7VIl<|$?bh;7ye+~e3%kUoRncs zlw_DP_z->qn!}|U{Dt=>-~%^5kqJE`C5(i;g>)MoB9qI4<-v;f_^1SfQY0F__J4(8 zHp1UWc%J~KI@lMBZ>;sDed#|Sf!PT6*meHh2gF9h-(B#zHvIa7qM3v*!w)o5QmQ)C z7mNHy63ose(^7|5B}mk_scM?C3w#;C7C76%aW2zMG0POGHH@Z%ysyxBy*RE zgD0oRbrQKokn4-&x|>{E!WDC&d10%|FiDVe6}XmU>cF)u(*mxQ83nnvC)WsajV0Iq zt~Y2YYu z!MAQF$aF2kz5_>YX(2`&D$U4Lu%(H69<5QP>J27XF`2kWY?*NWFE&(dOi&v~!=Z!x z_fF?yF0t@Spa8hv&9K*37SGSy=~|Es>?F>1D-1R0b0`3RE}vO{`gFsbo@=JRx9Z;D zYoi%IsYFuRSIS6Az)h7Z__1Q?120#5a{UCxZAoM>_#B@Qp+EtQ zBjA%qvo8CLPkpUHM)=IrQ^UTgf6Ql_`ZH<$5raF=+548d!IbxQcd1_E_fNX4t)f_8 z?r88=e~xIB+GcL;Yl;un@2If2RAAE+oqU7R~K`F!m~F{kg0Y}u-6_jP;Jt?uqAU1Hek(h^qeHo)2>`qUf* zp=AKW9+Rn36V6IZGa52X5_qo^83J`BOpQJomC;}_q?jQD#+Yt^of6n_Ot6HJeYsld z^jn!U0#F|bU*WzR2>OAIH!_CFPLnX%Npv0rplW3*ZuQ0;6J(oYI&O^yh+qh@BT5!^ z_R*jr68uZf8UojXK}&aIB;k&JVuTSUfapCqmy(VI!H$e@YIvd7mePbYwN~4P<2P_K zq(jrFVa%p@_yD`lvB_*;TT5vlg6;`5AI)uI#eE!Lsf9@k5knD_K&MGg)~Yjb3kGM) z;!1`%SZdfb7~7C$asCPx8Ud96tuzS`60m6)*iP$^DaAl#z7~mU09C+(lTjRT4WNZE zOce=JJ_sh4AO*}XVR8k-L`ay9_(a|Yz!a4V_y)d^DO!c9!$L#V?G=h-bvspP+Z1(B zScqJ%3JI0V)nQ>_@L3t0tPE2#Of3mh)p3*qmoxXOGR&dD3lEMpN5b8fQs@4(+ARN;HgA z>pLa2Yo`o_nkw1{hp6RY?fo4Kqk@Vn6Snl?SZoQu_!AcqjsK@B<0lTje|qAWZNI&? zbWH#0_r5v&cI(Rh=J^hrJ-_Rj)$<+OUL93FF(Ix!h>$7JC*9ber2gXOIKES zB%4r4GdRe9(ubv*ow&TI*&F2s2YgU+bM&u^CiFNyvt(S$c|RwSm&0!?C?yl& zyJYz70`G=`%u&L7ufX5^(Ee5M{!aML0Qvm`&yK_22zWLK@*V?!XTaZE@O?#i_j|a{ zf;_*4-`0@Fa(Fi!ez!xqIq>-sy#D~+3x)SDKv^%qeGVuU;Sr3HNo6dIj!`pu#tc)j z0sfALPe#VXXvn81MhVaKaBpVf;2ytGlg9P+K6y9D&Pa;WLE%_HGUx=LJ?AyceoQ*l zlh!;FG7Q5eS<8rFGT{X^qk@-AOgFg8AdR&z*2H`ciGy-W+z%?PX6zG|gs!kl))#7E z|5_Zh-T;KwK)coO+YOR+v@I#^VkZcx`NfM~OY6cr-29=ExRKuh| zQCQROAhVZp%gnZHnoTT_Qw7;tSc>5182CjRA+7X0lMW1d#pdw%gjW;!03oynjud$X#i3zmAq_*GBcqbY5^PdgU{G-Bij)pAOm^s8E7Ee zJ|sgER1>p)6%)mfJg|D$xk_lM2I`PXKAE6IY$Xn^Ztxrl{0Ss#?O356kQ4_DzG8&M z4$TVhe}x26F10HH+<}+caxe9RRN`q@5d=y!7N~{VMnDy?1>A5`!c%)DH9_XcVJav_ zBcLftyD-l(N+d;Ln{|*l+?v={gkgCpKp+d$#>^nEAWx}*=dq@kd=eyY;wrgG@ZuZr zVq@+_+rcS(Z9cr#l6y@kf1EdcIlSJ?+3P042f`u$6}&2S{;IV(hv6ljlmmd)l;Onn z&d_tM=dTMJEu>5tn2+jm^|$7Z`C&&?hp*e>I3G=V31wjvNGB!m3d$)n zyn>SrzQM6;U-$+mt9p=BCN3$?S!T$#JC-J_DGn@gbAb+$%3UXQJ`-%QPb6j@xC@EG zg(Z153p9cWKHNTuZD$Swa+p}rZ9fb3hU5X5+?g<zO)x0`>{o?Ubbx+iZc7;|3dN? z2SUzPeMU%Kp>7iiZ_x~spf)%)Br}7E&`1NL8gdZkVqbuXX$lIK+;tJog}@LC1|7GD%c!N!Yaq8oVJBh0{!eAd^UU znHb38GS@tMM6qi)T3cFG0F^O-Q4|(Y1hEUMz_$t@yKpnt%R%D++zVG(M#E@LGORKs zot@`|Kw|n-0wl)Lg`|fp?b5gE3n%q(v_o(!E^D$Dv&md0X&Dc}X&L}!u_n=JARx`U zazpBcOQ8!SEy0wcRHaF?z-vHPZK)9P2a$460G^J6FG&NSku7ABClX?1k|smmU?~|b zz@(uK2f}d4FlG>fZGZ>}w1-uJPg(>TOD0t&3q)`XMql#ha9A_4 z&1j`jgGMe$32s*SsI{m$_$KZk!LB|&+^YIH(YlNjSzs$lb29tM9t8qHao0gpV&;R}+662qJw zZCJ-Y@{ig{3#9?gfsdNEkkpSRUtwPy;0}}D2Ai$@KiI2zI;Bk^>F-9Y-@xixG*85;B zf#VDyjv02dv(1LW72_l|2Iv8`4vY%PkUMLx371N0qiNA;ZJUyBAZyA)t{T-gg5`CL z&IKzbiQUA`6xdO4_z~dvBsFq2cr0X+8o*BEBrAwH;n`g7GDt7%wa)Y6Rjfppvoy@iF}e#Ky-&w~&hWB9nY0f$CQ<0n)ZsWjnhnrf-{4J%!2TSc(5xiEI6i4h1x`3aG{pIZPF!LL=&o=pe@!~qQ%3S_zW_B-gMq<}D-n^+=Qukz)*AAci+;8*i4WD~( z{H=SxO+WU-hHuyGdvHaOUeo_>jI!1~*^}`P%nc{M9b9JPtSkLT{(k30%WwN@mZ&J5 zIP|00v)hC9&H6*!dDf52AFK}xAC=_%go5w6Th7--KMx06Z?sn12afPzh^-D#L^&__ zlctQ6dJVa>|Bb&A(&*X_u0FJ-gUaUQInt#E{660m`~sk%aX)^gLg02Fm^y~THHL|Y zyI4>P`@-i~xORhk{Mq4m<1u;;(0|oGvj%yF7qsu;53HVuE0cU+FVXN{wk{XQ}QfM!yWJ}@B0ROb4e53@vhn6i|IC55#+)7YFt zY@D~AeuK3`>l3$TvM&|QM@SC?p$*n^G~5eYgLJ2q!@p8^KNC`552ERo+Qy_%2V7TE zV^IdAz(p7K09s?vjzjyzzI5aV%m+Ej0;OVq7@_^vGSlI+f#iYh&VuifAa}H0VPERt zyJV6-_8XRA?KN8pQ95Ko8q5XjWU}cE?14n`6sgO#81tr5V`Iyq6JPq47}@;FAO>sD_b`xnoPxp=~H-Qh_%y=3_O`OFRu_@OA{`q=moM zTu_G4n&1)}-4Dr7G8mCb8~d?uA{SvTI9m{YLR*kHdb?|DH`2G%B9hGVypT`C&=ab{ zEMz(X&200r?^&*2p6G1U%wDwJspys8Gy z2xCHkC*<%f1fJp@ron&odnM$U4Ecw_bNmSdm$C%<0ImMWpC~7?fc~!Qh&=d={6Ix9 zPNz2NO~pU|ISP;%HyOU$(l9rWU#F@xUUFyptQkxUEK&XtREDrC!ZN<5M0_+DP@>m%{;sRmw7 z$(fNiWpAzO`SB0fLy|L?En8VhIjGVrigNNYC4C3@m8|A7AVE=0UIjmtu2y!C(v$}4 zEwe$ds4TCD4@*@m6|YX#!GVg32J(9Nq--_k5g>{Hc{BXpw^~DC3<%gd5?~7`nhD~f zBBVhOt}Jg*s{;HDQiMXxfg&Vy2z*p1g5*K$N4dE`>c`gK*G2v1Ig-XgLP6j8=0JoS zJTL2$Batv$w$~Y4nOU~_)^A&feo(H|cR#<|(Eo>%&#%ec)#L9b)x&P8t{?B^`^CZg zW%gH(yWM>Am{KP+Dy?D59pVU~Yqud+Px zKUV(Ym9wh!&Y{)3?#<}dzQdGL1F)fp?6-S$~H#_;{vy@8t# zSh}Zw*yVCkmC3)x^a!l+@Z(aw4V}Mh_vf6jX$i+FhHfbNLHofs9)4B#@9dkC+oo(! z+ZrH#B@8;F*H@8wFa z%@T><0C|GEKlfSgGdad>0njXynua|63G)kADDk_2eWUEkAzt`=CzMI&Wjs3 z+o#vAR^2~bv-;fPFS26ak^NfdYU=i3QQyaPAHVaDN?RvydpKzNsCT<&`CU44IA^Ea zXYbLJbu&vW?sV$;s0}sEAFWwDr~8{*hE0g>_HcW2@4*>qOEO!&TQyC!_RZN>dq4Ox zZGYQNV;Dt3$(4KkA`dj4|L&)aDqM~!wfmj-D=pqruicZGZ+%~<_l}6g_gXi5x5=lg zTFzbc(v{Y$)j9HsjmQ42yt?I=1@%4%O*vLBK5_1-y}jpLsWhQ`h2%MlJNBrQl)2R~ zOuI0oYxckOzpW7L|KsZ~F26N6rv389C8pfDW6-w#I^?CYzfAsce#ziH|JGT1=+>nV z=Et`wGht{`sj*bUtG&8cRWT9uN{(uB_Sl;0bC)!lxHI|8>c~M0PyRS-XTV!iLu*PW zrcSx~t!dV_(f^F`skO65|mB%YxP{X|`>} z65W7+v3FM<>p88;tx|)H%~!sgtsJHC+x2|druS})IC}rR*F*mvx9zz0ZB4a0OTM1G z?Uj9HI=wk}ea2@!9@o0k>D-}Ded--qGqsUy)J7$q*Pbm=53R@6xNcvW5VHN%Hcvw{whFGRx^qpE7VSz)ijSwTsPXaI%w3CMg z$wS-A+v6nAmV8veSZ+V$sZUZlK919Y4^9U@Fde{{TXXXtW953Xbtm*6=2Y$zvhA-e z&o^2W`CQA9SBJ!XxV2LKOcQfqE`6V}g)Bd=mx+3!E)CyV2 zuf6ilh$h+%3uE8An)c$6GYb+nm2JIe!^zdH){iN(;iox+_m8Ms;%dt1D?#ziss>(O zQ#$VZ&C#C@JF!>hYgv|1|c+6W6aty*csZ%bQ-F{M^aT zA59;2Woo}kb^lrtIQX|&9ono9e*UXZJ3kIOy4knWN1Hah752)J_b0Tz+jrobjY6C5 zX|GQnpRnz{O6%(QPx|i8Hs8r_{5|~U5Ak12f9JK&cQrCM9bP+N%Yo(rVNK_?@7ebI zu^+v)zMlW8)hT}{8@_ZdAol&?Q_eRXcC=Bi&hdLc8PuhT@6E$wUI;wye<6KXrT*PA zHs5E?eZJNwXZX*%YHZ%|+_3?@F1KG&>8gM1=e4&+kB#|l_a5Vzv&PF!&V12r{#Q4? ztT*WAiEsSTCsw{{&5SdDys&7)qhB|soZme+`{nCDUhj1|w#BMy0V`LHOPz3OT2kil zO@Whs8uZ@KFERoGZe7>y37FY>X4iK8cAtASdg|UXy}vrPA}Y{4`)~dIOzHEjs|_15 z``ym{f+wBYIHlI_?2%^7S{9@SSv*_5%O{aH$`4CLe&<|!JdB4Sd7WbMQ%g#bDTRBd1WR3$9K8AynnFz)$j9M71 z{A4#=9y~lKh)i}ba+4cOcJcB!d0*}`Om>mEO?H7QZl=p6f3rM$5msL6mpxaW{f<2Q zO`b?HUwQUKc^9rYA4$#N+=|1=8#Y*)0@IBe*t3_VN;k>U%sP2jJ_8?lNP{40eSz^| zI5Ehe!Ab=S*5R;x#bq-!vQV?7Oj_Sgppw})^{>e*=ABKPfT4z1}Tu zz=`s2jXhGgSH0UEBVUjIVdK9eFLW*?Yq8)`r{`82`=oxxJMGV3P5w5zQ|1`|+ttRc zoMoQ)#+~n)`E+af<+RG%m#;2Se!=y$f6`>L7q{%va^&-|s)l7W`XTe?{5J8&H zwL1N%!w)+`Z|Iw@zqq0K^&ft{U2((wfVuPfRP0pluhLV0Y`7<=_W7G%wK?>{!jEIy zm)%$P%YEzCU)*%^=NeP`$2=bvG^%;s@gLo3e*bjqaH(eAromIw^oCWRn)h@qQF5iE zWkBbgF4g*^l-sqr&)st~$JaB|7#Fi@^u?|%)ywt_i%*)or@pG~+{tH7-M;@<%_Z+P zKX-7&+#miNri!@mLaFy&>s&IU-vP+cEg|+!bYd^{705Lc<@J7GHg|U`3ahj0U0mjx1feXv~<#|MZyMaLvQ+ z{uAyly#K|>PkYTh|GOo#?jP6M&Cjac>&cIs{nIR$HvIGG_20`)xTfi_;gS5hU+)=b z&RBG+H#;4Ee_-E!UrZR(cu8iJphjbEM3nug%fk;2EFZRe$&>|yMh)!SBW73Rw+lwU zPAmeie4+trvB4m((w`Q=EM_h)wO zdOtj<{m#wbRT$g;lNQEF{qEQCoj!5t&fxI9AN@Mg14$JAIj zwOo&%GZH)Be!Wr4E$Pk6p6mBh$fomiuk~tqcgacpo#-V^eILx8-{r*M29x}IEE(DL z(aa&+_Wn6M`uBG}dE94I*8aMmy>zVSpY^&`D{)c!>KnDUuki1ysk7kLbxpI=Z~HuX zv+Yi4tA!ok|82pUZq?V`9{cJ`Ee2NFkUT}Za>d=nS6gf!q1-_E?KZFayAyRqMy$YF6WZ}{@tbXVH<@ZhSateTN%iQ~d{jboJwJYgcSP`Tm>D4wc)q;qIt6=GA!| z&@rfQhZ)PKc6n!1!-u~6KX`uo*6(}V2;bC9`PZL&N{sJybLNCnHyU<)xaa(}asi#T zlzg|u+zDfARqT1a)l&VvTeVN0GVd6F(6DxJ)_|R}&Q<=aZ21WrsvK3-2|D-IPiMBY zTQu>ceqOcee(z7da6e4*YyFCM`po-ay4rI3(Px>Fm9BJZ{ZpBU+Dn>zIC9qG-}WZW zAN1M3lfIkTcI86>TQ8cRd`r;&zldUsh@eQ&_%+wZ^ldiBo+J-phz$?j1>I?^XZct?h?SN@~_? zGwS_?>A?rzsTw}A#>C~u8lA7!3Md9 zJh%RU-w*Xzt5~Gj8Xhx4QRAw-_LYevf_n5C^JLe+=^-13mmgRDdXuR!%EQrbF6>k5 zub@K{wkW?y+B5mf7C($MciOdi^@hdCZ%mhNd*`z0O7}HQ)*YPmygaAmC=h&uIU_`w zY`VkB$BtM<#|S|Lp90_(&=?)uHk4SRL+Qs5{P>i`vO7t&x_*VvGpbArm;Ujn+T6SU zjMuy~(wtcN_=>Vj&Z`fvk4@{v(J^CPMy>#|DzB7 z8q>0@;^wKoCEwgKrF7_(%z7KI&Og}ka$xkfRd;?#-mzS=TUzGr%!7|U-}P?pUKG!9}pX@@(#GwX$)4!v7@Z(fBSzeHw* zUfVW7!TBZhT;vT)@5LzRU<30LKUl1B!Cx~5pm%22ie}(h=&d%$SJ<7M!`^%OzGHm{R<$=43o!^%@zxwe% zgLHM|o4@=j<=dCe+`W7=bH~>oENpt=!ROaUCJrjys((&&)rX%YOh0gEMAd1d4|MGs zvEY}XwVn)p@M5jdc})iPGT(@-{LO|h#_t>dSG#dTy43q?epb&nZ(&-@ZO{Z~qv^&`TcOq;bdZuluf;Gjni@&$s;RcP@QVP|xQ74%iU*c+15Z!P}FD zzx(r`u2*jznx8Uj`jeNE#{c?N&vI`zJKz3~Iz30J-ha7~ZqIwmmUjGS{J1$U&B|P< zJ96&52lXF?op|TYz7=KXOkTcYVcqq9krTImGGRgEFzF{vFDC!-_nj|ZQ4MZdX^gD> zpwUZ5eOPi@rKvTyDOXkb?%fj=yT3c(s~--o`r*d7i8s%67**!XF!Q{|rIn{P#x*eP zxOI*>b6HVp`P<=ttGj1jx&J|rHGiKrzM>py$XK2I-KsKc+i(A4-*+c+J~ke#e`o8f zk_HnVJ~y>xV*5=mocgB1fcaxyGj%9^XUH=}q)aPM^FNXEI`hJ5tVS%52|9lDAjS7q7LQmZ&)4bmC&98(u zD821e+n^FNd#S@a)14yfh~BEwx0tgu9naUMy5ipvu14*-Wq0{U@J{dwcI#|77|0 ze{(ARG9dW+#{0APeRyfe$Pyn+8xcO>!6D0yFW30oP1~Buc{4kv(fZ52r#7v6MbhH_XHyT|`{ekZ+3V^D zZ0=k(JKHjI(fIgRkKIg=m&xe-mKW^4u*5_h!rDhecoqI3z)c9J}w@rGz;YA@sf?WU& zT~&g2@B3`m!NHdM-5#ZGtkv9D;z-ZtPrf>Iea{x3oMu&5NBwzzf#S%b^1BAD*ga+S zsY^|^9zXf+^}*K`#XgKJ9UFMtbn!-u7m|iOxFi{PM?NEK^SVayY1I?L#(eU^XJZZD z^y%^Fm=iu{|&#j$Nxj*j$-`3 zg6R$0Ty6W`5&Oi79>i~su+2ckr`-GBDgIw@5a2%+N(^N&{vQM224u&?)5QNig~xyApR+*=&}-vQV=M0TP;zPaK5ZG`s<0{^ecQ^x-TKsoY*dw4kf zzq7FKg~R`oH-|5(!QLNe{{-@8?iWw-|NH=nM2P?QF)$=sK#+Yq5-Ro? zaW7&{&W(--ryL0?#sMtG0W8J=RO=9ylY_%X=~;{eSd0T$j00GV1Bm;Iaqnj_4xkmw z$`N+27zdEYP%Op)gwSK$(=J52E5-p7LaPZWQ;Y*Bq)agmU@;CLhx<{C1IVLO72^OF z;{X=p0FILs;{fVS#W;W*0xLkl7UKW{5eftc@MdJUHybCe{p#fxw^UB7@k`h8=6yey z_Q$+Z>w@;Z8He_j-Ma2{!@Jd5HSh1E>v3n@ig$y4x}16CMo!zCO;2=6ZTjlhpZ**4 zcumj?pG*EIpZ)6IO6R+`8aPvxvgpd)RsM5Eb_%$)Q4<~-GqLpFyJjt!-Lw0&W9x2K zN-%u2;lOug?mhTxX$kP^S%1(sB>cGpJ}T~~BIhsU9ti)kJ}>&H7zfZw8VT_d732R= zB*9|*Kg6>u#{VnE|0~A-<1h%_Vd53z|8WR|;xGnr?kUFqv(CVUeg{Ezi2o!h9&W|G_-N~?U$}>yVb8rG5();e8OV< zzheBqV*I~i{J&!SKSVppSLoMb{J&!SzheA9it=2H|K|)%*NVEr0}wdk3l`)5732RE zu3hTDPWGn|i2*hAGqFO5(b4&t0=D3+=qC zfbjoaH$D1KM`hc_Z|n@Ix_<=os=Qp2w9V~rl$<+xp8o!shz}F)Nz13_EPK%9jixsO zXZ|Ejxf-@*+|pxh7M>3AzxH~i(Z0WYQL4;~e^#yb^NJ%k4sN>9V`+&i^1jE*R5FY_ zvhGl)FLGjEowsY^zTq|Jwfbk$jHwYm*LH2}bv0~$+qoUvy?rW19dx_GhTq0*uJiNJ zCWlWSy(EiK?7R8Zos*Z|-gf7Bo8N;U&GUb5)UY~7mi&CwQtq|b31=%`ntkJ&_Pu5V zHaPIw!mcx4S~ljro2_=8eE4bC^;fR+SiW(=)5rfCTl4pwZ6@{k>%uQX&PR4VtM0IN z^v_jNSD9Bx_W|2MnmXUVqse+s!QD5UK(f&UjB9To-nf5GkA1a*su$s7J( z-{~Lye*LFS7l`Fb(${XE|I>weu*3gT*y8^wh7?u&Kd<`7E&ku+hYPOU?fLK9pM6%K~MyHw}Q6h1hj ztHUB|?wXr6ZQSJNZY3oi*wE_N1<#+|s1CS)YOZAHQSFi)RhRwpQS|IH^;>O9`1?Ti zKR@-p_VMI5R&%IY_V|BGL;F{27J1>`rr$4L`cm`Ksg)z@oGZrvli-Oe1pjZ@)c3ww z_tu7Nb*V^J!{`T56 z+FF0~t^H`*of>}*H8+V^_vqL^3kNh;)tg!>rDwY#{g~!ugOuN8S;}3h)+&2Rr-3h; znwDR4smh{}OJ0w-czXSrM=w;}dhy{}=J;1@6ctPDAF-#o`n8&`Zusrx5#t+}ZcJ)s z*d)y!^KqNhi?9Fq-PBnji<4_!ZGU2DRLh*IQGM2bTJO7oNuTbn(k^!3sX7%ZzFuX_ z#RDr7FRpBzU1CAN$MZC$FZJ5rweAZ!!y7I>|Hg(2C2s%LKK{^zS8^;rZrT5vrP;5& zUiy1ye5+E-AbFWG7s8dZKbu>O|0njO9I>#h#rS{4_G{J&%t|8I&qfARm?*8aQwn^|=m{uo+%MkDE?>W`c4n)z+HCA;2O8Y2Jw z;rXtg+#J6BaQA8#*RCIT`=e2VpUmj|b-kwPnjN2Nq&{s18bX#GTd?!DA>Te|?mK;@ zs=~0al8PlSbh~iz-4cTiy+38+sx`WR9=|MVTk_zo&nGr}^IFfUiVrIvpOJm7`BKxD zQ#yuEO)h%)e@>RJdBOi1vv%-d&iMbWb9|ui8*yYD99cupDdGorm^7pj4 ziQkd**DeBE`a!dx?`pG-WXeMwDe5c;)FAQ z{ho3??qEpcs&oFHzF8u@I`x~fwXQb}UiQa{j?3m}?)%N$e_@q&0c&qwjcQ-}{O~`^ z%&9%NbB!gMK6MQnhs=FE^lNF#=$A%^tkkdWj*HoQDx)5W~N80 z>M51_b(np%(Ii#G#@($#SHB(qS5l45ZGJQy-k=J?%!%_;FD|{W{Hfvoqx(+v zyIMNnJ#BMo&{;rxE~ zAIE>Q?|(R8D!(brc;5d2{})=^|M}h#PBL`T|M?CAnS1{`!+(S$blVo=KRW5Ie1Ftu z$gCoP|G53piH%(2oZ&y#c9TgK9|O7r`ZkfPM7w2$|7jRKY#LrtAtgrQx>${0e@$GE7$hf72S^MU3TUM!+xT z)eL?GKV2CnQt*-7-e>pB3Gp9K2=E^RSp3HTcyEGzVke(H#eaMRID|s{$F;sz{Kt)O zk6p&$KkkCh`Gf!1n#X@!!ejzgV?_yGYXS~qCFUB`s3dcj=>tzrk?SOKjUd+-$#plm zwuCE^fL!2;_>aR0{^M{+TLXvPPp%Q<8cVMI$#pQf<}d!^Jc&gjWTzTT zS-!WhzMs%a3-BNHYO~3#)F&&A$t*;mGD)kBFq@5bbJYS| zL_F}*@rx)!dX`a>n&$K?UAj`AWldA0ksqxHj!tH1r?8MJlK>MkTAgG`O@&kI`xuhd zCXN|i8Q0{m>+?58f7C0zeyh)ZX;O^)$i=5HOt6HJeYsk2e7hieMJA2V{*S#g0i>dP zAOBoyNZCSBZX_btTswvABxRRMT<*oqU33>)DO*Y#t&|Gw+JyE}M0>PqFO{@Qdy?{h z=30~9df#vF`}Y2SGu$&XXL-(S4g1`%dt$Ebot2AxHNh#W{y#P->|aMgo`^!f6bK9wm&$=JMzvL@qxP z4vi-e`&IU^6Um?ngtaGiqrt@1RFE9SZp}teI0}nMi{a5&TsmABh)g<_%AiG4IB)>; zNE&t|?aA$+Ts#h(jcksdASKMki$P0c^@1r}8kNX|9>^dD(^-N;!;Z7H3^7DrY$T1_ zF2-y^E?4-fBo1fUzFAW{ zXQb@J3+9{@p^3f1-mVg<(Xl!lenh46PVkBk$%h@SmJZ@>rKL1X8z+3g@obuP?b+c~ zZ{s!gz5lYk$!hvrv-Z<(vf- z8G+>wmtM2hqPOd-v31*PybiDDZSSx!53%<5gdL%s8}0A9T77WtV`t5@Z{hq$8sY*Y zGMxX|{?v{0A1R>Tp&>*VuhZd&jpOOiLuiOJyip~#{prBku5B#OgZTUo#gHC^w9b2h zN#H;nOa=!=`>}`~5)5Hn*r!4)CWKK1@`>P&mJ4J4>eiSU5dfUNSALl>f z{70Psi1QzD{-dzGT35^#l}7ZUhq16v2i@&#h!~j;jEdE}8siZ#%7;*21pFn1lECD2 z>&qsNj4EmSHP)6S88@8&i1QzD{v$8aLSH``=ReBc3t7Cvc6t28*xngsv_R5utHyH9 z1!nS>!`6=_Pmeg_l)vr`{btA!b>j`00ko8i_<4@*KG%9Lo{sY$asFf18`FP*|G46~ zDa+J9Cy3KhUP28&FHVxVwd_U({qDoD7R-Uf@CSbr|55l^iT#*Kc^?N$>JAB2w91ck z$?^Dj&-IEEGVX(xAL-`#a-z>eqC!^T(<&#*#%lK`V^(^t`+U6NxwqMV_j|k36dZ0e ziwYgsbozi?quQh?5!TCUdM6D(5^>@F=0yirJ>UFv_=nn?C(GD=O!W1u$WYaSLSO5~ zF>^jXae^8Hs0KH^~MIMZi%P9myG5Ml4?wM~7V&*#(qkUmir<0>{>h?lg> z9Jz9)$Xia%bqNbr{fLQjnvop`Fm5Q*%_>ca!Tc3W-e?-kmX69!93I3yvg8{~W zG_chp+c?_&Z~RB+wR0SN59ucy!8BL|=dO>I0Fe8Q_>acMCSCcD*zWJjfBZ}B^F#jQ zhnARvekpS=T-ZJ}YQ^g%t}-GMx38Ui^w8SoES2#5DKC^A2D{lWS|DyP*dv>LrRa&? zGrGy65#`62aWk@l9#u6p1w;l%Zb)o+ra0lkb=Tb!r5sjNP93mnU(@q&#^ByDiFO0z zKK8zRlks>PX{R^kP-em2bLSMRGsZ~t{^FoQf4gJB6bsW_b=#8*_!jw_1NQg!no(XQ zm!pxiPBNz3Ji4foPu2ksiw)!K3uU5<6lAo~FSvtdI z!N^s%%2Qoqc7KomINRVQJ*SVzE*CXdOZn|j1|LgX>xA+5e%-X1+eHpOq+ z2vqfn!m^jvI3!GtGhp!C0#|C9dvIaE=V&#{mwx1F&lMs??t6_q0&;rvIO|44&RDscW|>iUv319phm zChyywkgaY;+^tzheg5I?kr_Du@xQ`<{7a9k-|!!2>n1Hfpz8lcZg9nf=>(-}WyUk} z-(|7d1lKsGldPf+e_fEtid6V$xTH@4!qFS##T3q(#-ql5>nD7OkJb(=-$+QFf3E2O z)7~)Ztf^@88XnAP&2pj379<(&%oav!eYTU;7c<0@{;I5=N+557@g)nqVjKY1J#; zEa3lPt~vP2AT|QmMc{e}Tz`T4Yx#fY35s9gB)jwfvRe!N9sVDch9dw04alPh(;0ML z7eL?-?~QE{JZYf}S_sBeLr53~4QcbYr?>Oixb0qT%t4Z!0CY&>cmYa|9s-2E9`fpu z@<*k0-k*C))X5F(0RdQS8nQy~*|A(E97@=_tU=6Wr zJkI~a`F}Y759j~k{6C!k2L`Y9V497Yh2#7`9+>!c;_DWOAc%T9?GCeuXTo2r1$x(L zD5&geM* zuWQZV{J(JMcT^-DW@OOzfezSu&0#~AWI;!b69jheqNgFU#rGnA-A%`V!0yREL-NVK zAejT5y%kW|wMpy*r!xyqZ63@fL2EPXZv|FhMfDS$K;ZzmQ**Ilkj)0Z zBSvb(;&R%kjGbp72|{cH%spZkDO~WylmQq$l7mEnONE>fWC}7E^2f&YSbkWUu~Im~ z7RHRk_FCzDKf~tx(XrzEzphFW1TlaXKs$cF`riCE$;0`7e^bT&H^lzq{J(9XX97m# zJ9z3jzZEywv`M~? z$<$PRH*@o8zR)t%8@Oi!)kNG-SJWlfDc2#@E}Zv$Vi7x%s~^H)=mU<$j!gwT7?8m* zFjyew=%J>1Fk2>sqZF}Tx?%)TQE>u6#0T|4J=*tCp;U(-W&rbia(|Eo5ABT=T%JH^ z5fMU>ZWbZ{B_kkf;%4s}ndR=gOvtrV*J;bv{Cl}aVqKP!Zufr@b}+#1oV(M^!_WKf zOFi((59j~k{6C!khx7j?U#qXTTavaqONvDu7^s}qL58|%Ahu(4*jIg2{e>%gkM+xu&zoOyddICa5?K%D=F z^Z&koH`NbmztefL*>*IJ4WHL>GYv!y0}Tw|X39eobFf<-Q6w=FOWvct>ArEhFJNxlK(@XM{{!Nod`dlGKecH6VPwuEin_ULd=FCj1 zPPqA)Carl}ds?K1_qOp~24n8ep=}P!f2?@JJo-m z|0laVY{>LMgB5wRjtsRdy>ffY)@FlnapygGZ;tV|Pj>Eu@&8tw7`OKu{vV1O|0no= zrnZh`;Qu+;=-HZ~X8#-i&!gP^kw0V0@lBYfi{R016!#nP|4dM$uKYi2_jl$0{iXK# zA^$Ju;_QYkDLY0qn5Aj>7e3i_O1Y1DYU84zRZ>L-@1`!u>i&x^6@dmY#pUUq)mD0A{BeqgBGhwCV*!Cuh|zB zzFOMsX?tziC&yTCSE$gAdb4`+Jca#!pPo1kDVtll;>2##J!T76sQOpV8P81C+!16D zkzJH=+AjDq)0I^hJnhn;)G3lpGQpv-&!)cjT&1vi@xiL=1VvT7sjJsS8dffqvxw-I zyq?p~>WPxJq}fBFM^57K%5<+@%rBaeYaH?d#w6!ODlN2~YnVCE=UJ8WHgXPqpM}Fh za=$02^5f(n183K`mQvsOMmqz0$M>!ulIB3UV83XMo6>88s)Rk1Bf;gVM~9t{;8~Uy z=NIHs7tALfSo(Pb-CoV%17o&;kUyZ&KQOox0AB?`q-@U}TySnHLhTeAWUiws8D2319{lwVY z9bV^mj=jBpcI++waE^!c{o{ADtP`gSTdrQ0H<(@gY~$H?&`Sbpxr-rPaHketyYTeqAO*7+{Psxbc$h>%O)yIL&X4jU!J-$J5InMu+ z&{C}~o?$$w*MS=*H!lUI-{H-1k;_XGs`{_+|NheB>Notq+_eSVSJvxor8LKA68q&I zi@T~Z`M2f&O&Q_eh5u)c8WaSc0t zy(NB0#dHlSdhl~n-&;P0^*bAv9pCbBLWJn%xj_~_AFKEcN4E;S3ogHQ>*xm;c_r%s zGUT_ls`GA5I%xVbq#|f@qQ%z5yQ{ObHoRY1cl2eV!{8l{gl`mWnn4)WxIeAx{qE}W zW!nd87h6dtCi2sBW_r%L{4&yIZmolHwuI&H$N%eL==wkL|E8W_tM5zo>3^b+&+84_ z4kRtnTwIX5q}L;_nY;BLFZTXp{vWAw(uz5aSIYdwk&TL_6$kvkgQt8iq_}P2Cq93vyw0tT+IMK5r}tJF-o@u|s5}3S#{E6`f2O7g(fFUJCq9=);Sh;PG$oAtNBR9I{EyQ9#$i3Q ze-GTD4usG@#{a|kkML>Y-@p7HZ~xzg|99vyJ*mC1e+Bt^LAcAirgIedu-VE_nI|6@VgNPu#xbz{+bGz;gmweSg7+vufHBw*u{Q)GLGZ(5;rzev z@c)K)@c;6V7-04FAz-c|LIeKaQv$~SdxyAz&kcc_B5-X4?qq>mCUAAYg<6L1?OR;} zB7p=7_Fa5 zjb%^chH&TtbIwi?tynxkQcoI#5+m5+c80eX3($C&iv8OFJ9cC&haMK*V-P_8SY7ab zZ7e=4&)*OJ*Krf>3G&w?8IZ>9LI&&s{s-N5;G?l44QzjJYlR(l z)(Fo3Yh}neATjVYdMh!L3n~{DY^Z>U_*Do`F}Y759j~U zg85-#IRDRrI1R=5e>ndS=l>C*3jP89Uy$eXDa~~WQMV&rjS7*UlzM}8ls@aDO;P!% z*-A}MW;rG%j{f{`kjT4JiF(^+D`}p3|K;KJPb$3Ya~)>%s%gke@*i`9u&ZRTudfnJ19)bkgu{rh(h8u;>LYUkTHit&* zc)Q)A2{O88^R=-5FZXc%AI|^7`F~6pabPn6V8pa&Fqp zfYL0 z68_2Gvu-Gb_SaPymKcZhQMPpgC7|Sf}_XScrH+h$Xa(JG2OP2DF|#-CMT3T~WbVgXy3tf)>WwxwVx^u%(L_L(7_hi>=MU zhb%a!OySHiMoi#5qCpQaLyVwLpx|c&zStI)2K#Fbr+`E%$TtIjY%zn6ZU~^P;tI}H zCiEi)oOeXz`(?y9fd7#N3W_~kDPzw~`0{_Q2L5sWAFG);a9*r_{eUod1XO|8V{vVxuZHb;#YzTNN_%1}7h;*5upzt+{?B z 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

&tR`^GGOD|`14$B08pb37p4t{wR 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

>Tnsdw=|*`xnvy75JL#Evto-d zdyYN+x-%l5+0vtfuw&rD{v5wBU=K8iT?gVru7)x2tb#~RbT38(v+n;6_K?40SvuQ( z)U`VfW#e(E|HZyVL_86&N2pGWg#C4nM~1N~hhtp3%-9+(n?3ZUw5My+_T1{UXP#uU zkr`XhY-n7H+kz?1Xw+@yqhK>9GrP~SoUH8WI!-CZTg3i~k!n$QXLMt2XKW=H3RDK8 z&hX`7kj>%fe0wOzimdMLAe7iM@51~Tkx>Ty^hO_&Rl$KN0~Kk(b_GFiz!_^g*seR! zZj{g$9fw8CNWzG|;k9Tl2B7vuA3-iVAurATbcQs>i0Okpu~nEa$6mv-S{n^88hZk* zv&Vn72c5Jx5?}OQ#LIS*ksM0G{)7(pd17y~q{f3|Ivdr08B*0A5;giAw$qoH;qQ&% zkFlvefMKS?SFp{8{424UcrpT>*g9#WjC*M}Arz>a%sof8-A0Xfg5%M?MvZrd&kTlw zEdwvbkPq3X*dHtfs>Mg+Q8ay_pgmwVhEC=P+)lHuqFMbaaAeS7HZcn2aCC4exlzAG zITWQk{&jCGRtC0ruP2IeoqbsqDH!hA(<&FMh64zv`fJm%n0X;DlI$3ya42YhZF>yT ziDN>NF$dcb2HwWFofv03u?gh`-7&81^*WjJV>Hi~ky#3D<_Y)0al!8CFd7oc?6(`u zv4=Xv)*+i2M;`x=?JVT0;DWa+=!RhyvHjp+!uCnKBfL~(BR8Vj+G zFmAYxiTe}}S{ws6DVl?W8bFkWM3s;t*$nQ0hgGczN( z_usIR0@$&*fna=YU+t|}vs@o}W&XTdF{mWQ19nEQewMYgX2HyxnwjRcUPx4oVd0&c zu}NS|QP>$=bf%lD_e|8~&+p*1UP)vN+>|Rb4Wn@;XN?NTHqgV{Dw2YxWsR~M7r-!_ z!B7Cd!-H)&J&57R?ZaFv4h))U5B{4G%u9^_i%~kUaYXM&e|WKvaY*1`)~Ga=hhs^y zT}M9?yO=*O>%S}~IxQ2O)@S>5oT8hzG_GeBp>q2g!|j%DxC_YhPJcO98%7s|A4I=L z@n3U<`48g`V-(Gs#~r?kA|!x_>xl>nAmT3Q(rK zej1Ivo0sj&zTI8}i7{kvZ__4I2d1_A^={|_(>VG@ zzl;s(=9tll!DU|iJ3PiO(Iy|-C1p8-hl?7*EA)p7!>h^bt-WN#WJlmE<196Z-_)PP`cl!g5s)AIQu|Io1#5*taM+4oTII&wfrjxr>VLG*2U2hykj3nzH=#H##HuB~r zbx4c6lw>8X(wJM*BG0g@-+DN2D>ub%z)ul-OIqZ?BBIRkz%u6Vrm@oCR}tGT zEz%~*x~oabWJyVCncOlpE8L%}P%?}`v_JZ9EP7`5$8dJ%ol{mtMzhF+eq2yCvu~xZ zAvv#Al6@nUkrqnBtrhQ}A{|1_+&l&CL&=#KqlNH@* ze_$Wr#S}LkZ)U{okP(#TB!z+zvmIdHJUAb6FXZ%h;_fztE3vw2YznbmC_Vl?ghIX; z_9QgQPOxv5nzq=!T@QqUqj*i{+%Lycu~KEsYo~?LSI|scquDp!&a$1rvgKuleD+al z-COtx{lz?c9YLj887ZHpdFr@7`J>md8b1l)RO?>r^uRj5AN$l4{FjC>|M5KhGkgZ* zTHswA$5SFDzS=_jpcoEBH=zyI6t3Io_qkzob)u%bQF+*jebJw?OY{AmebJvFl;X>O z-z$#?QZiE`V|}%_)$pVR^EwBk%aELRYcRSLpIL=I+)t%Odf9AK*v+3+ks1m6YVW}O z+}ZPP!6dp8^G3NJA0QW3eF5km;D*9Mc>z_G5_X7-T`azU2RpEH}q6 zOXAr{lJR}io62KtZKf|Y*yCTqI#q?x_!=+yXVxF=Jm`EFmDuHoYKq}`x}~< zgF64pX12#7@{WM_Os9@xYN+%Q~M{~hFs zPDZu3at}s5n2*bQ!A+WiBwP<98MxRonn{2C7+GX4Eua>2`Rr;Zv)ZT^1*Jy1wKT&? z2sQJy^n{ZUz#~W8;QI1gyAhtS5Aj)H+jw;#yggIfYD^FLXToVro;14!?TUBfwt zM~uD`?8|@NTl4w}R}`VxAJ7{qzNE?Ba1jyzE;`jdD*3MaP9P;#%Fe>ozAq;UKP`=| zIs5}0!=ku$_sMp68;)bm-DR}Ciao~e%H?PZ_K>Vt0PVxgIJ-cSebSxY==TsYnJYBa zA4R);SgUrV?Dfq8(F3R>kE@!SBOha>qy_C+qeV!eS>*alPVjicSz z{MJ}$vZ1sYn|a-v8U87n9`WNb(RKv5+Uf;IH z5w_3c4gVb*3NKqSxnJ?JB@qZ?Gmw<5M2ZA@IQtGBqeSfe@V`F0`vyonxSLv*Z0`-!?YKRMhD2WdW8e;aF49<$r|usU1DnsIe{ zrnf^I?KSDcu_O(VxewT}_Uiu^R)6k&9~EG$3gbYVGLsqD3%|iegkCVwIQByO#Ij1@ zN$26Bdpnb>&lQu5-=MuMWLx92L>`j8br*0t!XsdL0Go=>)@XY6=x#`BX|(iU=jqEn z5z56?b{{(}oQWARe`kDnVwcb>cp7|}AHF#5&y#ZeNK8lK|HA{DV7x7I;2vKNC*i9o zB|pms4h%`$jof2~9gV~NKQI?Iz<=YTJ$6#=lQ@1Gc)k&eeTFQ~E^|`>JZ9K?lB~y6 zKlT})KZc`aN*o7zG~h#YOir{HHeT$&Ct350n1n}S4NS&US5LGzl6XwuIT1%=qb2(j z9hh#)(q@ecx4=TDqHz1rG7x?g+4EBZ;iveCUJZnwM2M@xNo&q? zU83*0f0&i1Ydq^jT}e^HUbqnV?jBz2`#fUcNa;K;vc8(?+*A5q;(Ex8-i8^i^NE|+ z&Um)Qu9GaCaYxExaEtllL@{zU!%0Z)zdc4C>TQL3J$YSj+qLYLdY-CVdHizK=^J<3 zBGWJ*OOZC)i`?U+FL$IT+yVt)*9@Zto}_qJe8@WT7`(pt0ISJU$H@H9Z3ezfkA*OM ztR*IqF+~E2d$q?9k0{$LH z{0J2`_q@dH{x+k+c;*|i3-f!EVt>Tqe22wgiC8k0lpj1EdyM=3w>I3;vy!V!Os$>roF(#P-MlO(GTAPlfs6M4xtx-l%ef;_+{an)VeVf*N=%+*qU2!TC(Qz{@FOqF6NtBGdY06Pjn%2TPUdfg?H(8Loq|ryE$wn~&EM@@n^<5ARbqbb+_U(&Q9T(Gn|b;qaN>r&C%)cySZhe$9ar@3@7%s zQV(Zv`g^kUx8#W3#zOlsbF3qS_cB-~5p~4~M{h^0r;gE?(M|~W#>E=;1DPfIC1&X_ zSvW^D2hO_%sf>&FWkOb*6-hTsjgnN$ZpNL!1iy51vq-5wARU|*ti1(Ea$D2|XA52# z=HW=i208qX7TKx6M)6tF(f~G&W|?=airil$qpqLX-R;CjY|I<|K%yuF^e zesn!cr^tHFce^$50GgFT7;R*H(sSf8FBc$VRy^p>{&8*R?4UOiJVS8d1qp)-AZ&b%gRh)v-1)9 z1luv6LE!TauxjyjaT1uQfAnOA=m0VjS8QsyQPVDpRt?}KkhcBkg^gEZ)IE_7sHR$npqjRtk z<)p+1bA`qSVai52pW%DBc73@YVwd3zl5VHwWgw2TML$3Rk{vryD+y%ExsU5y>c@<% z?Eg}eZa4TEJ+a;N;1bC30hw@o=pg;U8L*=l;v?0U7xZQI#j5~@94RDk>-5=U)T*l61!Z{Bupb^FTRcG#D??MVAl zA{m*nUWn(m!|sf8BHK=H1RCwjMWC}U_hE{&PAqg&w$#HJ&_R9ifpx-DWnWn#lF=W( z8}X6;o;rU1-#f4vDd<4XFC8cu?F{k^ONy|azgdoD%+aU^$foBl-1Fmj#-i*#VB571 zqzdVSdl1h)VDsagNFU&dcM5L=or}GDZ)SfI%g<}Od+=!=(>PO}A7>$^dg|`O2M+0& z;+oAj9oOWHrLlD}F$H(+aRz*E@>I#Ha$og&>MF3ox3iz|dAzw!gxu;xzl#k4%Z(E{ zTIr3Bl}}H&1ce}ajT8M#C;EOy^P2n#l!%k{IDF*Z+AcPL@yPx&Tnw=02k0J|^Lgbl zb6_G9-aAOaF>DYm%jz|7(zBNp`#hqvMy23bfdIOXbH7@BU9R~hr_8bP7bp^6!$`87 zNupkncpvTpoC@?1Fc<|no7)fsxw*+TLJW0xly%BE(6e~%kl5aO$@V5WGvjz6Cna*X z$6xmsES{&1T)^tW_!>4PJ`}{Z#(8C1lT0#GGY>8)CAXc)A3lcydb}qa9J3`hI2;&- zdhWd4ZI`{RvEjO{NfolK;US7_YixR)6WP`tX4%>S!$7A4hBHO>H?N_~&l#{_xShXw z`6Xj!d<2pkEk9{5Kfbw6iQ|-Y%a79)>FjWc^HnG5 z0~TlZ0o$&9Ak|18;C@;9fX(M43A+zUS$^X7$vfX`8tvncGEUb0{aE*3lJXgs(kj*S zQW*kSnchXam z{2gTAIeI#GYTivt01-115fVVe%tV9)?(u||uq{&Kbq|ZEPs|_zEDw)sFX6L`^br>e zTjX-&$_wIw(>1gpf`?#lA%b5LG~?5k>xkq%m_M`Nub79e%cE8-p z-kg`FVBvBG+o_`-mBqHdRdb@`Yc)Q*O)^H{+#hB;q}h037EgbqhZ`+MF}4@O^AZ~> z)!1#5y6X5+89G=Rg8f_8iU3cg+0zBLd0LtXr^$UelShSHAuMaG_ebajf87j}(abKw z$yGQekR2@ik|#UGUbE5}cH?A)+pE7fz9TjQ?F&14veW*j`6AB-vRf8bCFY8Zahh9^ zsO=%95By(hi*!zGXZFfXbd=LETqX9_7+%V4=XOtcB|bYNkQIK1F|x0nM3cLszrC3S z>DDjsz{~*&8&L;!bZs`aNq@ zw>u+UTvVWlMtQSF<)p~^lWn7!Gus^>MbZMYHc*f^J0;hNFYN3TACy=d?GaAPb?YSp z0a?vndku4WO(Pr2i&HPQFZK#9sqJpTcjfXJ@q)eK=e~(O>?_zf@MvomKa%5L`TXdV6myBT{N6Zy$helnS#U*{)xW(go-ULryQ zh_~695Ulf^u!)x zkm*h=XK}7sc!lu|GAZ7G4;F;0aChgqlqblc{(&Xe;BQkT7J>g#< z&Kn(r^byI!-Fmyl_OV&Z>|*R@-Q~6J!)9+^hUG#J{x@}t{f4<$G|rtkC+2cLnrz~> zD z10JG}L#^o1!>pX|ccBOD91kS5DNOZd_bK$neuX@_t=yEyz2QS{DXX;{ zMTu(>d88|khjTKcE%DSBAGmgrYtAQ}Ia@fNa@qQ(^;y7p-cyI`)1>G{F2pC8UA`QX zulwyUyDVP3{56j8 zcq(!iUP!FKYZZ9a63<8K&{wjf<^}8*6(gC67Z#C|UyXD>-1}{w9qQJgZOr4uhmtFB zfGoo$UQ4{9i-jqw!fY*l;U^L1`wjm=B$iLJ6x;rO7w{r|H zUHEeR^6r8Cih*C>!Nx26_aIqbj%bFW$D`=j4Xy(FwS6=urDba47b;Sm7b;RE58iwT z%AC%J{pN$y5a+#qSskoE@ zMArneDhiWYr9_@}-k@+w7>`2n)Ky^M}&OR`qjLyo5ILj+w^rcaUCIYP>YdYv8es z(P?1WAYNm>0zdQseBZOtCpk0zVKX($kG~fQ;t7!PFSF3Vx52EPh2c4~fmRuK@NPVh z|9H)Wb!;rg=PN;bzGQ^4of|%UrrYwqL&scLWr_W3H7ZM&U z(<+&kOZ;>FIM0-OIPKi;S12>-vAd@GjQRI+dhnjZ_#3Am-^03E-gjH6&p7l|PMi1R zbX$K;=g;Bvd(rO)e8x$c{zOu*B!yFb#^1f+)H>r!=qR7@x89ud#U7mgTiWoQ{-aRx zWDn=uhBPR7F$!h=Wl4-bHeg$Y&-l5t|2v3jZtO*k zEsft|&X&d}k~c$oekDrw8LxkHTSba-?w+5$=rjH*xn8@6Wv+Q6Yx-el**`=4R41H& zA8YyU1DtM=-bno>`@i>-j9EH^)8a9lc9SIvHT%c?KI18A+mnkKfA}d*3#1>4AJ2F! z#Ws*#-k5gk?8du{?y*`uee@EJIz2AIAb>fYA=Mv@otLvUMN+4yc83z9$tl z?w7P3Pf{(7VUqUEArCa%i(F%kdgR+Q^nr#~peLlv`{NHZR2rSJ@3X$IKV_?4N_iFe zo=4g&$+!F=meR$TEosA%_7L7KeN)sNY0n#X8Jk3L(cQ*}{0k-H&Y}kzw%}N>OP0@z ze1~cibzx6@d+Y-Z!;MkK zt)g#X`Gy-6#_ghoXv=V8oKYysnMXZk^fB2J523zFV}em^vds6T%x8>&Cj0YUl=8gs zj4@R5-62c#jPbDO*J#;rq>Zq3Crf$OC^Lh|_eALf4fVz(;|WQ7O7cy{Uj;~+ccoAL zJ-$ulwNwk^e$h1JMbSm*x5jj1wzTZQUg=YRgkD&Je1=h4lszig>sl)+KeSuY|fwzMhYDsvm58VB95XkM?ES2SzW^a45;#V+;^2@N}vV zn7=dzNxol9xO?m)#y(@TD8K6Nu_KLN8&8N{L)v4|lOiwD9>-rpR*J$;-#zw8s7mxM z(k4LFqMp@vk9`KJ5xs>{o`WWeK87qPDs8d6caNO{O_H>Kqm&mROY}p`IUSlJnpAmk z%2%KlL~Ws$p%+E}guV{FBx*6?;FMRP>7o*(y$;P3Jr2DAeMR&&=uPOWqCv>_ZRlmu z`$&5m`kLq$69$*O1ASfe8uUHmBjZ((w`y?74~zrGLQ(kX!6iS07Kz?P+IvugsAu)y zlJ}v-vg{?^!6iS1-juXQXACZ>gqDh?qlOQS!^U?-Z$Updju<}>eGL5)dRO#A=-1E> zMUyIDoAMjzN20dS@1XZY|AanbyiLp<#aN70ZuNcRSk32kTtcYJ9UTOTn zI4Wu0s_VnA8z+q8(l2AY*N1z|6UGTi>sft$xDWbF^cKoYf&M7^7-|lEF8U$V68e*9 zQss}PWI}%ywT0T5pBaA@{S&$s`kSc5gda`09s0ZI5va3y(zqhpi8*tjtD+L98+1+d zIMl=ZqhaDXR14#4&|T&!!|%l|Zfw1~tbT`a$_RS7r#@X%R^JC{X)@>Mub0(7V1ABk zLFW6*^JUmmKR2=@-}2(J`YrhD^GYv!sUXg@WD~-i2RzB<)1tRMW%ajs{N_X{ zenA1cls4w72HD40lCrUGCNezFKmW9k$yga@X^(ey;C1k!P`j*$$>!Md2 zy&+obXt9*}KI#j2Lgt&&mQm11Gh{B8v_n|FC!rNmUrg$2X?{o2Hp$YqG`}llz6;^H z+x)epJtghzWbXI!jPU&9W%c!VUVB(-*oU-A18YLcOhYg2!1eWM>810M7BSCCDT|@W zo``u~^8EmM3c4U^9iV_G&%7jQ>(GOhM!tDNbSSB;{u#5tOitojxgyKg-Aob96!kFE zML&}=3(c0Ie^g(d@}Q^CY$bX_bf?)SiD$0YW0$8?8h4uQB(2jkoU^x?Em|#e7UPv# z*7x0KnO1D(iuO8b`Jz*zd(7@qX1bJek9k)Tw~#eYeKE7r=x6qkv{qhQeUk!68{+?B zX1!5j-Yav?kU8%+OGHzi=bR(W=aP6Wb+3miH=h@MD0qtNT-1oPXHZc5IiEGRp`C_N-}8%^Ta0JT zBa+r3&e|tYsBg5?KFK^P%YFvyPh61`v>M~^9Q0&pdXrR%nhPf=Z=~Edtn~*#Cee+kQ*T>rPDsw0Q6iOC7_E7HRM~z>Zeo>E_+{qszEg<@2WbWij zW1pEO8hcmnA znw4)y%MO~IL?^1Z?JGnn=}Gc2lqdVAf^%_HU=qUw<`9Knv5J#3Z#rh@7z zGDc-iqxy>Kp3R*0py!C$Pn3SoXD^sH7Crj#XD|HL zIBt#*ZF%go7bfGnc$BE}na^Gbcutz5Ma`f7?1f*Ne>9&I-COn93%@o`nG;0Y9*WEw zZv4r7PV`7kWLCg)#+)QNTppQKX`C@9i&|GjX8p!IV@?%y?z?pAaHLHWoqlHN)PU!# zIbAgG%S)#|Z=5yjMemPXI<*q|is+-NrBi=ro;7ESY9=h5`Y|*|bhd0O*2-CPu8(_1 zw;5YwTa3S$uS(jVM}9o0(zxj8nY%t7^cUmr=IfI7;Q*#xGT#tQe&*vr4|=Yc%S3mS zZ^yR#FLSx*>yI?NJREvk^xo^#Rdbc-Yoi))47qB)BU(nSRec(eEnX zoB27kUo`aT_h$YXIv^@9e`h*NIVf6Go;H>`EV{M42utMm92M2hpaPyxMU!iaUV0E; zke(7%R29ASxsm4iljxoD$!J-c=dASZ>=~1Byl&z7o1`6iZ1T*>My8{CDju2sypiR( zBx(K2A38)j2cTcv=`3cf1jY7|tM2kgzJb9vP zqWe5|HmU*F5R%5{?3Kn4Pl@P5nRA3^h}8Fy)Hl*oDw^x4T;{aC&U_<1qeVHAufp@V z%=xCw`IzSkN!x^FA8bD6c}mibJ84x&GmKeygt^6d%u^$CzJ)m_m`^~dSoS54uqU4I zJSX`^O1>vOQBmptq3ylHqbl0C|C!Tv6A}nLbVA8y(|e(bgf5-XOX$4>X`u)S8$t^u z5JFX{iYS5#h=PC;BMJtPAV>+K5I{jty0qVY&)j=m=%Ly0TJGF6y;D2@;#C2jY^@Lwpsa6Xw8K7uJV(hcqqX?_!i}ypcz2$7E-w&NY?EZ zJc8;eXD^*2IqPFIAqvCmr(x@cLO54559MYZ_;R#dU^of31smp4COQmOr|y zMeII4c>S^PJFF^(^OY}#6B&r9IxFrsD1+(DsEU>c%6wJFF!or7cy~?9Pxz`%*R*M# z= zzY@BoD&hUT;(nsI^F>{>ei5`+Q&3i(wa!2|S4G|Z zT?W{tTd2=|Pz&w&=gS>2kL-&OwT&aQy2Rt?>0P)Y{ty$G)t_+5g~s!X^B?v~1U zC$aPpZ-Wg>Is$QhU*jg+uPaJV)??kO7;g)K3vC@S^yvNRs|Q^*xzvHK$+*@ zmM=HQ(^*p!y`Do|e3OLkrTWhy&HZX<_v=@DF_z&Xu2$tR-p;n35X0J@sUS-gITpryw#PzI7eh|*z)&1*6z%Mvqbz$77bHu}sHA#qu`)h|a2Dg7g zGuZdvvDFZ7KNe8CHQec44MRu}?x*$I!=1D-=tiYXtfR5J(Wnj>=zy_k-|SrI9dAKO zBG~23+O;5^&`O=xu_9I8!d(pY%h?7|^8Ks#hR~YV!qM!0twC`8lSuP1p<)PrY;fRk zNV5#HOGzxxaKCY2xw=Lw+&>MyhO-``ocorW4fmyAd8elL{JN#t-bxswPcF9G?b)LB zLhbvpTYl60pkKrI$yuAg#o#xsS}kZNZ&u8J`+J3(U|Uw#V7W0^@^!1A-x5LS%HDKZ z^uEW!trm=7p72`<;q(x7ktN!{92Idij$k(;*41^kC_R2Nw57OYbhk7?H#!vE;@0Rk zg=@|(R@(~hP`~Zq&I-c3?-S$aMR2>O{h5n*)`&Z3(=jb~{xz**+M5=1d-S}fMX<=J zJHhXpb@tWuW3SBq3a%&3#q@U-?)?hb6LB_y@B=Z|pO(g+l5EFb(+cJkXUSkWIP>1h z?+9GuTqEZTKlXXGV^9}2A`0Pt$yq-^TyNL@6|UV!FgbR~aSX>O$V+Vp#A~gC?lwP6 zgS>Ml5L@7hzO_pGvD@id>C)^+XgRU$^?5fT%n{H+{Mh4aPs;hhH>qe@Q@9&MkN&Ce zUl9AZ5l_H9REPURJ1pbr@6YBeEd|%Zgw6i)zW#pfKwk~Q|D^BIvd{}ge+I6MolmXi z-!-jTB9`!p{!hwvO`Fji%k#_ZC*?Y({T+;Mp|~y)@}yh@JKVQFxL0O6pni`DcWWA6 zw@OFX8{E?D3o&=(2=}6JJs`gk%rByLtq3-|RV_%{XW^A0oDac;a+?qb*EhiBEJU>1 z`$^s4&Q)+Z3oC~;h%>1lyVn=*T!A$B!Oo2R<^9+&3%VV}bx&=7`3R;a2l_{_?#Y;* z;lf?ls&*|u_T@5cKRUE(Y?GZ~jMd}Uf;+npy0=T9TL7*f>y&o6LTPraU8KLk28ZGN zk{g2~|CHY7{?G;8^q93Ui`DBG2YK0D<5h4mg*bPthqcWH5tnNQk@n8M@aKvaQ0Bds zp_|$S-B((nTUNM{IW7F1mgQErf%{3T(0$$#-OLqjpf=~lU|wd6k#K`pGqeKNPs~}) z8GL$;j$pY~jGvoDU-pN-j3ZA^NNs!#Y=Mmeuyy5(NCr#1@5fHo8U$){(d*Aw!jgYQ z%%rI>IyqBya_(qINt+aOufR2|5GuS5Zgty4aDRjO6l!+nObG1>xbD}b*=u6Ns~~2~ z17$M6=5D!pBKDd7(DGruQJMwS!4P7`E;Gv^rBMdN)nB+Hg&QkeKjB6Qw~25&3U}{R zv^R8gQ-vGd6w7BvEp%_d>cWo=t%c)iWcQVj!esw9!MzlW?c{!~cSVk{gb(zz{ z7)A^j8KBHDcgM|AeSO|>D4#Vg(7mz*-CM%l-!~egv%Jpa8%sdNWUaajZB|n%q<$b7yh>QLm)0VBkdU-PQ zGNfc_#C0=Ydi-Tb|LgP6eY+jH`&yyaK|Pg#`V=f|e@sR(MRi8aC9wFGPJOha^^ zE}RRqRcZ;mMqdW|vMu_})^JWAuH#(hwDbqR(sK43f1AO2fs2+w;P%jCz=fS);5zO9 zbI4ZhD5R(HAe$p9B}>$khR46f+ADh65J}d^-A?R0*=gq-V zYk_VBaB&ySlXCD3(huF?%W>TPTevrqa3sWe2i9hy{GDmW_J*a0`I=jvvw7Noss(q| zkBv<04SA8_>}`u7j}p&NABt6noCUrYYk2uIaSM8}KfB%wU7St)*}Gur&uTA4_h1Ny zfWG_~+WWEW$~dl8731(jF(&)gXb&~`mv0id^TkSjgIM?CYR!*zuhRqC-W#3mXWp!Y%EIwo3~)C<;S*_odVb0#j`e!cxaOWHot*Q1@<0C zR|OaE&l7$tLJ4P2T?B5arnBqf{bg`Jl&z#Y@J1o=O}O3|z5&vJYgYqm?Npr(HQ}`Z z%k&)sTk$#T{sQ$g=@8^C)uh8fb4)@l*CY((Et3jB+a}4H*u(*QiFTQq5774}edMXK z^JG~y?W7G}Ux>ea{bKT&7pTalv&+IVo3YrdHVcEH6#jBq@5Ea+4;F9IV_Qi!gUGLA ziGZ?fok`^aDzK`xq(8ro)dGB37Ez0(fdN(7aiVGsVgqWjM~nlXJyKsbAsC@nrY zAd>AO>Y0)ZC!ri7x)_rZ5Y288?VOk#5XYVpotvHv$JUmpD`WqydvZVmD^D~xGdZ9h zt4(w^Eg23ti6HuD+LV9>tP|0SG)F)qHlAqu?1cf1Sq@QPa&kZuwt=YCgyeukwu5N* zzt*fGQFBK!?4Yho z^gJ~=pbd*6TGBc>pe=iq=)(B*0qxiTB5z1p2bMxqe@b#dN0vr(Z^iooo!CB;J_$%- z7l;->33g?7i2|m75zviwvdNU4pOzocgN-M;(<3>c7pyp?R=#609C?sO6jJ|qKp%EF zRBGL0jt3;OyF{&~CI|Fqb?^vFXuG>Sk^=^?o`N#1z7x*`3}gc&iM~0Ir3!KYT>|Yp zN!H!n9c&o;f#`Vm0^2ZlPWrPxoc2~|AhfpvFLxnP)m0>cyGu*?Q87!5Row2{Nd+b6P2q7RcCY$97k^jT7Y zZ6aGi)GpG&Cb74P`bHMmCb2CeC-2rBl7>axZD25U+58qf@uM${x^i+v{BL)0B8jolOkwcKU9J)Q9wQG#qo z$aecI<|`Wh`aEZhHosE-07z_x{2@n^|JfUoH!e`Px1g)_Rf_wEe<9 zpG}C9RKEB3_Ju5sNbOx{U(B`;HJx!ejBmnLvVDSz`Q{R3K#LZ;SThNc0VSll73~(Qr|c{ub*m zDBap(k+F4&M-x7yM16!CMza-+9%WgA^U@?F+kde~-t0nc z2lFBNVK)4#!YUE{JUi3=5%VK@Fgpty4ru}0UNo32+0;*3m9D4XCERkpm^zctu z8=~c5nf9G5iRk07ETBF_1yC-#*kGdTP%gXJ7(uwM>u=x9W=OII_HQ5fDa#~E=)cb@hpiwQ+d*f0*gB$bmO0?Jx-CS7%L;6tv5$x}sLjvWXGFeGo1e3I~?CRa6h|8bRxbxko?Q{Uf3l` zKVZ_zE;{VAb!rWwlk|foHH+4ni*UUD($sK-b`g%yF2WJoML0r#W%|Pr+C^<(6h35X zI10N6N5wo-!%^{TlW_a17Q^S7bBJ4-UO%3~zi?AP^ zFg5H)F2a8FgQ;OZauN2Ulct9K$VJ$X3QZ0Bk&Cb&oia7-M=rwI_eWF1+1Dg}k7wV& z(@ss_=s76xCzEz~4i7wQQaWho*)!3S<=kI~Hm;*lD6p z9bp$O`HJfpz&2U8l0JXl*qW!i5sPoh3iSwLlp zo<$aFw^6h6fu4MVB=-3nOOPl3km!>+C4;>97pA}d z_L4lG{O$L0!0C(yL`S^}Y^C^VqUj0k1AX{Kq6G=7tv>u3QG@J4tu(())Hd4(b|60@ z>I+&K&J!^Ynbt|5mEoR5e~)P&SeBO|Dm8YswJfhfbhW+%PE)K+bf{OK>Cc@dN8b3~ivr{#GUQi}mw5(98&Koqv(kwxA^a#&7R*&4{1g$+f1&&W5zc?1yx8>TU}5|Z(_eutj6Wb+-Os_o`E#OO{R(X1 z+}a%To@vE-GlKgN;k+5aD-q#1AIbfQaGa0ifs#bsM)63Kh6P3OCS+;NPSRs|YoapQ zI*Z|*iGB-C(qnlqqQ8Q57Rv__U5C~h$0rhXTkT+Re6}RkD|Ady9A7J_n6I5aF({rN z6qL`_P9GGQz^@RM4o}kS@xKM-TEAE|J*XbnT8Nsqehbuqmll-ICN?kB8u2JWaOd zcmt_1eBx`%CkV>tErQ<)YRd~r8x{O+P&@vVXwB>ogWB`5tuSQ{7T+GJj-X7IJ!S>a zAfm_>69PN%ErRk`*wPh29eLH(=r51yi7SFS@!3TC`g|7DnXea=3D2+xgSznd1YP2b z#^nR;Cc;c;`NEL z;HjWDZ%(udo(g*NE<_k#AKr%udizX!Up|Q_sC^dDOrjknGVRHH z4$*-USwKr9iBS6Sl_tS=n*3d|+?!aa_2=7(4kg0(NzU^0?zv!0-~f{Xn`H;NsM8DN z?d@PLt+IE4Z2;dR!o)XUV*&^AgM#qQ*94$%Ny9J)@e_j5t&N(k06I$=#xR)wLjDGT zHkkiT8pbz--yy>IhVUnXGT9H%u7~moZAGmx&-yEZhVjcp6%yeWINqk6)B;xU;Nje> zy(I61N%~0Mfapp5he0EG8=_hXhqRG=F439=*+HZDSAz05_Ks0Jj|h9tXr51&KlIsV z9mCI<^jXkY-nIkAm&dUmjpOYF$#uba-t7fS7L;kN4&%#sK9tBFT3{Q`Q-~5 zFHMB8Pv@11F!nciEh3El4IV^T)F-hilPhZ4avc~hdW4yA$G5}gh64Nl`- zh^~cI1L{lk5aLVcLx{XO_^@<7mZ%!c2($QPqWTcuES^S$PdyGkmk6JF96Xx{pI$Qf zDk6M($>1A^aK@X>w-VuuH=BP#gil17d@m6`5oPi`qE|a*+UM}2L`j{pfKCzh>{vT^ zF26uDs-qpKm@X2N#e?Wv!OY`}2B79n!&#j$g9pTf`0`5bEPfH7UC8A}Z zWpO{EEudxbK%&aWY+algZl4viBc|Vh~?29@6 zQ#EMwp!vY}R13)8On8>b=F5oIz_Uy?Un@wi8J6-LroV00rTnMPGDqFx9BdiCM3fR& zU|Yt2Bf8hd!E*RtL|$zRY&rZfQH6L1e21kb$xwpg3vA1|7tzTU4wlQy5nXRlV9Vvz zhz5bb6}&Fdbnv%=hZ2?R6dt^i#}d`-6btkUk#9=F;8nZ@kv*kF@M_)xiD$yW$(@4N z@UbTK2wuxqn=~l+Extwi1IsbN>-f$tBGv5sj-7%x@ebXP(t%QgH}k&Tr8Z;A%-}6N z)ug$>@9~{Iq!u}8W$^pFVNWEvR^0BKE%c%#@ikraYr~DfA2~Je)%CUoe`3-Opq(ZS z8nZ2Umq}BAcAFHFzAyMwC+Q^zeg)J@#4g9rJ-oM|e2%g2;lqe9_RsmJf-LFyX6ahKx(3$9pK*xl3^a;R|FM%VC)B8i2VS+Nn!pt(7_J!dxFxfHwPBj z4)SNDZ3XR1ZuG(k;dd_3zT`fFiaoF-zTz#3up|!gG$JgCJidnrOX6#OTTmuDnl##; z&og>sm`D=>zu`W8B>md(+u+0efgsGoHtV;%dS9VgbH;kxzvKQyZ;#z({f@T~l+Um{ zkMOR7q`#v)L(pv2VJ>Ii^ZkMx%mFK_@A*%HGTDge#Xz@-y3U8Ue%vQnrlsrrk30)_ z1ET)(VGk_tE-0O~7PJKk+U~CnPg;-hZ%um7<2Zk4(nZe`TPS)N7| z=QR^(uAn@K?|ASz-f|#XX0pghKf#ein^N5pWt6IdFw6rXWt5|@qn6E*mVO&jP6-?DvMjH}36ia+ zywdmuZMG!qyRSJ|d1WEd!Pg3G<&|8bexOxQ-XfX~S_S1@qVY`~@YUdUqJ>QhY!#I~ zL>*c?n6Gk>D5Z6Q%~$!B=+5YZkV?u4B9AerfzA?jo$i2d4}T#VF}=W6S-Bwz`sSsO zDoXf7kw0tsnZJcpQ{supMUEkJqG)OcY@hmBmCmQq)?A5xL!^v7Ub;85rLu?Ur#@eXwpI#fpq9%HP5Cag zt#XYhAE>=jai-J?r~DAwL8&W9=BSerD+u#`F0_-9C`jf#NqJ3>?BPjDl4*H4G)cLZ zhG9y}uF7pe7|I`^U6q09F0H#VN)T!fL%S>I+_av`ucoGi^;A4&x%~B3N=vdXUaax9zhtNS6E+Vh{F|TKP5#FY8ArzDL=Yt1C%0D zs~I*xx$CA4Ql7j(6*5Ga)+$W{!v-nUiTs;}0|f}e7~;YPD>+hQ5lvqW8>$>OwU%MS zl|Q5=Muw5feN*ccHd67P?Mn4%rMx838%HbEh_E+~R{RBFe7(cQD4pH>r6|3~5=$^e zNhQJ(Oi^wVVF`{?9ui>*j#IQuj2*)q685?>aE>c26O@sHP)iA$pk%vglN7X5MVnw= zPRi#>@86)3re?+OFswNP0}tc`z0(}xkuW~Wmkcok){nAW?!lp z^DwvR)=Gm$1C*tW%p`5y@+5tQGKc8Hy@cpOw1cfw z-XyvN?^{5y!SEZ=n@ST&?7USCe@hu8$ic3|-n+Mz@nnfR z@!p2>r)64jC*Ipi1`+OaT&H9SN*8-I*C{Kd##(y~v#(e3h-wXJAGlueSs+4Td0pUp zX=Mn}y?*)D^~waIk?`cUL0Ll7NKkN=^tTO4euI*-P}2Le;hPEN`XUMw%5$UgnCP3N zGJ%_v@WoQQRKHB%W+j8Db7+~sca%aREhfwUu2O#qS~}PlNxp$wls1CW*`@lhJ4`uB z+S~B^(N<+gHd>~$EpYbg`^q(<8SrcF`^to+QuCU|*$2wX97)v$HD2x{&+reFrYj`1 zoK_}$o6>EiBp*o2b|ps;?72wJ3)`U_Ck>yHcPfrmXqn0S1y>H=scazX9E{plLCe_A zc{M>hNc4XFu<$*~_k!e{`k8VOiRZG8p|RngDZdlVXc8O#x$=PMa_iXey^6Y8#Akgr zvSIi>r38`ps6?Q0f{HylOlckdg;JGh=#&mXbp^>0Y`+rn0`(A-X+4=+sO?w!6aA9w z!}cp9h!(;A!2`lXgKk|rphp=E(` zOpvrZuH2Gj9Revkt~?-`3Mo6Tu=Nc7WGS6ctVCE!CzNu6WXgU}QZ}MxKD4@b!cHm+ z1j!gqDVs>cJe*R_5Mf$=RPG8&XX?`JVP}-2O&Cf#t7l0L|4GRsiZ_zOFDNzNky@3I z(czbrGw({8+$J^rSEcb5B-ui)()@?9GcPCMOgTIJx;ZyKjaV9f!=yVAo5TO4(#`kA zHgU%!%&kfK<0U)7?>aS@4fllKH)(T|gW(TMx>SEh_#=}RxA-pnv6H;(&f4es)Jgg) z@Y{>$Dte6IBSKx$ZmOdYmO5|+H8zVacGEO|}EYn-() zc1>*|G}*2VwS#GSD%?;HO0srzTne|ShXtiuM>wtlVHnPphm{D+^LDtWNlzpG4)-z% zR~|m<2{Q)Ih|=m48K#)gE2x#XW2l){&(|`8DyX#trCZCrwg4!IG~B^nQH>%Ecd%Df z8<5r_=c(OSZAz4sQzpj34EhCB3Ysz-@%hki}<6cNr`e(DAChhG`^sl}v~7!epzOT8_L zo#<81QcJb&5M|Bgb`FoIt+pXL(JLXMj#~92sVz!e0ROfk?Gv(`+$17EJt!!hg$^1M z7_4eLQA>xB-7_Ls%^<>&JwmOx3pE_Q+eJjEVMOoO?;8=THV`EHW}Ijt*do8p7#tC& zwiKFdtqs(1lC00tCqy(*@i2Gn0oXelsEv0^!X5w`5%z$Fs?VpWrL#SqW=6cC*4!iM z-A=c?Usa!cF8yKeNK~urL&ErA=Y!hRqy-Vp)iIK+xUZ|VI*ADPb+uM!65+nC*VH*g zxUcIqbqNvf-D;z*B*ML0ZPfKdxaX^_`W_MP`D&|vOoY3q+Nqxt;qIw+>LDT=C)%q= z1Z7z3&-%r?y;*{l8!U_HpcYC^^s3I(|K!N$B z)fzMk=&7de$5P5>Q~G`o(MO$26g=&th`#C`qO8e#Bl@Yn2hmd2-vBj9P(JMLTNW`u zt@0&mah%@IAZN7^YCj^Z=~3zpL9hyHdfR)9x-$R%>B|J&B zofep;jv%_-b|%p4f@B`j)ht1>%+l3^M=(BFX0ueU??vpQ^<=2Qf}~}JI<5dU*>7j7 zZwQiM&Q{k7k~KYB{nSmHtDcr*&2R2tbJdGP=bIPU=Bn4oAI?Yf)V;@Cu`f^y1?4l; z7O106IJG|`7OJNtSr3kCADFFPAS#9xOSXE2NQ0eK+3HQAq41=btv-|_@|Uf)`9Xwf zbvPbHWUEP%*v|ens%5J?NShm{MlMzN5Ur2%0Ll|2N1|owsFN5XnW_~c$yBdY z+nhp5XYWt-iCnF=`Uy#v*;;jwAZfW)t$NO-y`{zr!hNyTBi~Z91WC*FYS4L?1Fmj8!=VwU=!oLgu zNUd{4((NWIf<95Z36go(sU}OZPHB-Cxl4ZH z5Qeh0)Te63HPkY#*vj{)Sx7w7n%e1psXgjZsWEKjpQ*vu(K4M4ZWUa5pPDHs6ZY?} zwjNMdAPIlnA`hxtOzIu^rTUq$%(Xt6JT34m^&nBn)R{nsiM|Bwka~>h!sMAir-|yN zP7BOai-@{`zdW^=XaZ*sm^6>#}17=tk%4N>C9!f z+TAK!phgmD?QfMmrZyuw1=?}7JJD0m@sTIg{X_>nzYY08%_lnR`9|bP^*GVh>9ZmW z)%!$^!fuuQQLS-P#@D#xt+J=pP@({!GwJ{&NSUMWt+GF<6Nsj+oELdkjs63*Wo&Ja zTV*e(=a3-PS4!L}Tclnm$_0NH)mucjLvNM+S-nqG=y|K`CG{!MH$cCrrEbYkD%S5+ z@>jJA(N}|RmA$M65FNDMDtkqZC#nST6|1d@YR|h>_Nv+)2~s@|Qg%%Zxh=zd*6&u? z>uO`7xQ4gN{-$;!Y60}SI!I79dltSl@`gH2&@!M^k+;+|Bnb1nxo<@NrRMx4=>pIl z)mnlBE@RD`uZz5^1`Cqo;63%B7izgIyVdjZ_tcv3CAxErysu{UMuK*on55rVa|ESZ zBNKIYUwxCb!j(z-19c10m6bYspguz4&>Mjssy=<-d>v@>mFns2k(vmEGZ220_P6?) zAo)$&-)fSeOzY2ot}Ed!il&!Z5=j%%|#OvaAIo<}+38D^opS z6_O9pWbpS)or(mZWC1-_mjGcXi4Y3Y4v|){M4ZH_FVO-F*8uw1yqvGLR!}AzvNWS)WlbA_S|*E`lTos&HesZsNuX8NQb&n&^35xTc-7Q$h(p8fViu$o3z933AnmrGTy}5OqsSo5 z7yr!&?da#_!?is`KPQ%miqI~bR6Z(7 zOTCBwma&J4<)dP>HV;H7tb330QE}Q%qEVjZqY||6htl#0Sk~7*5R}a}&MzO;P^H#AAJqxMFP z(=^>lc~RrF#)hQB*1V`m+H^R<6#d0?+8Z@R%Q5MA)HKc4Lu$DA~B+7gr6MQ_&LHK}{_yV}P@H$1vWZ`BT(+K}jNTAQ*m%o`p)tt*J?mjL)15)7s-eP|*Gk1A(o>p2A=5KBE*IJ}Wo1*iz9wvPh zeMFlrDA#J4cOd$>wos7VlXyZ~XIkp)gmzdEp5$;i`UmZasrj%%t!`zJ2W$Gog6LCP zh@f=qf{CYqVoAeU^hd1`Y4~OLk6H_GKI`IMQC%f@_K}IsT$@T^l4QlT~e!Z~aZnBI@gz zZ~a}{iv+E8aSP9w8`@Emd}994YWhiyEpV_uwK+s9>wCuhsjW20C*}^E^dv1a6D!8t z*P?4ViI;n%4HHz%ab*8n+e2E(rPX8p*1T#<%R2A`_E_spgmwE^J1$7JiN~5(9cdXD zhL)X(w6r=gkG1)NWZgc|)(Fal|49}U^F-T7q<3xw|CM+<(FegH(#BA*AK0R?(#Jm}go|qHlW##V|d< zr0^K7M-a`)Z55#E4T-8lD5~BP37#finHL+Q>0?M!`!t9#^jSpleG+3V`dXsA-ia|D z`fj2ty;}v8(7zCr&D!^A8&g8R3uJ}SW*WG42KnZsjJ{Y9{!-s3rktKFNRH(d z^i?MLunPJXK{72B^$$!cvia(Tf-sb!F_rbsc4r>oOGv$!Ak@aiRMnTbY1Q?WlB|zP zI9PRk9gz-ux~uE&xmniGKN2Kkub~&3RAj5Emk4ylS4%JZ0yU9jotsgp)zVuN zT6$-qI-u3odlAKgR$Ct=NWKNAqxTEK7-a1JdYVZ^Hk-avkSsI1zV8J(BS@CKU7s7` zD)~U2g(AV5y_{(=!FsBoY<9Te{FpGkUl?lHENuMRm?%Am=upnam}q@&xb)XMb6QNi z-XKz1?rQi^OnvyoTEwl>rM zBpNy4bWAh-k)U+z^a+<@n(In5hM8%7KgYpZ=$=G-lVLTgmm&H-SqH6(B-Sl@ZFEb$ zCDFz%H)2}pX@am#{2kLq9~3XbgtTzhP9OCG%@rg|u$^8l!D)FSsJ-ql$+{2TRd&!} z+m}e$F?d(mL5~w8ze?$-H!}Tcu^siUWLbV@iP%nhKS8o?JL!2Q71=uL4^4lZb0xn8ORo{qy_8rs%;$N9PX%ijgGpFivkMD3^5@Fd=rF-je9ezL~KT^zKA!=48fB z)=RY%X%YUW>b{b!0|q$QRJ|tA*Z~E$sk+^?TopS_Zz%}-!@Ah%`eH$HPMx8zakHGE z?=vm8#?I8$Rv4eOOxH^Z%C+`vJ}od^uRt`a`Anedf-zf71{x@4cY*LXeQx9*0q2yX?ubdV*SC1oVuyQ8QD@40yO$(f-HzztZ zYbH=TL9$)X*HZ+^J~m(9*$%@@XNwyC5SyjnAbLOKcKAYlR0q^9@lEhfe6jvVCnQ%EsO9Q8M8)v?SgyWSkjzo8zT2cC+X{V;v}B3P&c&|M8zniz z{K#{)K2(zR-RTQM*XUyf$xznl6HF?yt<`@q>5T0y-P#31LCYfB+q##aY&OpOQtW!Y z4$+SB*J3y54~aUKxE;GmFV)oeWP4Aa zBuJM0`}zz)a6(su`?2rq+XOAMp31bwZP#}S%4TC%mIXRbv@o#0O{T2+bLqwgU~%dHakx!$*jD}Vd+VS;3B?t>S9 z_?Pd!#!;x5q+f`v6=#z7>q!oFK=0Yp70Lm9s7b+b2lSbeU@v%7+(CVgAX#Py^(>Q$ zY+ve^1*NlIgA?Ko=_$Qr9u`eWjQd(&DJY#?jcgMKI}>}O2Jbl2+QfaQ*X-+xy+H3V zK#=vVmW5h@-k)eoOCMICk0APeZlQKef1T+5TpxB!pGJhaJ+3>5HpA}W<9Zg++4!Du zC-fYmBbft%)(XOLX*7_}Kv!B$>b`IEP1nLUeEi zoWrB*!)5+HY69o*=-xzoo4`3ddId?4qxo?+^tys%%5LgyOe(Vdp{Ki9-qsHak~#WQ z-!)RkP_9#{5Ku;BfEh{_jfxb?VEVD=Y7C|x(kMtuZ71{pQzjw2IqMtIgGqxxC z6G8C4-1|=0Q$1%i#)qL4*`Dbu1!c3{bJxT%W8WCmvf263Yh$?4X{^Y*XcLOjTab)h zF@83w$fg>X1*NmEn$8Z_jfE*Le^z7p3$#O!EM2Q{cpO^dZ>AgKJdM-|GWI{BZk6>i z774<<_qTf+?@1CTHI+0zBEoN^OB$aO;rTYDjIW6Be4A3n5u$n1K8*7*P6~2Z{otL4 zk8zGD26nXi7?%af{FOGeiI^5yN@a}tf@D3EGZIbeZ!c%G5#+GiA@=e{5>Y*fy}Z%K zwA>R{!5AgU+P@v_i83Y-rNFnq6^%EDaPNVyF`EeY9{3uIh^{w05Ld~_CA!~m5766^ zpp^E+RW?3!v#et5cC)Nv955~6$<#O_NIqLsH7*NEhaHMv$5k^@CS%^^Q*sUCuAp?b z1Xc-tM!zYtj?_lS;%Xa*C5iKX{f(al$x`w+Zb-7Wgi*uaxJ%RxMh$;BI2%L3R(>JQ zW^5BA{n?ElC0T32J2|^iL=@HBhuMv*M0qfl2O77C&caw8Xgnmk4O$TVgLsSq_NGC6 zL57zgjPGh(u(3pHqGg2|tH=^phhfHgB3vDY8Cy+D`0po1o*-Ff;YRQ2u2PCH3I)m5 z6J?Zp12x%tqK*23Wd34}rh+gnf5yccYu&VXW0Oh!?eWGoN!DN(uM>=2M9pEmPB8Wp zVXEsH`9zrNdd4wHqTkjxt_hNv)YI=NAtHN0$p>hIBx|1*g<3~rE78yvKJXtsJ`v=w=7ihhI~jY4aOXoOBTrB+3l5J2&FdPb zESL2cwB&{}odvc|#y*o8#CJA^{ehZXk##ZB1Yzk`jqhTt6C}sTuEw-mXeo2l-AFU3 z$kxL+BuLguFXM*m`=z4>QW$cWUqi zZB#W0o|%ohg5H}9zry55D$(o*OoP2@Ky+Drz;YxL2{8U4Ih@oI@ zj*6dVLf3^1w4Hrp6P{_y#4j?w0CSIe4fB$+fPey%Y}kPKy>kz-PkZNBlXX~|iZabA+O z1c@zs~4RG!EwejYfuw8pgLh zezUPmlC@XUUGeW2Ylwz6-43+LwCrzx*VslHo^P|o*hPeEw=KqgK{B218AnYjvTZfE z*!(W@_krOdD3@i-_&ojtqa0EF9$&_9Glmi^pK&yPhcQKv99us&<_p45&c=UitdeA{ z)Z3gIN&ZBCwjVMo3M%&a zbKz5ao>4>4C66B#4r6(SO==>BJR_K>Kb&uqXG{^4&b;a&)0 z^Nd~OuW!9-311tKWN3G&F|Tika9{KK_-{>m8c{dls7ZGs;u206d1jcLoixr!Vt6X# zNu#%iXps!hfjnh=K!j&Ro;L0h;i-^kjN#%l2aH{3KN$`|m-ut|jrOcDmk9HB)_A=H zhIz^3`>e%4QzeP~oi)-)!%{kHEFrDyxOjHXI7x&%fzBJ}1j+a=823oS_==2&L>OO@ z(brqXm$tBRLXj~vOjYEQDe3y)$NyGSlF?>sk z7&ylFi*Z~~IxDN8c0+0+x4#&7$r5Yx7vnK$82c}VwUi76bNj3D8WF~R*+>$Eu}=uR zVq^=#mX#e;Y^;)&qGc5u>!l`IR2vb&U6cXY02*t)@K{7|hMtL6@JLc%B;Y)=6 zt{MTQWeH-9T{Xfbi4weO#F2)1xN0;d4fAl#m_vklxNa;KB;)(dc#kxU?|0(^B8=~M zBe0AszTb^VNg}=*MgnOV-wmTBX&B#4V*wGy_s0wU;g;Fv6*!mbPm`WTbWCv3orqou zcV6&!&$Lt`OL;yp>1o7(ghwXbiAYI!YAh46WAFE2&x{QwedPJv*eQt(hLcyB<(VKX z3D~P-G0I|Y9jqRooWLyZy_geWFMc&lHR)-@^aR}`OtsY#C_=%pu5!4iC4#8K+<6I} zmIOgEz7j9Q;3SM;NrJZ-=F^C`5=xtdUw&1zylTeqaY7|aOEZS;_DYrxZZTB0bT?_V zz48n3RWZX!Gszn-HAAwQ2Pacbxlo)Je6QG>1o7;1iMM-FT^s;Oy~84 zFiVP=&O1P(;ApIVVWY0rf3+$P#Cn`j&e{*f;B2o(YnDrM|_toU3m(uv8_& zzS6+5Mv_OPg@sxJ%SO_0d}(0WN*eZ+29}+q)p)&Gtp=6{MA%mvSe^@#@inkiD({M~ zp`|Jj#@EoYMv{lRa52zE(lEY;maU{=d<`voNc#o)W<$$kB8;!0MXi7_$oLvsd?mqN zO<(UumSIG=SF@32r)e2p?-ff-Mf4~4=`^-96qGLZ=`^-9Ck=PsylQDj+MjTe=Bt)& zq~RW(CYEH z=WQ*25n&$MTK**Xv+uNc3ZeHbBjZJR%*eqoo~DRXCZnqoo_s7C57> zlO>sG51dig$uf)xzxeBHNg={7{yJNx5Z#;Axn7bbooLteK0xz`ewc__wj?orCRsi= zX;@H_jeaukzUtuWlBlswiEE zZ)m;l7Mmn%$rXiKZwq|lC`vx0!Q^_qEpdX1J@D6^K9*OA@RyN3mKKsY{tnc~GF6a_ zy`Lph5Viu&`dJnUa%GVS_C(f@CN|Ew8#+4z;u*%Q$u_VW_2-n>O4skTeWsxMiB4 zJUH#mQE#Nh;bu9?vVb&PiI1{uHZ8q?wz*l3w(NR=z7XVqQivZj%A%2Be`|E!OEOY`}2W^(TFx3dJ91pY-wZQQ$vK`oIdP zTC9(c#=_t$f4t9_0{-RX0`ih4w1liCrM?{L}BtVGbDna$M;58xNOX_mJIF z@?vQJOoMxV*L8R17s~-HpTKE4?q%Y<|4LI#&-FK6R$sp39?rjAzwFEXj=L}S`!8Sr znpF`d2R zjh3mRrAZfS6aSC+KkvKSynOxHsQ-WVFNg5*oeK>yOzGAO!RwOkTC0(}AvmvljaT5hFP!}a|CgPvp(dD3l%C9ybgOhmn~W~#%IjfpI)=g~ z=DP04^h!`q^()cLc-5L+B2m3;#Ar?-RQ5dF;GuO4s#zD$8 zHaXe-K8B35%vCZO7M=tHjn>bV{hN|f3=D0A!O-eKOMw5d-UdUsG!bpq$Gbwn zRi8pFSza5WZU0-YWyml4!oJ|lk-IAG|1C84`yWCIIa5V1mOab8BxN}A&XoCR=~V(< zXSv}uj?d0JFP0eImunbTiODi?_DA^_~YxtV$TBhw~d-wb65?%K1z`DX2 z&U08JIj?^bVagoIxZFpr{~o@3T>r~;o*2FVmoR0G{4bU-+q|6XUSc$GujPNc#^(s< zT2$I(i&c}e-Qo&d*89ux{x2o)-);Ua*Z;T54a0Z#j(=Wr77~rE0$t}?&i#6w=*6)U zu>?N#a)l#v1E%M@4Za?h`O3v|E#^0h37e=CiDvv<{qGmkG@x@`Vak9#@ZmrFhe z=6Z$Q6tkY^IJ}nq#dWQ+zhM-Du~DoF@XSNbUKOK+d-yJU&hT2gFNX$CI5svn?#Pfp85tfX? zK5LGlN&6Rbhh->p_iy)Qxos8CQ||76FM-EmO@b?DmAwb`qOmTcF%9@cCZD!myzi== zm+R=oJMQtie7V=@i}tQ3L1(;sU{$ZN3F7I`Jv}eqpCjf4X>&3G^Wtvvax2AINqwQM zy6$MA#p={z<@1GXw=zeVmw(U2KUIZhz<=I#`^&kIt83{Oum4kDb8jtb z4=hjYDbD93_d5DNxt=dt{%BZLayEZ1K9Bse9G_h9xy(7I-&l_2hEMS-+Zc=~`Af9+ z|CB=46Wo7SG4IZ{>K<}$=vg|2FKygQShkb9V&yNd-AAo`^)bv3pcP41VH>hB&2`3N znis*fbNu=5B_=~&oq**a+mCw(ssUWGphZa#iVmU2hDA{{YtHDl5MjYifEZ#_K-U$Wr=m?Znyd zWXPo*7=n8&Bg3#fKY%BFl`R+RMtAkUr%=X@<)DgZe~q>6jIA^t)?)_y2(B#*pB%01 zZFt`IV2wIp?32YfENfr(_m^YwPD9IoE9aL>UY3cw>t2KI*U`|@6c!}fo9kMIvc-2D z?7j!)|Q_!x`}8}~5f_5a7(o4`j=Oi4#_lC~|lpusbnvT~@pnyjh)W;t8(nin^|-|L61c zWX&$?_y7C8USD3Xe)q#upRTH|uCD2>nRMGVx5ojS2XIehB#z68@$HVZ^EkA&skUR( zYCn$cssGoG!FfMZjl~#cpDF+DbS!sbhdu4sR`$%H&Hvf&7}*_vUt*}$EVnyzK7FIK zPcn#ca-&=)oDPa3SDR7zn91ZdynQY4%Pd*@mFkI(yw}2>No$W;I#0t9-%y)6=mm+h zRcdATaC?sHMBQGBMB4kChTj_CI}4Z8d=j*!#w4DUA*I`Q!8T=P)&8edI-Z%URRtn# z8tTgw(RQ2LrT>lhZgx-piLLa1r=@M>9h7pfD*N)uM(K6AtEGnzm?*w|jc4~{dr$3J zHJ>Aq>v^8ufFok4moX1us`90>l{o*t7aij}=3viE{<|Zk-!@s!uLT$x+GiT=9R9cQ z1*oTm*%--9<{_QxA^g3Ei}@!Zf0>!|BPK;X2Bu<`65lkaT<(QktBxf~KBjtxSBdSZ z|LNFw3LW=oz*4zBe~|aQzvlmPmKlji$;VJ`9tC?Vne8+&qx;JqZAbl`stI)cTU*I| ztcP4@wsmoCHVOME`z|xIDQurqwoe+{Cmq+}xXxp1WMX_aR2ECgPL#6lM(Hgw z6DyyIww4lQB>%C%g&c&kT8w&Y{InaOU zcEA1GjSy#Se&khUbX6XOlgS+3_;NhOr{i_aq1VOt<&c)*Y`R{?oA%b+dEsnE#Q0+j;;`BJ6L&&PF0`;4@SIRve~IJKQP!gPM|+Z{V*CdLp$$r}fd z53dr17*{WCciOe>*mJNQzeSb%di%PiBirv;I^Ol$t$O0N9b-CbyFE{g@7UTMuZT{J zl+^ZXs*YFPb8(%6yZF;2^>2%1f7Ng~7aqnpES9>gLi~TO(8wdeVZ|4TmY zdH%N;yS8>s?C%$LBRBhB`!%z@cXt1@W9%N%6K6#G%;7TD+}^wPS#jyf|M~rO`*->s zTWsxBa>VV(j;;4UU$4G5OvW6kLwjxQ>s9+I@z-eAt-Xd)|Bf{|QQPPEZz| zyHaJV(=dkoT1-bDS9!?IP%n;^BiMAl9PwXkVf#q!I$dIHO6jt#oSTwr{r~tU9?gzN zzoYKh1MMSdA2s{4rsGW1iS2e`DINR6iSc&MC*DhT?4>7eWw%ntoKGxw06#rD?$?R= z*pA&#M7Q@P`&R_^n0De;cDZ(IbQ~w`c>5f*=a%iOrjG5|v7RU9+%YnD%zqyNI{Nm} zvFoz}J)wORwQFU!ZO8L&C$81a#P^!YcuL zE4x*Htq*i;jbE#|)X};y{$U-ng6Xmu|4gUZ*NH{ zv7`Ra`1bnS?fIXn_AJ@2k6I_z_QW&SZjA?S{?D3ptktiLiXB_h)^=~VXJ$I~_KvC7 zvsc)4>v$Z0ZSQ1!uC&F$Qzl=j&_yC!mPZtz=IQ#mm6`R}cr zxm+Ck*K}`jCeXf9_+qeZB`wgNv)xT>ZcnvKw~t`Qdj8s{=YRJd z%-NZkbCypTBQZy9=WMrL$NZZsCFUgbH2j6vzjVia{P!B3xb3ogf7w>_uWx(e-q~lC zJx>0jJLX{D9klPo57knZ9Q}4)5)v)*PWB9Td!IjX^sw&)zr`GE`|rxcu{d{)?@jn! z=ZSX#C+72Oj(k7WeywQ7JUL%#mEYlN@IGD*rgyl;JMk*6mA@0~$dT+bez5&m*yDqJ zyrj+l-M8D><}a=K%RFJ0s=}PdT$O`akQ~(sOA3~aSh`~Ap}MFmu~cE1tGZ+90o?=Z zLM;8%>1u#F1ItELg8vUyuVb03O4TvtQ~yv))EK=)jn&IliE#&(yVV8y9xSWX#aL$O zhoK);(~KSJ2E9YwjOA7=8`TcAL^opnf;w!xq>9uZvAl}qbu4dTc?a9HV%>)I$5?-Y zF?5ki#gc`kGnOt`x?{=1;?`GUslqZ>dGP;} zuoPqIi={u7Q?U%wOVtS73yZ8D#NSF4sL}dlEE}<$gk>p~2eId;VcCdfAeN zD}`5zxKenf@Vt5qmZex8R6eBpknTge51tR+Sa@UMjfFQB-dK23^fEmKdJ6P~`fhz8 z(l69^V7(OU2h~(;GZo%cY%>+!RCpKZ!$v?qWhN{6Wq&s4!0{CA0aMgqFiVXfedI*) zeDWf)lAKLmM=k`r;4g}0+f`ss95u?} zR{h8vQ*y{NrNj|*wy;)5O?gW58`S&xY~Xj*m1kmB$GGzTPpysm<vOboNa7eaR_?f#+lGPmd|poLJhkp%aUg}TbAUr$&k0r?PopnEZMJP z*q0}qMV9PWktKf-m8RsG))rIKEU8Hjb$@Eq7F%sJ9vJ$bv(CsKjK9`2y87R9ivPWH zi}8m`&v1=m{B|R-VU}yVaqj9{Tnlycfc0d=Rc38opX%Ig+&J<*=xgT3!I}$>fOE%w z?V4>AEkEwss2BJ`#URXE}gk> z?o4_Ye_?%p(tcGv;^CzI#z#Y>eR?e441YmMma0WNJdsq*{hDpa6OU&b6Yp#s zD&w>xXw`ii7p63`ovXQ3Gh4ozTfM8!8k(gxsmp@lluhbb$?}u~+;)@NyY#-4H`KeA zMN<~)V`n-L6Fyg~1J+k~r^6=J5YNTH`FMaWDSA7$mAyM)$rH5?u&hIt{H>@Q5h-O7 z-jcbAEiBxE_L;tZZ;GTgrpz|py>vhHf)f0aAG|;582k@Yga@G)lzfshiusRX&d1b+ zcWg&$CGwP*Ey?xV_XhHqI`?!lbr3Gk$R*H`y;KcT4h0IyKnVK7-y$U7LtmP;xM76Lmc)XF*$P z1NAO)FWF2UAPctDyq7mOd8cAR6>ar2u~zjsQ!Q1o%;V{tr}{D&l` zQRk3(WDz;r_+;_rX|s*j2FfVWWBHu4{`5=8QDhk@=j?|mXHi#>)5$7wE?I5J6M?F! zSAyR=@swK_FKxrVXw}Aju^h5h8(UzdA@2}d zX~@B`LJ~F6 z9P&n%Q4Sd!OAx;mj=TkC6!)}&`8Tr-%h-DTc|M-ykk7R;w%Az?`E)CDRIJZUuV4(` z*@m{QV2f=xzM45Mvx05X%yw&LyY;unF}BhHw$gNNTg5!*CbW#<)huhSLq6TW)FZBH zmbe%(n=%)ptZy?vGsdjDJ2eN61J?%Y1`f;GZd~J^npNxATNqBkQ(;fOJpB;&VkL9# z&rgcOhP-X=up!TOJIp?_lBKM4$mixtshM?)@rTejTr^m4G!st4Xj~|1cZQj7W*p9K{&)J9IA8{REdme_~l-b7CZllx2 zHb2a|wSn`KcQLnJ)NMQ?+U!2hV|NreOmj3FvKPl3*N?TbkF#9MDc5XiPU#OhPWhZY zj{H-ddCr|PR(CFPO8-nYE7nIl=Q-tA7{_E@B_9G31S0gUx$3{Ij!+jXFn0U_2KHwQ?vNNA#2a z%%MN(;86XY;*>ZCrOHr$T*a|%OPun4s8P;2f#cxp zb(g1)a(+=E{3kT(hI)>24!`U;@{u=Xl{n>%RV7Y&H%Ez6-pf?tly^!MVFW1YA|;lB z<0no6H!YsjrGjl$;aqj|?Omo*Pp7VeuIn^S529omaYq=Tl#7iI(>%&2`G( z=FfG?-{kwu>jt%UDZ*Z8wV3-QpL9QWk?YC7q%THpTQe5pxa`P~v!D|m6FOx>zpgb# zXS}DZ#<+T(@HM>MY#~2KYFT=bc|oYH>qK+>ynl49b;@`<(X3eUGqfD9TBnS|MW(zV zrpS~x!_+!uob1m!2)}psH@&N~yB#v*3jYv3cWywcoL~J-`4l*W(WAt%5_>VITLsUQ z3WvNAtimCEU^|Z5SUhb?_HHHWb6z*;dqMK*Zs+rO$=yMgx`m*G{;(}oW*O| z4wfZvuvv>5Vs?wE_1vm~TQzX2&x}t7yqhamXdmR(bE|shu*)geExVj@-BOXLiR9K` z$P+R5GPh>t+?>!-?q26I|Gw^fnL{&k+nb==PaWWqI>7k7tjQtPF+`*(;W3IYdUMv#xuGqp=IydkmnIsjwSEmnait>t?>Lgj`K&^2ad9D9A&MJ zqO9NdIL5M$v8=hK^rho0%V%6S;qo-gC8b*~X${LItzo%FjK%oI+>SG!H=2X|BH4@mR@6wv+m4K<8?(9ohsHxt}5}jz`O>Vi<+P(E4icJhsi}f zE_t%tUe;tUkLF&~WU0FuHF>~&z$Krp2hamICO6yd!>T8|bTsNg&p5EqK zWi5iAaZW)}n`^eC7W&7#Zue|tZf(ffq1s$BhtTGdrz#y~xyQ((E*W)?kw;xJCLbe@ za^H`$tm7=@xJ#aXb)2OfcO_W|JjYqeahE*r={QR{&QgxE6e~&UX(dSwtt6S90P*%A zE9q>_m2UgLh8Y~yuB8+A^ST>n(@I-$z>2(Ah$oKmX_r_`##xxy0uc-N;^g;SoPGo7i^ znL3@R(~)|+XS!3Kcr({ICp5iau5-`Xm#53j&(+Y9XPvR~js*pKIU*e(=d$JB(Al`( z&%;sclw9wUQR^`MT0Bn!+9iFmC`o!tQIhnQPMH7wvY-=Y5QRfYA32VkNS;qlAulCo zlUI`q$y-1}Emac=J7G3aa(j@hBe#%GkS~H6>P>YeBHyL+4VZ*EXW?;m4E$031S#_{C~JtMI?O^7_l3jZ2pL0wE_d3eKnB#2ZV>!8BPN_qhQ|gfAlse$qg-FeH z%AUFzQ^c6QjOmXUJo&&m0r}qoCaGG++|HPlh%xY_OF0%>;N$O>81p()4>5;#Sju6R z5@#uG&UEDSsq^e)$p;Bzji^In(KIp&huHoIi2 zKe!envLvYnx-3cd?#v|FqqCAE{=6iKuShacx9gCKK9eN%-;neW_GLh_?9t%lD4e;; zvhBQN*{V8Owz?@<@>!g0qV?7y(xEmW5_4n8o3Yi16v^kV6xr&Dlt zb)cz+W;P%uKTBdfWFHW}G0l!5ess2!{ymx8Nw%HcSt6e%_mh7H@i)PpC9+G7#Ek1A z`B#$XcNIMaG}O~wr8n+|PEy^wOaGkMT}t`Bhio;Vr^L+8mzb;bzbxp3Z)SEB7pptb z|4)W4FCB~CUA)Q92}{B2L06KDs9X_HCa6cUZQ>r z2G!T#91>q*Aco0!@}|3z{?{W$#c z(iWET5q)h)&ZZ&03B9A(qLWN|$U>wx6c;kJ(2#vBqTk1m)*C|YrSGHmGv3emGCJd^ zD-Ef6kf}jBv&d=?J%OoVriSTKK`XFWd-9SjI3j1l#x+J zZe~o3sf|o+Vku2bZKB`I9A0E(oK6cPTN&BP$Tr4ĩC9%)P3!L-;PES@74+k`p? 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

kR#x;ZK14(RK#%C#&$IkbCI{3`! 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�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 U=dNJ#H)xbudWbIZ7Hj-`j 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 L6r>sh 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 z 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

l7I4>C&@t?SX6GG=6{Gp@l>_ZC#h)X<6BeH);0y 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 T4S~@R7!85Z5Eu=Ckrn~~w^>eN diff --git a/.github/workflows/dependencies/ReplaceAndAdd.md b/.github/workflows/dependencies/ReplaceAndAdd.md index e68a55434..fab4bcffd 100644 --- a/.github/workflows/dependencies/ReplaceAndAdd.md +++ b/.github/workflows/dependencies/ReplaceAndAdd.md @@ -32,7 +32,8 @@ the automatic section numbering tooling, they **must** be maintained manually. # Verification-Only Replacements & Additions -This set of replacements and additions is the bare minimum required to allow the grammar to verify and run, though +This set of replacements and additions is the bare minimum required to allow the grammar +to verify and run, though it may not produce the desired parse (that requires at least the use of modes and/or lexical predicates). @@ -62,7 +63,7 @@ The following changes in §7.3.2, §7.3.3 and §7.3.4, add `-> skip` to the “w token rules so that are not passed to the parser. This behaviour is implicit in the Standard. -### 7.3.2 Line terminators +### 6.3.2 Line terminators ```ANTLR // [SKIP] @@ -73,7 +74,7 @@ New_Line ; ``` -### 7.3.3 Comments +### 6.3.3 Comments ```ANTLR // [SKIP] @@ -84,7 +85,7 @@ Comment ; ``` -### 7.3.4 White space +### 6.3.4 White space ```ANTLR // [SKIP] @@ -106,7 +107,7 @@ This change causes all pre-processor directives to be discarded, they don’t ne processed to validate the grammar (processing them would exercise the *implementation* of the pre-processor, which is not part of the Standard). -### 7.5.1 General +### 6.5.1 General ```ANTLR // [CHANGE] Discard pre-processor directives @@ -125,32 +126,41 @@ strive not to introduce any new ones). This change resolves the one remaining MLR group by inlining some of the non-terminal alternatives in *primary_no_array_creation_expression*. -Non-terminals that are inlined are commented out and the inlined body is indented. +Non-terminals that are inlined +are commented out and the inlined body is indented. This change has not been made to the Standard itself as it makes *primary_no_array_creation_expression* -“uglier” and would obfuscate somewhat the description in the Standard. +“uglier” and would obfuscate somewhat the description in the Standard – both +subjective reasons of course... As MLR is not supported by ANTLR without this change the grammar would be rejected. -### 12.7.1 General +### 12.8.1 General ```ANTLR // [CHANGE] This removes a mutual left-recursion group which we have (currently?) // [CHANGE] decided to leave in the Standard. Without this change the grammar will fail. primary_no_array_creation_expression : literal + | interpolated_string_expression | simple_name | parenthesized_expression + | tuple_expression // | member_access | primary_no_array_creation_expression '.' identifier type_argument_list? | array_creation_expression '.' identifier type_argument_list? | predefined_type '.' identifier type_argument_list? | qualified_alias_member '.' identifier type_argument_list? + // | null_conditional_member_access + | primary_no_array_creation_expression '?' '.' identifier type_argument_list? dependent_access* + | array_creation_expression '?' '.' identifier type_argument_list? dependent_access* // | invocation_expression | primary_no_array_creation_expression '(' argument_list? ')' | array_creation_expression '(' argument_list? ')' // | element_access and pointer_element_access (unsafe code support) | primary_no_array_creation_expression '[' argument_list ']' + // | null_conditional_element_access + | primary_no_array_creation_expression '?' '[' argument_list ']' dependent_access* | this_access | base_access // | post_increment_expression @@ -174,5 +184,23 @@ primary_no_array_creation_expression | array_creation_expression '->' identifier type_argument_list? // | pointer_element_access // unsafe code support // covered by element_access replacement above + | stackalloc_expression + ; +``` + + +--- + +## Interpolated strings + +The lexical rules for interpolated strings are context-sensitive and are not ANLTR-ready in the Standard +as how such rules are handled is an implementation detail, e.g. using ANTLR modes as done in mods-base. +Here we just define one token in terms of another to remove the overlap warnings. + +### 12.8.3 Interpolated string expressions + +```ANTLR +Interpolated_Verbatim_String_End + : Interpolated_Regular_String_End ; ``` diff --git a/.github/workflows/grammar-validator.yaml b/.github/workflows/grammar-validator.yaml index 243677862..71bce314a 100644 --- a/.github/workflows/grammar-validator.yaml +++ b/.github/workflows/grammar-validator.yaml @@ -21,10 +21,10 @@ jobs: - name: Check out our repo uses: actions/checkout@v2 - - name: Setup .NET 6.0 + - name: Setup .NET 8.0 uses: actions/setup-dotnet@v1 with: - dotnet-version: 6.0.x + dotnet-version: 8.0.x - name: Set up JDK 15 uses: actions/setup-java@v1 @@ -34,7 +34,7 @@ jobs: # Install build grammar global tool - name: Install BuildGrammar tool run: | - dotnet tool install --version 1.0.0-alpha.2 --global --add-source ./.github/workflows/dependencies/ EcmaTC49.BuildGrammar + dotnet tool install --version 1.0.0-alpha.4 --global --add-source ./.github/workflows/dependencies/ EcmaTC49.BuildGrammar - name: run validate From 38d9fe5673a3496dd76b7f08a1fb20a5f11fa2aa Mon Sep 17 00:00:00 2001 From: Fred Silberberg Date: Thu, 30 Nov 2023 08:13:55 -0800 Subject: [PATCH 050/259] Fix codefence Fixed a codefence to be around the fully qualified type, instead of just the typename. --- standard/arrays.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/arrays.md b/standard/arrays.md index 7d10142b1..4c9f914ff 100644 --- a/standard/arrays.md +++ b/standard/arrays.md @@ -58,7 +58,7 @@ At run-time, a value of type `System.Array` can be `null` or a reference to an i ### 17.2.3 Arrays and the generic collection interfaces -A single-dimensional array `T[]` implements the interface System.Collections.Generic.`IList` (`IList` for short) and its base interfaces. Accordingly, there is an implicit conversion from `T[]` to `IList` and its base interfaces. In addition, if there is an implicit reference conversion from `S` to `T` then `S[]` implements `IList` and there is an implicit reference conversion from `S[]` to `IList` and its base interfaces ([§10.2.8](conversions.md#1028-implicit-reference-conversions)). If there is an explicit reference conversion from `S` to `T` then there is an explicit reference conversion from `S[]` to `IList` and its base interfaces ([§10.3.5](conversions.md#1035-explicit-reference-conversions)). +A single-dimensional array `T[]` implements the interface `System.Collections.Generic.IList` (`IList` for short) and its base interfaces. Accordingly, there is an implicit conversion from `T[]` to `IList` and its base interfaces. In addition, if there is an implicit reference conversion from `S` to `T` then `S[]` implements `IList` and there is an implicit reference conversion from `S[]` to `IList` and its base interfaces ([§10.2.8](conversions.md#1028-implicit-reference-conversions)). If there is an explicit reference conversion from `S` to `T` then there is an explicit reference conversion from `S[]` to `IList` and its base interfaces ([§10.3.5](conversions.md#1035-explicit-reference-conversions)). Similarly, a single-dimensional array `T[]` also implements the interface `System.Collections.Generic.IReadOnlyList` (`IReadOnlyList` for short) and its base interfaces. Accordingly, there is an implicit conversion from `T[]` to `IReadOnlyList` and its base interfaces. In addition, if there is an implicit reference conversion from `S` to `T` then `S[]` implements `IReadOnlyList` and there is an implicit reference conversion from `S[]` to `IReadOnlyList` and its base interfaces ([§10.2.8](conversions.md#1028-implicit-reference-conversions)). If there is an explicit reference conversion from `S` to `T` then there is an explicit reference conversion from `S[]` to `IReadOnlyList` and its base interfaces ([§10.3.5](conversions.md#1035-explicit-reference-conversions)). From 4d398ce62c7a48a2b0440dcea42486e70c409943 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Thu, 30 Nov 2023 14:49:05 -0500 Subject: [PATCH 051/259] Add example annotation to 3 new examples (#1025) * Add example annotation * Add example annotation --- standard/patterns.md | 10 ++++++---- standard/variables.md | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/standard/patterns.md b/standard/patterns.md index 006a922da..2a825a282 100644 --- a/standard/patterns.md +++ b/standard/patterns.md @@ -22,20 +22,22 @@ A *declaration_pattern* and a *var_pattern* can result in the declaration of a l Each pattern form defines the set of types for input values that the pattern may be applied to. A pattern `P` is *applicable to* a type `T` if `T` is among the types whose values the pattern may match. It is a compile-time error if a pattern `P` appears in a program to match a pattern input value ([§11.1](patterns.md#111-general)) of type `T` if `P` is not applicable to `T`. -> *Example*: The following example generates a compile-time error because the compile-time type of `v` is `Stream`. A variable of type `Stream` can never have a value that is reference compatible with `string`: +> *Example*: The following example generates a compile-time error because the compile-time type of `v` is `TextReader`. A variable of type `TextReader` can never have a value that is reference-compatible with `string`: > +> > ```csharp -> Stream v = OpenDataFile(); // compile-time type of 'v' is 'Stream' +> TextReader v = Console.In; // compile-time type of 'v' is 'TextReader' > if (v is string) // compile-time error > { > // code assuming v is a string > } > ``` > -> However, the following doesn’t generate a compile-time error because the compile-time type of `v` is `object`. A variable of type `object` could have a value that is reference compatible with `string`: +> However, the following doesn’t generate a compile-time error because the compile-time type of `v` is `object`. A variable of type `object` could have a value that is reference-compatible with `string`: > +> > ```csharp -> object v = OpenDataFile(); +> object v = Console.In; > if (v is string s) > { > // code assuming v is a string diff --git a/standard/variables.md b/standard/variables.md index aa8dbc8c1..ea8e04742 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -335,6 +335,7 @@ The definite-assignment state of *v* at the beginning of a case’s guard clause > *Example*: The second rule eliminates the need for the compiler to issue an error if an unassigned variable is accessed in unreachable code. The state of *b* is “definitely assigned” in the unreachable switch label `case 2 when b`. > +> > ```csharp > bool b; > switch (1) From 29e86c56584827010b57614ee1ada8aec709bb80 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Tue, 9 Jan 2024 10:25:57 -0500 Subject: [PATCH 052/259] Create/Update V9 Feature Tracker Status (#976) * Add files via upload * Update v9-feature-tracker.md * Update v9-feature-tracker.md --- admin/v9-feature-tracker.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 admin/v9-feature-tracker.md diff --git a/admin/v9-feature-tracker.md b/admin/v9-feature-tracker.md new file mode 100644 index 000000000..2b6bacc58 --- /dev/null +++ b/admin/v9-feature-tracker.md @@ -0,0 +1,29 @@ +## V9 Feature List and Current Status + +This file identifies the known V9 features, and tracks their status. + +Dependencies between feature specs are noted. The *Effort* column is an attempt to show the size/complexity of the proposal, such as *small*, *medium*, or *large*, allowing TG2 to pick-and-chose the ones they'll work on next. + +Rex started with a set of [MS proposals](https://github.com/dotnet/csharplang/tree/main/proposals/csharp-9.0). He wrote tests, looked at MS (and other) tutorial pages. **It is quite possible that not everything in any given MS proposal was in fact implemented in that version, and it is also possible that things implemented in a version later on were not spec'd back into the proposal.** + +[Any work done by Rex that has not yet been turned into a Draft PR is stored in a Dropbox folder to which Bill, Mads, and Jon have access.] + +Feature | PR | Status | Effort | Annotation | Notes +------- | -- | ------ | ------ | ---------- | ------ +Init accessors ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/init.md)) | [978](https://github.com/dotnet/csharpstandard/pull/978) | SPEC'D | medium | Done | +Top-level statements ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/top-level-statements.md)) | [980](https://github.com/dotnet/csharpstandard/pull/980) | SPEC'D | small | Done | +Native sized integers ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/native-integers.md)) | | ?? SPEC'D | medium | Done | **Not ready for prime time!** +Records ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/records.md)) | [983](https://github.com/dotnet/csharpstandard/pull/983) | SPEC'D | large | Done | See open issues in the PR intro +Function pointers ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/function-pointers.md)) | [984](https://github.com/dotnet/csharpstandard/pull/984) | Almost complete | large | Done | See open issues in the PR intro +Pattern matching enhancements ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/patterns3.md)) | [1026](https://github.com/dotnet/csharpstandard/pull/1026) | SPEC'D | medium | Done | Might need tweaking after V8 pattern-matching additions merged + open issues addressed +Suppress emitting localsinit flag ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/skip-localsinit.md)) | | N/A | | | **This is explicitly a compiler feature and not a language feature** +static anonymous functions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/static-anonymous-functions.md)) | [988](https://github.com/dotnet/csharpstandard/pull/988) | SPEC'D | small | N/A | +Target-typed conditional expressions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/target-typed-conditional-expression.md)) | | In-progress | small | N/A | deferred for now +Covariant return types ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/covariant-returns.md)) | | partially SPEC'D | small | | waiting on adoption of V8 "impl. in interfaces" +Extension GetEnumerator support for foreach loops ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/extension-getenumerator.md)) | [989](https://github.com/dotnet/csharpstandard/pull/989)| SPEC'D | small | N/A | +Lambda discard parameters ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/lambda-discard-parameters.md)) | [995](https://github.com/dotnet/csharpstandard/pull/995) | SPEC'D | small | N/A | +Attributes and extern on local functions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/local-function-attributes.md)) | [994](https://github.com/dotnet/csharpstandard/pull/994)| SPEC'D | small | Done | +Module initializers ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/module-initializers.md)) | [992](https://github.com/dotnet/csharpstandard/pull/992)| SPEC'D | small | Done | +New features for partial methods ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/extending-partial-methods.md)) | [991](https://github.com/dotnet/csharpstandard/pull/991) | SPEC'D | small | Done | +Target-typed new expressions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/target-typed-new.md)) | [990](https://github.com/dotnet/csharpstandard/pull/990) | SPEC'D | small | N/A | +Unconstrained type parameter annotations ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/unconstrained-type-parameter-annotations.md)) | | PENDING | small | | Wait to write this up until all the nullable reference and notnull constraint additions have been completed in V8 From 2239f60222b12f18d279a24d15bd0025c8687585 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 10 Jan 2024 15:25:17 -0500 Subject: [PATCH 053/259] Introduce term "identity convertible" for types that aren't the same type, but have an identity conversion (#985) * first commit: dynamic and object Introduce and define the term "runtime interchangeable" in the types clause. Where applicable, replace the phrases "the same type" and "equivalent types" with the phrase "runtime interchangeable." * 2nd commit: Prohibit `dynamic` as a base class. * commit three: Move definition Move and expand the definition of *runtime interchangeable* to the conversions chapter, and expand its definition to include tuples and constructed generic types. * use runtime interchangeable Sweep the standard for instances of "identity conversion" and replace with "runtime interchangeable" in those instances where the meaning was specifically one of the types that aren't the same, but have an identity conversion. * one more edit pass * proofread * Update standard/types.md Co-authored-by: Jon Skeet * Update standard/types.md Co-authored-by: Jon Skeet * Rephrase paragraph. * update wording on closed generic types * Apply suggestions from code review Co-authored-by: Neal Gafter * updates from committee - Remove normative text on nested tuples and identity conversions. - Add an example that demonstrates the nature of nested tuples being identity convertible when each member is identity convertible. - Replace "runtime interchangeable" with "identity convertible". - Add text that all identity conversions are symmetric. * fix test runner * respond to feedback. * Apply suggestions from code review Co-authored-by: Jon Skeet * Apply suggestions from code review Co-authored-by: Jon Skeet --------- Co-authored-by: Jon Skeet Co-authored-by: Neal Gafter --- standard/classes.md | 4 ++-- standard/conversions.md | 44 +++++++++++++++++++++++++++++++++-------- standard/expressions.md | 4 ++-- standard/types.md | 14 ++++++++----- 4 files changed, 49 insertions(+), 17 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index 24b500c65..88eaff42d 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -233,7 +233,7 @@ The base class specified in a class declaration can be a constructed class type The direct base class of a class type shall be at least as accessible as the class type itself ([§7.5.5](basic-concepts.md#755-accessibility-constraints)). For example, it is a compile-time error for a public class to derive from a private or internal class. -The direct base class of a class type shall not be any of the following types: `System.Array`, `System.Delegate`, `System.Enum`, or `System.ValueType`. Furthermore, a generic class declaration shall not use `System.Attribute` as a direct or indirect base class ([§22.2.1](attributes.md#2221-general)). +The direct base class of a class type shall not be any of the following types: `System.Array`, `System.Delegate`, `System.Enum`, `System.ValueType` or the `dynamic` type. Furthermore, a generic class declaration shall not use `System.Attribute` as a direct or indirect base class ([§22.2.1](attributes.md#2221-general)). In determining the meaning of the direct base class specification `A` of a class `B`, the direct base class of `B` is temporarily assumed to be `object`, which ensures that the meaning of a base class specification cannot recursively depend on itself. @@ -2859,7 +2859,7 @@ Partial methods shall not define access modifiers; they are implicitly private. There are two kinds of partial method declarations: If the body of the method declaration is a semicolon, the declaration is said to be a ***defining partial method declaration***. If the body is other than a semicolon, the declaration is said to be an ***implementing partial method declaration***. Across the parts of a type declaration, there may be only one defining partial method declaration with a given signature, and there may be only one implementing partial method declaration with a given signature. If an implementing partial method declaration is given, a corresponding defining partial method declaration shall exist, and the declarations shall match as specified in the following: - The declarations shall have the same modifiers (although not necessarily in the same order), method name, number of type parameters and number of parameters. -- Corresponding parameters in the declarations shall have the same modifiers (although not necessarily in the same order) and the same types (modulo differences in type parameter names). +- Corresponding parameters in the declarations shall have the same modifiers (although not necessarily in the same order) and the same types, or identity convertible types (modulo differences in type parameter names). - Corresponding type parameters in the declarations shall have the same constraints (modulo differences in type parameter names). An implementing partial method declaration can appear in the same part as the corresponding defining partial method declaration. diff --git a/standard/conversions.md b/standard/conversions.md index 0ed9932f7..010b472d3 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -71,19 +71,47 @@ The pre-defined implicit conversions always succeed and never cause exceptions t > *Note*: Properly designed user-defined implicit conversions should exhibit these characteristics as well. *end note* -For the purposes of conversion, the types `object` and `dynamic` are considered equivalent. +For the purposes of conversion, the types `object` and `dynamic` are identity convertible (§10.2.2). However, dynamic conversions ([§10.2.10](conversions.md#10210-implicit-dynamic-conversions) and [§10.3.8](conversions.md#1038-explicit-dynamic-conversions)) apply only to expressions of type `dynamic` ([§8.2.4](types.md#824-the-dynamic-type)). ### 10.2.2 Identity conversion -An identity conversion converts from any type to the same type. One reason this conversion exists is so that a type T or an expression of type T can be said to be convertible to T itself. +An identity conversion converts from any type to the same type or a type that is equivalent at runtime. One reason this conversion exists is so that a type `T` or an expression of type `T` can be said to be convertible to `T` itself. The following identity conversions exist: -In some cases there is an identity conversion between types that are not exactly the same, but are considered equivalent. Such identity conversions exist: +- Between `T` and `T`, for any type `T`. +- Between `object` and `dynamic`. +- Between all tuple types with the same arity, and the corresponding constructed `ValueTuple<...>` type, when an identity conversion exists between each pair of corresponding element types. +- Between types constructed from the same generic type where there exists an identity conversion between each corresponding type argument. -- between `object` and `dynamic`. -- between tuple types with the same arity, when an identity conversion exists between each pair of corresponding element types. -- between types constructed from the same generic type where there exists an identity conversion between each corresponding type argument. +> *Example*: The following illustrates the recursive nature of the third rule: +> +> +> ```csharp +> (int a , string b) t1 = (1, "two"); +> (int c, string d) t2 = (3, "four"); +> +> // Identity conversions exist between +> // the types of t1, t2, and t3. +> var t3 = (5, "six"); +> t3 = t2; +> t2 = t1; +> +> var t4 = (t1, 7); +> var t5 = (t2, 8); +> +> // Identity conversions exist between +> // the types of t4, t5, and t6. +> var t6 =((8, "eight"), 9); +> t6 = t5; +> t5 = t4; +> ``` +> +> The types of tuples `t1`, `t2` and `t3` all have two elements: an `int` followed by a `string`. Tuple element types may themselves by tuples, as in `t4`, `t5`, and `t6`. An identity conversion exists between each pair of corresponding element types, including nested tuples, therefore an identity conversion exists between the types of tuples `t4`, `t5`, and `t6`. +> +> *end example* + +All identity conversions are symmetric. If an identity conversion exists from `T₁` to `T₂`, then an identity conversion exists from `T₂` to `T₁`. Two types are *identity convertible* when an identity conversion exists between two types. In most cases, an identity conversion has no effect at runtime. However, since floating point operations may be performed at higher precision than prescribed by their type ([§8.3.7](types.md#837-floating-point-types)), assignment of their results may result in a loss of precision, and explicit casts are guaranteed to reduce precision to what is prescribed by the type ([§12.9.7](expressions.md#1297-cast-expressions)). @@ -374,7 +402,7 @@ Explicit conversions can occur in cast expressions ([§12.9.7](expressions.md#12 The set of explicit conversions includes all implicit conversions. -> *Note*: This, for example, allows an explicit cast to be used when an implicit conversion to the same type exists, in order to force the selection of a particular method overload. *end note* +> *Note*: This, for example, allows an explicit cast to be used when an implicit identity conversion exists, in order to force the selection of a particular method overload. *end note* The explicit conversions that are not implicit conversions are conversions that cannot be proven always to succeed, conversions that are known possibly to lose information, and conversions across domains of types sufficiently different to merit explicit notation. @@ -772,7 +800,7 @@ Specifically, an anonymous function `F` is compatible with a delegate type `D` - If `F` contains an *anonymous_function_signature*, then `D` and `F` have the same number of parameters. - If `F` does not contain an *anonymous_function_signature*, then `D` may have zero or more parameters of any type, as long as no parameter of `D` has the out parameter modifier. -- If `F` has an explicitly typed parameter list, each parameter in `D` has the same type and modifiers as the corresponding parameter in `F`. +- If `F` has an explicitly typed parameter list, each parameter in `D` has the same modifiers as the corresponding parameter in `F` and an identity conversion exists between the corresponding parameter in `F`. - If `F` has an implicitly typed parameter list, `D` has no ref or out parameters. - If the body of `F` is an expression, and *either* `D` has a void return type *or* `F` is async and `D` has a `«TaskType»` return type ([§15.15.1](classes.md#15151-general)), then when each parameter of `F` is given the type of the corresponding parameter in `D`, the body of `F` is a valid expression (w.r.t [§12](expressions.md#12-expressions)) that would be permitted as a *statement_expression* ([§13.7](statements.md#137-expression-statements)). - If the body of `F` is a block, and *either* `D` has a void return type *or* `F` is async and `D` has a `«TaskType»` return type , then when each parameter of `F` is given the type of the corresponding parameter in `D`, the body of `F` is a valid block (w.r.t [§13.3](statements.md#133-blocks)) in which no `return` statement specifies an expression. diff --git a/standard/expressions.md b/standard/expressions.md index 0a1302e61..f3c3d93f1 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -245,7 +245,7 @@ An operation of the form `«op» x` or `x «op»`, where «op» is an overloada An operation of the form `x «op» y`, where «op» is an overloadable binary operator, `x` is an expression of type `X`, and `y` is an expression of type `Y`, is processed as follows: - The set of candidate user-defined operators provided by `X` and `Y` for the operation `operator «op»(x, y)` is determined. The set consists of the union of the candidate operators provided by `X` and the candidate operators provided by `Y`, each determined using the rules of [§12.4.6](expressions.md#1246-candidate-user-defined-operators). For the combined set, candidates are merged as follows: - - If `X` and `Y` are the same type, or if `X` and `Y` are derived from a common base type, then shared candidate operators only occur in the combined set once. + - If `X` and `Y` are identity convertible, or if `X` and `Y` are derived from a common base type, then shared candidate operators only occur in the combined set once. - If there is an identity conversion between `X` and `Y`, an operator `«op»Y` provided by `Y` has the same return type as an `«op»X` provided by `X` and the operand types of `«op»Y` have an identity conversion to the corresponding operand types of `«op»X` then only `«op»X` occurs in the set. - If the set of candidate user-defined operators is not empty, then this becomes the set of candidate operators for the operation. Otherwise, the predefined binary `operator «op»` implementations, including their lifted forms, become the set of candidate operators for the operation. The predefined implementations of a given operator are specified in the description of the operator. For predefined enum and delegate operators, the only operators considered are those provided by an enum or delegate type that is the binding-time type of one of the operands. - The overload resolution rules of [§12.6.4](expressions.md#1264-overload-resolution) are applied to the set of candidate operators to select the best operator with respect to the argument list `(x, y)`, and this operator becomes the result of the overload resolution process. If overload resolution fails to select a single best operator, a binding-time error occurs. @@ -4406,7 +4406,7 @@ The operation is evaluated as follows: 1. Otherwise, `D` is `R`. 1. The result depends on `D` and `T` as follows: 1. If `T` is a reference type, the result is `true` if: - - `D` and `T` are the same type, + - an identity conversion exists between `D` and `T`, - `D` is a reference type and an implicit reference conversion from `D` to `T` exists, or - Either: `D` is a value type and a boxing conversion from `D` to `T` exists. Or: `D` is a value type and `T` is an interface type implemented by `D`. diff --git a/standard/types.md b/standard/types.md index 917bab6fa..8b8a0147f 100644 --- a/standard/types.md +++ b/standard/types.md @@ -396,7 +396,7 @@ There does not need to exist a `System.ValueTuple<...>` declaration that directl Element names within a tuple type shall be distinct. A tuple element name of the form `ItemX`, where `X` is any sequence of non-`0`-initiated decimal digits that could represent the position of a tuple element, is only permitted at the position denoted by `X`. -The optional element names are not represented in the `ValueTuple<...>` types, and are not stored in the runtime representation of a tuple value. There is an identity conversion between all tuple types with the same arity and identity-convertible sequences of element types, as well as to and from the corresponding constructed `ValueTuple<...>` type. +The optional element names are not represented in the `ValueTuple<...>` types, and are not stored in the runtime representation of a tuple value. Identity conversions (§10.2.2) exist between tuples with identity-convertible sequences of element types. The `new` operator [§12.8.16.2](expressions.md#128162-object-creation-expressions) cannot be applied with the tuple type syntax `new (T1, ..., Tn)`. Tuple values can be created from tuple expressions ([§12.8.6](expressions.md#1286-tuple-expressions)), or by applying the `new` operator directly to a type constructed from `ValueTuple<...>`. @@ -546,7 +546,7 @@ A closed type is a type that is not an open type. At run-time, all of the code within a generic type declaration is executed in the context of a closed constructed type that was created by applying type arguments to the generic declaration. Each type parameter within the generic type is bound to a particular run-time type. The run-time processing of all statements and expressions always occurs with closed types, and open types occur only during compile-time processing. -Each closed constructed type has its own set of static variables, which are not shared with any other closed constructed types. Since an open type does not exist at run-time, there are no static variables associated with an open type. Two closed constructed types are the same type if they are constructed from the same unbound generic type, and their corresponding type arguments are the same type. +Two closed constructed types are identity convertible (§10.2.2) if they are constructed from the same unbound generic type, and an identity conversion exists between each of their corresponding type arguments. The corresponding type arguments may themselves be closed constructed types or tuples that are identity convertible. Closed constructed types that are identity convertible share a single set of static variables. Otherwise, each closed constructed type has its own set of static variables. Since an open type does not exist at run-time, there are no static variables associated with an open type. ### 8.4.4 Bound and unbound types @@ -666,12 +666,13 @@ The API surface provided by `Expression` is implementation-specific b The type `dynamic` uses dynamic binding, as described in detail in [§12.3.2](expressions.md#1232-binding-time), as opposed to static binding which is used by all other types. -`dynamic` is considered identical to `object` except in the following respects: +The type `dynamic` is considered identical to `object` except in the following respects: - Operations on expressions of type `dynamic` can be dynamically bound ([§12.3.3](expressions.md#1233-dynamic-binding)). - Type inference ([§12.6.3](expressions.md#1263-type-inference)) will prefer `dynamic` over `object` if both are candidates. - `dynamic` cannot be used as - the type in an *object_creation_expression* ([§12.8.16.2](expressions.md#128162-object-creation-expressions)) + - a *class_base* (§15.2.4) - a *predefined_type* in a *member_access* ([§12.8.7.1](expressions.md#12871-general)) - the operand of the `typeof` operator - an attribute argument @@ -681,10 +682,13 @@ The type `dynamic` uses dynamic binding, as described in detail in [§12.3.2](ex Because of this equivalence, the following holds: -- There is an implicit identity conversion between `object` and `dynamic`, and between constructed types that are the same when replacing `dynamic` with `object`. +- There is an implicit identity conversion + - between `object` and `dynamic` + - between constructed types that are the same when replacing `dynamic` with `object` + - between tuple types that are the same when replacing `dynamic` with `object` - Implicit and explicit conversions to and from `object` also apply to and from `dynamic`. - Signatures that are the same when replacing `dynamic` with `object` are considered the same signature. -- The type `dynamic` is indistinguishable from `object` at run-time. +- The type `dynamic` is indistinguishable from the type `object` at run-time. - An expression of the type `dynamic` is referred to as a ***dynamic expression***. ## 8.8 Unmanaged types From feaeb0f040d2d6723cd74af215ef9ec200a49bb6 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Thu, 30 Nov 2023 07:29:34 +0000 Subject: [PATCH 054/259] Add extra example in switch/case Let's wait until next meeting before merging this, as I worry that it might muddy the waters a bit. --- standard/basic-concepts.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/standard/basic-concepts.md b/standard/basic-concepts.md index 2c739a8de..a09db7b87 100644 --- a/standard/basic-concepts.md +++ b/standard/basic-concepts.md @@ -92,9 +92,9 @@ There are several different types of declaration spaces, as described in the fol - The syntactic translation of a *query_expression* ([§12.20.3](expressions.md#12203-query-expression-translation)) may introduce one or more lambda expressions. As anonymous functions, each of these creates a local variable declaration space as described above. - Each *block* or *switch_block* creates a separate declaration space for labels. Names are introduced into this declaration space through *labeled_statement*s, and the names are referenced through *goto_statement*s. The ***label declaration space*** of a block includes any nested blocks. Thus, within a nested block it is not possible to declare a label with the same name as a label in an enclosing block. -> *Note*: The fact that variables declared directly within a *switch_section* are added to the local variable declaration space of the *switch_block* instead of the *switch_section* can lead to surprising code. In the example below, the local variable `y` is in scope within the switch section for the default case, despite the declaration appearing in the switch section for case 0. +> *Note*: The fact that variables declared directly within a *switch_section* are added to the local variable declaration space of the *switch_block* instead of the *switch_section* can lead to surprising code. In the example below, the local variable `y` is in scope within the switch section for the default case, despite the declaration appearing in the switch section for case 0. The local variable `z` is not in scope within the switch section for the default case, as it is introduced in the local variable declaration space for the switch section in which the declaration occurs. > -> +> > ```csharp > int x = 1; > switch (x) @@ -102,9 +102,14 @@ There are several different types of declaration spaces, as described in the fol > case 0: > int y; > break; +> case var z when z < 10: +> break; > default: > y = 10; +> // Valid: y is in scope > Console.WriteLine(x + y); +> // Invalid: z is not scope +> Console.WriteLine(x + z); > break; > } > ``` From 2e0ce293764e965e4210a613bef309dba4b72701 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Tue, 2 Jan 2024 17:27:28 -0500 Subject: [PATCH 055/259] Redirect link to normative text --- standard/variables.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/variables.md b/standard/variables.md index ea8e04742..b027bf1a6 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -218,7 +218,7 @@ At a given location in the executable code of a function member or an anonymous > > *end note* -The definite-assignment states of instance variables of a *struct_type* variable are tracked individually as well as collectively. In additional to the rules above, the following rules apply to *struct_type* variables and their instance variables: +The definite-assignment states of instance variables of a *struct_type* variable are tracked individually as well as collectively. In additional to the rules described in [§9.4.2](variables.md#942-initially-assigned-variables), [§9.4.3](variables.md#943-initially-unassigned-variables), and [§9.4.4](variables.md#944-precise-rules-for-determining-definite-assignment), the following rules apply to *struct_type* variables and their instance variables: - An instance variable is considered definitely assigned if its containing *struct_type* variable is considered definitely assigned. - A *struct_type* variable is considered definitely assigned if each of its instance variables is considered definitely assigned. From e202391b8175772dc031b8b5558b4bb9f626a60d Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Tue, 2 Jan 2024 18:06:44 -0500 Subject: [PATCH 056/259] fix md formatting --- standard/variables.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/standard/variables.md b/standard/variables.md index b027bf1a6..3ca5fe70d 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -226,7 +226,8 @@ The definite-assignment states of instance variables of a *struct_type* variable Definite assignment is a requirement in the following contexts: - A variable shall be definitely assigned at each location where its value is obtained. - > *Note*: This ensures that undefined values never occur. *end note* + > *Note*: This ensures that undefined values never occur. *end note* + The occurrence of a variable in an expression is considered to obtain the value of the variable, except when - the variable is the left operand of a simple assignment, - the variable is passed as an output parameter, or From 268df1b460b45a5fed99b499944598c5b5238c3f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 15:57:09 -0500 Subject: [PATCH 057/259] [create-pull-request] automated change (#1033) Co-authored-by: jskeet --- standard/conversions.md | 2 +- standard/types.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/standard/conversions.md b/standard/conversions.md index 010b472d3..d08787bfd 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -71,7 +71,7 @@ The pre-defined implicit conversions always succeed and never cause exceptions t > *Note*: Properly designed user-defined implicit conversions should exhibit these characteristics as well. *end note* -For the purposes of conversion, the types `object` and `dynamic` are identity convertible (§10.2.2). +For the purposes of conversion, the types `object` and `dynamic` are identity convertible ([§10.2.2](conversions.md#1022-identity-conversion)). However, dynamic conversions ([§10.2.10](conversions.md#10210-implicit-dynamic-conversions) and [§10.3.8](conversions.md#1038-explicit-dynamic-conversions)) apply only to expressions of type `dynamic` ([§8.2.4](types.md#824-the-dynamic-type)). diff --git a/standard/types.md b/standard/types.md index 8b8a0147f..52c8d7740 100644 --- a/standard/types.md +++ b/standard/types.md @@ -396,7 +396,7 @@ There does not need to exist a `System.ValueTuple<...>` declaration that directl Element names within a tuple type shall be distinct. A tuple element name of the form `ItemX`, where `X` is any sequence of non-`0`-initiated decimal digits that could represent the position of a tuple element, is only permitted at the position denoted by `X`. -The optional element names are not represented in the `ValueTuple<...>` types, and are not stored in the runtime representation of a tuple value. Identity conversions (§10.2.2) exist between tuples with identity-convertible sequences of element types. +The optional element names are not represented in the `ValueTuple<...>` types, and are not stored in the runtime representation of a tuple value. Identity conversions ([§10.2.2](conversions.md#1022-identity-conversion)) exist between tuples with identity-convertible sequences of element types. The `new` operator [§12.8.16.2](expressions.md#128162-object-creation-expressions) cannot be applied with the tuple type syntax `new (T1, ..., Tn)`. Tuple values can be created from tuple expressions ([§12.8.6](expressions.md#1286-tuple-expressions)), or by applying the `new` operator directly to a type constructed from `ValueTuple<...>`. @@ -546,7 +546,7 @@ A closed type is a type that is not an open type. At run-time, all of the code within a generic type declaration is executed in the context of a closed constructed type that was created by applying type arguments to the generic declaration. Each type parameter within the generic type is bound to a particular run-time type. The run-time processing of all statements and expressions always occurs with closed types, and open types occur only during compile-time processing. -Two closed constructed types are identity convertible (§10.2.2) if they are constructed from the same unbound generic type, and an identity conversion exists between each of their corresponding type arguments. The corresponding type arguments may themselves be closed constructed types or tuples that are identity convertible. Closed constructed types that are identity convertible share a single set of static variables. Otherwise, each closed constructed type has its own set of static variables. Since an open type does not exist at run-time, there are no static variables associated with an open type. +Two closed constructed types are identity convertible ([§10.2.2](conversions.md#1022-identity-conversion)) if they are constructed from the same unbound generic type, and an identity conversion exists between each of their corresponding type arguments. The corresponding type arguments may themselves be closed constructed types or tuples that are identity convertible. Closed constructed types that are identity convertible share a single set of static variables. Otherwise, each closed constructed type has its own set of static variables. Since an open type does not exist at run-time, there are no static variables associated with an open type. ### 8.4.4 Bound and unbound types @@ -672,7 +672,7 @@ The type `dynamic` is considered identical to `object` except in the following r - Type inference ([§12.6.3](expressions.md#1263-type-inference)) will prefer `dynamic` over `object` if both are candidates. - `dynamic` cannot be used as - the type in an *object_creation_expression* ([§12.8.16.2](expressions.md#128162-object-creation-expressions)) - - a *class_base* (§15.2.4) + - a *class_base* ([§15.2.4](classes.md#1524-class-base-specification)) - a *predefined_type* in a *member_access* ([§12.8.7.1](expressions.md#12871-general)) - the operand of the `typeof` operator - an attribute argument From 642ff161cda9e3c58830f73f00380d4d7bcbb873 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Thu, 11 Jan 2024 10:33:25 -0500 Subject: [PATCH 058/259] Make AsyncMethodBuilder a reserved attribute (#1035) * Make AsyncMethodBuilder a reserved attribute * Correct link ref * Update standard/attributes.md --------- Co-authored-by: Bill Wagner --- standard/attributes.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/standard/attributes.md b/standard/attributes.md index 1c1043d81..20ecae32f 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -523,6 +523,7 @@ A small number of attributes affect the language in some way. These attributes i - `System.AttributeUsageAttribute` ([§22.5.2](attributes.md#2252-the-attributeusage-attribute)), which is used to describe the ways in which an attribute class can be used. - `System.Diagnostics.ConditionalAttribute` ([§22.5.3](attributes.md#2253-the-conditional-attribute)), is a multi-use attribute class which is used to define conditional methods and conditional attribute classes. This attribute indicates a condition by testing a conditional compilation symbol. - `System.ObsoleteAttribute` ([§22.5.4](attributes.md#2254-the-obsolete-attribute)), which is used to mark a member as obsolete. +- `System.Runtime.CompilerServices.AsyncMethodBuilderAttribute` (§AsyncMethodBuilderAttribute), which is used to establish a task builder for an async method. - `System.Runtime.CompilerServices.CallerLineNumberAttribute` ([§22.5.5.2](attributes.md#22552-the-callerlinenumber-attribute)), `System.Runtime.CompilerServices.CallerFilePathAttribute` ([§22.5.5.3](attributes.md#22553-the-callerfilepath-attribute)), and `System.Runtime.CompilerServices.CallerMemberNameAttribute` ([§22.5.5.4](attributes.md#22554-the-callermembername-attribute)), which are used to supply information about the calling context to optional parameters. An execution environment may provide additional implementation-specific attributes that affect the execution of a C# program. @@ -768,6 +769,10 @@ If a program uses a type or member that is decorated with the `Obsolete` attribu > > *end example* +### §AsyncMethodBuilderAttribute The AsyncMethodBuilder attribute + +This attribute is described in [§15.15.1](classes.md#15151-general). + ### 22.5.5 Caller-info attributes #### 22.5.5.1 General From 9af5bdaa7af535f34fbb7923e5406e01db8489f7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 11 Jan 2024 10:46:22 -0500 Subject: [PATCH 059/259] [create-pull-request] automated change (#1036) Co-authored-by: BillWagner --- standard/README.md | 11 ++++++----- standard/attributes.md | 16 ++++++++-------- standard/lexical-structure.md | 4 ++-- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/standard/README.md b/standard/README.md index 0cf40598e..b288a8fd2 100644 --- a/standard/README.md +++ b/standard/README.md @@ -713,11 +713,12 @@ - [§22.5.3.2](attributes.md#22532-conditional-methods) Conditional methods - [§22.5.3.3](attributes.md#22533-conditional-attribute-classes) Conditional attribute classes - [§22.5.4](attributes.md#2254-the-obsolete-attribute) The Obsolete attribute - - [§22.5.5](attributes.md#2255-caller-info-attributes) Caller-info attributes - - [§22.5.5.1](attributes.md#22551-general) General - - [§22.5.5.2](attributes.md#22552-the-callerlinenumber-attribute) The CallerLineNumber attribute - - [§22.5.5.3](attributes.md#22553-the-callerfilepath-attribute) The CallerFilePath attribute - - [§22.5.5.4](attributes.md#22554-the-callermembername-attribute) The CallerMemberName attribute + - [§22.5.5](attributes.md#2255-the-asyncmethodbuilder-attribute) The AsyncMethodBuilder attribute + - [§22.5.6](attributes.md#2256-caller-info-attributes) Caller-info attributes + - [§22.5.6.1](attributes.md#22561-general) General + - [§22.5.6.2](attributes.md#22562-the-callerlinenumber-attribute) The CallerLineNumber attribute + - [§22.5.6.3](attributes.md#22563-the-callerfilepath-attribute) The CallerFilePath attribute + - [§22.5.6.4](attributes.md#22564-the-callermembername-attribute) The CallerMemberName attribute - [§22.6](attributes.md#226-attributes-for-interoperation) Attributes for interoperation - [§23](unsafe-code.md#23-unsafe-code) Unsafe code - [§23.1](unsafe-code.md#231-general) General diff --git a/standard/attributes.md b/standard/attributes.md index 20ecae32f..e0be00e25 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -523,8 +523,8 @@ A small number of attributes affect the language in some way. These attributes i - `System.AttributeUsageAttribute` ([§22.5.2](attributes.md#2252-the-attributeusage-attribute)), which is used to describe the ways in which an attribute class can be used. - `System.Diagnostics.ConditionalAttribute` ([§22.5.3](attributes.md#2253-the-conditional-attribute)), is a multi-use attribute class which is used to define conditional methods and conditional attribute classes. This attribute indicates a condition by testing a conditional compilation symbol. - `System.ObsoleteAttribute` ([§22.5.4](attributes.md#2254-the-obsolete-attribute)), which is used to mark a member as obsolete. -- `System.Runtime.CompilerServices.AsyncMethodBuilderAttribute` (§AsyncMethodBuilderAttribute), which is used to establish a task builder for an async method. -- `System.Runtime.CompilerServices.CallerLineNumberAttribute` ([§22.5.5.2](attributes.md#22552-the-callerlinenumber-attribute)), `System.Runtime.CompilerServices.CallerFilePathAttribute` ([§22.5.5.3](attributes.md#22553-the-callerfilepath-attribute)), and `System.Runtime.CompilerServices.CallerMemberNameAttribute` ([§22.5.5.4](attributes.md#22554-the-callermembername-attribute)), which are used to supply information about the calling context to optional parameters. +- `System.Runtime.CompilerServices.AsyncMethodBuilderAttribute` ([§22.5.5](attributes.md#2255-the-asyncmethodbuilder-attribute)), which is used to establish a task builder for an async method. +- `System.Runtime.CompilerServices.CallerLineNumberAttribute` ([§22.5.6.2](attributes.md#22562-the-callerlinenumber-attribute)), `System.Runtime.CompilerServices.CallerFilePathAttribute` ([§22.5.6.3](attributes.md#22563-the-callerfilepath-attribute)), and `System.Runtime.CompilerServices.CallerMemberNameAttribute` ([§22.5.6.4](attributes.md#22564-the-callermembername-attribute)), which are used to supply information about the calling context to optional parameters. An execution environment may provide additional implementation-specific attributes that affect the execution of a C# program. @@ -769,13 +769,13 @@ If a program uses a type or member that is decorated with the `Obsolete` attribu > > *end example* -### §AsyncMethodBuilderAttribute The AsyncMethodBuilder attribute +### 22.5.5 The AsyncMethodBuilder attribute This attribute is described in [§15.15.1](classes.md#15151-general). -### 22.5.5 Caller-info attributes +### 22.5.6 Caller-info attributes -#### 22.5.5.1 General +#### 22.5.6.1 General For purposes such as logging and reporting, it is sometimes useful for a function member to obtain certain compile-time information about the calling code. The caller-info attributes provide a way to pass such information transparently. @@ -819,7 +819,7 @@ If more than one caller-info attribute is specified on a given parameter, they a `CallerLineNumber` takes precedence, and the other two attributes are ignored. If `CallerLineNumber` were omitted, `CallerFilePath` would take precedence, and `CallerMemberName` would be ignored. The lexical ordering of these attributes is irrelevant. -#### 22.5.5.2 The CallerLineNumber attribute +#### 22.5.6.2 The CallerLineNumber attribute The attribute `System.Runtime.CompilerServices.CallerLineNumberAttribute` is allowed on optional parameters when there is a standard implicit conversion ([§10.4.2](conversions.md#1042-standard-implicit-conversions)) from the constant value `int.MaxValue` to the parameter’s type. This ensures that any non-negative line number up to that value can be passed without error. @@ -829,7 +829,7 @@ If the invocation spans multiple lines, the line chosen is implementation-depend The line number may be affected by `#line` directives ([§6.5.8](lexical-structure.md#658-line-directives)). -#### 22.5.5.3 The CallerFilePath attribute +#### 22.5.6.3 The CallerFilePath attribute The attribute `System.Runtime.CompilerServices.CallerFilePathAttribute` is allowed on optional parameters when there is a standard implicit conversion ([§10.4.2](conversions.md#1042-standard-implicit-conversions)) from `string` to the parameter’s type. @@ -839,7 +839,7 @@ The format of the file path is implementation-dependent. The file path may be affected by `#line` directives ([§6.5.8](lexical-structure.md#658-line-directives)). -#### 22.5.5.4 The CallerMemberName attribute +#### 22.5.6.4 The CallerMemberName attribute The attribute `System.Runtime.CompilerServices.CallerMemberNameAttribute` is allowed on optional parameters when there is a standard implicit conversion ([§10.4.2](conversions.md#1042-standard-implicit-conversions)) from `string` to the parameter’s type. diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index d6b485849..b8d37c561 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -1471,7 +1471,7 @@ corresponds exactly to the lexical processing of a conditional compilation direc ### 6.5.8 Line directives -Line directives may be used to alter the line numbers and compilation unit names that are reported by the compiler in output such as warnings and errors. These values are also used by caller-info attributes ([§22.5.5](attributes.md#2255-caller-info-attributes)). +Line directives may be used to alter the line numbers and compilation unit names that are reported by the compiler in output such as warnings and errors. These values are also used by caller-info attributes ([§22.5.6](attributes.md#2256-caller-info-attributes)). > *Note*: Line directives are most commonly used in meta-programming tools that generate C# source code from some other text input. *end note* @@ -1503,7 +1503,7 @@ The maximum value allowed for `Decimal_Digit+` is implementation-defined. A `#line default` directive undoes the effect of all preceding `#line` directives. The compiler reports true line information for subsequent lines, precisely as if no `#line` directives had been processed. -A `#line hidden` directive has no effect on the compilation unit and line numbers reported in error messages, or produced by use of `CallerLineNumberAttribute` ([§22.5.5.2](attributes.md#22552-the-callerlinenumber-attribute)). It is intended to affect source-level debugging tools so that, when debugging, all lines between a `#line hidden` directive and the subsequent `#line` directive (that is not `#line hidden`) have no line number information, and are skipped entirely when stepping through code. +A `#line hidden` directive has no effect on the compilation unit and line numbers reported in error messages, or produced by use of `CallerLineNumberAttribute` ([§22.5.6.2](attributes.md#22562-the-callerlinenumber-attribute)). It is intended to affect source-level debugging tools so that, when debugging, all lines between a `#line hidden` directive and the subsequent `#line` directive (that is not `#line hidden`) have no line number information, and are skipped entirely when stepping through code. > *Note*: Although a *PP_Compilation_Unit_Name* might contain text that looks like an escape sequence, such text is not an escape sequence; in this context a ‘`\`’ character simply designates an ordinary backslash character. *end note* From 490d54080e5b149a2a280cc2d8160a9bda29277f Mon Sep 17 00:00:00 2001 From: Fredric Silberberg Date: Tue, 30 Jan 2024 13:52:14 -0800 Subject: [PATCH 060/259] Small typo fix --- standard/unsafe-code.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/unsafe-code.md b/standard/unsafe-code.md index 15a5406eb..85a4a8424 100644 --- a/standard/unsafe-code.md +++ b/standard/unsafe-code.md @@ -345,7 +345,7 @@ Mappings between pointers and integers are implementation-defined. ### 23.5.2 Pointer arrays -Arrays of pointers can be constructed using *array_creation_expression* ([§12.8.16.5](expressions.md#128165-array-creation-expressions)) in an usafe context. Only some of the conversions that apply to other array types are allowed on pointer arrays: +Arrays of pointers can be constructed using *array_creation_expression* ([§12.8.16.5](expressions.md#128165-array-creation-expressions)) in an unsafe context. Only some of the conversions that apply to other array types are allowed on pointer arrays: - The implicit reference conversion ([§10.2.8](conversions.md#1028-implicit-reference-conversions)) from any *array_type* to `System.Array` and the interfaces it implements also applies to pointer arrays. However, any attempt to access the array elements through `System.Array` or the interfaces it implements may result in an exception at run-time, as pointer types are not convertible to `object`. - The implicit and explicit reference conversions ([§10.2.8](conversions.md#1028-implicit-reference-conversions), [§10.3.5](conversions.md#1035-explicit-reference-conversions)) from a single-dimensional array type `S[]` to `System.Collections.Generic.IList` and its generic base interfaces never apply to pointer arrays. From 500ed09ccd646c26acb5f5d4e26b23fc9390c536 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Wed, 7 Feb 2024 14:19:39 +0000 Subject: [PATCH 061/259] Fix lint errors for tables. --- standard/expressions.md | 78 ++++++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index f3c3d93f1..af5f93431 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -212,11 +212,11 @@ In expressions, operators are referenced using operator notation, and in declara > *Note*: For an example of overloading the `++` and `--` operators see [§15.10.2](classes.md#15102-unary-operators). *end note* - **Operator notation** | **Functional notation** - ---------------------- | ------------------------- - `«op» x` | `operator «op»(x)` - `x «op»` | `operator «op»(x)` - `x «op» y` | `operator «op»(x, y)` + |**Operator notation** | **Functional notation** | + |---------------------- | -------------------------| + |`«op» x` | `operator «op»(x)` | + |`x «op»` | `operator «op»(x)` | + |`x «op» y` | `operator «op»(x, y)` | User-defined operator declarations always require at least one of the parameters to be of the class or struct type that contains the operator declaration. @@ -2960,21 +2960,21 @@ sizeof_expression For certain predefined types the `sizeof` operator yields a constant `int` value as shown in the table below: -**Expression** | **Result** ------------------ | -------- -`sizeof(sbyte)` | 1 -`sizeof(byte)` | 1 -`sizeof(short)` | 2 -`sizeof(ushort)` | 2 -`sizeof(int)` | 4 -`sizeof(uint)` | 4 -`sizeof(long)` | 8 -`sizeof(ulong)` | 8 -`sizeof(char)` | 2 -`sizeof(float)` | 4 -`sizeof(double)` | 8 -`sizeof(bool)` | 1 -`sizeof(decimal)` | 16 +|**Expression** | **Result** | +|----------------- | ---------- | +|`sizeof(sbyte)` | 1 | +|`sizeof(byte)` | 1 | +|`sizeof(short)` | 2 | +|`sizeof(ushort)` | 2 | +|`sizeof(int)` | 4 | +|`sizeof(uint)` | 4 | +|`sizeof(long)` | 8 | +|`sizeof(ulong)` | 8 | +|`sizeof(char)` | 2 | +|`sizeof(float)` | 4 | +|`sizeof(double)` | 8 | +|`sizeof(bool)` | 1 | +|`sizeof(decimal)` | 16 | For an enum type `T`, the result of the expression `sizeof(T)` is a constant value equal to the size of its underlying type, as given above. For all other operand types, the `sizeof` operator is specified in [§23.6.9](unsafe-code.md#2369-the-sizeof-operator). @@ -4043,14 +4043,14 @@ For an operation of the form `x «op» y`, where «op» is a comparison operat The predefined comparison operators are described in the following subclauses. All predefined comparison operators return a result of type bool, as described in the following table. -**Operation** | **Result** -------------- | ---------------------------------------------------------- -`x == y` | `true` if `x` is equal to `y`, `false` otherwise -`x != y` | `true` if `x` is not equal to `y`, `false` otherwise -`x < y` | `true` if `x` is less than `y`, `false` otherwise -`x > y` | `true` if `x` is greater than `y`, `false` otherwise -`x <= y` | `true` if `x` is less than or equal to `y`, `false` otherwise -`x >= y` | `true` if `x` is greater than or equal to `y`, `false` otherwise +|**Operation** | **Result** | +|------------- | -----------------------------------------------------------------| +|`x == y` | `true` if `x` is equal to `y`, `false` otherwise | +|`x != y` | `true` if `x` is not equal to `y`, `false` otherwise | +|`x < y` | `true` if `x` is less than `y`, `false` otherwise | +|`x > y` | `true` if `x` is greater than `y`, `false` otherwise | +|`x <= y` | `true` if `x` is less than or equal to `y`, `false` otherwise | +|`x >= y` | `true` if `x` is greater than or equal to `y`, `false` otherwise | ### 12.12.2 Integer comparison operators @@ -4591,17 +4591,17 @@ bool? operator |(bool? x, bool? y); The semantics of the lifted `&` and `|` operators are defined by the following table: -**`x`** | **`y`** | **`x & y`** | **`x \| y`** -------- | ------- | ------- | ------- -`true` | `true` | `true` | `true` -`true` | `false` | `false` | `true` -`true` | `null` | `null` | `true` -`false` | `true` | `false` | `true` -`false` | `false` | `false` | `false` -`false` | `null` | `false` | `null` -`null` | `true` | `null` | `true` -`null` | `false` | `false` | `null` -`null` | `null` | `null` | `null` +|**`x`** | **`y`** | **`x & y`** | **`x \| y`** | +|------- | ------- | ------- | --------| +|`true` | `true` | `true` | `true` | +|`true` | `false` | `false` | `true` | +|`true` | `null` | `null` | `true` | +|`false` | `true` | `false` | `true` | +|`false` | `false` | `false` | `false` | +|`false` | `null` | `false` | `null` | +|`null` | `true` | `null` | `true` | +|`null` | `false` | `false` | `null` | +|`null` | `null` | `null` | `null` | > *Note*: The `bool?` type is conceptually similar to the three-valued type used for Boolean expressions in SQL. The table above follows the same semantics as SQL, whereas applying the rules of [§12.4.8](expressions.md#1248-lifted-operators) to the `&` and `|` operators would not. The rules of [§12.4.8](expressions.md#1248-lifted-operators) already provide SQL-like semantics for the lifted `^` operator. *end note* From 03c5cdf7ae02a02a272bad3d0e5a200ee50d59a6 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 7 Feb 2024 15:21:58 -0500 Subject: [PATCH 062/259] Address async issues (#1027) * "produces a result" vs. "return a value" Fixes #857 For an async method, say "produces a result value" vs. "return a value" when describing the rules for the returned "task type". * Add note about identity convertible Fixes #878 I made this a note, rather than normative language. I read the existing text to allow the example in the issue (as does the roslyn implementation). * Describe task cancelled state Fixes #775 Add a bullet to the list specifying that an `OperationCanceledException` puts the returned task in the cancelled state. This meant adding `OperationCanceledException` to the types in Annex C. I chose this fix because all known task builders conform to this behavior. It seems reasonable to standardize it. * Fixes #879 Clarify the required accessibility of any task builder type and its required members. Note that we will need to update this text once dotnet/roslyn#71283 is fixed and merged. * Add clarifying note. The normative language on exactly matching accessibility is all that's strictly needed. But, I added a note about the implications for nested types and internal types. * Fix missing exception type. * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update standard/classes.md --- standard/classes.md | 15 ++++++++++----- standard/standard-library.md | 10 +++++++++- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index 88eaff42d..d95960133 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -5327,7 +5327,7 @@ A method ([§15.6](classes.md#156-methods)) or anonymous function ([§12.19](exp It is a compile-time error for the formal parameter list of an async function to specify any `in`, `out`, or `ref` parameters, or any parameter of a `ref struct` type. -The *return_type* of an async method shall be either `void` or a ***task type***. For an async method that returns a value, a task type shall be generic. For an async method that does not return a value, a task type shall not be generic. Such types are referred to in this specification as `«TaskType»` and `«TaskType»`, respectively. The Standard library type `System.Threading.Tasks.Task` and types constructed from `System.Threading.Tasks.Task` are task types, as well as a class, struct or interface type that is associated with a ***task builder type*** via the attribute `System.Runtime.CompilerServices.AsyncMethodBuilderAttribute`. Such types are referred to in this specification as `«TaskBuilderType»` and `«TaskBuilderType»`. A task type can have at most one type parameter and cannot be nested in a generic type. +The *return_type* of an async method shall be either `void` or a ***task type***. For an async method that produces a result value, a task type shall be generic. For an async method that does not return a value, a task type shall not be generic. Such types are referred to in this specification as `«TaskType»` and `«TaskType»`, respectively. The Standard library type `System.Threading.Tasks.Task` and types constructed from `System.Threading.Tasks.Task` are task types, as well as a class, struct or interface type that is associated with a ***task builder type*** via the attribute `System.Runtime.CompilerServices.AsyncMethodBuilderAttribute`. Such types are referred to in this specification as `«TaskBuilderType»` and `«TaskBuilderType»`. A task type can have at most one type parameter and cannot be nested in a generic type. An async method returning a task type is said to be ***task-returning***. @@ -5354,13 +5354,15 @@ Task types can vary in their exact definition, but from the language’s point o > > *end example* -A task builder type is a class or struct type that corresponds to a specific task type ([§15.15.2](classes.md#15152-task-type-builder-pattern)). +A task builder type is a class or struct type that corresponds to a specific task type ([§15.15.2](classes.md#15152-task-type-builder-pattern)). The task builder type shall exactly match the declared accessibility of its corresponding task type. + +> *Note:* If the task type is declared `internal`, the the corresponding builder type must also be declared `internal` and be defined in the same assembly. If the task type is nested inside another type, the task buider type must also be nested in that same type. *end note* An async function has the ability to suspend evaluation by means of await expressions ([§12.9.8](expressions.md#1298-await-expressions)) in its body. Evaluation may later be resumed at the point of the suspending await expression by means of a ***resumption delegate***. The resumption delegate is of type `System.Action`, and when it is invoked, evaluation of the async function invocation will resume from the await expression where it left off. The ***current caller*** of an async function invocation is the original caller if the function invocation has never been suspended or the most recent caller of the resumption delegate otherwise. ### 15.15.2 Task-type builder pattern -A task builder type can have at most one type parameter and cannot be nested in a generic type. A task builder type shall have the following accessible members (for non-generic task builder types, `SetResult` has no parameters): +A task builder type can have at most one type parameter and cannot be nested in a generic type. A task builder type shall have the following members (for non-generic task builder types, `SetResult` has no parameters) with declared `public` accessibility: ```csharp class «TaskBuilderType» @@ -5382,7 +5384,7 @@ class «TaskBuilderType» public «TaskType» Task { get; } } ``` - + The compiler generates code that uses the «TaskBuilderType» to implement the semantics of suspending and resuming the evaluation of the async function. The compiler uses the «TaskBuilderType» as follows: - `«TaskBuilderType».Create()` is invoked to create an instance of the «TaskBuilderType», named `builder` in this list. @@ -5400,6 +5402,8 @@ The compiler generates code that uses the «TaskBuilderType» to implement the s - `SetStateMachine(IAsyncStateMachine)` may be called by the compiler-generated `IAsyncStateMachine` implementation to identify the instance of the builder associated with a state machine instance, particularly for cases where the state machine is implemented as a value type. - If the builder calls `stateMachine.SetStateMachine(stateMachine)`, the `stateMachine` will call `builder.SetStateMachine(stateMachine)` on the *builder instance associated with* `stateMachine`. +> *Note*: For both `SetResult(T result)` and `«TaskType» Task { get; }`, the parameter and argument respectively must be identity convertible to `T`. This allows a task-type builder to support types such as tuples, where two types that aren't the same are identity convertible. *end note* + ### 15.15.3 Evaluation of a task-returning async function Invocation of a task-returning async function causes an instance of the returned task type to be generated. This is called the ***return task*** of the async function. The task is initially in an *incomplete* state. @@ -5409,7 +5413,8 @@ The async function body is then evaluated until it is either suspended (by reach When the body of the async function terminates, the return task is moved out of the incomplete state: - If the function body terminates as the result of reaching a return statement or the end of the body, any result value is recorded in the return task, which is put into a *succeeded* state. -- If the function body terminates as the result of an uncaught exception ([§13.10.6](statements.md#13106-the-throw-statement)) the exception is recorded in the return task which is put into a *faulted* state. +- If the function body terminates because of an uncaught `OperationCanceledException`, the exception is recorded in the return task which is put into the *canceled* state. +- If the function body terminates as the result of any other uncaught exception ([§13.10.6](statements.md#13106-the-throw-statement)) the exception is recorded in the return task which is put into a *faulted* state. ### 15.15.4 Evaluation of a void-returning async function diff --git a/standard/standard-library.md b/standard/standard-library.md index c997d5122..205a024bf 100644 --- a/standard/standard-library.md +++ b/standard/standard-library.md @@ -164,7 +164,15 @@ namespace System { public NotSupportedException(); public NotSupportedException(string message); - public NotSupportedException(string message, Exception innerException); + public NotSupportedException(string message, + Exception innerException); + } + + public class OperationCanceledException : Exception + { + public OperationCanceledException(); + public OperationCanceledException(string message); + public OperationCanceledException(string message, Exception innerException); } public struct Nullable From 195648943a94380adafb18bdfac8a849d170ed3b Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Wed, 7 Feb 2024 20:23:58 +0000 Subject: [PATCH 063/259] Update cancelled => canceled As a Brit, I'm holding my nose... --- standard/statements.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/statements.md b/standard/statements.md index 19613d980..531e64eb4 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -1555,7 +1555,7 @@ When an exception is thrown, control is transferred to the first `catch` clause - If an exception handler was not located in the current function invocation, the function invocation is terminated, and one of the following occurs: - If the current function is non-async, the steps above are repeated for the caller of the function with a throw point corresponding to the statement from which the function member was invoked. - - If the current function is async and task-returning, the exception is recorded in the return task, which is put into a faulted or cancelled state as described in [§15.15.3](classes.md#15153-evaluation-of-a-task-returning-async-function). + - If the current function is async and task-returning, the exception is recorded in the return task, which is put into a faulted or canceled state as described in [§15.15.3](classes.md#15153-evaluation-of-a-task-returning-async-function). - If the current function is async and `void`-returning, the synchronization context of the current thread is notified as described in [§15.15.4](classes.md#15154-evaluation-of-a-void-returning-async-function). - If the exception processing terminates all function member invocations in the current thread, indicating that the thread has no handler for the exception, then the thread is itself terminated. The impact of such termination is implementation-defined. From a859ac45b699c399224f3bd42f269c1736d1179c Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 7 Feb 2024 15:51:16 -0500 Subject: [PATCH 064/259] Create general by-reference clause (#1028) * Create general by-reference clause Fixes #799 There are several declarations that are duplicated, or triplicated in the description of `in`, `out`, and `ref` parameters. This PR pushes those into a common section on "by-reference parameters". Each subsequent section describes the particular keyword. * Apply suggestions from code review Co-authored-by: Jon Skeet * may not vs. shall not. * Apply suggestions from code review Co-authored-by: Jon Skeet --------- Co-authored-by: Jon Skeet --- standard/classes.md | 58 ++++++++++++++++++------------------------ standard/enums.md | 2 +- standard/interfaces.md | 2 +- standard/structs.md | 2 +- standard/variables.md | 6 ++--- 5 files changed, 31 insertions(+), 39 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index d95960133..493012b0f 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -2033,7 +2033,7 @@ For abstract and extern methods, the *ref_method_body* consists simply of a semi The name, the number of type parameters, and the formal parameter list of a method define the signature ([§7.6](basic-concepts.md#76-signatures-and-overloading)) of the method. Specifically, the signature of a method consists of its name, the number of its type parameters, and the number, *parameter_mode_modifier*s ([§15.6.2.1](classes.md#15621-general)), and types of its formal parameters. The return type is not part of a method’s signature, nor are the names of the formal parameters, the names of the type parameters, or the constraints. When a formal parameter type references a type parameter of the method, the ordinal position of the type parameter (not the name of the type parameter) is used for type equivalence. -The name of a method shall differ from the names of all other non-methods declared in the same class. In addition, the signature of a method shall differ from the signatures of all other methods declared in the same class, and two methods declared in the same class may not have signatures that differ solely by `in`, `out`, and `ref`. +The name of a method shall differ from the names of all other non-methods declared in the same class. In addition, the signature of a method shall differ from the signatures of all other methods declared in the same class, and two methods declared in the same class shall not have signatures that differ solely by `in`, `out`, and `ref`. The method’s *type_parameter*s are in scope throughout the *method_declaration*, and can be used to form types throughout that scope in *return_type* or *ref_return_type*, *method_body* or *ref_method_body*, and *type_parameter_constraints_clause*s but not in *attributes*. @@ -2082,7 +2082,7 @@ parameter_array The formal parameter list consists of one or more comma-separated parameters of which only the last may be a *parameter_array*. -A *fixed_parameter* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)); an optional `in`, `out`, `ref`, or `this` modifier; a *type*; an *identifier*; and an optional *default_argument*. Each *fixed_parameter* declares a parameter of the given type with the given name. The `this` modifier designates the method as an extension method and is only allowed on the first parameter of a static method in a non-generic, non-nested static class. If the parameter is a `struct` type or a type parameter constrained to a `struct`, the `this` modifier may be combined with either the `ref` or `in` modifier, but not the `out` modifier. Extension methods are further described in [§15.6.10](classes.md#15610-extension-methods). A *fixed_parameter* with a *default_argument* is known as an ***optional parameter***, whereas a *fixed_parameter* without a *default_argument* is a ***required parameter***. A required parameter may not appear after an optional parameter in a *formal_parameter_list*. +A *fixed_parameter* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)); an optional `in`, `out`, `ref`, or `this` modifier; a *type*; an *identifier*; and an optional *default_argument*. Each *fixed_parameter* declares a parameter of the given type with the given name. The `this` modifier designates the method as an extension method and is only allowed on the first parameter of a static method in a non-generic, non-nested static class. If the parameter is a `struct` type or a type parameter constrained to a `struct`, the `this` modifier may be combined with either the `ref` or `in` modifier, but not the `out` modifier. Extension methods are further described in [§15.6.10](classes.md#15610-extension-methods). A *fixed_parameter* with a *default_argument* is known as an ***optional parameter***, whereas a *fixed_parameter* without a *default_argument* is a ***required parameter***. A required parameter shall not appear after an optional parameter in a *formal_parameter_list*. A parameter with a `ref`, `out` or `this` modifier cannot have a *default_argument*. A parameter with an `in` modifier may have a *default_argument*. The *expression* in a *default_argument* shall be one of the following: @@ -2140,35 +2140,31 @@ When a formal parameter is a value parameter, the corresponding argument in a me A method is permitted to assign new values to a value parameter. Such assignments only affect the local storage location represented by the value parameter—they have no effect on the actual argument given in the method invocation. -#### 15.6.2.3 Input parameters +#### §by-reference-parameters By-reference parameters -A parameter declared with an `in` modifier is an input parameter. An input parameter is a local reference variable ([§9.7](variables.md#97-reference-variables-and-returns)) that gets its initial referent from the corresponding argument supplied in the method invocation. That argument is either a variable existing at the point of the method invocation, or one created by the implementation ([§12.6.2.3](expressions.md#12623-run-time-evaluation-of-argument-lists)) in the method invocation. +##### §by-reference-general General -> *Note*: As with reference variables the referent of an input parameter can be changed using the ref assignment (`= ref`) operator, however the value stored in the referent itself cannot be changed. *end note* +A parameter declared with one of the `in`, `ref` or `out` modifiers is a ***by-reference*** parameter. A by-reference parameter is a local reference variable ([§9.7](variables.md#97-reference-variables-and-returns)); the initial referent is obtained from the corresponding argument supplied in the method invocation. -When a formal parameter is an input parameter, the corresponding argument in a method invocation shall consist of either the keyword `in` followed by a *variable_reference* ([§9.2.8](variables.md#928-input-parameters)) of the same type as the formal parameter, or an *expression* for which an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from that argument expression to the type of the corresponding parameter. A variable shall be definitely assigned before it can be passed as an input parameter. +> *Note*: The referent of a by-reference parameter can be changed using the ref assignment (`= ref`) operator. -It is a compile-time error to modify the value of an input parameter. - -Within a method, an input parameter is always considered definitely assigned. +When a formal parameter is a by-reference parameter, the corresponding argument in a method invocation shall consist of the corresponding keyword, `in`, `ref`, or `out`, followed by a *variable_reference* ([§9.5](variables.md#95-variable-references)) of the same type as the formal parameter. However, when the formal parameter is an `in` parameter, the argument may be an *expression* for which an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from that argument expression to the type of the corresponding parameter. -Input parameters are not allowed on functions declared as an iterator ([§15.14](classes.md#1514-iterators)) or async function ([§15.15](classes.md#1515-async-functions)). +By-reference parameters are not allowed on functions declared as an iterator ([§15.14](classes.md#1514-iterators)) or async function ([§15.15](classes.md#1515-async-functions)). -In a method that takes input parameters, it is possible for multiple names to represent the same storage location. - -> *Note*: The primary purpose of input parameters is for efficiency. When the type of a method parameter is a large struct (in terms of memory requirements), it is useful to be able to avoid copying the whole value of the argument when calling the method. Input parameters allow methods to refer to existing values in memory, while providing protection against unwanted changes to those values. *end note* +In a method that takes multiple by-reference parameters, it is possible for multiple names to represent the same storage location. -#### 15.6.2.4 Reference parameters +##### 15.6.2.3 Input parameters -A parameter declared with a `ref` modifier is a reference parameter. A reference parameter is a local reference variable ([§9.7](variables.md#97-reference-variables-and-returns)) that gets its initial referent from the corresponding argument supplied in the method invocation. +A parameter declared with an `in` modifier is a input parameter. The argument corresponding to an `in` parameter is either a variable existing at the point of the method invocation, or one created by the implementation ([§12.6.2.3](expressions.md#12623-run-time-evaluation-of-argument-lists)) in the method invocation. A variable shall be definitely assigned before it can be passed as an argument for an input parameter. Within a method, an input parameter is always considered definitely assigned. -> *Note*: As with reference variables the referent of a reference parameter can be changed using the ref assignment (`= ref`) operator. *end note* +It is a compile-time error to modify the value of an input parameter. -When a formal parameter is a reference parameter, the corresponding argument in a method invocation shall consist of the keyword `ref` followed by a *variable_reference* ([§9.5](variables.md#95-variable-references)) of the same type as the formal parameter. A variable shall be definitely assigned before it can be passed as a reference parameter. +> *Note*: The primary purpose of input parameters is for efficiency. When the type of a method parameter is a large struct (in terms of memory requirements), it is useful to be able to avoid copying the whole value of the argument when calling the method. Input parameters allow methods to refer to existing values in memory, while providing protection against unwanted changes to those values. *end note* -Within a method, a reference parameter is always considered definitely assigned. +##### 15.6.2.4 Reference parameters -A method declared as an iterator ([§15.14](classes.md#1514-iterators)) may not have reference parameters. +A parameter declared with a `ref` modifier is a reference parameter. A variable shall be definitely assigned before it can be passed as an argument for a reference parameter. Within a method, a reference parameter is always considered definitely assigned. > *Example*: The example > @@ -2201,9 +2197,9 @@ A method declared as an iterator ([§15.14](classes.md#1514-iterators)) may not > For the invocation of `Swap` in `Main`, `x` represents `i` and `y` represents `j`. Thus, the invocation has the effect of swapping the values of `i` and `j`. > > *end example* + -In a method that takes reference parameters, it is possible for multiple names to represent the same storage location. - + > *Example*: In the following code > > @@ -2229,20 +2225,16 @@ In a method that takes reference parameters, it is possible for multiple names t > > *end example* -#### 15.6.2.5 Output parameters - -A parameter declared with an `out` modifier is an output parameter. An output parameter is a local reference variable ([§9.7](variables.md#97-reference-variables-and-returns)) that gets its initial referent from the corresponding argument supplied in the method invocation. - -When a formal parameter is an output parameter, the corresponding argument in a method invocation shall consist of the keyword `out` followed by a *variable_reference* ([§9.5](variables.md#95-variable-references)) of the same type as the formal parameter. A variable need not be definitely assigned before it can be passed as an output parameter, but following an invocation where a variable was passed as an output parameter, the variable is considered definitely assigned. +##### 15.6.2.5 Output parameters -Within a method, just like a local variable, an output parameter is initially considered unassigned and shall be definitely assigned before its value is used. +A parameter declared with an `out` modifier is an output parameter. Within a method, just like a local variable, an output parameter is initially considered unassigned and shall be definitely assigned before its value is used. Every output parameter of a method shall be definitely assigned before the method returns. -Every output parameter of a method shall be definitely assigned before the method returns. +A method declared as a partial method ([§15.6.9](classes.md#1569-partial-methods)) shall not have output parameters. -A method declared as a partial method ([§15.6.9](classes.md#1569-partial-methods)) or an iterator ([§15.14](classes.md#1514-iterators)) may not have output parameters. - -Output parameters are typically used in methods that produce multiple return values. +> *Note: Output parameters are typically used in methods that produce multiple return values. *end note* + + > *Example*: > > @@ -3761,7 +3753,7 @@ A property declaration that includes both the `abstract` and `override` modifier Abstract property declarations are only permitted in abstract classes ([§15.2.2.2](classes.md#15222-abstract-classes)). The accessors of an inherited virtual property can be overridden in a derived class by including a property declaration that specifies an `override` directive. This is known as an ***overriding property declaration***. An overriding property declaration does not declare a new property. Instead, it simply specializes the implementations of the accessors of an existing virtual property. -The override declaration and the overridden base property are required to have the same declared accessibility. In other words, an override declaration may not change the accessibility of the base property. However, if the overridden base property is protected internal and it is declared in a different assembly than the assembly containing the override declaration then the override declaration’s declared accessibility shall be protected. If the inherited property has only a single accessor (i.e., if the inherited property is read-only or write-only), the overriding property shall include only that accessor. If the inherited property includes both accessors (i.e., if the inherited property is read-write), the overriding property can include either a single accessor or both accessors. There shall be an identity conversion between the type of the overriding and the inherited property. +The override declaration and the overridden base property are required to have the same declared accessibility. In other words, an override declaration shall not change the accessibility of the base property. However, if the overridden base property is protected internal and it is declared in a different assembly than the assembly containing the override declaration then the override declaration’s declared accessibility shall be protected. If the inherited property has only a single accessor (i.e., if the inherited property is read-only or write-only), the overriding property shall include only that accessor. If the inherited property includes both accessors (i.e., if the inherited property is read-write), the overriding property can include either a single accessor or both accessors. There shall be an identity conversion between the type of the overriding and the inherited property. An overriding property declaration may include the `sealed` modifier. Use of this modifier prevents a derived class from further overriding the property. The accessors of a sealed property are also sealed. @@ -5207,7 +5199,7 @@ For a discussion of the behavior when an exception is thrown from a finalizer, s A function member ([§12.6](expressions.md#126-function-members)) implemented using an iterator block ([§13.3](statements.md#133-blocks)) is called an ***iterator***. -An iterator block may be used as the body of a function member as long as the return type of the corresponding function member is one of the enumerator interfaces ([§15.14.2](classes.md#15142-enumerator-interfaces)) or one of the enumerable interfaces ([§15.14.3](classes.md#15143-enumerable-interfaces)). It may occur as a *method_body*, *operator_body* or *accessor_body*, whereas events, instance constructors, static constructors and finalizers may not be implemented as iterators. +An iterator block may be used as the body of a function member as long as the return type of the corresponding function member is one of the enumerator interfaces ([§15.14.2](classes.md#15142-enumerator-interfaces)) or one of the enumerable interfaces ([§15.14.3](classes.md#15143-enumerable-interfaces)). It may occur as a *method_body*, *operator_body* or *accessor_body*, whereas events, instance constructors, static constructors and finalizer shall not be implemented as iterators. When a function member is implemented using an iterator block, it is a compile-time error for the formal parameter list of the function member to specify any `in`, `out`, or `ref` parameters, or an parameter of a `ref struct` type. diff --git a/standard/enums.md b/standard/enums.md index 4439edb88..5360c7258 100644 --- a/standard/enums.md +++ b/standard/enums.md @@ -205,7 +205,7 @@ The associated value of an enum member is assigned either implicitly or explicit > > *end example* -The associated value of an enum member may not, directly or indirectly, use the value of its own associated enum member. Other than this circularity restriction, enum member initializers may freely refer to other enum member initializers, regardless of their textual position. Within an enum member initializer, values of other enum members are always treated as having the type of their underlying type, so that casts are not necessary when referring to other enum members. +The associated value of an enum member shall not, directly or indirectly, use the value of its own associated enum member. Other than this circularity restriction, enum member initializers may freely refer to other enum member initializers, regardless of their textual position. Within an enum member initializer, values of other enum members are always treated as having the type of their underlying type, so that casts are not necessary when referring to other enum members. > *Example*: The example > diff --git a/standard/interfaces.md b/standard/interfaces.md index 9a9bf1c70..db915b6c3 100644 --- a/standard/interfaces.md +++ b/standard/interfaces.md @@ -236,7 +236,7 @@ All interface members implicitly have public access. It is a compile-time error An *interface_declaration* creates a new declaration space ([§7.3](basic-concepts.md#73-declarations)), and the type parameters and *interface_member_declaration*s immediately contained by the *interface_declaration* introduce new members into this declaration space. The following rules apply to *interface_member_declaration*s: - The name of a type parameter in the *type_parameter_list* of an interface declaration shall differ from the names of all other type parameters in the same *type_parameter_list* and shall differ from the names of all members of the interface. -- The name of a method shall differ from the names of all properties and events declared in the same interface. In addition, the signature ([§7.6](basic-concepts.md#76-signatures-and-overloading)) of a method shall differ from the signatures of all other methods declared in the same interface, and two methods declared in the same interface may not have signatures that differ solely by `in`, `out`, and `ref`. +- The name of a method shall differ from the names of all properties and events declared in the same interface. In addition, the signature ([§7.6](basic-concepts.md#76-signatures-and-overloading)) of a method shall differ from the signatures of all other methods declared in the same interface, and two methods declared in the same interface shall not have signatures that differ solely by `in`, `out`, and `ref`. - The name of a property or event shall differ from the names of all other members declared in the same interface. - The signature of an indexer shall differ from the signatures of all other indexers declared in the same interface. diff --git a/standard/structs.md b/standard/structs.md index 1f54c76f1..db58fcb07 100644 --- a/standard/structs.md +++ b/standard/structs.md @@ -64,7 +64,7 @@ When an instance of a readonly struct is passed to a method, its `this` is treat ### 16.2.3 Ref modifier -The `ref` modifier indicates that the *struct_declaration* declares a type whose instances are allocated on the execution stack. These types are are called ***ref struct*** types. The `ref` modifier declares that instances may contain ref-like fields, and may not be copied out of its safe-context ([§16.4.12](structs.md#16412-safe-context-constraint)). The rules for determining the safe context of a ref struct are described in [§16.4.12](structs.md#16412-safe-context-constraint). +The `ref` modifier indicates that the *struct_declaration* declares a type whose instances are allocated on the execution stack. These types are are called ***ref struct*** types. The `ref` modifier declares that instances may contain ref-like fields, and shall not be copied out of its safe-context ([§16.4.12](structs.md#16412-safe-context-constraint)). The rules for determining the safe context of a ref struct are described in [§16.4.12](structs.md#16412-safe-context-constraint). It is a compile-time error if a ref struct type is used in any of the following contexts: diff --git a/standard/variables.md b/standard/variables.md index 3ca5fe70d..bb5a3cfde 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -81,7 +81,7 @@ For the purpose of definite-assignment checking, a value parameter is considered A parameter declared with a `ref` modifier is a ***reference parameter***. -A reference parameter is a reference variable ([§9.7](variables.md#97-reference-variables-and-returns)) which comes into existence upon invocation of the function member, delegate, anonymous function, or local function and its referent is initialized to the variable given as the argument in that invocation. A reference parameter ceases to exist when execution of the function body completes. Unlike value parameters a reference parameter may not be captured ([§9.7.2.9](variables.md#9729-limitations-on-reference-variables)). +A reference parameter is a reference variable ([§9.7](variables.md#97-reference-variables-and-returns)) which comes into existence upon invocation of the function member, delegate, anonymous function, or local function and its referent is initialized to the variable given as the argument in that invocation. A reference parameter ceases to exist when execution of the function body completes. Unlike value parameters a reference parameter shall not be captured ([§9.7.2.9](variables.md#9729-limitations-on-reference-variables)). The following definite-assignment rules apply to reference parameters. @@ -96,7 +96,7 @@ For a `struct` type, within an instance method or instance accessor ([§12.2.1]( A parameter declared with an `out` modifier is an ***output parameter***. -An output parameter is a reference variable ([§9.7](variables.md#97-reference-variables-and-returns)) which comes into existence upon invocation of the function member, delegate, anonymous function, or local function and its referent is initialized to the variable given as the argument in that invocation. An output parameter ceases to exist when execution of the function body completes. Unlike value parameters an output parameter may not be captured ([§9.7.2.9](variables.md#9729-limitations-on-reference-variables)). +An output parameter is a reference variable ([§9.7](variables.md#97-reference-variables-and-returns)) which comes into existence upon invocation of the function member, delegate, anonymous function, or local function and its referent is initialized to the variable given as the argument in that invocation. An output parameter ceases to exist when execution of the function body completes. Unlike value parameters an output parameter shall not be captured ([§9.7.2.9](variables.md#9729-limitations-on-reference-variables)). The following definite-assignment rules apply to output parameters. @@ -111,7 +111,7 @@ The following definite-assignment rules apply to output parameters. A parameter declared with an `in` modifier is an ***input parameter***. -An input parameter is a reference variable ([§9.7](variables.md#97-reference-variables-and-returns)) which comes into existence upon invocation of the function member, delegate, anonymous function, or local function and its referent is initialized to the *variable_reference* given as the argument in that invocation. An input parameter ceases to exist when execution of the function body completes. Unlike value parameters an input parameter may not be captured ([§9.7.2.9](variables.md#9729-limitations-on-reference-variables)). +An input parameter is a reference variable ([§9.7](variables.md#97-reference-variables-and-returns)) which comes into existence upon invocation of the function member, delegate, anonymous function, or local function and its referent is initialized to the *variable_reference* given as the argument in that invocation. An input parameter ceases to exist when execution of the function body completes. Unlike value parameters an input parameter shall not be captured ([§9.7.2.9](variables.md#9729-limitations-on-reference-variables)). The following definite assignment rules apply to input parameters. From 66797ae7d5b82aa8e0c362681ad007eff5297441 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 7 Feb 2024 16:17:12 -0500 Subject: [PATCH 065/259] [create-pull-request] automated change (#1041) Co-authored-by: BillWagner --- standard/README.md | 10 ++++++---- standard/arrays.md | 2 +- standard/classes.md | 16 ++++++++-------- standard/delegates.md | 2 +- standard/expressions.md | 18 +++++++++--------- 5 files changed, 25 insertions(+), 23 deletions(-) diff --git a/standard/README.md b/standard/README.md index b288a8fd2..0c0cdf7e7 100644 --- a/standard/README.md +++ b/standard/README.md @@ -543,10 +543,12 @@ - [§15.6.2](classes.md#1562-method-parameters) Method parameters - [§15.6.2.1](classes.md#15621-general) General - [§15.6.2.2](classes.md#15622-value-parameters) Value parameters - - [§15.6.2.3](classes.md#15623-input-parameters) Input parameters - - [§15.6.2.4](classes.md#15624-reference-parameters) Reference parameters - - [§15.6.2.5](classes.md#15625-output-parameters) Output parameters - - [§15.6.2.6](classes.md#15626-parameter-arrays) Parameter arrays + - [§15.6.2.3](classes.md#15623-by-reference-parameters) By-reference parameters + - [§15.6.2.3.1](classes.md#156231-general) General + - [§15.6.2.3.2](classes.md#156232-input-parameters) Input parameters + - [§15.6.2.3.3](classes.md#156233-reference-parameters) Reference parameters + - [§15.6.2.3.4](classes.md#156234-output-parameters) Output parameters + - [§15.6.2.4](classes.md#15624-parameter-arrays) Parameter arrays - [§15.6.3](classes.md#1563-static-and-instance-methods) Static and instance methods - [§15.6.4](classes.md#1564-virtual-methods) Virtual methods - [§15.6.5](classes.md#1565-override-methods) Override methods diff --git a/standard/arrays.md b/standard/arrays.md index 4c9f914ff..23985d225 100644 --- a/standard/arrays.md +++ b/standard/arrays.md @@ -102,7 +102,7 @@ When an array type `S[]` implements `IList`, some of the members of the imple ## 17.3 Array creation -Array instances are created by *array_creation_expression*s ([§12.8.16.5](expressions.md#128165-array-creation-expressions)) or by field or local variable declarations that include an *array_initializer* ([§17.7](arrays.md#177-array-initializers)). Array instances can also be created implicitly as part of evaluating an argument list involving a parameter array ([§15.6.2.6](classes.md#15626-parameter-arrays)). +Array instances are created by *array_creation_expression*s ([§12.8.16.5](expressions.md#128165-array-creation-expressions)) or by field or local variable declarations that include an *array_initializer* ([§17.7](arrays.md#177-array-initializers)). Array instances can also be created implicitly as part of evaluating an argument list involving a parameter array ([§15.6.2.4](classes.md#15624-parameter-arrays)). When an array instance is created, the rank and length of each dimension are established and then remain constant for the entire lifetime of the instance. In other words, it is not possible to change the rank of an existing array instance, nor is it possible to resize its dimensions. diff --git a/standard/classes.md b/standard/classes.md index 493012b0f..0faaa3501 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -2094,7 +2094,7 @@ The *expression* shall be implicitly convertible by an identity or nullable conv If optional parameters occur in an implementing partial method declaration ([§15.6.9](classes.md#1569-partial-methods)), an explicit interface member implementation ([§18.6.2](interfaces.md#1862-explicit-interface-member-implementations)), a single-parameter indexer declaration ([§15.9](classes.md#159-indexers)), or in an operator declaration ([§15.10.1](classes.md#15101-general)) the compiler should give a warning, since these members can never be invoked in a way that permits arguments to be omitted. -A *parameter_array* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)), a `params` modifier, an *array_type*, and an *identifier*. A parameter array declares a single parameter of the given array type with the given name. The *array_type* of a parameter array shall be a single-dimensional array type ([§17.2](arrays.md#172-array-types)). In a method invocation, a parameter array permits either a single argument of the given array type to be specified, or it permits zero or more arguments of the array element type to be specified. Parameter arrays are described further in [§15.6.2.6](classes.md#15626-parameter-arrays). +A *parameter_array* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)), a `params` modifier, an *array_type*, and an *identifier*. A parameter array declares a single parameter of the given array type with the given name. The *array_type* of a parameter array shall be a single-dimensional array type ([§17.2](arrays.md#172-array-types)). In a method invocation, a parameter array permits either a single argument of the given array type to be specified, or it permits zero or more arguments of the array element type to be specified. Parameter arrays are described further in [§15.6.2.4](classes.md#15624-parameter-arrays). A *parameter_array* may occur after an optional parameter, but cannot have a default value – the omission of arguments for a *parameter_array* would instead result in the creation of an empty array. @@ -2140,9 +2140,9 @@ When a formal parameter is a value parameter, the corresponding argument in a me A method is permitted to assign new values to a value parameter. Such assignments only affect the local storage location represented by the value parameter—they have no effect on the actual argument given in the method invocation. -#### §by-reference-parameters By-reference parameters +#### 15.6.2.3 By-reference parameters -##### §by-reference-general General +##### 15.6.2.3.1 General A parameter declared with one of the `in`, `ref` or `out` modifiers is a ***by-reference*** parameter. A by-reference parameter is a local reference variable ([§9.7](variables.md#97-reference-variables-and-returns)); the initial referent is obtained from the corresponding argument supplied in the method invocation. @@ -2154,7 +2154,7 @@ By-reference parameters are not allowed on functions declared as an iterator ([ In a method that takes multiple by-reference parameters, it is possible for multiple names to represent the same storage location. -##### 15.6.2.3 Input parameters +##### 15.6.2.3.2 Input parameters A parameter declared with an `in` modifier is a input parameter. The argument corresponding to an `in` parameter is either a variable existing at the point of the method invocation, or one created by the implementation ([§12.6.2.3](expressions.md#12623-run-time-evaluation-of-argument-lists)) in the method invocation. A variable shall be definitely assigned before it can be passed as an argument for an input parameter. Within a method, an input parameter is always considered definitely assigned. @@ -2162,7 +2162,7 @@ It is a compile-time error to modify the value of an input parameter. > *Note*: The primary purpose of input parameters is for efficiency. When the type of a method parameter is a large struct (in terms of memory requirements), it is useful to be able to avoid copying the whole value of the argument when calling the method. Input parameters allow methods to refer to existing values in memory, while providing protection against unwanted changes to those values. *end note* -##### 15.6.2.4 Reference parameters +##### 15.6.2.3.3 Reference parameters A parameter declared with a `ref` modifier is a reference parameter. A variable shall be definitely assigned before it can be passed as an argument for a reference parameter. Within a method, a reference parameter is always considered definitely assigned. @@ -2225,7 +2225,7 @@ A parameter declared with a `ref` modifier is a reference parameter. A variable > > *end example* -##### 15.6.2.5 Output parameters +##### 15.6.2.3.4 Output parameters A parameter declared with an `out` modifier is an output parameter. Within a method, just like a local variable, an output parameter is initially considered unassigned and shall be definitely assigned before its value is used. Every output parameter of a method shall be definitely assigned before the method returns. @@ -2278,7 +2278,7 @@ A method declared as a partial method ([§15.6.9](classes.md#1569-partial-method > > *end example* -#### 15.6.2.6 Parameter arrays +#### 15.6.2.4 Parameter arrays A parameter declared with a `params` modifier is a parameter array. If a formal parameter list includes a parameter array, it shall be the last parameter in the list and it shall be of a single-dimensional array type. @@ -5394,7 +5394,7 @@ The compiler generates code that uses the «TaskBuilderType» to implement the s - `SetStateMachine(IAsyncStateMachine)` may be called by the compiler-generated `IAsyncStateMachine` implementation to identify the instance of the builder associated with a state machine instance, particularly for cases where the state machine is implemented as a value type. - If the builder calls `stateMachine.SetStateMachine(stateMachine)`, the `stateMachine` will call `builder.SetStateMachine(stateMachine)` on the *builder instance associated with* `stateMachine`. -> *Note*: For both `SetResult(T result)` and `«TaskType» Task { get; }`, the parameter and argument respectively must be identity convertible to `T`. This allows a task-type builder to support types such as tuples, where two types that aren't the same are identity convertible. *end note* +> *Note*: For both `SetResult(T result)` and `«TaskType» Task { get; }`, the parameter and argument respectively must be identity convertible to `T`. This allows a task-type builder to support types such as tuples, where two types that aren’t the same are identity convertible. *end note* ### 15.15.3 Evaluation of a task-returning async function diff --git a/standard/delegates.md b/standard/delegates.md index bc7638d99..d374a88e7 100644 --- a/standard/delegates.md +++ b/standard/delegates.md @@ -266,7 +266,7 @@ Once instantiated, a delegate instance always refers to the same invocation list C# provides special syntax for invoking a delegate. When a non-`null` delegate instance whose invocation list contains one entry, is invoked, it invokes the one method with the same arguments it was given, and returns the same value as the referred to method. (See [§12.8.9.4](expressions.md#12894-delegate-invocations) for detailed information on delegate invocation.) If an exception occurs during the invocation of such a delegate, and that exception is not caught within the method that was invoked, the search for an exception catch clause continues in the method that called the delegate, as if that method had directly called the method to which that delegate referred. -Invocation of a delegate instance whose invocation list contains multiple entries, proceeds by invoking each of the methods in the invocation list, synchronously, in order. Each method so called is passed the same set of arguments as was given to the delegate instance. If such a delegate invocation includes reference parameters ([§15.6.2.4](classes.md#15624-reference-parameters)), each method invocation will occur with a reference to the same variable; changes to that variable by one method in the invocation list will be visible to methods further down the invocation list. If the delegate invocation includes output parameters or a return value, their final value will come from the invocation of the last delegate in the list. If an exception occurs during processing of the invocation of such a delegate, and that exception is not caught within the method that was invoked, the search for an exception catch clause continues in the method that called the delegate, and any methods further down the invocation list are not invoked. +Invocation of a delegate instance whose invocation list contains multiple entries, proceeds by invoking each of the methods in the invocation list, synchronously, in order. Each method so called is passed the same set of arguments as was given to the delegate instance. If such a delegate invocation includes reference parameters ([§15.6.2.3.3](classes.md#156233-reference-parameters)), each method invocation will occur with a reference to the same variable; changes to that variable by one method in the invocation list will be visible to methods further down the invocation list. If the delegate invocation includes output parameters or a return value, their final value will come from the invocation of the last delegate in the list. If an exception occurs during processing of the invocation of such a delegate, and that exception is not caught within the method that was invoked, the search for an exception catch clause continues in the method that called the delegate, and any methods further down the invocation list are not invoked. Attempting to invoke a delegate instance whose value is `null` results in an exception of type `System.NullReferenceException`. diff --git a/standard/expressions.md b/standard/expressions.md index af5f93431..074405d79 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -534,7 +534,7 @@ Every function member and delegate invocation includes an argument list, which p - For events, the argument list consists of the expression specified as the right operand of the `+=` or `-=` operator. - For user-defined operators, the argument list consists of the single operand of the unary operator or the two operands of the binary operator. -The arguments of properties ([§15.7](classes.md#157-properties)) and events ([§15.8](classes.md#158-events)) are always passed as value parameters ([§15.6.2.2](classes.md#15622-value-parameters)). The arguments of user-defined operators ([§15.10](classes.md#1510-operators)) are always passed as value parameters ([§15.6.2.2](classes.md#15622-value-parameters)) or input parameters ([§9.2.8](variables.md#928-input-parameters)). The arguments of indexers ([§15.9](classes.md#159-indexers)) are always passed as value parameters ([§15.6.2.2](classes.md#15622-value-parameters)), input parameters ([§9.2.8](variables.md#928-input-parameters)), or parameter arrays ([§15.6.2.6](classes.md#15626-parameter-arrays)). Output and reference parameters are not supported for these categories of function members. +The arguments of properties ([§15.7](classes.md#157-properties)) and events ([§15.8](classes.md#158-events)) are always passed as value parameters ([§15.6.2.2](classes.md#15622-value-parameters)). The arguments of user-defined operators ([§15.10](classes.md#1510-operators)) are always passed as value parameters ([§15.6.2.2](classes.md#15622-value-parameters)) or input parameters ([§9.2.8](variables.md#928-input-parameters)). The arguments of indexers ([§15.9](classes.md#159-indexers)) are always passed as value parameters ([§15.6.2.2](classes.md#15622-value-parameters)), input parameters ([§9.2.8](variables.md#928-input-parameters)), or parameter arrays ([§15.6.2.4](classes.md#15624-parameter-arrays)). Output and reference parameters are not supported for these categories of function members. The arguments of an instance constructor, method, indexer, or delegate invocation are specified as an *argument_list*: @@ -564,9 +564,9 @@ An *argument_list* consists of one or more *argument*s, separated by commas. Eac The *argument_value* can take one of the following forms: - An *expression*, indicating that the argument is passed as a value parameter or is transformed into an input parameter and then passed as that, as determined by ([§12.6.4.2](expressions.md#12642-applicable-function-member) and described in [§12.6.2.3](expressions.md#12623-run-time-evaluation-of-argument-lists). -- The keyword `in` followed by a *variable_reference* ([§9.5](variables.md#95-variable-references)), indicating that the argument is passed as an input parameter ([§15.6.2.3](classes.md#15623-input-parameters)). A variable shall be definitely assigned ([§9.4](variables.md#94-definite-assignment)) before it can be passed as an input parameter. -- The keyword `ref` followed by a *variable_reference* ([§9.5](variables.md#95-variable-references)), indicating that the argument is passed as a reference parameter ([§15.6.2.4](classes.md#15624-reference-parameters)). A variable shall be definitely assigned ([§9.4](variables.md#94-definite-assignment)) before it can be passed as a reference parameter. -- The keyword `out` followed by a *variable_reference* ([§9.5](variables.md#95-variable-references)), indicating that the argument is passed as an output parameter ([§15.6.2.5](classes.md#15625-output-parameters)). A variable is considered definitely assigned ([§9.4](variables.md#94-definite-assignment)) following a function member invocation in which the variable is passed as an output parameter. +- The keyword `in` followed by a *variable_reference* ([§9.5](variables.md#95-variable-references)), indicating that the argument is passed as an input parameter ([§15.6.2.3.2](classes.md#156232-input-parameters)). A variable shall be definitely assigned ([§9.4](variables.md#94-definite-assignment)) before it can be passed as an input parameter. +- The keyword `ref` followed by a *variable_reference* ([§9.5](variables.md#95-variable-references)), indicating that the argument is passed as a reference parameter ([§15.6.2.3.3](classes.md#156233-reference-parameters)). A variable shall be definitely assigned ([§9.4](variables.md#94-definite-assignment)) before it can be passed as a reference parameter. +- The keyword `out` followed by a *variable_reference* ([§9.5](variables.md#95-variable-references)), indicating that the argument is passed as an output parameter ([§15.6.2.3.4](classes.md#156234-output-parameters)). A variable is considered definitely assigned ([§9.4](variables.md#94-definite-assignment)) following a function member invocation in which the variable is passed as an output parameter. The form determines the ***parameter-passing mode*** of the argument: *value*, *input*, *reference*, or *output*, respectively. However, as mentioned above, an argument with value passing mode, might be transformed into one with input passing mode. @@ -647,7 +647,7 @@ During the run-time processing of a function member invocation ([§12.6.6](expre > > *end example* -Methods, indexers, and instance constructors may declare their right-most parameter to be a parameter array ([§15.6.2.6](classes.md#15626-parameter-arrays)). Such function members are invoked either in their normal form or in their expanded form depending on which is applicable ([§12.6.4.2](expressions.md#12642-applicable-function-member)): +Methods, indexers, and instance constructors may declare their right-most parameter to be a parameter array ([§15.6.2.4](classes.md#15624-parameter-arrays)). Such function members are invoked either in their normal form or in their expanded form depending on which is applicable ([§12.6.4.2](expressions.md#12642-applicable-function-member)): - When a function member with a parameter array is invoked in its normal form, the argument given for the parameter array shall be a single expression that is implicitly convertible ([§10.2](conversions.md#102-implicit-conversions)) to the parameter array type. In this case, the parameter array acts precisely like a value parameter. - When a function member with a parameter array is invoked in its expanded form, the invocation shall specify zero or more positional arguments for the parameter array, where each argument is an expression that is implicitly convertible ([§10.2](conversions.md#102-implicit-conversions)) to the element type of the parameter array. In this case, the invocation creates an instance of the parameter array type with a length corresponding to the number of arguments, initializes the elements of the array instance with the given argument values, and uses the newly created array instance as the actual argument. @@ -763,9 +763,9 @@ For each of the method arguments `Eᵢ`: - If `Eᵢ` is an anonymous function, an *explicit parameter type inference* ([§12.6.3.8](expressions.md#12638-explicit-parameter-type-inferences)) is made *from* `Eᵢ` *to* `Tᵢ` - Otherwise, if `Eᵢ` has a type `U` and the corresponding parameter is a value parameter ([§15.6.2.2](classes.md#15622-value-parameters)) then a *lower-bound inference* ([§12.6.3.10](expressions.md#126310-lower-bound-inferences)) is made *from* `U` *to* `Tᵢ`. -- Otherwise, if `Eᵢ` has a type `U` and the corresponding parameter is a reference parameter ([§15.6.2.4](classes.md#15624-reference-parameters)), or output parameter ([§15.6.2.5](classes.md#15625-output-parameters)) then an *exact inference* ([§12.6.3.9](expressions.md#12639-exact-inferences)) is made *from* `U` *to* `Tᵢ`. -- Otherwise, if `Eᵢ` has a type `U` and the corresponding parameter is an input parameter ([§15.6.2.3](classes.md#15623-input-parameters)) and `Eᵢ` is an input argument, then an *exact inference* ([§12.6.3.9](expressions.md#12639-exact-inferences)) is made *from* `U` *to* `Tᵢ`. -- Otherwise, if `Eᵢ` has a type `U` and the corresponding parameter is an input parameter ([§15.6.2.3](classes.md#15623-input-parameters)) then a *lower bound inference* ([§12.6.3.10](expressions.md#126310-lower-bound-inferences)) is made *from* `U` *to* `Tᵢ`. +- Otherwise, if `Eᵢ` has a type `U` and the corresponding parameter is a reference parameter ([§15.6.2.3.3](classes.md#156233-reference-parameters)), or output parameter ([§15.6.2.3.4](classes.md#156234-output-parameters)) then an *exact inference* ([§12.6.3.9](expressions.md#12639-exact-inferences)) is made *from* `U` *to* `Tᵢ`. +- Otherwise, if `Eᵢ` has a type `U` and the corresponding parameter is an input parameter ([§15.6.2.3.2](classes.md#156232-input-parameters)) and `Eᵢ` is an input argument, then an *exact inference* ([§12.6.3.9](expressions.md#12639-exact-inferences)) is made *from* `U` *to* `Tᵢ`. +- Otherwise, if `Eᵢ` has a type `U` and the corresponding parameter is an input parameter ([§15.6.2.3.2](classes.md#156232-input-parameters)) then a *lower bound inference* ([§12.6.3.10](expressions.md#126310-lower-bound-inferences)) is made *from* `U` *to* `Tᵢ`. - Otherwise, no inference is made for this argument. #### 12.6.3.3 The second phase @@ -1214,7 +1214,7 @@ The run-time processing of a function member invocation consists of the followin - Otherwise, if the type of `E` is a value-type `V`, and `M` is declared or overridden in `V`: - `E` is evaluated. If this evaluation causes an exception, then no further steps are executed. For an instance constructor, this evaluation consists of allocating storage (typically from an execution stack) for the new object. In this case `E` is classified as a variable. - If `E` is not classified as a variable, or if `V` is not a readonly struct type ([§16.2.2](structs.md#1622-struct-modifiers)), and `E` is one of: - - an input parameter ([§15.6.2.3](classes.md#15623-input-parameters)), or + - an input parameter ([§15.6.2.3.2](classes.md#156232-input-parameters)), or - a `readonly` field ([§15.5.3](classes.md#1553-readonly-fields)), or - a `readonly` reference variable or return ([§9.7](variables.md#97-reference-variables-and-returns)), From ed6c7be4a601cad5bc8ace898589e58824843ec7 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 8 Feb 2024 10:27:36 -0500 Subject: [PATCH 066/259] async "does not return a value" (#1043) * async "does not return a value" See https://github.com/dotnet/csharpstandard/issues/857#issuecomment-1933830824 * Update standard/classes.md Co-authored-by: Jon Skeet --------- Co-authored-by: Jon Skeet --- standard/classes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/classes.md b/standard/classes.md index 0faaa3501..534b3ab35 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -5319,7 +5319,7 @@ A method ([§15.6](classes.md#156-methods)) or anonymous function ([§12.19](exp It is a compile-time error for the formal parameter list of an async function to specify any `in`, `out`, or `ref` parameters, or any parameter of a `ref struct` type. -The *return_type* of an async method shall be either `void` or a ***task type***. For an async method that produces a result value, a task type shall be generic. For an async method that does not return a value, a task type shall not be generic. Such types are referred to in this specification as `«TaskType»` and `«TaskType»`, respectively. The Standard library type `System.Threading.Tasks.Task` and types constructed from `System.Threading.Tasks.Task` are task types, as well as a class, struct or interface type that is associated with a ***task builder type*** via the attribute `System.Runtime.CompilerServices.AsyncMethodBuilderAttribute`. Such types are referred to in this specification as `«TaskBuilderType»` and `«TaskBuilderType»`. A task type can have at most one type parameter and cannot be nested in a generic type. +The *return_type* of an async method shall be either `void` or a ***task type***. For an async method that produces a result value, a task type shall be generic. For an async method that does not produce a result value, a task type shall not be generic. Such types are referred to in this specification as `«TaskType»` and `«TaskType»`, respectively. The Standard library type `System.Threading.Tasks.Task` and types constructed from `System.Threading.Tasks.Task` are task types, as well as a class, struct or interface type that is associated with a ***task builder type*** via the attribute `System.Runtime.CompilerServices.AsyncMethodBuilderAttribute`. Such types are referred to in this specification as `«TaskBuilderType»` and `«TaskBuilderType»`. A task type can have at most one type parameter and cannot be nested in a generic type. An async method returning a task type is said to be ***task-returning***. From 6ce484629e26eb240b63df5ad089c0a0cede6550 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 8 Feb 2024 17:14:55 -0500 Subject: [PATCH 067/259] add org -level app keys The sequester app uses org-level permissions to read org level projects. I've already configured the keys in the secrets section for this repo. Once this is merged, the overnight bulk run will update internal job boards based on GH projects. --- .github/workflows/quest-bulk.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/quest-bulk.yml b/.github/workflows/quest-bulk.yml index 37a051072..caa8b6fb0 100644 --- a/.github/workflows/quest-bulk.yml +++ b/.github/workflows/quest-bulk.yml @@ -29,6 +29,8 @@ jobs: ImportOptions__ApiKeys__GitHubToken: ${{ secrets.GITHUB_TOKEN }} ImportOptions__ApiKeys__OSPOKey: ${{ secrets.OSPO_KEY }} ImportOptions__ApiKeys__QuestKey: ${{ secrets.QUEST_KEY }} + ImportOptions__ApiKeys__SequesterPrivateKey: ${{ secrets.SEQUESTER_PRIVATEKEY }} + ImportOptions__ApiKeys__SequesterAppID: ${{ secrets.SEQUESTER_APPID }} with: org: ${{ github.repository_owner }} repo: ${{ github.repository }} From 80b7cd76ec740573d8ea5884dc73361b03c194d5 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 8 Feb 2024 17:34:14 -0500 Subject: [PATCH 068/259] add single issue config --- .github/workflows/quest.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/quest.yml b/.github/workflows/quest.yml index f66484040..329adb674 100644 --- a/.github/workflows/quest.yml +++ b/.github/workflows/quest.yml @@ -38,6 +38,8 @@ jobs: ImportOptions__ApiKeys__GitHubToken: ${{ secrets.GITHUB_TOKEN }} ImportOptions__ApiKeys__OSPOKey: ${{ secrets.OSPO_KEY }} ImportOptions__ApiKeys__QuestKey: ${{ secrets.QUEST_KEY }} + ImportOptions__ApiKeys__SequesterPrivateKey: ${{ secrets.SEQUESTER_PRIVATEKEY }} + ImportOptions__ApiKeys__SequesterAppID: ${{ secrets.SEQUESTER_APPID }} with: org: ${{ github.repository_owner }} repo: ${{ github.repository }} @@ -53,6 +55,8 @@ jobs: ImportOptions__ApiKeys__GitHubToken: ${{ secrets.GITHUB_TOKEN }} ImportOptions__ApiKeys__OSPOKey: ${{ secrets.OSPO_KEY }} ImportOptions__ApiKeys__QuestKey: ${{ secrets.QUEST_KEY }} + ImportOptions__ApiKeys__SequesterPrivateKey: ${{ secrets.SEQUESTER_PRIVATEKEY }} + ImportOptions__ApiKeys__SequesterAppID: ${{ secrets.SEQUESTER_APPID }} with: org: ${{ github.repository_owner }} repo: ${{ github.repository }} From 1f6488c538c7a03c4880e91ad8b33286db1ff25e Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Mon, 12 Feb 2024 10:32:19 -0500 Subject: [PATCH 069/259] Update dependencies on the word converter (#1045) * Update Most packages Update all packages except FSharp.Formatting. That oner has breaking changes. * update to 5.02 Fix compiler errors in 5.0.2 Run all tests, and smoke test the Word doc output. * Update to V6.02 * success in v7.1 Upgrade to v7.1, ran tests and converter. * Conversion to 10.1.1 Versions 8 and 9 were compatible. Version 10 introduced breaking changes in the InlineBlock -> InlineHTMLBlock. * Update to 13.0.1 Version 13 had a breaking change with an additional optional parameter. * V14.01 is fine Update to V 14.0.1 succeeds. * V15.0.3 works fine * Checkin at 16.0.1 This version fixes some parsing bugs, so a workaround has been removed. However, it introduces a markdown parser bug where *some_grammar_production*s (note trailing 's') doesn't properly close the emphasis. I've written a new failing test, and I'm going to continue to update to the latest version, so see if it's fixed in a later version before fixing this failing test. * v 16.02: some failures This update fixed one issue, and introduced a new one. It also caused some breaking tests. Fix: Emphasis nodes like `*grammar_productions*s` now parse correctly. However, the test I introduced doesn't pass. (More below). New breaking change: The tables where the first column is **bold** is parsed as emphasis, with `*` surrounding each element. New test failures: Three tests, and the one I added for emphasis parsing fail, but are false failures. The differences in the XML are the nodes with a single unformatted space character. Moving forward, to see if any of the issues are fixed going forward. * Update to v 17 No change in behavior. Now, the warning on dependencies has gone away. (The F# formatter approves of the new F# compiler) * No change, up to latest release Now at v 19.1.1, which is the latest stable. Same behavior. * Fixed the tables. * update test * Well, make the first row bold Now that the first column in these tables is bold, make the first row (in the markdown) bold as well. * Respond to feedback Respond to doe review feedback. * Tests pass I added logic in the comparison lambda to ignore the special cases where the target is either the empty string, or null, and the test details is a single space. * Refactor the check Refactor the check for comparing a null element with a single space text element. --- standard/expressions.md | 86 +- tools/ExampleTester/ExampleTester.csproj | 2 +- .../MarkdownConverter.Tests.csproj | 8 +- .../MarkdownSourceConverterTests.cs | 13 +- .../emphasis-with-plural.md | 5 + .../emphasis-with-plural.xml | 64 + .../MarkdownConverter.Tests/markdown-lint.xml | 12 +- tools/MarkdownConverter.Tests/note.xml | 7 +- .../table-with-emphasis.md | 13 + .../table-with-emphasis.xml | 1063 +++++++++++++++++ .../table-with-pipe.md | 6 +- .../table-with-pipe.xml | 2 +- .../Converter/ConversionContext.cs | 2 +- tools/MarkdownConverter/Converter/FlatItem.cs | 2 +- .../Converter/MarkdownSourceConverter.cs | 68 +- .../MarkdownConverter.csproj | 6 +- tools/MarkdownConverter/Spec/MarkdownSpec.cs | 5 +- .../Spec/MarkdownUtilities.cs | 2 +- tools/MarkdownConverter/Spec/Reporter.cs | 2 +- tools/MarkdownConverter/Spec/SectionRef.cs | 2 +- .../MarkdownConverter/Spec/SourceLocation.cs | 3 +- tools/Utilities/Utilities.csproj | 2 +- 22 files changed, 1267 insertions(+), 108 deletions(-) create mode 100644 tools/MarkdownConverter.Tests/emphasis-with-plural.md create mode 100644 tools/MarkdownConverter.Tests/emphasis-with-plural.xml create mode 100644 tools/MarkdownConverter.Tests/table-with-emphasis.md create mode 100644 tools/MarkdownConverter.Tests/table-with-emphasis.xml diff --git a/standard/expressions.md b/standard/expressions.md index 074405d79..7d5aa9e4b 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -3605,15 +3605,15 @@ The predefined multiplication operators are listed below. The operators all comp The product is computed according to the rules of IEC 60559 arithmetic. The following table lists the results of all possible combinations of nonzero finite values, zeros, infinities, and NaNs. In the table, `x` and `y` are positive finite values. `z` is the result of `x * y`, rounded to the nearest representable value. If the magnitude of the result is too large for the destination type, `z` is infinity. Because of rounding, `z` may be zero even though neither `x` nor `y` is zero. - | | `+y` | `-y` | `+0` | `-0` | `+∞` | `-∞` | `NaN` | - | :-------- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | - | **`+x`** | `+z` | `-z` | `+0` | `-0` | `+∞` | `-∞` | `NaN` | - | **`-x`** | `-z` | `+z` | `-0` | `+0` | `-∞` | `+∞` | `NaN` | - | **`+0`** | `+0` | `-0` | `+0` | `-0` | `NaN` | `NaN` | `NaN` | - | **`-0`** | `-0` | `+0` | `-0` | `+0` | `NaN` | `NaN` | `NaN` | - | **`+∞`** | `+∞` | `-∞` | `NaN` | `NaN` | `+∞` | `-∞` | `NaN` | - | **`-∞`** | `-∞` | `+∞` | `NaN` | `NaN` | `-∞` | `+∞` | `NaN` | - | **`NaN`** | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | + | | **`+y`** | **`-y`** | **`+0`** | **`-0`** | **`+∞`** | **`-∞`** | **`NaN`** | + | :-------- | :------: | :------: | :------: | :------: | :------: | :------: | :-------: | + | **`+x`** | `+z` | `-z` | `+0` | `-0` | `+∞` | `-∞` | `NaN` | + | **`-x`** | `-z` | `+z` | `-0` | `+0` | `-∞` | `+∞` | `NaN` | + | **`+0`** | `+0` | `-0` | `+0` | `-0` | `NaN` | `NaN` | `NaN` | + | **`-0`** | `-0` | `+0` | `-0` | `+0` | `NaN` | `NaN` | `NaN` | + | **`+∞`** | `+∞` | `-∞` | `NaN` | `NaN` | `+∞` | `-∞` | `NaN` | + | **`-∞`** | `-∞` | `+∞` | `NaN` | `NaN` | `-∞` | `+∞` | `NaN` | + | **`NaN`** | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | (Except were otherwise noted, in the floating-point tables in [§12.10.2](expressions.md#12102-multiplication-operator)–[§12.10.6](expressions.md#12106-subtraction-operator) the use of “`+`” means the value is positive; the use of “`-`” means the value is negative; and the lack of a sign means the value may be positive or negative or has no sign (NaN).) - Decimal multiplication: @@ -3656,15 +3656,15 @@ The predefined division operators are listed below. The operators all compute th The quotient is computed according to the rules of IEC 60559 arithmetic. The following table lists the results of all possible combinations of nonzero finite values, zeros, infinities, and NaNs. In the table, `x` and `y` are positive finite values. `z` is the result of `x / y`, rounded to the nearest representable value. - | | `+y` | `-y` | `+0` | `-0` | `+∞` | `-∞` | `NaN` | - | :-------- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | - | **`+x`** | `+z` | `-z` | `+∞` | `-∞` | `+0` | `-0` | `NaN` | - | **`-x`** | `-z` | `+z` | `-∞` | `+∞` | `-0` | `+0` | `NaN` | - | **`+0`** | `+0` | `-0` | `NaN` | `NaN` | `+0` | `-0` | `NaN` | - | **`-0`** | `-0` | `+0` | `NaN` | `NaN` | `-0` | `+0` | `NaN` | - | **`+∞`** | `+∞` | `-∞` | `+∞` | `-∞` | `NaN` | `NaN` | `NaN` | - | **`-∞`** | `-∞` | `+∞` | `-∞` | `+∞` | `NaN` | `NaN` | `NaN` | - | **`NaN`** | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | + | | **`+y`** | **`-y`** | **`+0`** | **`-0`** | **`+∞`** | **`-∞`** | **`NaN`** | + | :-------- | :------: | :------: | :------: | :------: | :------: | :------: | :-------: | + | **`+x`** | `+z` | `-z` | `+∞` | `-∞` | `+0` | `-0` | `NaN` | + | **`-x`** | `-z` | `+z` | `-∞` | `+∞` | `-0` | `+0` | `NaN` | + | **`+0`** | `+0` | `-0` | `NaN` | `NaN` | `+0` | `-0` | `NaN` | + | **`-0`** | `-0` | `+0` | `NaN` | `NaN` | `-0` | `+0` | `NaN` | + | **`+∞`** | `+∞` | `-∞` | `+∞` | `-∞` | `NaN` | `NaN` | `NaN` | + | **`-∞`** | `-∞` | `+∞` | `-∞` | `+∞` | `NaN` | `NaN` | `NaN` | + | **`NaN`** | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | - Decimal division: @@ -3705,15 +3705,15 @@ The predefined remainder operators are listed below. The operators all compute t The following table lists the results of all possible combinations of nonzero finite values, zeros, infinities, and NaNs. In the table, `x` and `y` are positive finite values. `z` is the result of `x % y` and is computed as `x – n * y`, where n is the largest possible integer that is less than or equal to `x / y`. This method of computing the remainder is analogous to that used for integer operands, but differs from the IEC 60559 definition (in which `n` is the integer closest to `x / y`). - | | `+y` | `-y` | `+0` | `-0` | `+∞` | `-∞` | `NaN` | - | :-------- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | - | **`+x`** | `+z` | `+z` | `NaN` | `NaN` | `+x` | `+x` | `NaN` | - | **`-x`** | `-z` | `-z` | `NaN` | `NaN` | `-x` | `-x` | `NaN` | - | **`+0`** | `+0` | `+0` | `NaN` | `NaN` | `+0` | `+0` | `NaN` | - | **`-0`** | `-0` | `-0` | `NaN` | `NaN` | `-0` | `-0` | `NaN` | - | **`+∞`** | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | - | **`-∞`** | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | - | **`NaN`** | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | + | | **`+y`** | **`-y`** | **`+0`** | **`-0`** | **`+∞`** | **`-∞`** | **`NaN`** | + | :-------- | :------: | :------: | :------: | :------: | :------: | :------: | :-------: | + | **`+x`** | `+z` | `+z` | `NaN` | `NaN` | `+x` | `+x` | `NaN` | + | **`-x`** | `-z` | `-z` | `NaN` | `NaN` | `-x` | `-x` | `NaN` | + | **`+0`** | `+0` | `+0` | `NaN` | `NaN` | `+0` | `+0` | `NaN` | + | **`-0`** | `-0` | `-0` | `NaN` | `NaN` | `-0` | `-0` | `NaN` | + | **`+∞`** | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | + | **`-∞`** | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | + | **`NaN`** | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | - Decimal remainder: @@ -3754,14 +3754,14 @@ The predefined addition operators are listed below. For numeric and enumeration The sum is computed according to the rules of IEC 60559 arithmetic. The following table lists the results of all possible combinations of nonzero finite values, zeros, infinities, and NaNs. In the table, `x` and `y` are nonzero finite values, and `z` is the result of `x + y`. If `x` and `y` have the same magnitude but opposite signs, `z` is positive zero. If `x + y` is too large to represent in the destination type, `z` is an infinity with the same sign as `x + y`. - | | `y` | `+0` | `-0` | `+∞` | `-∞` | `NaN` | - | :-------- | :---: | :---: | :---: | :---: | :---: | :---: | - | **`x`** | `z` | `x` | `x` | `+∞` | `-∞` | `NaN` | - | **`+0`** | `y` | `+0` | `+0` | `+∞` | `–∞` | `NaN` | - | **`-0`** | `y` | `+0` | `-0` | `+∞` | `-∞` | `NaN` | - | **`+∞`** | `+∞` | `+∞` | `+∞` | `+∞` | `NaN` | `NaN` | - | **`-∞`** | `-∞` | `-∞` | `-∞` | `NaN` | `-∞` | `NaN` | - | **`NaN`** | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | + | | **`y`** | **`+0`** | **`-0`** | **`+∞`** | **`-∞`** | **`NaN`** | + | :-------- | :-----: | :------: | :------: | :------: | :------: | :-------: | + | **`x`** | `z` | `x` | `x` | `+∞` | `-∞` | `NaN` | + | **`+0`** | `y` | `+0` | `+0` | `+∞` | `–∞` | `NaN` | + | **`-0`** | `y` | `+0` | `-0` | `+∞` | `-∞` | `NaN` | + | **`+∞`** | `+∞` | `+∞` | `+∞` | `+∞` | `NaN` | `NaN` | + | **`-∞`** | `-∞` | `-∞` | `-∞` | `NaN` | `-∞` | `NaN` | + | **`NaN`** | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | - Decimal addition: @@ -3855,14 +3855,14 @@ The predefined subtraction operators are listed below. The operators all subtrac The difference is computed according to the rules of IEC 60559 arithmetic. The following table lists the results of all possible combinations of nonzero finite values, zeros, infinities, and NaNs. In the table, `x` and `y` are nonzero finite values, and `z` is the result of `x – y`. If `x` and `y` are equal, `z` is positive zero. If `x – y` is too large to represent in the destination type, `z` is an infinity with the same sign as `x – y`. - | | `y` | `+0` | `-0` | `+∞` | `-∞` | `NaN` | - | :-------- | :---: | :---: | :---: | :---: | :---: | :---: | - | **`x`** | `z` | `x` | `x` | `-∞` | `+∞` | `NaN` | - | **`+0`** | `-y` | `+0` | `+0` | `-∞` | `+∞` | `NaN` | - | **`-0`** | `-y` | `-0` | `+0` | `-∞` | `+∞` | `NaN` | - | **`+∞`** | `+∞` | `+∞` | `+∞` | `NaN` | `+∞` | `NaN` | - | **`-∞`** | `-∞` | `-∞` | `-∞` | `-∞` | `NaN` | `NaN` | - | **`NaN`** | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | + | | **`y`** | **`+0`** | **`-0`** | **`+∞`** | **`-∞`** | **`NaN`** | + | :-------- | :-----: | :------: | :------: | :------: | :------: | :-------: | + | **`x`** | `z` | `x` | `x` | `-∞` | `+∞` | `NaN` | + | **`+0`** | `-y` | `+0` | `+0` | `-∞` | `+∞` | `NaN` | + | **`-0`** | `-y` | `-0` | `+0` | `-∞` | `+∞` | `NaN` | + | **`+∞`** | `+∞` | `+∞` | `+∞` | `NaN` | `+∞` | `NaN` | + | **`-∞`** | `-∞` | `-∞` | `-∞` | `-∞` | `NaN` | `NaN` | + | **`NaN`** | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | (In the above table, the `-y` entries denote the *negation* of `y`, not that the value is negative.) - Decimal subtraction: diff --git a/tools/ExampleTester/ExampleTester.csproj b/tools/ExampleTester/ExampleTester.csproj index c3e3d0851..675d8c16b 100644 --- a/tools/ExampleTester/ExampleTester.csproj +++ b/tools/ExampleTester/ExampleTester.csproj @@ -8,7 +8,7 @@ - + diff --git a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj index 3f1755b09..2bb064374 100644 --- a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj +++ b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj @@ -11,12 +11,12 @@ - + - + - - + + runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/tools/MarkdownConverter.Tests/MarkdownSourceConverterTests.cs b/tools/MarkdownConverter.Tests/MarkdownSourceConverterTests.cs index ceac254d7..0942c0013 100644 --- a/tools/MarkdownConverter.Tests/MarkdownSourceConverterTests.cs +++ b/tools/MarkdownConverter.Tests/MarkdownSourceConverterTests.cs @@ -15,11 +15,13 @@ public class MarkdownSourceConverterTests [Theory] [InlineData("antlr-with-line-comment")] [InlineData("code-block-in-list")] + [InlineData("emphasis-with-plural")] [InlineData("list-in-note", true)] [InlineData("markdown-lint")] [InlineData("note")] [InlineData("table-in-list")] [InlineData("table-with-pipe")] + [InlineData("table-with-emphasis")] public void SingleResourceConversion(string name, bool includeNumbering = false) { var reporter = new Reporter(TextWriter.Null); @@ -54,7 +56,16 @@ public void SingleResourceConversion(string name, bool includeNumbering = false) ISource actualDoc = Input.FromDocument(actualXDocument).Build(); IDifferenceEngine diff = new DOMDifferenceEngine(); var differences = new List(); - diff.DifferenceListener += (comparison, outcome) => differences.Add(comparison); + diff.DifferenceListener += (comparison, outcome) => + { + // Don't use `NullOrWhiteSpace`, because this only a single space should be excluded. + if ((comparison.TestDetails.Target.InnerText == " ") + && (string.IsNullOrEmpty(comparison.ControlDetails.Target?.InnerText))) + { + return; + } + differences.Add(comparison); + }; diff.Compare(expectedDoc, actualDoc); Assert.Empty(differences); Assert.Equal(0, reporter.Warnings); diff --git a/tools/MarkdownConverter.Tests/emphasis-with-plural.md b/tools/MarkdownConverter.Tests/emphasis-with-plural.md new file mode 100644 index 000000000..1a08842e1 --- /dev/null +++ b/tools/MarkdownConverter.Tests/emphasis-with-plural.md @@ -0,0 +1,5 @@ +# 1 Heading + +Rules: + +Otherwise, if the namespaces imported by the *using_namespace_directive*s of the namespace declaration contain exactly one type having name `I` and `x` type parameters, then the *namespace_or_type_name* refers to that type constructed with the given type arguments. diff --git a/tools/MarkdownConverter.Tests/emphasis-with-plural.xml b/tools/MarkdownConverter.Tests/emphasis-with-plural.xml new file mode 100644 index 000000000..7f1518c36 --- /dev/null +++ b/tools/MarkdownConverter.Tests/emphasis-with-plural.xml @@ -0,0 +1,64 @@ + +

+ + + + + + Heading + + +

+

+ + Rules: + +

+

+ + Otherwise, if the namespaces imported by the + + + + + + + + + using_namespace_directive + + + s of the namespace declaration contain exactly one type having name + + + + + + I + + + and + + + + + + x + + + type parameters, then the + + + + + + + + + namespace_or_type_name + + + refers to that type constructed with the given type arguments. + +

+ diff --git a/tools/MarkdownConverter.Tests/markdown-lint.xml b/tools/MarkdownConverter.Tests/markdown-lint.xml index 13b6ff35d..c3031c4ce 100644 --- a/tools/MarkdownConverter.Tests/markdown-lint.xml +++ b/tools/MarkdownConverter.Tests/markdown-lint.xml @@ -20,7 +20,10 @@ Note - : Note 1. + : Note 1. + + + @@ -40,7 +43,10 @@ Note - : Note 2. + : Note 2. + + + @@ -49,4 +55,4 @@ end note

- \ No newline at end of file + diff --git a/tools/MarkdownConverter.Tests/note.xml b/tools/MarkdownConverter.Tests/note.xml index 544bf1990..c2c62568b 100644 --- a/tools/MarkdownConverter.Tests/note.xml +++ b/tools/MarkdownConverter.Tests/note.xml @@ -20,7 +20,10 @@ Note: - this is a note. + this is a note. + + + @@ -29,4 +32,4 @@ end note

- \ No newline at end of file + diff --git a/tools/MarkdownConverter.Tests/table-with-emphasis.md b/tools/MarkdownConverter.Tests/table-with-emphasis.md new file mode 100644 index 000000000..a406a6d7d --- /dev/null +++ b/tools/MarkdownConverter.Tests/table-with-emphasis.md @@ -0,0 +1,13 @@ +# 1 Header + +The product is computed according to the rules of IEC 60559 arithmetic. The following table lists the results of all possible combinations of nonzero finite values, zeros, infinities, and NaNs. In the table, `x` and `y` are positive finite values. `z` is the result of `x * y`, rounded to the nearest representable value. If the magnitude of the result is too large for the destination type, `z` is infinity. Because of rounding, `z` may be zero even though neither `x` nor `y` is zero. + +| | **`+y`** | **`-y`** | **`+0`** | **`-0`** | **`+∞`** | **`-∞`** | **`NaN`** | +| :-------- | :-------: | :-------: | :-------: | :-------: | :-------: | :-------: | :-------: | +| **`+x`** | `+z` | `-z` | `+0` | `-0` | `+∞` | `-∞` | `NaN` | +| **`-x`** | `-z` | `+z` | `-0` | `+0` | `-∞` | `+∞` | `NaN` | +| **`+0`** | `+0` | `-0` | `+0` | `-0` | `NaN` | `NaN` | `NaN` | +| **`-0`** | `-0` | `+0` | `-0` | `+0` | `NaN` | `NaN` | `NaN` | +| **`+∞`** | `+∞` | `-∞` | `NaN` | `NaN` | `+∞` | `-∞` | `NaN` | +| **`-∞`** | `-∞` | `+∞` | `NaN` | `NaN` | `-∞` | `+∞` | `NaN` | +| **`NaN`** | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | diff --git a/tools/MarkdownConverter.Tests/table-with-emphasis.xml b/tools/MarkdownConverter.Tests/table-with-emphasis.xml new file mode 100644 index 000000000..8afcbf005 --- /dev/null +++ b/tools/MarkdownConverter.Tests/table-with-emphasis.xml @@ -0,0 +1,1063 @@ + +

+ + + + + + Header + + +

+

+ + The product is computed according to the rules of IEC 60559 arithmetic. The following table lists the results of all possible combinations of nonzero finite values, zeros, infinities, and NaNs. In the table, + + + + + + x + + + and + + + + + + y + + + are positive finite values. + + + + + + z + + + is the result of + + + + + + x * y + + + , rounded to the nearest representable value. If the magnitude of the result is too large for the destination type, + + + + + + z + + + is infinity. Because of rounding, + + + + + + z + + + may be zero even though neither + + + + + + x + + + nor + + + + + + y + + + is zero. + +

+

+ + + + + + +

+ + + + + + + + + + + + + + + + +

+ + + + + + +

+
+ +

+ + + + + + + + + + + + +y + +

+
+ +

+ + + + + + + + + + + + -y + +

+
+ +

+ + + + + + + + + + + + +0 + +

+
+ +

+ + + + + + + + + + + + -0 + +

+
+ +

+ + + + + + + + + + + + +∞ + +

+
+ +

+ + + + + + + + + + + + -∞ + +

+
+ +

+ + + + + + + + + + + + NaN + +

+
+ + + +

+ + + + + + + + + + + +x + +

+
+ +

+ + + + + + + + + +z + +

+
+ +

+ + + + + + + + + -z + +

+
+ +

+ + + + + + + + + +0 + +

+
+ +

+ + + + + + + + + -0 + +

+
+ +

+ + + + + + + + + +∞ + +

+
+ +

+ + + + + + + + + -∞ + +

+
+ +

+ + + + + + + + + NaN + +

+
+ + + +

+ + + + + + + + + + + -x + +

+
+ +

+ + + + + + + + + -z + +

+
+ +

+ + + + + + + + + +z + +

+
+ +

+ + + + + + + + + -0 + +

+
+ +

+ + + + + + + + + +0 + +

+
+ +

+ + + + + + + + + -∞ + +

+
+ +

+ + + + + + + + + +∞ + +

+
+ +

+ + + + + + + + + NaN + +

+
+ + + +

+ + + + + + + + + + + +0 + +

+
+ +

+ + + + + + + + + +0 + +

+
+ +

+ + + + + + + + + -0 + +

+
+ +

+ + + + + + + + + +0 + +

+
+ +

+ + + + + + + + + -0 + +

+
+ +

+ + + + + + + + + NaN + +

+
+ +

+ + + + + + + + + NaN + +

+
+ +

+ + + + + + + + + NaN + +

+
+ + + +

+ + + + + + + + + + + -0 + +

+
+ +

+ + + + + + + + + -0 + +

+
+ +

+ + + + + + + + + +0 + +

+
+ +

+ + + + + + + + + -0 + +

+
+ +

+ + + + + + + + + +0 + +

+
+ +

+ + + + + + + + + NaN + +

+
+ +

+ + + + + + + + + NaN + +

+
+ +

+ + + + + + + + + NaN + +

+
+ + + +

+ + + + + + + + + + + +∞ + +

+
+ +

+ + + + + + + + + +∞ + +

+
+ +

+ + + + + + + + + -∞ + +

+
+ +

+ + + + + + + + + NaN + +

+
+ +

+ + + + + + + + + NaN + +

+
+ +

+ + + + + + + + + +∞ + +

+
+ +

+ + + + + + + + + -∞ + +

+
+ +

+ + + + + + + + + NaN + +

+
+ + + +

+ + + + + + + + + + + -∞ + +

+
+ +

+ + + + + + + + + -∞ + +

+
+ +

+ + + + + + + + + +∞ + +

+
+ +

+ + + + + + + + + NaN + +

+
+ +

+ + + + + + + + + NaN + +

+
+ +

+ + + + + + + + + -∞ + +

+
+ +

+ + + + + + + + + +∞ + +

+
+ +

+ + + + + + + + + NaN + +

+
+ + + +

+ + + + + + + + + + + NaN + +

+
+ +

+ + + + + + + + + NaN + +

+
+ +

+ + + + + + + + + NaN + +

+
+ +

+ + + + + + + + + NaN + +

+
+ +

+ + + + + + + + + NaN + +

+
+ +

+ + + + + + + + + NaN + +

+
+ +

+ + + + + + + + + NaN + +

+
+ +

+ + + + + + + + + NaN + +

+
+ +
+

+ + + + + + +

+
diff --git a/tools/MarkdownConverter.Tests/table-with-pipe.md b/tools/MarkdownConverter.Tests/table-with-pipe.md index 48e5083c5..c56ae9038 100644 --- a/tools/MarkdownConverter.Tests/table-with-pipe.md +++ b/tools/MarkdownConverter.Tests/table-with-pipe.md @@ -1,5 +1,5 @@ # 1 Heading -**`x`** | **`y`** | **`x & y`** | **`x \| y`** -------- | ------- | ------- | ------- -`x` | `y` | `x & y` | `x \| y` +| **`x`** | **`y`** | **`x & y`** | **`x \| y`** | +| ------- | ------- | ------- | ------- | +| `x` | `y` | `x & y` | `x \| y` | diff --git a/tools/MarkdownConverter.Tests/table-with-pipe.xml b/tools/MarkdownConverter.Tests/table-with-pipe.xml index 7c533f10d..13dcfb7b4 100644 --- a/tools/MarkdownConverter.Tests/table-with-pipe.xml +++ b/tools/MarkdownConverter.Tests/table-with-pipe.xml @@ -160,4 +160,4 @@

- \ No newline at end of file + diff --git a/tools/MarkdownConverter/Converter/ConversionContext.cs b/tools/MarkdownConverter/Converter/ConversionContext.cs index e07caef1e..9b6b1ace7 100644 --- a/tools/MarkdownConverter/Converter/ConversionContext.cs +++ b/tools/MarkdownConverter/Converter/ConversionContext.cs @@ -1,4 +1,4 @@ -using FSharp.Markdown; +using FSharp.Formatting.Markdown; using MarkdownConverter.Spec; using System.Runtime.CompilerServices; diff --git a/tools/MarkdownConverter/Converter/FlatItem.cs b/tools/MarkdownConverter/Converter/FlatItem.cs index 90024bc8e..f32752787 100644 --- a/tools/MarkdownConverter/Converter/FlatItem.cs +++ b/tools/MarkdownConverter/Converter/FlatItem.cs @@ -1,4 +1,4 @@ -using FSharp.Markdown; +using FSharp.Formatting.Markdown; namespace MarkdownConverter.Converter; diff --git a/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs b/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs index 0acc0d11b..6b871c55c 100644 --- a/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs +++ b/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs @@ -2,8 +2,7 @@ using DocumentFormat.OpenXml; using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Wordprocessing; -using FSharp.Formatting.Common; -using FSharp.Markdown; +using FSharp.Formatting.Markdown; using MarkdownConverter.Spec; using Microsoft.FSharp.Collections; using Microsoft.FSharp.Core; @@ -302,7 +301,7 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) yield return table; } } - else if (content is MarkdownParagraph.InlineBlock inlineBlock && GetCustomBlockId(inlineBlock) is string customBlockId) + else if (content is MarkdownParagraph.InlineHtmlBlock inlineBlock && GetCustomBlockId(inlineBlock) is string customBlockId) { foreach (var element in GenerateCustomBlockElements(customBlockId, inlineBlock)) { @@ -424,6 +423,26 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) { var mdcell = mdrow[icol]; var cell = new TableCell(); + + // This logic deals with the special case where + // the cell is meant to contain bold inline code text. + // The formatter parses it as emphasis, but surrounded + // by single asterisks. We'll detect that and rewrite + // it as the bold we intended. + var para = mdcell.FirstOrDefault() as MarkdownParagraph.Paragraph; + var leadingAsterisk = para?.body.First() as MarkdownSpan.Literal; + var span2 = para?.body.Skip(1).FirstOrDefault() as MarkdownSpan.Emphasis; + var cellText = span2?.body.FirstOrDefault() as MarkdownSpan.InlineCode; + var trailingAsterisk = span2?.body.Skip(1).FirstOrDefault() as MarkdownSpan.Literal; + if (leadingAsterisk?.text == "*" && cellText != null && trailingAsterisk?.text == "*") + { + var span = cellText as MarkdownSpan; + var boldSpan = MarkdownSpan.NewStrong(ListModule.OfSeq([span]), default); + var updatedParagaph = MarkdownParagraph.NewParagraph(ListModule.OfSeq([boldSpan]), default); + + mdcell = ListModule.OfSeq([updatedParagaph]); + } + var pars = Paragraphs2Paragraphs(mdcell).ToList(); for (int ip = 0; ip < pars.Count; ip++) { @@ -462,7 +481,7 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) } } // Special handling for elements (typically tables) we can't represent nicely in Markdown - else if (md is MarkdownParagraph.InlineBlock block && GetCustomBlockId(block) is string customBlockId) + else if (md is MarkdownParagraph.InlineHtmlBlock block && GetCustomBlockId(block) is string customBlockId) { foreach (var element in GenerateCustomBlockElements(customBlockId, block)) { @@ -470,7 +489,7 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) } } // Ignore any other HTML comments entirely - else if (md is MarkdownParagraph.InlineBlock inlineBlock && inlineBlock.code.StartsWith(""); var match = customBlockComment.Match(block.code); @@ -543,7 +562,7 @@ IEnumerable MaybeSplitParagraph(MarkdownParagraph paragraph) yield return MarkdownParagraph.NewSpan(ListModule.OfSeq(currentSpanBody), span.range); currentSpanBody.Clear(); } - yield return MarkdownParagraph.NewCodeBlock(code.code.Substring(csharpPrefix.Length), "csharp", "", code.range); + yield return MarkdownParagraph.NewCodeBlock(code.code.Substring(csharpPrefix.Length), default, default, "csharp", "", code.range); } else { @@ -585,7 +604,7 @@ IEnumerable FlattenList(MarkdownParagraph.ListBlock md, int level) yield return subitem; } } - else if (mdp.IsTableBlock || mdp is MarkdownParagraph.InlineBlock inline && GetCustomBlockId(inline) is not null) + else if (mdp.IsTableBlock || mdp is MarkdownParagraph.InlineHtmlBlock inline && GetCustomBlockId(inline) is not null) { yield return new FlatItem(level, false, isOrdered, mdp); } @@ -662,33 +681,6 @@ IEnumerable Span2Elements(MarkdownSpan md, bool nestedSpan = fal { IEnumerable spans = (md.IsStrong ? ((MarkdownSpan.Strong) md).body : ((MarkdownSpan.Emphasis) md).body); - // Workaround for https://github.com/tpetricek/FSharp.formatting/issues/389 - the markdown parser - // turns *this_is_it* into a nested Emphasis["this", Emphasis["is"], "it"] instead of Emphasis["this_is_it"] - // What we'll do is preprocess it into Emphasis["this_is_it"] - if (md.IsEmphasis) - { - var spans2 = spans.Select(s => - { - var _ = ""; - if (s is MarkdownSpan.Emphasis emphasis) - { - if (emphasis.body.Count() != 1) - { - throw new Exception($"Got {emphasis.body.Count()} elements in {md}"); - } - s = emphasis.body.Single(); - _ = "_"; - } - if (s is MarkdownSpan.Literal literal) - { - return _ + literal.text + _; - } - - reporter.Error("MD15", $"something odd inside emphasis '{s.GetType().Name}' - only allowed emphasis and literal"); return ""; - }); - spans = new List() { MarkdownSpan.NewLiteral(string.Join("", spans2), FSharpOption.None) }; - } - // Convention is that ***term*** is used to define a term. // That's parsed as Strong, which contains Emphasis, which contains one Literal string? literal = null; @@ -951,7 +943,11 @@ IEnumerable Literal2Elements(string literal, bool isNested, bool } } - IEnumerable GenerateCustomBlockElements(string customBlockId, MarkdownParagraph.InlineBlock block) => customBlockId switch + // Note: See issue https://github.com/dotnet/csharpstandard/issues/1046. + // In PR https://github.com/dotnet/csharpstandard/pull/584, most of the custom tables were removed. + // "function_members", "format_strings_1", and "format_strings_2" are the + // only special cases still used. The others can be safely removed in a future PR. + IEnumerable GenerateCustomBlockElements(string customBlockId, MarkdownParagraph.InlineHtmlBlock block) => customBlockId switch { "multiplication" => TableHelpers.CreateMultiplicationTable(), "division" => TableHelpers.CreateDivisionTable(), diff --git a/tools/MarkdownConverter/MarkdownConverter.csproj b/tools/MarkdownConverter/MarkdownConverter.csproj index 7104e98c5..8bff3af63 100644 --- a/tools/MarkdownConverter/MarkdownConverter.csproj +++ b/tools/MarkdownConverter/MarkdownConverter.csproj @@ -10,9 +10,9 @@ - - - + + + diff --git a/tools/MarkdownConverter/Spec/MarkdownSpec.cs b/tools/MarkdownConverter/Spec/MarkdownSpec.cs index c7ccf8f06..0fef1d2f8 100644 --- a/tools/MarkdownConverter/Spec/MarkdownSpec.cs +++ b/tools/MarkdownConverter/Spec/MarkdownSpec.cs @@ -1,5 +1,4 @@ -using FSharp.Formatting.Common; -using FSharp.Markdown; +using FSharp.Formatting.Markdown; using MarkdownConverter.Converter; using Microsoft.FSharp.Collections; @@ -76,7 +75,7 @@ public static MarkdownSpec ReadFiles(IEnumerable files, Reporter reporte ValidateLists(fn, text, reporter); text = BugWorkaroundEncode(text); text = RemoveBlockComments(text, Path.GetFileName(fn)); - return Tuple.Create(fn, Markdown.Parse(text)); + return Tuple.Create(fn, Markdown.Parse(text, default, default)); } }).OrderBy(tuple => GetSectionOrderingKey(tuple.Item2)).ToList(); return new MarkdownSpec(sources, reporter); diff --git a/tools/MarkdownConverter/Spec/MarkdownUtilities.cs b/tools/MarkdownConverter/Spec/MarkdownUtilities.cs index bd1a03273..6be12de1c 100644 --- a/tools/MarkdownConverter/Spec/MarkdownUtilities.cs +++ b/tools/MarkdownConverter/Spec/MarkdownUtilities.cs @@ -1,4 +1,4 @@ -using FSharp.Markdown; +using FSharp.Formatting.Markdown; namespace MarkdownConverter.Spec; diff --git a/tools/MarkdownConverter/Spec/Reporter.cs b/tools/MarkdownConverter/Spec/Reporter.cs index 1505e2299..7d4334547 100644 --- a/tools/MarkdownConverter/Spec/Reporter.cs +++ b/tools/MarkdownConverter/Spec/Reporter.cs @@ -1,4 +1,4 @@ -using FSharp.Markdown; +using FSharp.Formatting.Markdown; namespace MarkdownConverter.Spec; diff --git a/tools/MarkdownConverter/Spec/SectionRef.cs b/tools/MarkdownConverter/Spec/SectionRef.cs index e4aab4663..872b55688 100644 --- a/tools/MarkdownConverter/Spec/SectionRef.cs +++ b/tools/MarkdownConverter/Spec/SectionRef.cs @@ -1,4 +1,4 @@ -using FSharp.Markdown; +using FSharp.Formatting.Markdown; namespace MarkdownConverter.Spec; diff --git a/tools/MarkdownConverter/Spec/SourceLocation.cs b/tools/MarkdownConverter/Spec/SourceLocation.cs index 222c1667f..6f39485ca 100644 --- a/tools/MarkdownConverter/Spec/SourceLocation.cs +++ b/tools/MarkdownConverter/Spec/SourceLocation.cs @@ -1,5 +1,4 @@ -using FSharp.Formatting.Common; -using FSharp.Markdown; +using FSharp.Formatting.Markdown; using Microsoft.FSharp.Core; namespace MarkdownConverter.Spec; diff --git a/tools/Utilities/Utilities.csproj b/tools/Utilities/Utilities.csproj index fdaee7f70..d624fa023 100644 --- a/tools/Utilities/Utilities.csproj +++ b/tools/Utilities/Utilities.csproj @@ -7,7 +7,7 @@ - +
From 3b39ca3c9f86ed2c968b48675e1b93d1e39ffd31 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Tue, 13 Feb 2024 10:49:59 -0500 Subject: [PATCH 070/259] Implement Dependabot (#1049) This creates an initial dependabot.yml to update any NuGet package dependencies. We should see any new PRs weekly, on Wednesday. --- .github/dependabot.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..500c26c17 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,13 @@ +version: 2 +updates: + - package-ecosystem: "nuget" + directory: "/tools" #tools.sln + schedule: + interval: "weekly" + day: "wednesday" + open-pull-requests-limit: 5 + groups: + # Group .NET updates together for solutions. + dotnet: + patterns: + - "*" # Prefer a single PR per solution update. From 3bbcb7dccadc4ab7ed4d061c2d920b6426eb3de8 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Mon, 12 Feb 2024 16:16:32 +0000 Subject: [PATCH 071/259] Remove unused table generation methods This also removes helper methods that would only have been used by the test case. Fixes #1046. --- .../MarkdownConverter.Tests/table-in-list.xml | 17 +-- .../Converter/MarkdownSourceConverter.cs | 124 +----------------- 2 files changed, 6 insertions(+), 135 deletions(-) diff --git a/tools/MarkdownConverter.Tests/table-in-list.xml b/tools/MarkdownConverter.Tests/table-in-list.xml index 49a6429f6..e05332393 100644 --- a/tools/MarkdownConverter.Tests/table-in-list.xml +++ b/tools/MarkdownConverter.Tests/table-in-list.xml @@ -61,21 +61,6 @@

- - - - - -

- - - - - - Code cell - -

-

@@ -106,4 +91,4 @@ Next list item

- \ No newline at end of file + diff --git a/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs b/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs index 6b871c55c..a27aee31b 100644 --- a/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs +++ b/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs @@ -943,17 +943,11 @@ IEnumerable Literal2Elements(string literal, bool isNested, bool } } - // Note: See issue https://github.com/dotnet/csharpstandard/issues/1046. - // In PR https://github.com/dotnet/csharpstandard/pull/584, most of the custom tables were removed. // "function_members", "format_strings_1", and "format_strings_2" are the - // only special cases still used. The others can be safely removed in a future PR. + // only special cases still used for the actual spec. (The test case is used for + // testing that we actually generate custom block elements.) IEnumerable GenerateCustomBlockElements(string customBlockId, MarkdownParagraph.InlineHtmlBlock block) => customBlockId switch { - "multiplication" => TableHelpers.CreateMultiplicationTable(), - "division" => TableHelpers.CreateDivisionTable(), - "remainder" => TableHelpers.CreateRemainderTable(), - "addition" => TableHelpers.CreateAdditionTable(), - "subtraction" => TableHelpers.CreateSubtractionTable(), "function_members" => TableHelpers.CreateFunctionMembersTable(block.code), "format_strings_1" => new[] { new Paragraph(new Run(new Text("FIXME: Replace with first format strings table"))) }, "format_strings_2" => new[] { new Paragraph(new Run(new Text("FIXME: Replace with second format strings table"))) }, @@ -1078,82 +1072,14 @@ Run CreateRun(XNode node) } } - internal static IEnumerable CreateMultiplicationTable() - { - Table table = CreateTable(indentation: TableIndentation + InitialIndentation, width: 8000); - table.Append(CreateTableRow(Empty, PlusY, MinusY, PlusZero, MinusZero, PlusInfinity, MinusInfinity, NaN)); - table.Append(CreateTableRow(PlusX, PlusZ, MinusZ, PlusZero, MinusZero, PlusInfinity, MinusInfinity, NaN)); - table.Append(CreateTableRow(MinusX, MinusZ, PlusZ, MinusZero, PlusZero, MinusInfinity, PlusInfinity, NaN)); - table.Append(CreateTableRow(PlusZero, PlusZero, MinusZero, PlusZero, MinusZero, NaN, NaN, NaN)); - table.Append(CreateTableRow(MinusZero, MinusZero, PlusZero, MinusZero, PlusZero, NaN, NaN, NaN)); - table.Append(CreateTableRow(PlusInfinity, PlusInfinity, MinusInfinity, NaN, NaN, PlusInfinity, MinusInfinity, NaN)); - table.Append(CreateTableRow(MinusInfinity, MinusInfinity, PlusInfinity, NaN, NaN, MinusInfinity, PlusInfinity, NaN)); - table.Append(CreateTableRow(NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN)); - return CreateTableElements(table); - } - - internal static IEnumerable CreateDivisionTable() - { - Table table = CreateTable(indentation: TableIndentation + InitialIndentation, width: 8000); - table.Append(CreateTableRow(Empty, PlusY, MinusY, PlusZero, MinusZero, PlusInfinity, MinusInfinity, NaN)); - table.Append(CreateTableRow(PlusX, PlusZ, MinusZ, PlusInfinity, MinusInfinity, PlusZero, MinusZero, NaN)); - table.Append(CreateTableRow(MinusX, MinusZ, PlusZ, MinusInfinity, PlusInfinity, MinusZero, PlusZero, NaN)); - table.Append(CreateTableRow(PlusZero, PlusZero, MinusZero, NaN, NaN, PlusZero, MinusZero, NaN)); - table.Append(CreateTableRow(MinusZero, MinusZero, PlusZero, NaN, NaN, MinusZero, PlusZero, NaN)); - table.Append(CreateTableRow(PlusInfinity, PlusInfinity, MinusInfinity, PlusInfinity, MinusInfinity, NaN, NaN, NaN)); - table.Append(CreateTableRow(MinusInfinity, MinusInfinity, PlusInfinity, MinusInfinity, PlusInfinity, NaN, NaN, NaN)); - table.Append(CreateTableRow(NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN)); - return CreateTableElements(table); - } - - internal static IEnumerable CreateRemainderTable() - { - Table table = CreateTable(indentation: TableIndentation + InitialIndentation, width: 8000); - table.Append(CreateTableRow(Empty, PlusY, MinusY, PlusZero, MinusZero, PlusInfinity, MinusInfinity, NaN)); - table.Append(CreateTableRow(PlusX, PlusZ, PlusZ, NaN, NaN, PlusX, PlusX, NaN)); - table.Append(CreateTableRow(MinusX, MinusZ, MinusZ, NaN, NaN, MinusX, MinusX, NaN)); - table.Append(CreateTableRow(PlusZero, PlusZero, PlusZero, NaN, NaN, PlusZero, PlusZero, NaN)); - table.Append(CreateTableRow(MinusZero, MinusZero, MinusZero, NaN, NaN, MinusZero, MinusZero, NaN)); - table.Append(CreateTableRow(PlusInfinity, NaN, NaN, NaN, NaN, NaN, NaN, NaN)); - table.Append(CreateTableRow(MinusInfinity, NaN, NaN, NaN, NaN, NaN, NaN, NaN)); - table.Append(CreateTableRow(NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN)); - return CreateTableElements(table); - } - - internal static IEnumerable CreateAdditionTable() - { - Table table = CreateTable(indentation: TableIndentation + InitialIndentation, width: 8000); - table.Append(CreateTableRow(Empty, Y, PlusZero, MinusZero, PlusInfinity, MinusInfinity, NaN)); - table.Append(CreateTableRow(X, Z, X, X, PlusInfinity, MinusInfinity, NaN)); - table.Append(CreateTableRow(PlusZero, Y, PlusZero, PlusZero, PlusInfinity, MinusInfinity, NaN)); - table.Append(CreateTableRow(MinusZero, Y, PlusZero, MinusZero, PlusInfinity, MinusInfinity, NaN)); - table.Append(CreateTableRow(PlusInfinity, PlusInfinity, PlusInfinity, PlusInfinity, PlusInfinity, NaN, NaN)); - table.Append(CreateTableRow(MinusInfinity, MinusInfinity, MinusInfinity, MinusInfinity, NaN, MinusInfinity, NaN)); - table.Append(CreateTableRow(NaN, NaN, NaN, NaN, NaN, NaN, NaN)); - return CreateTableElements(table); - } - - internal static IEnumerable CreateSubtractionTable() - { - Table table = CreateTable(indentation: TableIndentation + InitialIndentation, width: 8000); - table.Append(CreateTableRow(Empty, Y, PlusZero, MinusZero, PlusInfinity, MinusInfinity, NaN)); - table.Append(CreateTableRow(X, Z, X, X, MinusInfinity, PlusInfinity, NaN)); - table.Append(CreateTableRow(PlusZero, MinusY, PlusZero, PlusZero, MinusInfinity, PlusInfinity, NaN)); - table.Append(CreateTableRow(MinusZero, MinusY, MinusZero, PlusZero, MinusInfinity, PlusInfinity, NaN)); - table.Append(CreateTableRow(PlusInfinity, PlusInfinity, PlusInfinity, PlusInfinity, NaN, PlusInfinity, NaN)); - table.Append(CreateTableRow(MinusInfinity, MinusInfinity, MinusInfinity, MinusInfinity, MinusInfinity, NaN, NaN)); - table.Append(CreateTableRow(NaN, NaN, NaN, NaN, NaN, NaN, NaN)); - return CreateTableElements(table); - } - internal static IEnumerable CreateTestTable() { Table table = CreateTable(indentation: 900, width: 8000); - table.Append(CreateTableRow(CreateNormalTableCell("Normal cell"), CreateCodeTableCell("Code cell"))); + + var cellParagraph = new Paragraph(new Run(new Text("Normal cell"))); + table.Append(new TableRow(new[] { CreateTableCell(cellParagraph) })); return CreateTableElements(table); } - - private static TableRow CreateTableRow(params TableCell[] cells) => new TableRow(cells); internal static Table CreateTable(int indentation = TableIndentation, int? width = null) { @@ -1186,46 +1112,6 @@ internal static IEnumerable CreateTableElements(Table t yield return new Paragraph(new Run(new Text(""))) { ParagraphProperties = new ParagraphProperties(new ParagraphStyleId { Val = "TableLineAfter" }) }; } - // Properties to create well-known table cells. - // Each call creates a new object, which is unconventional - // but required as any one cell can't be added more than once. - // These could be methods, but that would add clutter in the calling code. - private static TableCell Empty => CreateNormalTableCell(""); - private static TableCell X => CreateCodeTableCell("x"); - private static TableCell Y => CreateCodeTableCell("y"); - private static TableCell Z => CreateCodeTableCell("z"); - private static TableCell PlusX => CreateCodeTableCell("+x"); - private static TableCell PlusY => CreateCodeTableCell("+y"); - private static TableCell PlusZ => CreateCodeTableCell("+z"); - private static TableCell MinusX => CreateCodeTableCell("-x"); - private static TableCell MinusY => CreateCodeTableCell("-y"); - private static TableCell MinusZ => CreateCodeTableCell("-z"); - private static TableCell PlusInfinity => CreateCodeTableCell("+\u221E"); - private static TableCell MinusInfinity => CreateCodeTableCell("-\u221E"); - private static TableCell PlusZero => CreateCodeTableCell("+0"); - private static TableCell MinusZero => CreateCodeTableCell("-0"); - private static TableCell NaN => CreateCodeTableCell("NaN"); - - private static TableCell CreateNormalTableCell(string text) - { - var p = new Paragraph(new Run(new Text(text))); - return CreateTableCell(p); - } - - private static TableCell CreateCodeTableCell(string text) - { - var p = new Paragraph(new Run(new Text(text))) - { - ParagraphProperties = new ParagraphProperties - { - ParagraphStyleId = new ParagraphStyleId { Val = "Code" }, - // It's unclear why we need this indentation, but without it we don't get centering. - Indentation = new Indentation { Left = "0" } - } - }; - return CreateTableCell(p); - } - private static TableCell CreateTableCell(Paragraph paragraph, JustificationValues? justification = null) { var cell = new TableCell(); From ee38c3fa94375cdac119c9462b604d3a02a5fcd2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Feb 2024 19:17:50 +0000 Subject: [PATCH 072/259] Bump the dotnet group in /tools with 2 updates Bumps the dotnet group in /tools with 2 updates: [xunit](https://github.com/xunit/xunit) and [xunit.runner.visualstudio](https://github.com/xunit/visualstudio.xunit). Updates `xunit` from 2.6.6 to 2.7.0 - [Commits](https://github.com/xunit/xunit/compare/2.6.6...2.7.0) Updates `xunit.runner.visualstudio` from 2.5.6 to 2.5.7 - [Release notes](https://github.com/xunit/visualstudio.xunit/releases) - [Commits](https://github.com/xunit/visualstudio.xunit/compare/2.5.6...2.5.7) --- updated-dependencies: - dependency-name: xunit dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: xunit.runner.visualstudio dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] --- tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj index 2bb064374..0a310b05f 100644 --- a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj +++ b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj @@ -16,7 +16,7 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive all From 05dfbb3180ff5b08176acf94aa2e9fb8037fa40b Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Wed, 13 Mar 2024 10:26:39 -0400 Subject: [PATCH 073/259] Update v8-feature-tracker.md (#1057) --- admin/v8-feature-tracker.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/v8-feature-tracker.md b/admin/v8-feature-tracker.md index de3105973..e2e9fa223 100644 --- a/admin/v8-feature-tracker.md +++ b/admin/v8-feature-tracker.md @@ -12,7 +12,7 @@ using declarations and async using ([MS Proposal](https://github.com/dotnet/csha override with constraints ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/constraints-in-overrides.md)) | [671](https://github.com/dotnet/csharpstandard/pull/671) | Completed | small | Done | unmanaged constructed types ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/constructed-unmanaged.md)) | [604](https://github.com/dotnet/csharpstandard/pull/604) | Completed | small | N/A | default interface methods ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/default-interface-methods.md)) | [681](https://github.com/dotnet/csharpstandard/pull/681) | Completed | medium | Done | -permit `stackalloc` in nested contexts ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/nested-stackalloc.md)) | | HELP NEEDED | small | N/A | See Issue [#967](https://github.com/dotnet/csharpstandard/issues/967) +permit `stackalloc` in nested contexts ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/nested-stackalloc.md)) | [1056](https://github.com/dotnet/csharpstandard/pull/1056) | Completed | small | N/A | `notnull` constraint ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/notnull-constraint.md)) | [830](https://github.com/dotnet/csharpstandard/pull/830) | Completed | small | Done | null coalescing assignment ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/null-coalescing-assignment.md)) | [609](https://github.com/dotnet/csharpstandard/pull/609) | HELP NEEDED | small | N/A | See Issue [#737](https://github.com/dotnet/csharpstandard/issues/737) nullable reference types ([MS Proposal (from V9)](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/nullable-reference-types-specification.md) which supercedes ([MS Proposal (from V8)](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/nullable-reference-types.md)) |[700](https://github.com/dotnet/csharpstandard/pull/700) | Completed | large | Done | related to V8 "notnull" feature From d11d5a1a752bff9179f8207e86d63d12782c31ff Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 14 Mar 2024 14:56:03 -0400 Subject: [PATCH 074/259] Add write perms (#1059) GitHub permissions are ANDed, not ORed. So, even though the sequester app was given permission to read and write pull requests, the configuration in YAML prevented it. This ensures that if a PR is tagged as a work item, it will be imported correctly. --- .github/workflows/quest-bulk.yml | 1 + .github/workflows/quest.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/quest-bulk.yml b/.github/workflows/quest-bulk.yml index caa8b6fb0..3ec074a93 100644 --- a/.github/workflows/quest-bulk.yml +++ b/.github/workflows/quest-bulk.yml @@ -14,6 +14,7 @@ jobs: runs-on: ubuntu-latest permissions: issues: write + pull-requests: write if: ${{ github.repository_owner == 'dotnet' }} steps: diff --git a/.github/workflows/quest.yml b/.github/workflows/quest.yml index 329adb674..2dd1f982b 100644 --- a/.github/workflows/quest.yml +++ b/.github/workflows/quest.yml @@ -21,6 +21,7 @@ jobs: runs-on: ubuntu-latest permissions: issues: write + pull-requests: write steps: - name: "Print manual run reason" From 4bba1b82cc2ab9f22775c976007413039d8d68c6 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Thu, 21 Mar 2024 09:18:02 -0400 Subject: [PATCH 075/259] Make sentence a new para. (#1061) --- standard/classes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/standard/classes.md b/standard/classes.md index 534b3ab35..fee47b7f8 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -4490,6 +4490,7 @@ The following rules apply to binary operator declarations, where `T` denotes the - A binary non-shift operator shall take two parameters, at least one of which shall have type `T` or `T?`, and can return any type. - A binary `<<` or `>>` operator ([§12.11](expressions.md#1211-shift-operators)) shall take two parameters, the first of which shall have type `T` or T? and the second of which shall have type `int` or `int?`, and can return any type. + The signature of a binary operator consists of the operator token (`+`, `-`, `*`, `/`, `%`, `&`, `|`, `^`, `<<`, `>>`, `==`, `!=`, `>`, `<`, `>=`, or `<=`) and the types of the two formal parameters. The return type and the names of the formal parameters are not part of a binary operator’s signature. Certain binary operators require pair-wise declaration. For every declaration of either operator of a pair, there shall be a matching declaration of the other operator of the pair. Two operator declarations match if identity conversions exist between their return types and their corresponding parameter types. The following operators require pair-wise declaration: From cbf3a0d80ea6afb7e5f0cabda44eda4de9471b35 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Wed, 27 Mar 2024 11:44:44 +0000 Subject: [PATCH 076/259] Fix examples where feasible Towards #646 --- standard/classes.md | 3 +-- standard/lexical-structure.md | 7 +++-- standard/statements.md | 27 +++++++------------ tools/ExampleTester/GeneratedExample.cs | 5 ++++ .../PartialClass1ForSwitch.cs | 7 +++++ .../PartialProgramForSwitch.cs | 11 ++++++++ .../PartialProgramWithFGxy.cs | 7 +++++ .../code-in-class-lib/Library.cs | 2 +- .../code-in-main-without-using/Program.cs | 2 +- .../example-templates/code-in-main/Program.cs | 2 +- 10 files changed, 46 insertions(+), 27 deletions(-) create mode 100644 tools/example-templates/additional-files/PartialClass1ForSwitch.cs create mode 100644 tools/example-templates/additional-files/PartialProgramForSwitch.cs create mode 100644 tools/example-templates/additional-files/PartialProgramWithFGxy.cs diff --git a/standard/classes.md b/standard/classes.md index fee47b7f8..01d7a565e 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -5114,8 +5114,7 @@ Finalizers are invoked automatically, and cannot be invoked explicitly. An insta > *Example*: The output of the example > -> -> +> > ```csharp > class A > { diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index b8d37c561..b5a012749 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -87,7 +87,7 @@ If the following token is among this list, or an identifier in such a context, t > > will, according to this rule, be interpreted as a call to `F` with one argument, which is a call to a generic method `G` with two type arguments and one regular argument. The statements > -> +> > ```csharp > F(G7); > F(G>7); @@ -1311,8 +1311,7 @@ Any remaining conditional sections are skipped and no tokens, except those for p > *Example*: The following example illustrates how conditional compilation directives can nest: > -> -> +> > ```csharp > #define Debug // Debugging on > #undef Trace // Tracing off @@ -1335,7 +1334,7 @@ Any remaining conditional sections are skipped and no tokens, except those for p > Except for pre-processing directives, skipped source code is not subject to lexical analysis. For example, the following is valid despite the unterminated comment in the `#else` section: > > -> +> > ```csharp > #define Debug // Debugging on > class PurchaseTransaction diff --git a/standard/statements.md b/standard/statements.md index 531e64eb4..deec38f3e 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -663,16 +663,14 @@ An `else` part is associated with the lexically nearest preceding `if` that is a > *Example*: Thus, an `if` statement of the form > -> -> +> > ```csharp > if (x) if (y) F(); else G(); > ``` > > is equivalent to > -> -> +> > ```csharp > if (x) > { @@ -773,8 +771,7 @@ If the end point of the statement list of a switch section is reachable, a compi > *Example*: The example > -> -> +> > ```csharp > switch (i) > { @@ -792,8 +789,7 @@ If the end point of the statement list of a switch section is reachable, a compi > > is valid because no switch section has a reachable end point. Unlike C and C++, execution of a switch section is not permitted to “fall through” to the next switch section, and the example > -> -> +> > ```csharp > switch (i) > { @@ -808,8 +804,7 @@ If the end point of the statement list of a switch section is reachable, a compi > > results in a compile-time error. When execution of a switch section is to be followed by execution of another switch section, an explicit `goto case` or `goto default` statement shall be used: > -> -> +> > ```csharp > switch (i) > { @@ -831,8 +826,7 @@ Multiple labels are permitted in a *switch_section*. > *Example*: The example > -> -> +> > ```csharp > switch (i) > { @@ -857,8 +851,7 @@ Multiple labels are permitted in a *switch_section*. > *Note*: The “no fall through” rule prevents a common class of bugs that occur in C and C++ when `break` statements are accidentally omitted. For example, the sections of the `switch` statement above can be reversed without affecting the behavior of the statement: > -> -> +> > ```csharp > switch (i) > { @@ -880,8 +873,7 @@ Multiple labels are permitted in a *switch_section*. > *Note*: The statement list of a switch section typically ends in a `break`, `goto case`, or `goto default` statement, but any construct that renders the end point of the statement list unreachable is permitted. For example, a `while` statement controlled by the Boolean expression `true` is known to never reach its end point. Likewise, a `throw` or `return` statement always transfers control elsewhere and never reaches its end point. Thus, the following example is valid: > -> -> +> > ```csharp > switch (i) > { @@ -903,8 +895,7 @@ Multiple labels are permitted in a *switch_section*. > *Example*: The governing type of a `switch` statement can be the type `string`. For example: > -> -> +> > ```csharp > void DoCommand(string command) > { diff --git a/tools/ExampleTester/GeneratedExample.cs b/tools/ExampleTester/GeneratedExample.cs index 3f73e29f6..cafaec18c 100644 --- a/tools/ExampleTester/GeneratedExample.cs +++ b/tools/ExampleTester/GeneratedExample.cs @@ -152,6 +152,11 @@ bool ValidateOutput() { task.GetAwaiter().GetResult(); } + // For some reason, we don't *actually* get the result of all finalizers + // without this. We shouldn't need it (as relevant examples already have it) but + // code that works outside the test harness doesn't work inside it. + GC.Collect(); + GC.WaitForPendingFinalizers(); } catch (TargetInvocationException outer) { diff --git a/tools/example-templates/additional-files/PartialClass1ForSwitch.cs b/tools/example-templates/additional-files/PartialClass1ForSwitch.cs new file mode 100644 index 000000000..12fcff410 --- /dev/null +++ b/tools/example-templates/additional-files/PartialClass1ForSwitch.cs @@ -0,0 +1,7 @@ +partial class Class1 +{ + void DoRun() {} + void DoSave() {} + void DoQuit() {} + void InvalidCommand(string command) {} +} diff --git a/tools/example-templates/additional-files/PartialProgramForSwitch.cs b/tools/example-templates/additional-files/PartialProgramForSwitch.cs new file mode 100644 index 000000000..9f7cbf0c9 --- /dev/null +++ b/tools/example-templates/additional-files/PartialProgramForSwitch.cs @@ -0,0 +1,11 @@ +partial class Program +{ + static int i = -1; + static void CaseZero() {} + static void CaseOne() {} + static void CaseTwo() {} + static void CaseZeroOrOne() {} + static void CaseAny() {} + static void CaseOthers() {} + static void F() {} +} \ No newline at end of file diff --git a/tools/example-templates/additional-files/PartialProgramWithFGxy.cs b/tools/example-templates/additional-files/PartialProgramWithFGxy.cs new file mode 100644 index 000000000..f7aff863d --- /dev/null +++ b/tools/example-templates/additional-files/PartialProgramWithFGxy.cs @@ -0,0 +1,7 @@ +partial class Program +{ + static bool x = true; + static bool y = true; + static void F(){} + static void G(){} +} diff --git a/tools/example-templates/code-in-class-lib/Library.cs b/tools/example-templates/code-in-class-lib/Library.cs index 61674141f..a657e9fe5 100644 --- a/tools/example-templates/code-in-class-lib/Library.cs +++ b/tools/example-templates/code-in-class-lib/Library.cs @@ -11,7 +11,7 @@ using System.Text; using System.Threading; -class Class1 +partial class Class1 { $example-code } diff --git a/tools/example-templates/code-in-main-without-using/Program.cs b/tools/example-templates/code-in-main-without-using/Program.cs index 6e01165eb..f864a60c3 100644 --- a/tools/example-templates/code-in-main-without-using/Program.cs +++ b/tools/example-templates/code-in-main-without-using/Program.cs @@ -1,4 +1,4 @@ -class Program +partial class Program { static void Main() { diff --git a/tools/example-templates/code-in-main/Program.cs b/tools/example-templates/code-in-main/Program.cs index 8b41967b3..a67a322f3 100644 --- a/tools/example-templates/code-in-main/Program.cs +++ b/tools/example-templates/code-in-main/Program.cs @@ -11,7 +11,7 @@ using System.Text; using System.Threading; -class Program +partial class Program { static void Main() { From c28682e6175076e26e63048f99cd0c6c40ce3a77 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Tue, 5 Mar 2024 22:10:11 +0000 Subject: [PATCH 077/259] Tweak CLI wording Tweak wording as per https://github.com/dotnet/csharpstandard/issues/962#issuecomment-1832553160 --- standard/introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/introduction.md b/standard/introduction.md index 15e88171a..e5a3c1b93 100644 --- a/standard/introduction.md +++ b/standard/introduction.md @@ -2,7 +2,7 @@ This specification is based on a submission from Hewlett-Packard, Intel, and Microsoft, that described a language called C#, which was developed within Microsoft. The principal inventors of this language were Anders Hejlsberg, Scott Wiltamuth, and Peter Golde. The first widely distributed implementation of C# was released by Microsoft in July 2000, as part of its .NET Framework initiative. -Ecma Technical Committee 39 (TC39) \[later renamed to TC49\] Task Group 2 (TG2) was formed in September 2000, to produce a standard for C#. Another Task Group, TG3, was also formed at that time to produce a standard for a library and execution environment called Common Language Infrastructure (CLI). (CLI is based on a subset of the .NET Framework.) Although Microsoft’s implementation of C# relies on CLI for library and run-time support, other implementations of C# need not, provided they support an alternate way of getting at the minimum CLI features required by this C# standard (see [Annex C](standard-library.md#annex-c-standard-library)). +Ecma Technical Committee 39 (TC39) \[later renamed to TC49\] Task Group 2 (TG2) was formed in September 2000, to produce a standard for C#. Another Task Group, TG3, was also formed at that time to produce a standard for a library and execution environment called Common Language Infrastructure (CLI). (CLI is based on a subset of the .NET Framework.) Although Microsoft’s implementation of C# relies on CLI for library and run-time support, other implementations of C# need not provided they provide the features and API required by this C# standard (see [Annex C](standard-library.md#annex-c-standard-library)). As the definition of C# evolved, the goals used in its design were as follows: From 8fc0c3c01abbdc1f9e6592abd24f439105012da8 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Wed, 6 Mar 2024 09:27:40 +0000 Subject: [PATCH 078/259] Update standard/introduction.md Co-authored-by: Nigel-Ecma --- standard/introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/introduction.md b/standard/introduction.md index e5a3c1b93..2944637f5 100644 --- a/standard/introduction.md +++ b/standard/introduction.md @@ -2,7 +2,7 @@ This specification is based on a submission from Hewlett-Packard, Intel, and Microsoft, that described a language called C#, which was developed within Microsoft. The principal inventors of this language were Anders Hejlsberg, Scott Wiltamuth, and Peter Golde. The first widely distributed implementation of C# was released by Microsoft in July 2000, as part of its .NET Framework initiative. -Ecma Technical Committee 39 (TC39) \[later renamed to TC49\] Task Group 2 (TG2) was formed in September 2000, to produce a standard for C#. Another Task Group, TG3, was also formed at that time to produce a standard for a library and execution environment called Common Language Infrastructure (CLI). (CLI is based on a subset of the .NET Framework.) Although Microsoft’s implementation of C# relies on CLI for library and run-time support, other implementations of C# need not provided they provide the features and API required by this C# standard (see [Annex C](standard-library.md#annex-c-standard-library)). +Ecma Technical Committee 39 (TC39) \[later renamed to TC49\] Task Group 2 (TG2) was formed in September 2000, to produce a standard for C#. Another Task Group, TG3, was also formed at that time to produce a standard for a library and execution environment called Common Language Infrastructure (CLI). (CLI is based on a subset of the .NET Framework.) Although Microsoft’s implementation of C# relies on CLI for library and run-time support, other implementations of C# need not provided they support the features and API required by this C# Standard (see [Annex C](standard-library.md#annex-c-standard-library)). As the definition of C# evolved, the goals used in its design were as follows: From 7132f701a640287a892c4ac652f47f96fbf2f4c4 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Wed, 27 Mar 2024 18:42:17 +0000 Subject: [PATCH 079/259] Update standard/introduction.md Co-authored-by: Bill Wagner --- standard/introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/introduction.md b/standard/introduction.md index 2944637f5..831af8a3e 100644 --- a/standard/introduction.md +++ b/standard/introduction.md @@ -2,7 +2,7 @@ This specification is based on a submission from Hewlett-Packard, Intel, and Microsoft, that described a language called C#, which was developed within Microsoft. The principal inventors of this language were Anders Hejlsberg, Scott Wiltamuth, and Peter Golde. The first widely distributed implementation of C# was released by Microsoft in July 2000, as part of its .NET Framework initiative. -Ecma Technical Committee 39 (TC39) \[later renamed to TC49\] Task Group 2 (TG2) was formed in September 2000, to produce a standard for C#. Another Task Group, TG3, was also formed at that time to produce a standard for a library and execution environment called Common Language Infrastructure (CLI). (CLI is based on a subset of the .NET Framework.) Although Microsoft’s implementation of C# relies on CLI for library and run-time support, other implementations of C# need not provided they support the features and API required by this C# Standard (see [Annex C](standard-library.md#annex-c-standard-library)). +Ecma Technical Committee 39 (TC39) \[later renamed to TC49\] Task Group 2 (TG2) was formed in September 2000, to produce a standard for C#. Another Task Group, TG3, was also formed at that time to produce a standard for a library and execution environment called Common Language Infrastructure (CLI). (CLI is based on a subset of the .NET Framework.) Although Microsoft’s implementation of C# relies on CLI for library and run-time support, other implementations of C# need not, provided they support the features and API required by this C# Standard (see [Annex C](standard-library.md#annex-c-standard-library)). As the definition of C# evolved, the goals used in its design were as follows: From 5c802bc7002833aeb250640a6ae10c639238ec23 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 28 Mar 2024 10:00:10 -0400 Subject: [PATCH 080/259] Add support for static local functions (#869) (#1066) Co-authored-by: Rex Jaeschke --- standard/statements.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/standard/statements.md b/standard/statements.md index deec38f3e..787853966 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -507,7 +507,8 @@ local_function_modifier ; ref_local_function_modifier - : unsafe_modifier // unsafe code support + : 'static' + | unsafe_modifier // unsafe code support ; local_function_body @@ -563,9 +564,9 @@ Unless specified otherwise below, the semantics of all grammar elements is the s The *identifier* of a *local_function_declaration* shall be unique in its declared block scope, including any enclosing local variable declaration spaces. One consequence of this is that overloaded *local_function_declaration*s are not allowed. -A *local_function_declaration* may include one `async` ([§15.15](classes.md#1515-async-functions)) modifier and one `unsafe` ([§23.1](unsafe-code.md#231-general)) modifier. If the declaration includes the `async` modifier then the return type shall be `void` or a `«TaskType»` type ([§15.15.1](classes.md#15151-general)). The `unsafe` modifier uses the containing lexical scope. The `async` modifier does not use the containing lexical scope. It is a compile-time error for *type_parameter_list* or *formal_parameter_list* to contain *attributes*. +A *local_function_declaration* may include one `async` ([§15.15](classes.md#1515-async-functions)) modifier and one `unsafe` ([§23.1](unsafe-code.md#231-general)) modifier. If the declaration includes the `async` modifier then the return type shall be `void` or a `«TaskType»` type ([§15.15.1](classes.md#15151-general)). If the declaration includes the `static` modifier, the function is a ***static local function***; otherwise, it is a ***non-static local function***. It is a compile-time error for *type_parameter_list* or *formal_parameter_list* to contain *attributes*. If the local function is declared in an unsafe context (§23.2), the local function may include unsafe code, even if the local function declaration doesn't include the `unsafe` modifier. -A local function is declared at block scope, and that function may capture variables from the enclosing scopes. It is a compile-time error if a captured variable is read by the body of the local function but is not definitely assigned before each call to the function. The compiler shall determine which variables are definitely assigned on return ([§9.4.4.33](variables.md#94433-rules-for-variables-in-local-functions)). +A local function is declared at block scope. A non-static local function may capture variables from the enclosing scope while a static local function shall not (so it has no access to enclosing locals, parameters, non-static local functions, or `this`). It is a compile-time error if a captured variable is read by the body of a non-static local function but is not definitely assigned before each call to the function. The compiler shall determine which variables are definitely assigned on return ([§9.4.4.33](variables.md#94433-rules-for-variables-in-local-functions)). When the type of `this` is a struct type, it is a compile-time error for the body of a local function to access `this`. This is true whether the access is explicit (as in `this.x`) or implicit (as in `x` where `x` is an instance member of the struct). This rule only prohibits such access and does not affect whether member lookup results in a member of the struct. @@ -606,6 +607,13 @@ Local function bodies are always reachable. The endpoint of a local function dec If the type of the argument to a local function is `dynamic`, the function to be called shall be resolved at compile time, not runtime. +A local function shall not be used in an expression tree. + +A static local function + +- May reference static members, type parameters, constant definitions and static local functions from the enclosing scope. +- Shall not reference `this` or `base` nor instance members from an implicit `this` reference, nor local variables, parameters, or non-static local functions from the enclosing scope. However, all these are permitted in a `nameof()` expression. + ## 13.7 Expression statements An *expression_statement* evaluates a given expression. The value computed by the expression, if any, is discarded. From 7ae35e304d35d40570fd2ed43612b6357f8f2d77 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Thu, 28 Mar 2024 14:14:58 +0000 Subject: [PATCH 081/259] Fix escape sequence examples which were missing backslash (#1065) Fixes #1064 --- standard/lexical-structure.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index b5a012749..621071779 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -842,8 +842,8 @@ fragment Hexadecimal_Escape_Sequence > > > ```csharp -> string good = "x9Good text"; -> string bad = "x9Bad text"; +> string good = "\x9Good text"; +> string bad = "\x9Bad text"; > ``` > > it might appear at first that the leading character is the same (`U+0009`, a tab character) in both strings. In fact the second string starts with `U+9BAD` as all three letters in the word “Bad” are valid hexadecimal digits. As a matter of style, it is recommended that `\x` is avoided in favour of either specific escape sequences (`\t` in this example) or the fixed-length `\u` escape sequence. From 395573cc297fb00e830a24bae28723a833e2439c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 28 Mar 2024 10:34:24 -0400 Subject: [PATCH 082/259] [create-pull-request] automated change (#1068) Co-authored-by: BillWagner --- standard/grammar.md | 3 ++- standard/statements.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/standard/grammar.md b/standard/grammar.md index 0be12409e..5ba00ec39 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -1604,7 +1604,8 @@ local_function_modifier ; ref_local_function_modifier - : unsafe_modifier // unsafe code support + : 'static' + | unsafe_modifier // unsafe code support ; local_function_body diff --git a/standard/statements.md b/standard/statements.md index 787853966..d639c4a8d 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -564,7 +564,7 @@ Unless specified otherwise below, the semantics of all grammar elements is the s The *identifier* of a *local_function_declaration* shall be unique in its declared block scope, including any enclosing local variable declaration spaces. One consequence of this is that overloaded *local_function_declaration*s are not allowed. -A *local_function_declaration* may include one `async` ([§15.15](classes.md#1515-async-functions)) modifier and one `unsafe` ([§23.1](unsafe-code.md#231-general)) modifier. If the declaration includes the `async` modifier then the return type shall be `void` or a `«TaskType»` type ([§15.15.1](classes.md#15151-general)). If the declaration includes the `static` modifier, the function is a ***static local function***; otherwise, it is a ***non-static local function***. It is a compile-time error for *type_parameter_list* or *formal_parameter_list* to contain *attributes*. If the local function is declared in an unsafe context (§23.2), the local function may include unsafe code, even if the local function declaration doesn't include the `unsafe` modifier. +A *local_function_declaration* may include one `async` ([§15.15](classes.md#1515-async-functions)) modifier and one `unsafe` ([§23.1](unsafe-code.md#231-general)) modifier. If the declaration includes the `async` modifier then the return type shall be `void` or a `«TaskType»` type ([§15.15.1](classes.md#15151-general)). If the declaration includes the `static` modifier, the function is a ***static local function***; otherwise, it is a ***non-static local function***. It is a compile-time error for *type_parameter_list* or *formal_parameter_list* to contain *attributes*. If the local function is declared in an unsafe context ([§23.2](unsafe-code.md#232-unsafe-contexts)), the local function may include unsafe code, even if the local function declaration doesn’t include the `unsafe` modifier. A local function is declared at block scope. A non-static local function may capture variables from the enclosing scope while a static local function shall not (so it has no access to enclosing locals, parameters, non-static local functions, or `this`). It is a compile-time error if a captured variable is read by the body of a non-static local function but is not definitely assigned before each call to the function. The compiler shall determine which variables are definitely assigned on return ([§9.4.4.33](variables.md#94433-rules-for-variables-in-local-functions)). From 6e2f18d176966aa8006614b9d644f8f9a455fcd6 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Sat, 30 Mar 2024 13:19:19 -0400 Subject: [PATCH 083/259] Tweak example annotation (#1069) * Tweak example extraction annotation * Tweak example extraction annotation --- standard/classes.md | 4 ++-- standard/unsafe-code.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index 01d7a565e..c1abdaad6 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -1596,7 +1596,7 @@ Constants and readonly fields have different binary versioning semantics. When a > *Example*: Consider an application that consists of two separate programs: > -> +> > ```csharp > namespace Program1 > { @@ -1609,7 +1609,7 @@ Constants and readonly fields have different binary versioning semantics. When a > > and > -> +> > ```csharp > namespace Program2 > { diff --git a/standard/unsafe-code.md b/standard/unsafe-code.md index 85a4a8424..8ca9e243b 100644 --- a/standard/unsafe-code.md +++ b/standard/unsafe-code.md @@ -183,7 +183,7 @@ The default value ([§9.3](variables.md#93-default-values)) for any pointer type > *Note*: Although pointers can be passed as `in`, `ref` or `out` parameters, doing so can cause undefined behavior, since the pointer might well be set to point to a local variable that no longer exists when the called method returns, or the fixed object to which it used to point, is no longer fixed. For example: > > -> +> > ```csharp > class Test > { @@ -296,7 +296,7 @@ When one pointer type is converted to another, if the resulting pointer is not c > *Example*: Consider the following case in which a variable having one type is accessed via a pointer to a different type: > > -> +> > ```csharp > unsafe static void M() > { From 2ff4fddc9581bde0fe5d13180be3bad7dbd23be4 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Thu, 4 Apr 2024 11:16:10 -0400 Subject: [PATCH 084/259] support-target-typed-conditional-expression --- standard/conversions.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/standard/conversions.md b/standard/conversions.md index 0ed9932f7..0ada4ee6c 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -352,6 +352,15 @@ An implicit conversion exists from a *default_literal* ([§12.8.20](expressions. While throw expressions do not have a type, they may be implicitly converted to any type. +### §imp-cond-expr-conv Implicit conditional expression conversions + +For a *conditional_expression* `c ? e1 : e2`, when + +1. there is no common type for `e1` and `e2`, or +1. for which a common type exists, but one of the expressions `e1` or `e2` has no implicit conversion to that type + +an implicit ***conditional expression conversion*** exists that permits an implicit conversion from *conditional_expression* to any type `T` for which there is a conversion-from-expression from `e1` to `T` and also from `e2` to `T`. It is an error if *conditional_expression* neither has a common type between `e1` and `e2` nor is subject to a conditional expression conversion. + ## 10.3 Explicit conversions ### 10.3.1 General From 89f9fd886abe2979ebbc58fdba316638f5d85bec Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Thu, 4 Apr 2024 11:23:04 -0400 Subject: [PATCH 085/259] support-target-typed-conditional-expression --- standard/expressions.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index d2c0df118..98a634652 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -1098,10 +1098,11 @@ Given `int i = 10;`, according to [§12.6.4.2](expressions.md#12642-applicable-f #### 12.6.4.5 Better conversion from expression -Given an implicit conversion `C₁` that converts from an expression `E` to a type `T₁`, and an implicit conversion `C₂` that converts from an expression `E` to a type `T₂`, `C₁` is a ***better conversion*** than `C₂` if one of the following holds: +Given an implicit conversion `C₁` that converts from an expression `E` to a type `T₁`, and an implicit conversion `C₂` that converts from an expression `E` to a type `T₂`, `C₁` is a ***better conversion*** than `C₂` if `E` does not exactly match `T₂` and at least one of the following holds: - `E` exactly matches `T₁` and `E` does not exactly match `T₂` ([§12.6.4.6](expressions.md#12646-exactly-matching-expression)) -- `E` exactly matches both or neither of `T₁` and `T₂`, and `T₁` is a better conversion target than `T₂` ([§12.6.4.7](expressions.md#12647-better-conversion-target)) +- `C₁` is not a conditional expression conversion and `C₂` is a conditional expression conversion. +- `E` exactly matches both or neither of `T₁` and `T₂`, and `T₁` is a better conversion target than `T₂` ([§12.6.4.7](expressions.md#12647-better-conversion-target)) and either `C₁` and `C₂` are both conditional expression conversions or neither is a conditional expression conversion - `E` is a method group ([§12.2](expressions.md#122-expression-classifications)), `T₁` is compatible ([§20.4](delegates.md#204-delegate-compatibility)) with the single best method from the method group for conversion `C₁`, and `T₂` is not compatible with the single best method from the method group for conversion `C₂` #### 12.6.4.6 Exactly matching expression @@ -3472,7 +3473,7 @@ cast_expression ; ``` -A *cast_expression* of the form `(T)E`, where `T` is a type and `E` is a *unary_expression*, performs an explicit conversion ([§10.3](conversions.md#103-explicit-conversions)) of the value of `E` to type `T`. If no explicit conversion exists from `E` to `T`, a binding-time error occurs. Otherwise, the result is the value produced by the explicit conversion. The result is always classified as a value, even if `E` denotes a variable. +A *cast_expression* of the form `(T)E`, where `T` is a type and `E` is a *unary_expression*, performs an explicit conversion ([§10.3](conversions.md#103-explicit-conversions)) of the value of `E` to type `T`. In the presence of a conditional expression conversion (§imp-cond-expr-conv) there may be more than one possible conversion from `E` to `T`, in which case, the conditional expression conversion shall only be used as a last resort. If no explicit conversion exists from `E` to `T`, a binding-time error occurs. Otherwise, the result is the value produced by the explicit conversion. The result is always classified as a value, even if `E` denotes a variable. The grammar for a *cast_expression* leads to certain syntactic ambiguities. @@ -4818,7 +4819,7 @@ If `ref` is present: If `ref` is not present, the second and third operands, `x` and `y`, of the `?:` operator control the type of the conditional expression: - If `x` has type `X` and `y` has type `Y` then, - - If an identity conversion exists between `X` and `Y`, then the result is the best common type of a set of expressions ([§12.6.3.15](expressions.md#126315-finding-the-best-common-type-of-a-set-of-expressions)). If either type is `dynamic`, type inference prefers `dynamic` ([§8.7](types.md#87-the-dynamic-type)). If either type is a tuple type ([§8.3.11](types.md#8311-tuple-types)), type inference includes the element names when the element names in the same ordinal position match in both tuples. + - If an identity conversion exists between `X` and `Y`, then the result is the best common type of a set of expressions ([§12.6.3.15](expressions.md#126315-finding-the-best-common-type-of-a-set-of-expressions)). ***placeholder for words somehow referring to “12.6.4.5 Better conversion from expression.”*** If either type is `dynamic`, type inference prefers `dynamic` ([§8.7](types.md#87-the-dynamic-type)). If either type is a tuple type ([§8.3.11](types.md#8311-tuple-types)), type inference includes the element names when the element names in the same ordinal position match in both tuples. - Otherwise, if an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from `X` to `Y`, but not from `Y` to `X`, then `Y` is the type of the conditional expression. - Otherwise, if an implicit enumeration conversion ([§10.2.4](conversions.md#1024-implicit-enumeration-conversions)) exists from `X` to `Y`, then `Y` is the type of the conditional expression. - Otherwise, if an implicit enumeration conversion ([§10.2.4](conversions.md#1024-implicit-enumeration-conversions)) exists from `Y` to `X`, then `X` is the type of the conditional expression. From 7ad52c6547e63feb6098a1d9fe94cf0816ab367e Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Tue, 9 Apr 2024 09:36:50 -0400 Subject: [PATCH 086/259] Make heading consistent with other named operators (#1075) --- standard/expressions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/expressions.md b/standard/expressions.md index 7d5aa9e4b..4267ece2a 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -3223,7 +3223,7 @@ Except for the `stackalloc` operator, C# provides no predefined constructs for m > In the case of `span8`, `stackalloc` results in a `Span`, which is converted by an implicit operator to `ReadOnlySpan`. Similarly, for `span9`, the resulting `Span` is converted to the user-defined type `Widget` using the conversion, as shown. > *end example* -### 12.8.22 Nameof expressions +### 12.8.22 The nameof operator A *nameof_expression* is used to obtain the name of a program entity as a constant string. From b6b2f00832e0fc00d29b58edcfa342bea9b23ea5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 9 Apr 2024 09:47:15 -0400 Subject: [PATCH 087/259] [create-pull-request] automated change (#1076) Co-authored-by: BillWagner --- standard/README.md | 2 +- standard/grammar.md | 2 +- standard/variables.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/standard/README.md b/standard/README.md index 0c0cdf7e7..acf4d9ad9 100644 --- a/standard/README.md +++ b/standard/README.md @@ -340,7 +340,7 @@ - [§12.8.19](expressions.md#12819-the-checked-and-unchecked-operators) The checked and unchecked operators - [§12.8.20](expressions.md#12820-default-value-expressions) Default value expressions - [§12.8.21](expressions.md#12821-stack-allocation) Stack allocation - - [§12.8.22](expressions.md#12822-nameof-expressions) Nameof expressions + - [§12.8.22](expressions.md#12822-the-nameof-operator) The nameof operator - [§12.8.23](expressions.md#12823-anonymous-method-expressions) Anonymous method expressions - [§12.9](expressions.md#129-unary-operators) Unary operators - [§12.9.1](expressions.md#1291-general) General diff --git a/standard/grammar.md b/standard/grammar.md index 5ba00ec39..3f617bede 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -1158,7 +1158,7 @@ stackalloc_element_initializer : expression ; -// Source: §12.8.22 Nameof expressions +// Source: §12.8.22 The nameof operator nameof_expression : 'nameof' '(' named_entity ')' ; diff --git a/standard/variables.md b/standard/variables.md index bb5a3cfde..89e07d1b3 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -657,7 +657,7 @@ For all other constant expressions, the definite-assignment state of *v* after t #### 9.4.4.22 General rules for simple expressions -The following rule applies to these kinds of expressions: literals ([§12.8.2](expressions.md#1282-literals)), simple names ([§12.8.4](expressions.md#1284-simple-names)), member access expressions ([§12.8.7](expressions.md#1287-member-access)), non-indexed base access expressions ([§12.8.14](expressions.md#12814-base-access)), `typeof` expressions ([§12.8.17](expressions.md#12817-the-typeof-operator)), default value expressions ([§12.8.20](expressions.md#12820-default-value-expressions)), `nameof` expressions ([§12.8.22](expressions.md#12822-nameof-expressions)), and declaration expressions ([§12.17](expressions.md#1217-declaration-expressions)). +The following rule applies to these kinds of expressions: literals ([§12.8.2](expressions.md#1282-literals)), simple names ([§12.8.4](expressions.md#1284-simple-names)), member access expressions ([§12.8.7](expressions.md#1287-member-access)), non-indexed base access expressions ([§12.8.14](expressions.md#12814-base-access)), `typeof` expressions ([§12.8.17](expressions.md#12817-the-typeof-operator)), default value expressions ([§12.8.20](expressions.md#12820-default-value-expressions)), `nameof` expressions ([§12.8.22](expressions.md#12822-the-nameof-operator)), and declaration expressions ([§12.17](expressions.md#1217-declaration-expressions)). - The definite-assignment state of *v* at the end of such an expression is the same as the definite-assignment state of *v* at the beginning of the expression. From f9f87cbbd720b7d9e0182981c0c193b100dee55c Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Mon, 15 Apr 2024 10:36:48 -0400 Subject: [PATCH 088/259] Fix grammar rule name spelling (#1081) --- standard/documentation-comments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/documentation-comments.md b/standard/documentation-comments.md index 3c02af646..125923751 100644 --- a/standard/documentation-comments.md +++ b/standard/documentation-comments.md @@ -12,7 +12,7 @@ This specification suggests a set of standard tags to be used in documentation c ## D.2 Introduction -Comments having a certain form can be used to direct a tool to produce XML from those comments and the source code elements that they precede. Such comments are *Single-Line_Comment*s ([§6.3.3](lexical-structure.md#633-comments)) that start with three slashes (`///`), or *Delimited_Comment*s ([§6.3.3](lexical-structure.md#633-comments)) that start with a slash and two asterisks (`/**`). They must immediately precede a user-defined type or a member that they annotate. Attribute sections ([§22.3](attributes.md#223-attribute-specification)) are considered part of declarations, so documentation comments must precede attributes applied to a type or member. +Comments having a certain form can be used to direct a tool to produce XML from those comments and the source code elements that they precede. Such comments are *Single_Line_Comment*s ([§6.3.3](lexical-structure.md#633-comments)) that start with three slashes (`///`), or *Delimited_Comment*s ([§6.3.3](lexical-structure.md#633-comments)) that start with a slash and two asterisks (`/**`). They must immediately precede a user-defined type or a member that they annotate. Attribute sections ([§22.3](attributes.md#223-attribute-specification)) are considered part of declarations, so documentation comments must precede attributes applied to a type or member. For expository purposes, the format of document comments is shown below as two grammar rules: *Single_Line_Doc_Comment* and *Delimited_Doc_Comment*. However, these rules are *not* part of the C\# grammar, but rather, they represent particular formats of *Single_Line_Comment* and *Delimited_Comment* lexer rules, respectively. From 93b498e73afb93f2e4e860e7a9bcf7ab6d38de32 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Mon, 15 Apr 2024 10:46:16 -0400 Subject: [PATCH 089/259] Correct the spelling and format of accessor-related term usage (#1077) * fix accessor-related term usage * fix accessor-related term usage * fix accessor-related term usage * Apply suggestions from code review Co-authored-by: Nigel-Ecma --------- Co-authored-by: Bill Wagner Co-authored-by: Nigel-Ecma --- standard/classes.md | 6 +++--- standard/expressions.md | 8 ++++---- standard/statements.md | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index c1abdaad6..9a3abbd01 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -3277,7 +3277,7 @@ A get accessor for a ref-valued property corresponds to a parameterless method w > { > field = 10; > Console.WriteLine(Property); // Prints 10 -> Property = 20; // This invokes the getter, then assigns +> Property = 20; // This invokes the get accessor, then assigns > // via the resulting variable reference > Console.WriteLine(field); // Prints 20 > } @@ -4044,9 +4044,9 @@ The *event_accessor_declarations* of an event specify the executable statements The accessor declarations consist of an *add_accessor_declaration* and a *remove_accessor_declaration*. Each accessor declaration consists of the token add or remove followed by a *block*. The *block* associated with an *add_accessor_declaration* specifies the statements to execute when an event handler is added, and the *block* associated with a *remove_accessor_declaration* specifies the statements to execute when an event handler is removed. -Each *add_accessor_declaration* and *remove_accessor_declaration* corresponds to a method with a single value parameter of the event type, and a `void` return type. The implicit parameter of an `event` accessor is named `value`. When an event is used in an event assignment, the appropriate `event` accessor is used. Specifically, if the assignment operator is `+=` then the add accessor is used, and if the assignment operator is `–=` then the remove accessor is used. In either case, the right operand of the assignment operator is used as the argument to the `event` accessor. The block of an *add_accessor_declaration* or a *remove_accessor_declaration* shall conform to the rules for `void` methods described in [§15.6.9](classes.md#1569-partial-methods). In particular, `return` statements in such a block are not permitted to specify an expression. +Each *add_accessor_declaration* and *remove_accessor_declaration* corresponds to a method with a single value parameter of the event type, and a `void` return type. The implicit parameter of an event accessor is named `value`. When an event is used in an event assignment, the appropriate event accessor is used. Specifically, if the assignment operator is `+=` then the add accessor is used, and if the assignment operator is `–=` then the remove accessor is used. In either case, the right operand of the assignment operator is used as the argument to the event accessor. The block of an *add_accessor_declaration* or a *remove_accessor_declaration* shall conform to the rules for `void` methods described in [§15.6.9](classes.md#1569-partial-methods). In particular, `return` statements in such a block are not permitted to specify an expression. -Since an `event` accessor implicitly has a parameter named `value`, it is a compile-time error for a local variable or constant declared in an `event` accessor to have that name. +Since an event accessor implicitly has a parameter named `value`, it is a compile-time error for a local variable or constant declared in an event accessor to have that name. > *Example*: In the following code > diff --git a/standard/expressions.md b/standard/expressions.md index 4267ece2a..3f2fa299d 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -27,7 +27,7 @@ For expressions which occur as subexpressions of larger expressions, with the no - An event access. Every event access has an associated type, namely the type of the event. Furthermore, an event access may have an associated instance expression. An event access may appear as the left operand of the `+=` and `-=` operators ([§12.21.5](expressions.md#12215-event-assignment)). In any other context, an expression classified as an event access causes a compile-time error. When an accessor of an instance event access is invoked, the result of evaluating the instance expression becomes the instance represented by `this` ([§12.8.13](expressions.md#12813-this-access)). - A throw expression, which may be used is several contexts to throw an exception in an expression. A throw expression may be converted by an implicit conversion to any type. -A property access or indexer access is always reclassified as a value by performing an invocation of the *get_accessor* or the *set_accessor*. The particular accessor is determined by the context of the property or indexer access: If the access is the target of an assignment, the *set_accessor* is invoked to assign a new value ([§12.21.2](expressions.md#12212-simple-assignment)). Otherwise, the *get_accessor* is invoked to obtain the current value ([§12.2.2](expressions.md#1222-values-of-expressions)). +A property access or indexer access is always reclassified as a value by performing an invocation of the get accessor or the set accessor. The particular accessor is determined by the context of the property or indexer access: If the access is the target of an assignment, the set accessor is invoked to assign a new value ([§12.21.2](expressions.md#12212-simple-assignment)). Otherwise, the get accessor is invoked to obtain the current value ([§12.2.2](expressions.md#1222-values-of-expressions)). An ***instance accessor*** is a property access on an instance, an event access on an instance, or an indexer access. @@ -36,8 +36,8 @@ An ***instance accessor*** is a property access on an instance, an event access Most of the constructs that involve an expression ultimately require the expression to denote a ***value***. In such cases, if the actual expression denotes a namespace, a type, a method group, or nothing, a compile-time error occurs. However, if the expression denotes a property access, an indexer access, or a variable, the value of the property, indexer, or variable is implicitly substituted: - The value of a variable is simply the value currently stored in the storage location identified by the variable. A variable shall be considered definitely assigned ([§9.4](variables.md#94-definite-assignment)) before its value can be obtained, or otherwise a compile-time error occurs. -- The value of a property access expression is obtained by invoking the *get_accessor* of the property. If the property has no *get_accessor*, a compile-time error occurs. Otherwise, a function member invocation ([§12.6.6](expressions.md#1266-function-member-invocation)) is performed, and the result of the invocation becomes the value of the property access expression. -- The value of an indexer access expression is obtained by invoking the *get_accessor* of the indexer. If the indexer has no *get_accessor*, a compile-time error occurs. Otherwise, a function member invocation ([§12.6.6](expressions.md#1266-function-member-invocation)) is performed with the argument list associated with the indexer access expression, and the result of the invocation becomes the value of the indexer access expression. +- The value of a property access expression is obtained by invoking the get accessor of the property. If the property has no get accessor, a compile-time error occurs. Otherwise, a function member invocation ([§12.6.6](expressions.md#1266-function-member-invocation)) is performed, and the result of the invocation becomes the value of the property access expression. +- The value of an indexer access expression is obtained by invoking the get accessor of the indexer. If the indexer has no get accessor, a compile-time error occurs. Otherwise, a function member invocation ([§12.6.6](expressions.md#1266-function-member-invocation)) is performed with the argument list associated with the indexer access expression, and the result of the invocation becomes the value of the indexer access expression. - The value of a tuple expression is obtained by applying an implicit tuple conversion ([§10.2.13](conversions.md#10213-implicit-tuple-conversions)) to the type of the tuple expression. It is an error to obtain the value of a tuple expression that does not have a type. ## 12.3 Static and Dynamic Binding @@ -2113,7 +2113,7 @@ The binding-time processing of an indexer access of the form `P[A]`, where `P` i - The best indexer of the set of candidate indexers is identified using the overload resolution rules of [§12.6.4](expressions.md#1264-overload-resolution). If a single best indexer cannot be identified, the indexer access is ambiguous, and a binding-time error occurs. - The index expressions of the *argument_list* are evaluated in order, from left to right. The result of processing the indexer access is an expression classified as an indexer access. The indexer access expression references the indexer determined in the step above, and has an associated instance expression of `P` and an associated argument list of `A`, and an associated type that is the type of the indexer. If `T` is a class type, the associated type is picked from the first declaration or override of the indexer found when starting with `T` and searching through its base classes. -Depending on the context in which it is used, an indexer access causes invocation of either the *get_accessor* or the *set_accessor* of the indexer. If the indexer access is the target of an assignment, the *set_accessor* is invoked to assign a new value ([§12.21.2](expressions.md#12212-simple-assignment)). In all other cases, the *get_accessor* is invoked to obtain the current value ([§12.2.2](expressions.md#1222-values-of-expressions)). +Depending on the context in which it is used, an indexer access causes invocation of either the get accessor or the set accessor of the indexer. If the indexer access is the target of an assignment, the set accessor is invoked to assign a new value ([§12.21.2](expressions.md#12212-simple-assignment)). In all other cases, the get accessor is invoked to obtain the current value ([§12.2.2](expressions.md#1222-values-of-expressions)). ### 12.8.12 Null Conditional Element Access diff --git a/standard/statements.md b/standard/statements.md index d639c4a8d..806711e0c 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -1512,7 +1512,7 @@ It is a compile-time error to use a return-by-ref if *expression* is not a *vari It is a compile-time error to use a return-by-ref from a method declared with the *method_modifier* `async`. -A function member is said to ***compute a value*** if it is a method with a returns-by-value method ([§15.6.11](classes.md#15611-method-body)), a returns-by-value `get` accessor of a property or indexer, or a user-defined operator. Function members that are returns-no-value do not compute a value and are methods with the effective return type `void`, `set` accessors of properties and indexers, `add` and `remove` accessors of event, instance constructors, static constructors and finalizers. Function members that are returns-by-ref do not compute a value. +A function member is said to ***compute a value*** if it is a method with a returns-by-value method ([§15.6.11](classes.md#15611-method-body)), a returns-by-value get accessor of a property or indexer, or a user-defined operator. Function members that are returns-no-value do not compute a value and are methods with the effective return type `void`, set accessors of properties and indexers, add and remove accessors of events, instance constructors, static constructors and finalizers. Function members that are returns-by-ref do not compute a value. For a return-by-value, an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) shall exist from the type of *expression* to the effective return type ([§15.6.11](classes.md#15611-method-body)) of the containing function member. For a return-by-ref, an identity conversion ([§10.2.2](conversions.md#1022-identity-conversion)) shall exist between the type of *expression* and the effective return type of the containing function member. From 9d58b81b1e49f31cb0bc4398d7fee56b8cbac4b5 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Mon, 15 Apr 2024 11:10:46 -0400 Subject: [PATCH 090/259] Correct README.md (#1082) * Correct README.md * Update README.md Co-authored-by: Bill Wagner * Update README.md Co-authored-by: Bill Wagner --------- Co-authored-by: Bill Wagner --- README.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 7eb446622..90f733468 100644 --- a/README.md +++ b/README.md @@ -9,25 +9,25 @@ This project has adopted the code of conduct defined by the Contributor Covenant ## C# Language Specification -### C# 9.0 draft +### C# 9 draft -The branch `draft-v9` has Draft PRs and Issues for C# 9.0. +The branch `draft-v9` has Draft PRs and Issues for C# 9. -### C# 8.0 draft +### C# 8 draft -The branch `draft-v8` has the evolving draft text for C# 8.0. +The branch `draft-v8` has the evolving draft text for C# 8. -### C# 7.0 draft +### C# 7 standard -The branch `standard-v7` has the text for C# 7.0. It has been submitted for consideration as a formal standard to ECMA. +The branch `standard-v7` has the ECMA C# 7 standard text, in Markdown format. For the official standard, see the [ECMA site](https://www.ecma-international.org/publications-and-standards/standards/ecma-334/). -### C# 6.0 standard +### C# 6 standard -The branch `standard-v6` has the ECMA C# 6.0 standard text, in Markdown format. For the official standard, see the [ECMA site](https://www.ecma-international.org/publications-and-standards/standards/ecma-334/). +The branch `standard-v6` has the ECMA C# 6 standard text, in Markdown format. For the official standard, see the [ECMA site](https://www.ecma-international.org/publications-and-standards/standards/ecma-334/). -### C# 5.0 standard +### C# 5 standard -The branch `standard-v5` has the ECMA C# 5.0 standard text, converted to Markdown. For the official standard, see the [ECMA site](https://www.ecma-international.org/publications-and-standards/standards/ecma-334/). +The branch `standard-v5` has the ECMA C# 5 standard text, converted to Markdown. For the official standard, see the [ECMA site](https://www.ecma-international.org/publications-and-standards/standards/ecma-334/). This version is stored in this branch as a base markdown version to compare with future updated standard texts. @@ -39,15 +39,15 @@ This version is stored in this branch as a base markdown version to compare with There are HTML comments (``) within the standard for the sake of tooling. Some help in the process of converting the standard to Word, and others are for automated testing purposes. -Some automated test comments refer to error codes that are specific to the Microsoft C# compiler (e.g. "CS0509") to test that compilation fails as expected, where an example presents deliberately-invalid code. These error codes are not part of the standard, and should not be viewed as any kind of compliance check for other compilers. +Some automated test comments refer to error codes that are specific to the Microsoft C# compiler (e.g., "CS0509") to test that compilation fails as expected, where an example presents deliberately-invalid code. These error codes are not part of the standard, and should not be viewed as any kind of compliance check for other compilers. More broadly, *no* comments should be regarded as being part of the standard itself. ## Admin folder -A home for adminstrative files (such as [eventually] meeting agendas and minutes). +A home for administrative files. -For now, it contains separate logs for past (v6, v7), present (v8), and future (v9) work going on to add new features. +For now, it contains separate logs for past (V6, V7), present (V8), and future (V9) work going on to add new features. ## Tools folder From 50129d1efb18ca40cfcc61be25867111d45e45d9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Apr 2024 18:19:36 -0400 Subject: [PATCH 091/259] Bump the dotnet group in /tools with 5 updates (#1083) * Bump the dotnet group in /tools with 5 updates Bumps the dotnet group in /tools with 5 updates: | Package | From | To | | --- | --- | --- | | [Microsoft.Build.Locator](https://github.com/microsoft/MSBuildLocator) | `1.7.1` | `1.7.8` | | [Microsoft.CodeAnalysis.CSharp.Workspaces](https://github.com/dotnet/roslyn) | `4.8.0` | `4.9.2` | | [System.Text.Json](https://github.com/dotnet/runtime) | `8.0.1` | `8.0.3` | | [xunit](https://github.com/xunit/xunit) | `2.6.6` | `2.7.1` | | [xunit.runner.visualstudio](https://github.com/xunit/visualstudio.xunit) | `2.5.7` | `2.5.8` | Updates `Microsoft.Build.Locator` from 1.7.1 to 1.7.8 - [Release notes](https://github.com/microsoft/MSBuildLocator/releases) - [Commits](https://github.com/microsoft/MSBuildLocator/compare/v1.7.1...v1.7.8) Updates `Microsoft.CodeAnalysis.CSharp.Workspaces` from 4.8.0 to 4.9.2 - [Release notes](https://github.com/dotnet/roslyn/releases) - [Changelog](https://github.com/dotnet/roslyn/blob/main/docs/Breaking%20API%20Changes.md) - [Commits](https://github.com/dotnet/roslyn/commits) Updates `System.Text.Json` from 8.0.1 to 8.0.3 - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](https://github.com/dotnet/runtime/compare/v8.0.1...v8.0.3) Updates `xunit` from 2.6.6 to 2.7.1 - [Commits](https://github.com/xunit/xunit/compare/2.6.6...2.7.1) Updates `xunit.runner.visualstudio` from 2.5.7 to 2.5.8 - [Release notes](https://github.com/xunit/visualstudio.xunit/releases) - [Commits](https://github.com/xunit/visualstudio.xunit/compare/2.5.7...2.5.8) --- updated-dependencies: - dependency-name: Microsoft.Build.Locator dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.CodeAnalysis.CSharp.Workspaces dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: System.Text.Json dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: xunit dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: xunit.runner.visualstudio dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] * Apply suggestions from code review --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Bill Wagner --- tools/ExampleTester/ExampleTester.csproj | 6 +++--- .../MarkdownConverter.Tests/MarkdownConverter.Tests.csproj | 4 ++-- tools/Utilities/Utilities.csproj | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/ExampleTester/ExampleTester.csproj b/tools/ExampleTester/ExampleTester.csproj index 675d8c16b..a4fe65e67 100644 --- a/tools/ExampleTester/ExampleTester.csproj +++ b/tools/ExampleTester/ExampleTester.csproj @@ -8,9 +8,9 @@ - - - + + + diff --git a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj index 0a310b05f..086036e29 100644 --- a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj +++ b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj @@ -15,8 +15,8 @@ - - + + runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/tools/Utilities/Utilities.csproj b/tools/Utilities/Utilities.csproj index d624fa023..167796798 100644 --- a/tools/Utilities/Utilities.csproj +++ b/tools/Utilities/Utilities.csproj @@ -7,7 +7,7 @@ - +
From 0d708b8bcac77eafc4328d5145c488741d6ceb54 Mon Sep 17 00:00:00 2001 From: Justine Krejcha Date: Mon, 22 Apr 2024 13:49:36 -0700 Subject: [PATCH 092/259] [v8] Annex B: add 'mechanism by which linkage to an external method is achieved' to the list of implementation defined behaviors (#1084) * Annex B: add 'mechanism by which linkage to an external method is achieved' to the list of implementation defined behaviors * Annex B: fix order of items on implementation defined behavior list --- standard/portability-issues.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/standard/portability-issues.md b/standard/portability-issues.md index 7e846a428..44a630cd1 100644 --- a/standard/portability-issues.md +++ b/standard/portability-issues.md @@ -29,9 +29,11 @@ A conforming implementation is required to document its choice of behavior in ea 1. The interpretation of the *input_characters* in the *pp_pragma-text* of a #pragma directive ([§6.5.9](lexical-structure.md#659-pragma-directives)). 1. The values of any application parameters passed to `Main` by the host environment prior to application startup ([§7.1](basic-concepts.md#71-application-startup)). 1. The precise structure of the expression tree, as well as the exact process for creating it, when an anonymous function is converted to an expression-tree ([§10.7.3](conversions.md#1073-evaluation-of-lambda-expression-conversions-to-expression-tree-types)). +1. The value returned when a stack allocation of size zero is made ([§12.8.21](expressions.md#12821-stack-allocation)). 1. Whether a `System.ArithmeticException` (or a subclass thereof) is thrown or the overflow goes unreported with the resulting value being that of the left operand, when in an `unchecked` context and the left operand of an integer division is the maximum negative `int` or `long` value and the right operand is `–1` ([§12.10.3](expressions.md#12103-division-operator)). 1. When a `System.ArithmeticException` (or a subclass thereof) is thrown when performing a decimal remainder operation ([§12.10.4](expressions.md#12104-remainder-operator)). 1. The impact of thread termination when a thread has no handler for an exception, and the thread is itself terminated ([§13.10.6](statements.md#13106-the-throw-statement)). +1. The mechanism by which linkage to an external method is achieved ([§15.6.8](classes.md#1568-external-methods)). 1. The impact of thread termination when no matching `catch` clause is found for an exception and the code that initially started that thread is reached. ([§21.4](exceptions.md#214-how-exceptions-are-handled)). 1. The mappings between pointers and integers ([§23.5.1](unsafe-code.md#2351-general)). 1. The effect of applying the unary `*` operator to a `null` pointer ([§23.6.2](unsafe-code.md#2362-pointer-indirection)). @@ -39,7 +41,6 @@ A conforming implementation is required to document its choice of behavior in ea 1. The result of the `sizeof` operator for non-pre-defined value types ([§23.6.9](unsafe-code.md#2369-the-sizeof-operator)). 1. The behavior of the `fixed` statement if the array expression is `null` or if the array has zero elements ([§23.7](unsafe-code.md#237-the-fixed-statement)). 1. The behavior of the `fixed` statement if the string expression is `null` ([§23.7](unsafe-code.md#237-the-fixed-statement)). -1. The value returned when a stack allocation of size zero is made ([§12.8.21](expressions.md#12821-stack-allocation)). ## B.4 Unspecified behavior From ac78501ca9cea7cf75ff9785bc112d1fd40aae05 Mon Sep 17 00:00:00 2001 From: ASidiq_pH1 <38431581+ASidiq@users.noreply.github.com> Date: Sun, 28 Apr 2024 20:05:45 +0100 Subject: [PATCH 093/259] Removed duplicated text Removed duplicated text --- standard/delegates.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/standard/delegates.md b/standard/delegates.md index d374a88e7..694569c8a 100644 --- a/standard/delegates.md +++ b/standard/delegates.md @@ -249,8 +249,6 @@ Delegates are combined using the binary `+` ([§12.10.5](expressions.md#12105-a > > When `cd1` and `cd2` are instantiated, they each encapsulate one method. When `cd3` is instantiated, it has an invocation list of two methods, `M1` and `M2`, in that order. `cd4`’s invocation list contains `M1`, `M2`, and `M1`, in that order. For `cd5`, the invocation list contains `M1`, `M2`, `M1`, `M1`, and `M2`, in that order. > -> When `cd1` and `cd2` are instantiated, they each encapsulate one method. When `cd3` is instantiated, it has an invocation list of two methods, `M1` and `M2`, in that order. `cd4`s invocation list contains `M1`, `M2`, and `M1`, in that order. For `cd5` the invocation list contains `M1`, `M2`, `M1`, `M1`, and `M2`, in that order. -> > When creating a delegate from another delegate with a *delegate_creation_expression* the result has an invocation list with a different structure from the original, but which results in the same methods being invoked in the same order. When `td3` is created from `cd3` its invocation list has just one member, but that member is a list of the methods `M1` and `M2` and those methods are invoked by `td3` in the same order as they are invoked by `cd3`. Similarly when `td4` is instantiated its invocation list has just two entries but it invokes the three methods `M1`, `M2`, and `M1`, in that order just as `cd4` does. > > The structure of the invocation list affects delegate subtraction. Delegate `cd6`, created by subtracting `cd2` (which invokes `M2`) from `cd4` (which invokes `M1`, `M2`, and `M1`) invokes `M1` and `M1`. However delegate `td6`, created by subtracting `cd2` (which invokes `M2`) from `td4` (which invokes `M1`, `M2`, and `M1`) still invokes `M1`, `M2` and `M1`, in that order, as `M2` is not a single entry in the list but a member of a nested list. From bae08bc26d0abbd15219de40d09a0e02a86d1517 Mon Sep 17 00:00:00 2001 From: Eric Mutta Date: Mon, 29 Apr 2024 16:52:09 +0300 Subject: [PATCH 094/259] Fix typo in structs.md (#1095) The sentence: > These types **are are** called... Should read: > These types **are** called... --- standard/structs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/structs.md b/standard/structs.md index db58fcb07..476da5fae 100644 --- a/standard/structs.md +++ b/standard/structs.md @@ -64,7 +64,7 @@ When an instance of a readonly struct is passed to a method, its `this` is treat ### 16.2.3 Ref modifier -The `ref` modifier indicates that the *struct_declaration* declares a type whose instances are allocated on the execution stack. These types are are called ***ref struct*** types. The `ref` modifier declares that instances may contain ref-like fields, and shall not be copied out of its safe-context ([§16.4.12](structs.md#16412-safe-context-constraint)). The rules for determining the safe context of a ref struct are described in [§16.4.12](structs.md#16412-safe-context-constraint). +The `ref` modifier indicates that the *struct_declaration* declares a type whose instances are allocated on the execution stack. These types are called ***ref struct*** types. The `ref` modifier declares that instances may contain ref-like fields, and shall not be copied out of its safe-context ([§16.4.12](structs.md#16412-safe-context-constraint)). The rules for determining the safe context of a ref struct are described in [§16.4.12](structs.md#16412-safe-context-constraint). It is a compile-time error if a ref struct type is used in any of the following contexts: From a27664d486e0b7a154d15229aa45e9b4ded926bb Mon Sep 17 00:00:00 2001 From: Piotr Fusik Date: Tue, 30 Apr 2024 09:00:15 +0200 Subject: [PATCH 095/259] Format the `as` operator in monospace --- standard/expressions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index 3f2fa299d..210600d27 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -4450,13 +4450,13 @@ In an operation of the form `E as T`, `E` shall be an expression and `T` shall - The type of `E` or `T` is an open type. - `E` is the `null` literal. -If the compile-time type of `E` is not `dynamic`, the operation `E` as `T` produces the same result as +If the compile-time type of `E` is not `dynamic`, the operation `E as T` produces the same result as ```csharp E is T ? (T)(E) : (T)null ``` -except that `E` is only evaluated once. The compiler can be expected to optimize `E` as `T` to perform at most one runtime type check as opposed to the two runtime type checks implied by the expansion above. +except that `E` is only evaluated once. The compiler can be expected to optimize `E as T` to perform at most one runtime type check as opposed to the two runtime type checks implied by the expansion above. If the compile-time type of `E` is `dynamic`, unlike the cast operator the `as` operator is not dynamically bound ([§12.3.3](expressions.md#1233-dynamic-binding)). Therefore the expansion in this case is: From 5633a08b03523824bcd8c8bade01351d6f3bcabb Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Tue, 30 Apr 2024 12:36:07 -0400 Subject: [PATCH 096/259] Change to secretless authentication (#1098) See dotnet/docs-tools#335 for details. --- .github/workflows/quest-bulk.yml | 16 +++++++++++++++- .github/workflows/quest.yml | 18 ++++++++++++++++-- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/.github/workflows/quest-bulk.yml b/.github/workflows/quest-bulk.yml index 3ec074a93..fb749aadf 100644 --- a/.github/workflows/quest-bulk.yml +++ b/.github/workflows/quest-bulk.yml @@ -15,6 +15,7 @@ jobs: permissions: issues: write pull-requests: write + id-token: write if: ${{ github.repository_owner == 'dotnet' }} steps: @@ -23,12 +24,25 @@ jobs: run: | echo "Reason: ${{ github.event.inputs.reason }}" + - name: Azure OpenID Connect + uses: azure/login@v2 + with: + client-id: ${{ secrets.CLIENT_ID }} + tenant-id: ${{ secrets.TENANT_ID }} + audience: ${{ secrets.OSMP_API_AUDIENCE }} + allow-no-subscriptions: true + + - name: OSMP API access + run: | + TOKEN=$(az account get-access-token --query 'accessToken' -o tsv --resource ${{ secrets.OSMP_API_AUDIENCE }}) + echo "AZURE_ACCESS_TOKEN=$TOKEN" >> $GITHUB_ENV + - name: bulk-sequester id: bulk-sequester uses: dotnet/docs-tools/actions/sequester@main env: ImportOptions__ApiKeys__GitHubToken: ${{ secrets.GITHUB_TOKEN }} - ImportOptions__ApiKeys__OSPOKey: ${{ secrets.OSPO_KEY }} + ImportOptions__ApiKeys__AzureAccessToken: ${{ env.AZURE_ACCESS_TOKEN }} ImportOptions__ApiKeys__QuestKey: ${{ secrets.QUEST_KEY }} ImportOptions__ApiKeys__SequesterPrivateKey: ${{ secrets.SEQUESTER_PRIVATEKEY }} ImportOptions__ApiKeys__SequesterAppID: ${{ secrets.SEQUESTER_APPID }} diff --git a/.github/workflows/quest.yml b/.github/workflows/quest.yml index 2dd1f982b..9b5c7a0ed 100644 --- a/.github/workflows/quest.yml +++ b/.github/workflows/quest.yml @@ -22,6 +22,7 @@ jobs: permissions: issues: write pull-requests: write + id-token: write steps: - name: "Print manual run reason" @@ -30,6 +31,19 @@ jobs: echo "Reason: ${{ github.event.inputs.reason }}" echo "Issue number: ${{ github.event.inputs.issue }}" + - name: Azure OpenID Connect + uses: azure/login@v2 + with: + client-id: ${{ secrets.CLIENT_ID }} + tenant-id: ${{ secrets.TENANT_ID }} + audience: ${{ secrets.OSMP_API_AUDIENCE }} + allow-no-subscriptions: true + + - name: OSMP API access + run: | + TOKEN=$(az account get-access-token --query 'accessToken' -o tsv --resource ${{ secrets.OSMP_API_AUDIENCE }}) + echo "AZURE_ACCESS_TOKEN=$TOKEN" >> $GITHUB_ENV + # This step occurs when ran manually, passing the manual issue number input - name: manual-sequester if: ${{ github.event_name == 'workflow_dispatch' }} @@ -37,7 +51,7 @@ jobs: uses: dotnet/docs-tools/actions/sequester@main env: ImportOptions__ApiKeys__GitHubToken: ${{ secrets.GITHUB_TOKEN }} - ImportOptions__ApiKeys__OSPOKey: ${{ secrets.OSPO_KEY }} + ImportOptions__ApiKeys__AzureAccessToken: ${{ env.AZURE_ACCESS_TOKEN }} ImportOptions__ApiKeys__QuestKey: ${{ secrets.QUEST_KEY }} ImportOptions__ApiKeys__SequesterPrivateKey: ${{ secrets.SEQUESTER_PRIVATEKEY }} ImportOptions__ApiKeys__SequesterAppID: ${{ secrets.SEQUESTER_APPID }} @@ -54,7 +68,7 @@ jobs: uses: dotnet/docs-tools/actions/sequester@main env: ImportOptions__ApiKeys__GitHubToken: ${{ secrets.GITHUB_TOKEN }} - ImportOptions__ApiKeys__OSPOKey: ${{ secrets.OSPO_KEY }} + ImportOptions__ApiKeys__AzureAccessToken: ${{ env.AZURE_ACCESS_TOKEN }} ImportOptions__ApiKeys__QuestKey: ${{ secrets.QUEST_KEY }} ImportOptions__ApiKeys__SequesterPrivateKey: ${{ secrets.SEQUESTER_PRIVATEKEY }} ImportOptions__ApiKeys__SequesterAppID: ${{ secrets.SEQUESTER_APPID }} From f56dccb09c79674096cbcd1f2f180da3bfbd7ed8 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Thu, 2 May 2024 09:01:52 -0400 Subject: [PATCH 097/259] consolidate System member sets (#1100) --- standard/standard-library.md | 41 ++++++++++-------------------------- 1 file changed, 11 insertions(+), 30 deletions(-) diff --git a/standard/standard-library.md b/standard/standard-library.md index 205a024bf..65d0bce3f 100644 --- a/standard/standard-library.md +++ b/standard/standard-library.md @@ -465,8 +465,18 @@ A conforming implementation may provide `Task.GetAwaiter()` and `Task.G namespace System { public class FormattableString : IFormattable { } + public readonly ref struct ReadOnlySpan + { + public int Length { get; } + public ref readonly T this[int index] { get; } + } + public readonly ref struct Span + { + public int Length { get; } + public ref T this[int index] { get; } + public static implicit operator ReadOnlySpan(Span span); + } } - namespace System.Linq.Expressions { public sealed class Expression @@ -485,71 +495,59 @@ namespace System.Runtime.CompilerServices public Type BuilderType { get; } } - [AttributeUsage(AttributeTargets.Parameter, Inherited = false)] public sealed class CallerFilePathAttribute : Attribute { public CallerFilePathAttribute() { } } - [AttributeUsage(AttributeTargets.Parameter, Inherited = false)] public sealed class CallerLineNumberAttribute : Attribute { public CallerLineNumberAttribute() { } } - [AttributeUsage(AttributeTargets.Parameter, Inherited = false)] public sealed class CallerMemberNameAttribute : Attribute { public CallerMemberNameAttribute() { } } - public static class FormattableStringFactory { public static FormattableString Create(string format, params object[] arguments); } - public interface ICriticalNotifyCompletion : INotifyCompletion { void UnsafeOnCompleted(Action continuation); } - public interface INotifyCompletion { void OnCompleted(Action continuation); } - public readonly struct TaskAwaiter : ICriticalNotifyCompletion, INotifyCompletion { public bool IsCompleted { get; } public void GetResult(); } - public readonly struct TaskAwaiter : ICriticalNotifyCompletion, INotifyCompletion { public bool IsCompleted { get; } public TResult GetResult(); } - public readonly struct ValueTaskAwaiter : ICriticalNotifyCompletion, INotifyCompletion { public bool IsCompleted { get; } public void GetResult(); } - public readonly struct ValueTaskAwaiter : ICriticalNotifyCompletion, INotifyCompletion { public bool IsCompleted { get; } public TResult GetResult(); } - } - namespace System.Threading.Tasks { public class Task @@ -573,23 +571,6 @@ namespace System.Threading.Tasks } ``` -```csharp -namespace System -{ - public readonly ref struct ReadOnlySpan - { - public int Length { get; } - public ref readonly T this[int index] { get; } - } - public readonly ref struct Span - { - public int Length { get; } - public ref T this[int index] { get; } - public static implicit operator ReadOnlySpan(Span span); - } -} -``` - ## C.4 Format Specifications The meaning of the formats, as used in interpolated string expressions ([§12.8.3](expressions.md#1283-interpolated-string-expressions)), are defined in ISO/IEC 23271:2012. For convenience the following text is copied from the description of `System.IFormattable`. From aec75735ac62b23bde421ade757bb7544d27893d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 May 2024 09:47:31 -0400 Subject: [PATCH 098/259] Bump the dotnet group in /tools with 2 updates (#1101) Bumps the dotnet group in /tools with 2 updates: [xunit](https://github.com/xunit/xunit) and [xunit.runner.visualstudio](https://github.com/xunit/visualstudio.xunit). Updates `xunit` from 2.7.1 to 2.8.0 - [Commits](https://github.com/xunit/xunit/compare/2.7.1...2.8.0) Updates `xunit.runner.visualstudio` from 2.5.8 to 2.8.0 - [Release notes](https://github.com/xunit/visualstudio.xunit/releases) - [Commits](https://github.com/xunit/visualstudio.xunit/compare/2.5.8...2.8.0) --- updated-dependencies: - dependency-name: xunit dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: xunit.runner.visualstudio dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj index 086036e29..daf5fa065 100644 --- a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj +++ b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj @@ -15,8 +15,8 @@ - - + + runtime; build; native; contentfiles; analyzers; buildtransitive all From ff77f03409375445b758f3a0085da6cee35df2f2 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 2 May 2024 10:22:10 -0400 Subject: [PATCH 099/259] Disable one lint rule in custom table. (#1102) * Disable one lint rule in custom table. These lines contain embedded HTML, so markdown lint violations aren't important. * missed one. --- standard/expressions.md | 2 ++ standard/statements.md | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/standard/expressions.md b/standard/expressions.md index 210600d27..d4502735c 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -422,6 +422,7 @@ Invocations of methods, indexers, operators, and instance constructors employ ov Once a particular function member has been identified at binding-time, possibly through overload resolution, the actual run-time process of invoking the function member is described in [§12.6.6](expressions.md#1266-function-member-invocation). + > *Note*: The following table summarizes the processing that takes place in constructs involving the six categories of function members that can be explicitly invoked. In the table, `e`, `x`, `y`, and `value` indicate expressions classified as variables or values, `T` indicates an expression classified as a type, `F` is the simple name of a method, and `P` is the simple name of a property. > > @@ -521,6 +522,7 @@ Once a particular function member has been identified at binding-time, possibly > > > *end note* + ### 12.6.2 Argument lists diff --git a/standard/statements.md b/standard/statements.md index 806711e0c..3f712a9f9 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -1307,7 +1307,7 @@ The order in which `foreach` traverses the elements of an array, is as follows: > ``` > > the type of `n` is inferred to be `int`, the iteration type of `numbers`. -> +> > *end example* ## 13.10 Jump statements From e7c264fc26a4f4fce5d54ee93ff480bedf2d9707 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 15 May 2024 16:26:37 -0400 Subject: [PATCH 100/259] enable nullable annotations (#1106) Change nullable behavior from `disable` to `annotations` --- .../code-in-class-lib-without-using/Project.csproj | 1 + tools/example-templates/code-in-class-lib/Project.csproj | 1 + .../code-in-main-without-using/Project.csproj | 2 +- tools/example-templates/code-in-main/Project.csproj | 2 +- tools/example-templates/code-in-partial-class/Project.csproj | 1 + tools/example-templates/extern-lib/ExampleProject.csproj | 1 + tools/example-templates/extern-lib/ExternN2.csproj | 1 + tools/example-templates/extern-lib/ExternR1.csproj | 1 + tools/example-templates/extern-lib/ExternX.csproj | 1 + tools/example-templates/extern-lib/ExternY.csproj | 1 + .../standalone-console-without-using/Project.csproj | 3 ++- tools/example-templates/standalone-console/Project.csproj | 1 + .../standalone-lib-without-using/Project.csproj | 1 + tools/example-templates/standalone-lib/Project.csproj | 1 + 14 files changed, 15 insertions(+), 3 deletions(-) diff --git a/tools/example-templates/code-in-class-lib-without-using/Project.csproj b/tools/example-templates/code-in-class-lib-without-using/Project.csproj index 65e093b49..19e60edae 100644 --- a/tools/example-templates/code-in-class-lib-without-using/Project.csproj +++ b/tools/example-templates/code-in-class-lib-without-using/Project.csproj @@ -5,6 +5,7 @@ enable $example-name true + annotations
diff --git a/tools/example-templates/code-in-class-lib/Project.csproj b/tools/example-templates/code-in-class-lib/Project.csproj index 65e093b49..19e60edae 100644 --- a/tools/example-templates/code-in-class-lib/Project.csproj +++ b/tools/example-templates/code-in-class-lib/Project.csproj @@ -5,6 +5,7 @@ enable $example-name true + annotations diff --git a/tools/example-templates/code-in-main-without-using/Project.csproj b/tools/example-templates/code-in-main-without-using/Project.csproj index e774e1230..b6e934c80 100644 --- a/tools/example-templates/code-in-main-without-using/Project.csproj +++ b/tools/example-templates/code-in-main-without-using/Project.csproj @@ -4,7 +4,7 @@ Exe net6.0 enable - disable + annotations $example-name true diff --git a/tools/example-templates/code-in-main/Project.csproj b/tools/example-templates/code-in-main/Project.csproj index e774e1230..b6e934c80 100644 --- a/tools/example-templates/code-in-main/Project.csproj +++ b/tools/example-templates/code-in-main/Project.csproj @@ -4,7 +4,7 @@ Exe net6.0 enable - disable + annotations $example-name true diff --git a/tools/example-templates/code-in-partial-class/Project.csproj b/tools/example-templates/code-in-partial-class/Project.csproj index 0cf6d76a8..f329dbdd9 100644 --- a/tools/example-templates/code-in-partial-class/Project.csproj +++ b/tools/example-templates/code-in-partial-class/Project.csproj @@ -6,6 +6,7 @@ enable $example-name true + annotations diff --git a/tools/example-templates/extern-lib/ExampleProject.csproj b/tools/example-templates/extern-lib/ExampleProject.csproj index 0dc90edad..cc9bba375 100644 --- a/tools/example-templates/extern-lib/ExampleProject.csproj +++ b/tools/example-templates/extern-lib/ExampleProject.csproj @@ -4,6 +4,7 @@ net6.0 false CS0169 + annotations diff --git a/tools/example-templates/extern-lib/ExternN2.csproj b/tools/example-templates/extern-lib/ExternN2.csproj index 61731db09..c310d27de 100644 --- a/tools/example-templates/extern-lib/ExternN2.csproj +++ b/tools/example-templates/extern-lib/ExternN2.csproj @@ -3,6 +3,7 @@ net6.0 false + annotations diff --git a/tools/example-templates/extern-lib/ExternR1.csproj b/tools/example-templates/extern-lib/ExternR1.csproj index 3a19d71a2..40ef94d27 100644 --- a/tools/example-templates/extern-lib/ExternR1.csproj +++ b/tools/example-templates/extern-lib/ExternR1.csproj @@ -3,6 +3,7 @@ net6.0 false + annotations diff --git a/tools/example-templates/extern-lib/ExternX.csproj b/tools/example-templates/extern-lib/ExternX.csproj index 04b4e61e6..296993cc6 100644 --- a/tools/example-templates/extern-lib/ExternX.csproj +++ b/tools/example-templates/extern-lib/ExternX.csproj @@ -3,6 +3,7 @@ net6.0 false + annotations diff --git a/tools/example-templates/extern-lib/ExternY.csproj b/tools/example-templates/extern-lib/ExternY.csproj index de0c8d76e..e7ea5519d 100644 --- a/tools/example-templates/extern-lib/ExternY.csproj +++ b/tools/example-templates/extern-lib/ExternY.csproj @@ -3,6 +3,7 @@ net6.0 false + annotations diff --git a/tools/example-templates/standalone-console-without-using/Project.csproj b/tools/example-templates/standalone-console-without-using/Project.csproj index e774e1230..c108eadd6 100644 --- a/tools/example-templates/standalone-console-without-using/Project.csproj +++ b/tools/example-templates/standalone-console-without-using/Project.csproj @@ -7,6 +7,7 @@ disable $example-name true - + annotations + diff --git a/tools/example-templates/standalone-console/Project.csproj b/tools/example-templates/standalone-console/Project.csproj index e774e1230..281bd3de6 100644 --- a/tools/example-templates/standalone-console/Project.csproj +++ b/tools/example-templates/standalone-console/Project.csproj @@ -7,6 +7,7 @@ disable $example-name true + annotations diff --git a/tools/example-templates/standalone-lib-without-using/Project.csproj b/tools/example-templates/standalone-lib-without-using/Project.csproj index 65e093b49..19e60edae 100644 --- a/tools/example-templates/standalone-lib-without-using/Project.csproj +++ b/tools/example-templates/standalone-lib-without-using/Project.csproj @@ -5,6 +5,7 @@ enable $example-name true + annotations diff --git a/tools/example-templates/standalone-lib/Project.csproj b/tools/example-templates/standalone-lib/Project.csproj index 65e093b49..19e60edae 100644 --- a/tools/example-templates/standalone-lib/Project.csproj +++ b/tools/example-templates/standalone-lib/Project.csproj @@ -5,6 +5,7 @@ enable $example-name true + annotations From 8c5e008e2fd6057e1bbe802a99f6ce93e5c29f64 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Thu, 16 May 2024 19:12:46 +0100 Subject: [PATCH 101/259] Fix explicit interface example (#1112) Fixes #1087. --- standard/interfaces.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/interfaces.md b/standard/interfaces.md index db915b6c3..217968039 100644 --- a/standard/interfaces.md +++ b/standard/interfaces.md @@ -627,7 +627,7 @@ For purposes of implementing interfaces, a class or struct may declare ***explic > > class List : IList, IDictionary > { -> T[] IList. GetElements() {...} +> public T[] GetElements() {...} > T IDictionary.this[int index] {...} > void IDictionary.Add(int index, T value) {...} > } From 53421d55974451ccfc776bae013d3a782384ab49 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Fri, 24 May 2024 10:23:40 -0400 Subject: [PATCH 102/259] allow long-form Unicode escape sequence (#1114) --- standard/lexical-structure.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index 621071779..7798388a1 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -441,8 +441,9 @@ fragment Identifier_Start_Character ; fragment Underscore_Character - : '_' // underscore - | '\\u005' [fF] // Unicode_Escape_Sequence for underscore + : '_' // underscore + | '\\u005' [fF] // Unicode_Escape_Sequence for underscore + | '\\U0000005' [fF] // Unicode_Escape_Sequence for underscore ; fragment Identifier_Part_Character From 2ae7d3b2e799935887f30f60fdb62a0dd4ae9f5c Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Sat, 25 May 2024 07:25:59 +1200 Subject: [PATCH 103/259] Fix #1109 (#1110) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #1109 §12.8.14 Base access was not updated when expression bodies were introduced and still referred to *block* rather than body (which is now a block or expression). --- standard/expressions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/expressions.md b/standard/expressions.md index d4502735c..e87ddcc3d 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -2218,7 +2218,7 @@ base_access ; ``` -A *base_access* is used to access base class members that are hidden by similarly named members in the current class or struct. A *base_access* is permitted only in the *block* of an instance constructor, an instance method, an instance accessor ([§12.2.1](expressions.md#1221-general)), or a finalizer. When `base.I` occurs in a class or struct, I shall denote a member of the base class of that class or struct. Likewise, when `base[E]` occurs in a class, an applicable indexer shall exist in the base class. +A *base_access* is used to access base class members that are hidden by similarly named members in the current class or struct. A *base_access* is permitted only in the body of an instance constructor, an instance method, an instance accessor ([§12.2.1](expressions.md#1221-general)), or a finalizer. When `base.I` occurs in a class or struct, I shall denote a member of the base class of that class or struct. Likewise, when `base[E]` occurs in a class, an applicable indexer shall exist in the base class. At binding-time, *base_access* expressions of the form `base.I` and `base[E]` are evaluated exactly as if they were written `((B)this).I` and `((B)this)[E]`, where `B` is the base class of the class or struct in which the construct occurs. Thus, `base.I` and `base[E]` correspond to `this.I` and `this[E]`, except `this` is viewed as an instance of the base class. From 13b80098428917c02968f470f90f85798130de4d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 24 May 2024 15:42:32 -0400 Subject: [PATCH 104/259] Bump Microsoft.NET.Test.Sdk in /tools in the dotnet group (#1116) Bumps the dotnet group in /tools with 1 update: [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest). Updates `Microsoft.NET.Test.Sdk` from 17.9.0 to 17.10.0 - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](https://github.com/microsoft/vstest/compare/v17.9.0...v17.10.0) --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj index daf5fa065..d7fd173cf 100644 --- a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj +++ b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj @@ -13,7 +13,7 @@ - + From d67b599f315379844dcdbf24ea3ff9b072692e9a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 24 May 2024 16:18:13 -0400 Subject: [PATCH 105/259] [create-pull-request] automated change (#1117) Co-authored-by: BillWagner --- standard/grammar.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/standard/grammar.md b/standard/grammar.md index 3f617bede..fc51a57a5 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -138,8 +138,9 @@ fragment Identifier_Start_Character ; fragment Underscore_Character - : '_' // underscore - | '\\u005' [fF] // Unicode_Escape_Sequence for underscore + : '_' // underscore + | '\\u005' [fF] // Unicode_Escape_Sequence for underscore + | '\\U0000005' [fF] // Unicode_Escape_Sequence for underscore ; fragment Identifier_Part_Character From 1ba5991f066893c41486ceda0b2c30f362d881c2 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Tue, 28 May 2024 09:51:43 -0400 Subject: [PATCH 106/259] Minor editorial tweaks to the Attributes chapter (#1119) * Add new attribute support to Example * Add previous section reference --- standard/attributes.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/standard/attributes.md b/standard/attributes.md index e0be00e25..a0bbf6b40 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -474,7 +474,7 @@ The compilation of an *attribute* with attribute class `T`, *positional_argumen ### 22.4.3 Run-time retrieval of an attribute instance -The attribute instance represented by `T`, `C`, `P`, and `N`, and associated with `E` can be retrieved at run-time from the assembly `A` using the following steps: +Using the terms defined in [§22.4.2](attributes.md#2242-compilation-of-an-attribute), the attribute instance represented by `T`, `C`, `P`, and `N`, and associated with `E` can be retrieved at run-time from the assembly `A` using the following steps: - Follow the run-time processing steps for executing an *object_creation_expression* of the form `new T(P)`, using the instance constructor `C` and values as determined at compile-time. These steps either result in an exception, or produce an instance `O` of `T`. - For each *named_argument* `Arg` in `N`, in order: @@ -490,7 +490,8 @@ The attribute instance represented by `T`, `C`, `P`, and `N`, and associated wi > *Example*: In an implementation of the CLI, the `Help` attribute instances in the assembly created by compiling the example program in [§22.2.3](attributes.md#2223-positional-and-named-parameters) can be retrieved with the following program: > -> +> +> > ```csharp > public sealed class InterrogateHelpUrls > { From 3f1258023cade44fc5fbbf3353518022d2ee14f7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 30 May 2024 10:28:10 -0400 Subject: [PATCH 107/259] Bump the dotnet group in /tools with 2 updates (#1122) Bumps the dotnet group in /tools with 2 updates: [xunit](https://github.com/xunit/xunit) and [xunit.runner.visualstudio](https://github.com/xunit/visualstudio.xunit). Updates `xunit` from 2.8.0 to 2.8.1 - [Commits](https://github.com/xunit/xunit/compare/2.8.0...2.8.1) Updates `xunit.runner.visualstudio` from 2.8.0 to 2.8.1 - [Release notes](https://github.com/xunit/visualstudio.xunit/releases) - [Commits](https://github.com/xunit/visualstudio.xunit/compare/2.8.0...2.8.1) --- updated-dependencies: - dependency-name: xunit dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: xunit.runner.visualstudio dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj index d7fd173cf..fb63a0a06 100644 --- a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj +++ b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj @@ -15,8 +15,8 @@ - - + + runtime; build; native; contentfiles; analyzers; buildtransitive all From cc98ec7896ff51a2a18d1c6fb11a76e720f00510 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Thu, 6 Jun 2024 16:59:01 -0400 Subject: [PATCH 108/259] replace with correct grammar rule (#1126) --- standard/interfaces.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/standard/interfaces.md b/standard/interfaces.md index 217968039..7feb06744 100644 --- a/standard/interfaces.md +++ b/standard/interfaces.md @@ -22,9 +22,9 @@ interface_declaration An *interface_declaration* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)), followed by an optional set of *interface_modifier*s ([§18.2.2](interfaces.md#1822-interface-modifiers)), followed by an optional partial modifier ([§15.2.7](classes.md#1527-partial-declarations)), followed by the keyword `interface` and an *identifier* that names the interface, followed by an optional *variant_type_parameter_list* specification ([§18.2.3](interfaces.md#1823-variant-type-parameter-lists)), followed by an optional *interface_base* specification ([§18.2.4](interfaces.md#1824-base-interfaces)), followed by an optional *type_parameter_constraints_clause*s specification ([§15.2.5](classes.md#1525-type-parameter-constraints)), followed by an *interface_body* ([§18.3](interfaces.md#183-interface-body)), optionally followed by a semicolon. -An interface declaration shall not supply a *type_parameter_constraints_clause*s unless it also supplies a *type_parameter_list*. +An interface declaration shall not supply a *type_parameter_constraints_clause*s unless it also supplies a *variant_type_parameter_list*. -An interface declaration that supplies a *type_parameter_list* is a generic interface declaration. Additionally, any interface nested inside a generic class declaration or a generic struct declaration is itself a generic interface declaration, since type arguments for the containing type shall be supplied to create a constructed type ([§8.4](types.md#84-constructed-types)). +An interface declaration that supplies a *variant_type_parameter_list* is a generic interface declaration. Additionally, any interface nested inside a generic class declaration or a generic struct declaration is itself a generic interface declaration, since type arguments for the containing type shall be supplied to create a constructed type ([§8.4](types.md#84-constructed-types)). ### 18.2.2 Interface modifiers @@ -235,7 +235,7 @@ All interface members implicitly have public access. It is a compile-time error An *interface_declaration* creates a new declaration space ([§7.3](basic-concepts.md#73-declarations)), and the type parameters and *interface_member_declaration*s immediately contained by the *interface_declaration* introduce new members into this declaration space. The following rules apply to *interface_member_declaration*s: -- The name of a type parameter in the *type_parameter_list* of an interface declaration shall differ from the names of all other type parameters in the same *type_parameter_list* and shall differ from the names of all members of the interface. +- The name of a type parameter in the *variant_type_parameter_list* of an interface declaration shall differ from the names of all other type parameters in the same *variant_type_parameter_list* and shall differ from the names of all members of the interface. - The name of a method shall differ from the names of all properties and events declared in the same interface. In addition, the signature ([§7.6](basic-concepts.md#76-signatures-and-overloading)) of a method shall differ from the signatures of all other methods declared in the same interface, and two methods declared in the same interface shall not have signatures that differ solely by `in`, `out`, and `ref`. - The name of a property or event shall differ from the names of all other members declared in the same interface. - The signature of an indexer shall differ from the signatures of all other indexers declared in the same interface. From ebf205860866ff7adff0c9876dec8873deadf64c Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Mon, 10 Jun 2024 16:14:10 -0400 Subject: [PATCH 109/259] Make precise the description of semicolons as property/indexer accessor bodies (#1127) * Be more precise w.r.t semicolon accessor bodies * Use more precise wording w.r.t semicolon accessor body --- standard/classes.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index 9a3abbd01..dd2091e1f 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -3107,7 +3107,7 @@ For returns-by-value and returns-by-ref methods the endpoint of the method body ### 15.7.1 General -A ***property*** is a member that provides access to a characteristic of an object or a class. Examples of properties include the length of a string, the size of a font, the caption of a window, the name of a customer, and so on. Properties are a natural extension of fields—both are named members with associated types, and the syntax for accessing fields and properties is the same. However, unlike fields, properties do not denote storage locations. Instead, properties have ***accessors*** that specify the statements to be executed when their values are read or written. Properties thus provide a mechanism for associating actions with the reading and writing of an object’s characteristics; furthermore, they permit such characteristics to be computed. +A ***property*** is a member that provides access to a characteristic of an object or a class. Examples of properties include the length of a string, the size of a font, the caption of a window, and the name of a customer. Properties are a natural extension of fields—both are named members with associated types, and the syntax for accessing fields and properties is the same. However, unlike fields, properties do not denote storage locations. Instead, properties have ***accessors*** that specify the statements to be executed when their values are read or written. Properties thus provide a mechanism for associating actions with the reading and writing of an object or class’s characteristics; furthermore, they permit such characteristics to be computed. Properties are declared using *property_declaration*s: @@ -3174,7 +3174,7 @@ In a *ref_property_body* an expression body consisting of `=>` followed by `ref` > *Note*: Even though the syntax for accessing a property is the same as that for a field, a property is not classified as a variable. Thus, it is not possible to pass a property as an `in`, `out`, or `ref` argument unless the property is ref-valued and therefore returns a variable reference ([§9.7](variables.md#97-reference-variables-and-returns)). *end note* -When a property declaration includes an `extern` modifier, the property is said to be an ***external property***. Because an external property declaration provides no actual implementation, each of its *accessor_declarations* consists of a semicolon. +When a property declaration includes an `extern` modifier, the property is said to be an ***external property***. Because an external property declaration provides no actual implementation, each of the *accessor_body*s in its *accessor_declarations* shall be a semicolon. ### 15.7.2 Static and instance properties @@ -3544,7 +3544,7 @@ Properties can be used to delay initialization of a resource until the moment it ### 15.7.4 Automatically implemented properties -An automatically implemented property (or auto-property for short), is a non-abstract, non-extern, non-ref-valued property with semicolon-only accessor bodies. Auto-properties shall have a get accessor and may optionally have a set accessor. +An automatically implemented property (or auto-property for short), is a non-abstract, non-extern, non-ref-valued property with semicolon-only *accessor_body*s. Auto-properties shall have a get accessor and may optionally have a set accessor. When a property is specified as an automatically implemented property, a hidden backing field is automatically available for the property, and the accessors are implemented to read from and write to that backing field. The hidden backing field is inaccessible, it can be read and written only through the automatically implemented property accessors, even within the containing type. If the auto-property has no set accessor, the backing field is considered `readonly` ([§15.5.3](classes.md#1553-readonly-fields)). Just like a `readonly` field, a read-only auto-property may also be assigned to in the body of a constructor of the enclosing class. Such an assignment assigns directly to the read-only backing field of the property. @@ -3745,7 +3745,7 @@ An accessor that is used to implement an interface shall not have an *accessor_m *Note*: This clause applies to both properties ([§15.7](classes.md#157-properties)) and indexers ([§15.9](classes.md#159-indexers)). The clause is written in terms of properties, when reading for indexers substitute indexer/indexers for property/properties and consult the list of differences between properties and indexers given in [§15.9.2](classes.md#1592-indexer-and-property-differences). *end note* -A virtual property declaration specifies that the accessors of the property are virtual. The `virtual` modifier applies to all non-private accessors of a property. When an accessor of a virtual property has the private *accessor_modifier*, the `private` accessor is implicitly not virtual. +A virtual property declaration specifies that the accessors of the property are virtual. The `virtual` modifier applies to all non-private accessors of a property. When an accessor of a virtual property has the `private` *accessor_modifier*, the private accessor is implicitly not virtual. An abstract property declaration specifies that the accessors of the property are virtual, but does not provide an actual implementation of the accessors. Instead, non-abstract derived classes are required to provide their own implementation for the accessors by overriding the property. Because an accessor for an abstract property declaration provides no actual implementation, its *accessor_body* simply consists of a semicolon. An abstract property shall not have a `private` accessor. @@ -4194,9 +4194,9 @@ The *type* of an indexer and each of the types referenced in the *formal_paramet An *indexer_body* may either consist of a statement body ([§15.7.1](classes.md#1571-general)) or an expression body ([§15.6.1](classes.md#1561-general)). In a statement body, *accessor_declarations*, which shall be enclosed in “`{`” and “`}`” tokens, declare the accessors ([§15.7.3](classes.md#1573-accessors)) of the indexer. The accessors specify the executable statements associated with reading and writing indexer elements. -In a *indexer_body* an expression body consisting of “`=>`” followed by an expression `E` and a semicolon is exactly equivalent to the statement body `{ get { return E; } }`, and can therefore only be used to specify read-only indexers where the result of the get accessor is given by a single expression. +In an *indexer_body* an expression body consisting of “`=>`” followed by an expression `E` and a semicolon is exactly equivalent to the statement body `{ get { return E; } }`, and can therefore only be used to specify read-only indexers where the result of the get accessor is given by a single expression. -A *ref_indexer_body* may either consist of a statement body or an expression body. In a statement body a *get_accessor_declaration* declares the get accessor ([§15.7.3](classes.md#1573-accessors)) of the property. The accessor specifies the executable statements associated with reading the property. +A *ref_indexer_body* may either consist of a statement body or an expression body. In a statement body a *get_accessor_declaration* declares the get accessor ([§15.7.3](classes.md#1573-accessors)) of the indexer. The accessor specifies the executable statements associated with reading the indexer. In a *ref_indexer_body* an expression body consisting of `=>` followed by `ref`, a *variable_reference* `V` and a semicolon is exactly equivalent to the statement body `{ get { return ref V; } }`. @@ -4206,7 +4206,7 @@ The *formal_parameter_list* of an indexer defines the signature ([§7.6](basic-c The signature of an indexer shall differ from the signatures of all other indexers declared in the same class. -When an indexer declaration includes an `extern` modifier, the indexer is said to be an ***external indexer***. Because an external indexer declaration provides no actual implementation, each of its *accessor_declarations* consists of a semicolon. +When an indexer declaration includes an `extern` modifier, the indexer is said to be an ***external indexer***. Because an external indexer declaration provides no actual implementation, each of the *accessor_body*s in its *accessor_declarations* shall be a semicolon. > *Example*: The example below declares a `BitArray` class that implements an indexer for accessing the individual bits in the bit array. > @@ -4351,7 +4351,7 @@ Indexers and properties are very similar in concept, but differ in the following - A set accessor of a property corresponds to a method with a single parameter named `value`, whereas a set accessor of an indexer corresponds to a method with the same formal parameter list as the indexer, plus an additional parameter named `value`. - It is a compile-time error for an indexer accessor to declare a local variable or local constant with the same name as an indexer parameter. - In an overriding property declaration, the inherited property is accessed using the syntax `base.P`, where `P` is the property name. In an overriding indexer declaration, the inherited indexer is accessed using the syntax `base[E]`, where `E` is a comma-separated list of expressions. -- There is no concept of an “automatically implemented indexer”. It is an error to have a non-abstract, non-external indexer with semicolon accessors. +- There is no concept of an “automatically implemented indexer”. It is an error to have a non-abstract, non-external indexer with semicolon *accessor_body*s. Aside from these differences, all rules defined in [§15.7.3](classes.md#1573-accessors), [§15.7.5](classes.md#1575-accessibility) and [§15.7.6](classes.md#1576-virtual-sealed-override-and-abstract-accessors) apply to indexer accessors as well as to property accessors. From d7dddb1c9bc1973d48125c88c6be9d8271aab7b3 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Mon, 24 Jun 2024 19:51:13 +1200 Subject: [PATCH 110/259] Update classes.md Fix a grammar text alignment typo --- standard/classes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/classes.md b/standard/classes.md index dd2091e1f..09c581556 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -149,7 +149,7 @@ A type parameter is a simple identifier that denotes a placeholder for a type ar ```ANTLR type_parameter_list : '<' type_parameters '>' - ; + ; type_parameters : attributes? type_parameter From 4ecb750f3fe47bfd2831ab64cda3a25f46d64148 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 24 Jun 2024 10:39:44 -0400 Subject: [PATCH 111/259] [create-pull-request] automated change (#1133) Co-authored-by: jskeet --- standard/grammar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/grammar.md b/standard/grammar.md index fc51a57a5..bb3638a05 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -1909,7 +1909,7 @@ class_modifier // Source: §15.2.3 Type parameters type_parameter_list : '<' type_parameters '>' - ; + ; type_parameters : attributes? type_parameter From 6bcec3b8ce233e7d3ad4c9d9303d96f5f9b2ccdf Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Mon, 24 Jun 2024 10:53:52 -0400 Subject: [PATCH 112/259] Use Check Runs API to report on status checks (success and failures) (#1129) * First pass at code. Prototype of generating checks This has a prototype to create the proper JSON format for the status check. Remaining task: Consume the output and POST the results. * Add POST capability. POST the check results back to GitHub * Update YML and shell script * Introduce error for check run * Remove error introduced for testing * remove warnings. This way, the only annotations that are displayed actually matter for the tool being run * Respond to feedback Warnings shouldn't be treated as errors. --- .github/workflows/renumber-sections.yaml | 5 +- tools/StandardAnchorTags/DiagnosticIDs.cs | 6 + tools/StandardAnchorTags/GenerateGrammar.cs | 53 ++++ tools/StandardAnchorTags/Program.cs | 292 ++++++++++-------- .../ReferenceUpdateProcessor.cs | 22 +- tools/StandardAnchorTags/SectionLink.cs | 13 + .../StandardAnchorTags.csproj | 4 + .../TocSectionNumberBuilder.cs | 28 +- tools/Utilities/StatusCheckLogger.cs | 146 +++++++++ tools/Utilities/Utilities.csproj | 1 + tools/run-section-renumber.sh | 7 +- 11 files changed, 418 insertions(+), 159 deletions(-) create mode 100644 tools/StandardAnchorTags/DiagnosticIDs.cs create mode 100644 tools/Utilities/StatusCheckLogger.cs diff --git a/.github/workflows/renumber-sections.yaml b/.github/workflows/renumber-sections.yaml index 1cc0828c3..a4e46b74f 100644 --- a/.github/workflows/renumber-sections.yaml +++ b/.github/workflows/renumber-sections.yaml @@ -14,8 +14,11 @@ on: jobs: renumber-sections: runs-on: ubuntu-latest + permissions: + checks: write env: DOTNET_NOLOGO: true + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - name: Check out our repo @@ -29,4 +32,4 @@ jobs: - name: Run section renumbering dry run run: | cd tools - ./run-section-renumber.sh --dryrun + ./run-section-renumber.sh ${{ github.event.pull_request.head.sha }} diff --git a/tools/StandardAnchorTags/DiagnosticIDs.cs b/tools/StandardAnchorTags/DiagnosticIDs.cs new file mode 100644 index 000000000..e89613386 --- /dev/null +++ b/tools/StandardAnchorTags/DiagnosticIDs.cs @@ -0,0 +1,6 @@ +namespace StandardAnchorTags; +internal class DiagnosticIDs +{ + public const string TOC001 = nameof(TOC001); + public const string TOC002 = nameof(TOC002); +} diff --git a/tools/StandardAnchorTags/GenerateGrammar.cs b/tools/StandardAnchorTags/GenerateGrammar.cs index 45022d986..dc178ed49 100644 --- a/tools/StandardAnchorTags/GenerateGrammar.cs +++ b/tools/StandardAnchorTags/GenerateGrammar.cs @@ -2,13 +2,34 @@ namespace StandardAnchorTags; +/// +/// The data storage for the headers of the grammar file +/// +/// The text for the lexical section header +/// The text for the syntactic section header +/// The text for the unsafe extensions header +/// The footer public record GrammarHeaders(string LexicalHeader, string SyntacticHeader, string UnsafeExtensionsHeader, string GrammarFooter); +/// +/// This class generates a grammar file from the ANTLR blocks in the standard +/// +/// +/// The full grammar is in small pieces in each clause of the standard. Then, +/// its duplicated in an Annex. Rather than copy and paste by hand, generate that +/// Annex from the other smaller parts. +/// public class GenerateGrammar : IDisposable { + /// + /// Read the existing headers from a grammar file + /// + /// Path to the standard files (likely ../standard) + /// The filename for the grammar annex + /// The task that will return the headers when complete. public static async Task ReadExistingHeaders(string pathToStandard, string grammarFile) { GrammarHeaders headers = new GrammarHeaders("", "", "", ""); @@ -50,6 +71,12 @@ public static async Task ReadExistingHeaders(string pathToStanda private readonly string pathToStandardFiles; private readonly StreamWriter grammarStream; + /// + /// Construct a new grammar generator + /// + /// The path to the file + /// The path to the files in the standard + /// The header text public GenerateGrammar(string grammarPath, string pathToStandardFiles, GrammarHeaders headers) { grammarStream = new StreamWriter(Path.Combine(pathToStandardFiles, grammarPath), false); @@ -57,10 +84,28 @@ public GenerateGrammar(string grammarPath, string pathToStandardFiles, GrammarHe informativeTextBlocks = headers; } + /// + /// Write the header text that appears before the grammar output. + /// + /// The task public async Task WriteHeader() => await grammarStream.WriteAsync(informativeTextBlocks.LexicalHeader); + + /// + /// Write the header text for the syntactic section + /// + /// The task public async Task WriteSyntaxHeader() => await grammarStream.WriteAsync(informativeTextBlocks.SyntacticHeader); + + /// + /// Write the header text for the unsafe extensions section + /// + /// The task public async Task WriteUnsafeExtensionHeader() => await grammarStream.WriteAsync(informativeTextBlocks.UnsafeExtensionsHeader); + /// + /// Write the footer text that appears after the grammar output. + /// + /// The task public async Task WriteGrammarFooter() { await grammarStream.WriteAsync(informativeTextBlocks.GrammarFooter); @@ -68,6 +113,11 @@ public async Task WriteGrammarFooter() grammarStream.Close(); } + /// + /// Extract the grammar from one file in the standard + /// + /// The input file from the standard + /// The task public async Task ExtractGrammarFrom(string inputFileName) { string inputFilePath = $"{pathToStandardFiles}/{inputFileName}"; @@ -106,5 +156,8 @@ public async Task ExtractGrammarFrom(string inputFileName) } } + /// + /// Dispose of the stream + /// public void Dispose() => grammarStream.Dispose(); } diff --git a/tools/StandardAnchorTags/Program.cs b/tools/StandardAnchorTags/Program.cs index 635889c0c..f1c9814ae 100644 --- a/tools/StandardAnchorTags/Program.cs +++ b/tools/StandardAnchorTags/Program.cs @@ -3,6 +3,9 @@ namespace StandardAnchorTags; +/// +/// The entry point +/// public class Program { const string TOCHeader = ""; @@ -11,10 +14,20 @@ public class Program private const string FilesPath = "../standard/clauses.json"; private const string GrammarFile = "grammar.md"; - private static Clauses? standardClauses; - - static async Task Main(string[] args) + private static Clauses? standardClauses = null!; + + /// + /// Update section numbers, anchor tags, and the TOC + /// + /// The GitHub owner org (for example, "dotnet") + /// The GitHub repo name (for example, "csharpstandard") + /// The commit sha, when run as a GitHub action + /// True for a dry run, false to update the text in all files + /// 0 on success, non-zero on failure + static async Task Main(string owner, string repo, string? headSha = null, bool dryrun =false) { + var logger = new StatusCheckLogger("..", "TOC and Anchor updater"); + var token = Environment.GetEnvironmentVariable("GH_TOKEN"); using FileStream openStream = File.OpenRead(FilesPath); standardClauses = await JsonSerializer.DeserializeAsync(openStream); if (standardClauses is null) @@ -23,153 +36,174 @@ static async Task Main(string[] args) return 1; } - bool dryRun = ((args.Length > 0) && (args[0].Contains("dryrun"))); - if (dryRun) + if (dryrun) { Console.WriteLine("Doing a dry run"); } try { - Console.WriteLine("=========================== Front Matter ==================================="); - var sectionMap = new TocSectionNumberBuilder(PathToStandard, dryRun); - foreach (var file in standardClauses.FrontMatter) + TocSectionNumberBuilder sectionMap = await BuildSectionMap(dryrun, logger); + + if (!dryrun) { - Console.WriteLine($" -- {file}"); - await sectionMap.AddFrontMatterTocEntries(file); + using StreamWriter readme = await WriteUpdatedTOC(sectionMap); } - Console.WriteLine("================= GENERATE UPDATED SECTION NUMBERS ========================="); - Console.WriteLine("============================ Scope and Conformance ======================================"); - foreach (var file in standardClauses.ScopeAndConformance) - { - Console.WriteLine($" -- {file}"); - await sectionMap.AddContentsToTOC(file); + await UpdateAllAnchors(dryrun, logger, sectionMap); - } - Console.WriteLine("============================ Lexical Structure ======================================"); - foreach (var file in standardClauses.LexicalStructure) - { - Console.WriteLine($" -- {file}"); - await sectionMap.AddContentsToTOC(file); - } - Console.WriteLine("============================ Main text======================================"); - foreach (var file in standardClauses.MainBody) - { - Console.WriteLine($" -- {file}"); - await sectionMap.AddContentsToTOC(file); - } - Console.WriteLine("============================ Unsafe clauses======================================"); - foreach (var file in standardClauses.UnsafeClauses) - { - Console.WriteLine($" -- {file}"); - await sectionMap.AddContentsToTOC(file); - } - Console.WriteLine("============================= Annexes ======================================"); - sectionMap.FinishMainSection(); - foreach (var file in standardClauses.Annexes) + if (!dryrun) { - Console.WriteLine($" -- {file}"); - await sectionMap.AddContentsToTOC(file); + using GenerateGrammar grammarGenerator = await GenerateNewGrammar(); } - if (!dryRun) + } + finally + { + if ((token is not null) && (headSha is not null)) { - Console.WriteLine("Update TOC"); - var existingReadMe = await ReadExistingReadMe(); - using var readme = new StreamWriter(ReadMePath, false); - await readme.WriteAsync(existingReadMe); - await readme.WriteLineAsync(TOCHeader); - await readme.WriteLineAsync(); - await readme.WriteAsync(sectionMap.Toc); + await logger.BuildCheckRunResult(token, owner, repo, headSha); } + } + return logger.Success ? 0 : 1; + } - Console.WriteLine("======================= UPDATE ALL REFERENCES =============================="); - var fixup = new ReferenceUpdateProcessor(PathToStandard, sectionMap.LinkMap, dryRun); + private static async Task BuildSectionMap(bool dryrun, StatusCheckLogger logger) + { + Console.WriteLine("=========================== Front Matter ==================================="); + var sectionMap = new TocSectionNumberBuilder(PathToStandard, logger, dryrun); + foreach (var file in standardClauses!.FrontMatter) + { + Console.WriteLine($" -- {file}"); + await sectionMap.AddFrontMatterTocEntries(file); + } - Console.WriteLine("=========================== Front Matter ==================================="); - foreach (var file in standardClauses.FrontMatter) - { - Console.WriteLine($" -- {file}"); - await fixup.ReplaceReferences(file); - } - Console.WriteLine("============================ Scope and Conformance ======================================"); - foreach (var file in standardClauses.ScopeAndConformance) - { - Console.WriteLine($" -- {file}"); - await fixup.ReplaceReferences(file); + Console.WriteLine("================= GENERATE UPDATED SECTION NUMBERS ========================="); + Console.WriteLine("============================ Scope and Conformance ======================================"); + foreach (var file in standardClauses.ScopeAndConformance) + { + Console.WriteLine($" -- {file}"); + await sectionMap.AddContentsToTOC(file); - } - Console.WriteLine("============================ Lexical Structure ======================================"); - foreach (var file in standardClauses.LexicalStructure) - { - Console.WriteLine($" -- {file}"); - await fixup.ReplaceReferences(file); - } - Console.WriteLine("============================ Main text======================================"); - foreach (var file in standardClauses.MainBody) - { - Console.WriteLine($" -- {file}"); - await fixup.ReplaceReferences(file); + } + Console.WriteLine("============================ Lexical Structure ======================================"); + foreach (var file in standardClauses.LexicalStructure) + { + Console.WriteLine($" -- {file}"); + await sectionMap.AddContentsToTOC(file); + } + Console.WriteLine("============================ Main text======================================"); + foreach (var file in standardClauses.MainBody) + { + Console.WriteLine($" -- {file}"); + await sectionMap.AddContentsToTOC(file); + } + Console.WriteLine("============================ Unsafe clauses======================================"); + foreach (var file in standardClauses.UnsafeClauses) + { + Console.WriteLine($" -- {file}"); + await sectionMap.AddContentsToTOC(file); + } + Console.WriteLine("============================= Annexes ======================================"); + sectionMap.FinishMainSection(); + foreach (var file in standardClauses.Annexes) + { + Console.WriteLine($" -- {file}"); + await sectionMap.AddContentsToTOC(file); + } + return sectionMap; + } - } - Console.WriteLine("============================ Unsafe clauses======================================"); - foreach (var file in standardClauses.UnsafeClauses) - { - Console.WriteLine($" -- {file}"); - await fixup.ReplaceReferences(file); + private static async Task WriteUpdatedTOC(TocSectionNumberBuilder sectionMap) + { + Console.WriteLine("Update TOC"); + var existingReadMe = await ReadExistingReadMe(); + var readme = new StreamWriter(ReadMePath, false); + await readme.WriteAsync(existingReadMe); + await readme.WriteLineAsync(TOCHeader); + await readme.WriteLineAsync(); + await readme.WriteAsync(sectionMap.Toc); + return readme; + } - } - Console.WriteLine("============================= Annexes ======================================"); - foreach (var file in standardClauses.Annexes) - { - Console.WriteLine($" -- {file}"); - await fixup.ReplaceReferences(file); - } - if (!dryRun) - { - Console.WriteLine("======================= READ EXISTING GRAMMAR HEADERS ======================="); - var headers = await GenerateGrammar.ReadExistingHeaders(PathToStandard, GrammarFile); - - Console.WriteLine("======================= GENERATE GRAMMAR ANNEX =============================="); - using var grammarGenerator = new GenerateGrammar(GrammarFile, PathToStandard, headers); - - Console.WriteLine("============================ Lexical Structure ======================================"); - - await grammarGenerator.WriteHeader(); - foreach (var file in standardClauses.LexicalStructure) - { - Console.WriteLine($" -- {file}"); - await grammarGenerator.ExtractGrammarFrom(file); - } - Console.WriteLine("============================ Main text======================================"); - - await grammarGenerator.WriteSyntaxHeader(); - foreach (var file in standardClauses.MainBody) - { - Console.WriteLine($" -- {file}"); - await grammarGenerator.ExtractGrammarFrom(file); - } - Console.WriteLine("============================ Unsafe clauses======================================"); - await grammarGenerator.WriteUnsafeExtensionHeader(); - foreach (var file in standardClauses.UnsafeClauses) - { - Console.WriteLine($" -- {file}"); - await grammarGenerator.ExtractGrammarFrom(file); - } - await grammarGenerator.WriteGrammarFooter(); - } - return fixup.ErrorCount; + private static async Task UpdateAllAnchors(bool dryrun, StatusCheckLogger logger, TocSectionNumberBuilder sectionMap) + { + Console.WriteLine("======================= UPDATE ALL REFERENCES =============================="); + var fixup = new ReferenceUpdateProcessor(PathToStandard, logger, sectionMap.LinkMap, dryrun); + + Console.WriteLine("=========================== Front Matter ==================================="); + foreach (var file in standardClauses!.FrontMatter) + { + Console.WriteLine($" -- {file}"); + await fixup.ReplaceReferences(file); } - catch (InvalidOperationException e) + Console.WriteLine("============================ Scope and Conformance ======================================"); + foreach (var file in standardClauses.ScopeAndConformance) { - Console.WriteLine("\tError encountered:"); - Console.WriteLine(e.Message.ToString()); - Console.WriteLine("To recover, do the following:"); - Console.WriteLine("1. Discard all changes from the section numbering tool"); - Console.WriteLine("2. Fix the error noted above."); - Console.WriteLine("3. Run the tool again."); - return 1; + Console.WriteLine($" -- {file}"); + await fixup.ReplaceReferences(file); + + } + Console.WriteLine("============================ Lexical Structure ======================================"); + foreach (var file in standardClauses.LexicalStructure) + { + Console.WriteLine($" -- {file}"); + await fixup.ReplaceReferences(file); + } + Console.WriteLine("============================ Main text======================================"); + foreach (var file in standardClauses.MainBody) + { + Console.WriteLine($" -- {file}"); + await fixup.ReplaceReferences(file); + + } + Console.WriteLine("============================ Unsafe clauses======================================"); + foreach (var file in standardClauses.UnsafeClauses) + { + Console.WriteLine($" -- {file}"); + await fixup.ReplaceReferences(file); + + } + Console.WriteLine("============================= Annexes ======================================"); + foreach (var file in standardClauses.Annexes) + { + Console.WriteLine($" -- {file}"); + await fixup.ReplaceReferences(file); + } + } + + private static async Task GenerateNewGrammar() + { + Console.WriteLine("======================= READ EXISTING GRAMMAR HEADERS ======================="); + var headers = await GenerateGrammar.ReadExistingHeaders(PathToStandard, GrammarFile); + + Console.WriteLine("======================= GENERATE GRAMMAR ANNEX =============================="); + var grammarGenerator = new GenerateGrammar(GrammarFile, PathToStandard, headers); + + Console.WriteLine("============================ Lexical Structure ======================================"); + + await grammarGenerator.WriteHeader(); + foreach (var file in standardClauses!.LexicalStructure) + { + Console.WriteLine($" -- {file}"); + await grammarGenerator.ExtractGrammarFrom(file); + } + Console.WriteLine("============================ Main text======================================"); + + await grammarGenerator.WriteSyntaxHeader(); + foreach (var file in standardClauses.MainBody) + { + Console.WriteLine($" -- {file}"); + await grammarGenerator.ExtractGrammarFrom(file); + } + Console.WriteLine("============================ Unsafe clauses======================================"); + await grammarGenerator.WriteUnsafeExtensionHeader(); + foreach (var file in standardClauses.UnsafeClauses) + { + Console.WriteLine($" -- {file}"); + await grammarGenerator.ExtractGrammarFrom(file); } + await grammarGenerator.WriteGrammarFooter(); + return grammarGenerator; } private static async Task ReadExistingReadMe() @@ -182,4 +216,4 @@ private static async Task ReadExistingReadMe() return contents[..index]; } -} \ No newline at end of file +} diff --git a/tools/StandardAnchorTags/ReferenceUpdateProcessor.cs b/tools/StandardAnchorTags/ReferenceUpdateProcessor.cs index 586373f2e..99b84539e 100644 --- a/tools/StandardAnchorTags/ReferenceUpdateProcessor.cs +++ b/tools/StandardAnchorTags/ReferenceUpdateProcessor.cs @@ -1,4 +1,5 @@ using System.Text; +using Utilities; namespace StandardAnchorTags; @@ -9,11 +10,12 @@ internal class ReferenceUpdateProcessor private readonly IReadOnlyDictionary linkMap; private readonly bool dryRun; private readonly string PathToFiles; - public int ErrorCount { get; private set; } + private readonly StatusCheckLogger logger; - public ReferenceUpdateProcessor(string pathToFiles, IReadOnlyDictionary linkMap, bool dryRun) + public ReferenceUpdateProcessor(string pathToFiles, StatusCheckLogger logger, IReadOnlyDictionary linkMap, bool dryRun) { PathToFiles = pathToFiles; + this.logger = logger; this.linkMap = linkMap; this.dryRun = dryRun; } @@ -30,7 +32,7 @@ public async Task ReplaceReferences(string file) { lineNumber++; var updatedLine = line.Contains(sectionReference) - ? ProcessSectionLinks(line, lineNumber, file) + ? ProcessSectionLinks(line, lineNumber, inputPath) : line; await writeStream.WriteLineAsync(updatedLine); } @@ -47,7 +49,7 @@ public async Task ReplaceReferences(string file) } } - private string ProcessSectionLinks(string line, int lineNumber, string file) + private string ProcessSectionLinks(string line, int lineNumber, string path) { var returnedLine = new StringBuilder(); int index = 0; @@ -60,14 +62,8 @@ private string ProcessSectionLinks(string line, int lineNumber, string file) if ((referenceText.Length > 1) && (!linkMap.ContainsKey(referenceText))) { - var msg = $"Section reference [{referenceText}] not found at line {lineNumber} in {file}"; - if (dryRun) - { - ErrorCount++; - Console.WriteLine(msg); - } - else - throw new InvalidOperationException(msg); + var diagnostic = new Diagnostic(path, lineNumber, lineNumber, $"`{referenceText}` not found", DiagnosticIDs.TOC002); + logger.LogFailure(diagnostic); } else { linkText = linkMap[referenceText].FormattedMarkdownLink; @@ -135,4 +131,4 @@ private static Range ExpandToIncludeExistingLink(string line, Range range) return new Range(previous, endIndex + 1); } -} \ No newline at end of file +} diff --git a/tools/StandardAnchorTags/SectionLink.cs b/tools/StandardAnchorTags/SectionLink.cs index 1d632b00e..573db5cb8 100644 --- a/tools/StandardAnchorTags/SectionLink.cs +++ b/tools/StandardAnchorTags/SectionLink.cs @@ -6,6 +6,13 @@ public readonly struct SectionLink { private const char sectionReference = '§'; + + /// + /// Constructor for a section link. + /// + /// The old link + /// The new link + /// The anchor text public SectionLink(string oldLink, string newLink, string anchor) { ExistingLinkText = oldLink; @@ -29,8 +36,14 @@ public SectionLink(string oldLink, string newLink, string anchor) /// public string AnchorText { get; } + /// + /// The markdown link for the section. + /// public string FormattedMarkdownLink => $"[{sectionReference}{NewLinkText}]({AnchorText})"; + /// + /// The markdown link and text for the TOC + /// public string TOCMarkdownLink() => $"[{sectionReference}{NewLinkText}]({AnchorText})"; } diff --git a/tools/StandardAnchorTags/StandardAnchorTags.csproj b/tools/StandardAnchorTags/StandardAnchorTags.csproj index 240e54f0c..8157f79fc 100644 --- a/tools/StandardAnchorTags/StandardAnchorTags.csproj +++ b/tools/StandardAnchorTags/StandardAnchorTags.csproj @@ -11,6 +11,10 @@ + + + + diff --git a/tools/StandardAnchorTags/TocSectionNumberBuilder.cs b/tools/StandardAnchorTags/TocSectionNumberBuilder.cs index 8e28db9d0..64d0e7791 100644 --- a/tools/StandardAnchorTags/TocSectionNumberBuilder.cs +++ b/tools/StandardAnchorTags/TocSectionNumberBuilder.cs @@ -1,5 +1,6 @@ using System.Text; using System.Text.RegularExpressions; +using Utilities; namespace StandardAnchorTags; @@ -25,6 +26,7 @@ private struct SectionHeader private const string AnnexPattern = @"^[A-Z](\.\d+)*$"; private readonly string PathToStandardFiles; + private readonly StatusCheckLogger logger; private readonly bool dryRun; // String builder to store the full TOC for the standard. @@ -39,9 +41,10 @@ private struct SectionHeader /// /// Construct the map Builder. /// - public TocSectionNumberBuilder(string pathFromToolToStandard, bool dryRun) + public TocSectionNumberBuilder(string pathFromToolToStandard, StatusCheckLogger logger, bool dryRun) { PathToStandardFiles = pathFromToolToStandard; + this.logger = logger; this.dryRun = dryRun; } @@ -55,21 +58,26 @@ public TocSectionNumberBuilder(string pathFromToolToStandard, bool dryRun) /// public async Task AddFrontMatterTocEntries(string fileName) { - using var stream = File.OpenText(Path.Combine(PathToStandardFiles,fileName)); + string path = Path.Combine(PathToStandardFiles, fileName); + using var stream = File.OpenText(path); string? line = await stream.ReadLineAsync(); + if (line?.StartsWith("# ") == true) { - if (line?.StartsWith("# ") == true) - { - var linkText = line[2..]; - tocContent.AppendLine($"- [{linkText}]({fileName})"); - // Done: return. - return; - } + var linkText = line[2..]; + tocContent.AppendLine($"- [{linkText}]({fileName})"); + // Done: return. + return; } // Getting here means this file doesn't have an H1. That's an error: - throw new InvalidOperationException($"File {fileName} doesn't have an H1 tag as its first line."); + var diagnostic = new Diagnostic(path, 1, 1, "File doesn't have an H1 tag as its first line.", DiagnosticIDs.TOC001); + logger.LogFailure(diagnostic); } + /// + /// Process this file, updating TOC and anchors + /// + /// The input file + /// The task public async Task AddContentsToTOC(string filename) { string pathToFile = $"{PathToStandardFiles}/{filename}"; diff --git a/tools/Utilities/StatusCheckLogger.cs b/tools/Utilities/StatusCheckLogger.cs new file mode 100644 index 000000000..b9240a2b9 --- /dev/null +++ b/tools/Utilities/StatusCheckLogger.cs @@ -0,0 +1,146 @@ +using Octokit; + +namespace Utilities; + +/// +/// Record for a single diagnostic +/// +/// The source file in the PR +/// The message for the output daignostic +/// The error message ID +/// The start line (index from 1) +/// The end line (index from 1) +public record Diagnostic(string file, int StartLine, int EndLine, string Message, string Id); + +/// +/// This class writes the status of the check to the console in the format GitHub supports +/// +/// +/// For all of our tools, if all error and warning messages are formatted correctly, GitHub +/// will show those errors and warnings inline in the files tab for the PR. Let's format +/// them correctly. +/// +/// The path to the root of the repository +/// The name of the tool that is running the check +public class StatusCheckLogger(string pathToRoot, string toolName) +{ + private List annotations = []; + public bool Success { get; private set; } = true; + + // Utility method to format the path to unix style, from the root of the repository. + private string FormatPath(string path) => Path.GetRelativePath(pathToRoot, path).Replace(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar); + + private void WriteMessageToConsole(string prefix, Diagnostic d) => Console.WriteLine($"{prefix}{toolName}-{d.Id}::file={FormatPath(d.file)},line={d.StartLine}::{d.Message}"); + + /// + /// Log a notice from the status check + /// + /// The diagnostic + /// + /// Add the diagnostic to the annotation list and + /// log the diagnostic information to console. + /// + public void LogNotice(Diagnostic d) + { + WriteMessageToConsole("", d); + annotations.Add( + new(FormatPath(d.file), + d.StartLine, d.EndLine, + CheckAnnotationLevel.Notice, $"{d.Id}::{d.Message}") + ); + } + + /// + /// Log a warning from the status check + /// + /// The diagnostic + /// + /// Add the diagnostic to the annotation list and + /// log the warning notice to the console. + /// Warnings are logged, but the process reports "success" to GitHub. + /// + public void LogWarning(Diagnostic d) + { + WriteMessageToConsole("⚠️", d); + annotations.Add( + new(FormatPath(d.file), + d.StartLine, d.EndLine, + CheckAnnotationLevel.Warning, $"{d.Id}::{d.Message}") + ); + } + + /// + /// Log a failure from the status check + /// + /// The diagnostic + /// + /// Add the diagnostic to the annotation list and + /// log the failure notice to the console. + /// This method is distinct from in + /// that this method does not throw an exception. Its purpose is to log + /// the failure but allow the tool to continue running further checks. + /// + public void LogFailure(Diagnostic d) + { + WriteMessageToConsole("❌", d); + annotations.Add( + new(FormatPath(d.file), + d.StartLine, d.EndLine, + CheckAnnotationLevel.Failure, $"{d.Id}::{d.Message}") + ); + Success = false; + } + + /// + /// Log a failure from the status check and throw for exit + /// + /// The diagnostic + /// + /// Add the diagnostic to the annotation list and + /// log the failure notice to the console. + /// This method is distinct from in + /// that this method throws an exception. Its purpose is to log + /// the failure and immediately exit, foregoing any further checks. + /// + public void ExitOnFailure(Diagnostic d) + { + LogFailure(d); + throw new InvalidOperationException(d.Message); + } + + /// + /// Return the object required for a full status check + /// + /// The GitHub owner (or organization) + /// The GitHub repo name + /// The head sha when running as a GitHub action + /// The full check run result object + public async Task BuildCheckRunResult(string token, string owner, string repo, string sha) + { + NewCheckRun result = new(toolName, sha) + { + Status = CheckStatus.Completed, + Conclusion = Success ? CheckConclusion.Success : CheckConclusion.Failure, + Output = new($"{toolName} Check Run results", $"{toolName} result is {(Success ? "success" : "failure")} with {annotations.Count} diagnostics.") + { + Annotations = annotations + } + }; + + var prodInformation = new ProductHeaderValue("TC49-TG2", "1.0.0"); + var tokenAuth = new Credentials(token); + var client = new GitHubClient(prodInformation); + client.Credentials = tokenAuth; + + try + { + await client.Check.Run.Create(owner, repo, result); + } + // If the token does not have the correct permissions, we will get a 403 + // Once running on a branch on the dotnet org, this should work correctly. + catch (Octokit.ForbiddenException) + { + Console.WriteLine("===== WARNING: Could not create a check run.====="); + } + } +} diff --git a/tools/Utilities/Utilities.csproj b/tools/Utilities/Utilities.csproj index 167796798..d962fe85e 100644 --- a/tools/Utilities/Utilities.csproj +++ b/tools/Utilities/Utilities.csproj @@ -7,6 +7,7 @@ + diff --git a/tools/run-section-renumber.sh b/tools/run-section-renumber.sh index a192bbc82..81aab1903 100755 --- a/tools/run-section-renumber.sh +++ b/tools/run-section-renumber.sh @@ -4,12 +4,7 @@ set -e declare -r PROJECT=StandardAnchorTags -if [ "$1" == "--dryrun" ] -then - echo "Performing a dry run" -fi - -dotnet run --project $PROJECT -- $1 +dotnet run --project $PROJECT -- --owner dotnet --repo csharpstandard --dryrun true --head-sha $1 if [ -n "$GITHUB_OUTPUT" ] then From 3202f19559b59efa6e7a4f9498927245b8a891ef Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Mon, 24 Jun 2024 11:21:07 -0400 Subject: [PATCH 113/259] Add Support for Name shadowing (#608) * Add support for Name Shadowing * Add support for Name Shadowing * Add support for Name Shadowing * Fix error found during V7-8 rebasing * Fix test process warning --------- Co-authored-by: Bill Wagner --- standard/basic-concepts.md | 14 ++++++++++---- standard/classes.md | 2 +- standard/statements.md | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/standard/basic-concepts.md b/standard/basic-concepts.md index a09db7b87..315cc8f30 100644 --- a/standard/basic-concepts.md +++ b/standard/basic-concepts.md @@ -81,7 +81,7 @@ There are several different types of declaration spaces, as described in the fol - Each non-partial class, struct, or interface declaration creates a new declaration space. Each partial class, struct, or interface declaration contributes to a declaration space shared by all matching parts in the same program ([§16.2.4](structs.md#1624-partial-modifier)). Names are introduced into this declaration space through *class_member_declaration*s, *struct_member_declaration*s, *interface_member_declaration*s, or *type_parameter*s. Except for overloaded instance constructor declarations and static constructor declarations, a class or struct cannot contain a member declaration with the same name as the class or struct. A class, struct, or interface permits the declaration of overloaded methods and indexers. Furthermore, a class or struct permits the declaration of overloaded instance constructors and operators. For example, a class, struct, or interface may contain multiple method declarations with the same name, provided these method declarations differ in their signature ([§7.6](basic-concepts.md#76-signatures-and-overloading)). Note that base classes do not contribute to the declaration space of a class, and base interfaces do not contribute to the declaration space of an interface. Thus, a derived class or interface is allowed to declare a member with the same name as an inherited member. Such a member is said to ***hide*** the inherited member. - Each delegate declaration creates a new declaration space. Names are introduced into this declaration space through formal parameters (*fixed_parameter*s and *parameter_array*s) and *type_parameter*s. - Each enumeration declaration creates a new declaration space. Names are introduced into this declaration space through *enum_member_declarations*. -- Each method declaration, property declaration, property accessor declaration, indexer declaration, indexer accessor declaration, operator declaration, instance constructor declaration, anonymous function, and local function creates a new declaration space called a ***local variable declaration space***. Names are introduced into this declaration space through formal parameters (*fixed_parameter*s and *parameter_array*s) and *type_parameter*s. The set accessor for a property or an indexer introduces the name `value` as a formal parameter. +- Each method declaration, property declaration, property accessor declaration, indexer declaration, indexer accessor declaration, operator declaration, instance constructor declaration, anonymous function, and local function creates a new declaration space called a ***local variable declaration space***. Names are introduced into this declaration space through formal parameters (*fixed_parameter*s and *parameter_array*s) and *type_parameter*s. The set accessor for a property or an indexer introduces the name `value` as a formal parameter. The body of the function member, anonymous function, or local function, if any, is considered to be nested within the local variable declaration space. When a local variable declaration space and a nested local variable declaration space contain elements with the same name, within the scope of the nested local name, the outer local name is hidden ([§7.7.1](basic-concepts.md#771-general)) by the nested local name. - Additional local variable declaration spaces may occur within member declarations, anonymous functions and local functions. Names are introduced into these declaration spaces through *pattern*s, *declaration_expression*s, *declaration_statement*s and *exception_specifier*s. Local variable declaration spaces may be nested, but it is an error for a local variable declaration space and a nested local variable declaration space to contain elements with the same name. Thus, within a nested declaration space it is not possible to declare a local variable, local function or constant with the same name as a parameter, type parameter, local variable, local function or constant in an enclosing declaration space. It is possible for two declaration spaces to contain elements with the same name as long as neither declaration space contains the other. Local declaration spaces are created by the following constructs: - Each *variable_initializer* in a field and property declaration introduces its own local variable declaration space, that is not nested within any other local variable declaration space. - The body of a function member, anonymous function, or local function, if any, creates a local variable declaration space that is considered to be nested within the function’s local variable declaration space. @@ -718,11 +718,11 @@ Name hiding occurs when scopes overlap through nesting and when scopes overlap t #### 7.7.2.2 Hiding through nesting -Name hiding through nesting can occur as a result of nesting namespaces or types within namespaces, as a result of nesting types within classes or structs, and as a result of parameter, local variable, and local constant declarations. +Name hiding through nesting can occur as a result of nesting namespaces or types within namespaces, as a result of nesting types within classes or structs, as a result of a local function or a lambda, and as a result of parameter, local variable, and local constant declarations. > *Example*: In the following code > -> +> > ```csharp > class A > { @@ -730,6 +730,12 @@ Name hiding through nesting can occur as a result of nesting namespaces or types > void F() > { > int i = 1; +> +> void M1() +> { +> float i = 1.0f; +> Func doubler = (double i) => i * 2.0; +> } > } > > void G() @@ -739,7 +745,7 @@ Name hiding through nesting can occur as a result of nesting namespaces or types > } > ``` > -> within the `F` method, the instance variable `i` is hidden by the local variable `i`, but within the `G` method, `i` still refers to the instance variable. +> within the `F` method, the instance variable `i` is hidden by the local variable `i`, but within the `G` method, `i` still refers to the instance variable. Inside the local function `M1` the `float i` hides the immediate-outer `i`. The lambda parameter `i` hides the `float i` inside the lambda body. > > *end example* diff --git a/standard/classes.md b/standard/classes.md index 09c581556..6b41987b6 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -2118,7 +2118,7 @@ A *parameter_array* may occur after an optional parameter, but cannot have a def > > *end example* -A method declaration creates a separate declaration space ([§7.3](basic-concepts.md#73-declarations)) for parameters and type parameters. Names are introduced into this declaration space by the type parameter list and the formal parameter list of the method. The body of the method, if any, is considered to be nested within this declaration space. It is an error for two members of a method declaration space to have the same name. It is an error for the method declaration space and the local variable declaration space of a nested declaration space to contain elements with the same name. +A method declaration creates a separate declaration space ([§7.3](basic-concepts.md#73-declarations)) for parameters and type parameters. Names are introduced into this declaration space by the type parameter list and the formal parameter list of the method. The body of the method, if any, is considered to be nested within this declaration space. It is an error for two members of a method declaration space to have the same name. A method invocation ([§12.8.9.2](expressions.md#12892-method-invocations)) creates a copy, specific to that invocation, of the formal parameters and local variables of the method, and the argument list of the invocation assigns values or variable references to the newly created formal parameters. Within the *block* of a method, formal parameters can be referenced by their identifiers in *simple_name* expressions ([§12.8.4](expressions.md#1284-simple-names)). diff --git a/standard/statements.md b/standard/statements.md index 3f712a9f9..1793a0175 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -479,7 +479,7 @@ The *type* and *constant_expression* of a local constant declaration shall follo The value of a local constant is obtained in an expression using a *simple_name* ([§12.8.4](expressions.md#1284-simple-names)). -The scope of a local constant is the block in which the declaration occurs. It is an error to refer to a local constant in a textual position that precedes the end of its *constant_declarator*. Within the scope of a local constant, it is a compile-time error to declare another local variable, local function or constant with the same name. +The scope of a local constant is the block in which the declaration occurs. It is an error to refer to a local constant in a textual position that precedes the end of its *constant_declarator*. A local constant declaration that declares multiple constants is equivalent to multiple declarations of single constants with the same type. From 6dcbde097bdbbf1f8769f695bb2189a32f483d71 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Mon, 24 Jun 2024 12:15:26 -0400 Subject: [PATCH 114/259] Update dependencies, plus merge fix (#1134) Two distinct changes here. First, update all dependencies. Dependabot should have updated these, but that PR is failing the build. It appears that some updates weren't correctly applied. Second, a quick work-around for the "update on merge" action so that it runs correctly. It's block, so I just copied the shell script and made mods. I'll take a bit longer to create a single script that reports errors and warnings correctly when the actions run not as part of a PR validation. I need to do some research there, and this is blocking us. --- .github/workflows/update-on-merge.yaml | 2 +- tools/ExampleTester/ExampleTester.csproj | 4 ++-- tools/MarkdownConverter/MarkdownConverter.csproj | 8 ++++---- tools/Utilities/Utilities.csproj | 2 +- tools/run-section-renumber-update.sh | 12 ++++++++++++ 5 files changed, 20 insertions(+), 8 deletions(-) create mode 100644 tools/run-section-renumber-update.sh diff --git a/.github/workflows/update-on-merge.yaml b/.github/workflows/update-on-merge.yaml index e2c195ec1..351147b54 100644 --- a/.github/workflows/update-on-merge.yaml +++ b/.github/workflows/update-on-merge.yaml @@ -50,7 +50,7 @@ jobs: id: renumber-sections run: | cd tools - ./run-section-renumber.sh + ./run-section-renumber-update.sh shell: bash - name: Create pull request diff --git a/tools/ExampleTester/ExampleTester.csproj b/tools/ExampleTester/ExampleTester.csproj index a4fe65e67..0e1ab3715 100644 --- a/tools/ExampleTester/ExampleTester.csproj +++ b/tools/ExampleTester/ExampleTester.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/tools/MarkdownConverter/MarkdownConverter.csproj b/tools/MarkdownConverter/MarkdownConverter.csproj index 8bff3af63..9f8fe6ebb 100644 --- a/tools/MarkdownConverter/MarkdownConverter.csproj +++ b/tools/MarkdownConverter/MarkdownConverter.csproj @@ -10,10 +10,10 @@ - - - - + + + + diff --git a/tools/Utilities/Utilities.csproj b/tools/Utilities/Utilities.csproj index d962fe85e..a1137dd6e 100644 --- a/tools/Utilities/Utilities.csproj +++ b/tools/Utilities/Utilities.csproj @@ -7,7 +7,7 @@ - + diff --git a/tools/run-section-renumber-update.sh b/tools/run-section-renumber-update.sh new file mode 100644 index 000000000..bb9b38584 --- /dev/null +++ b/tools/run-section-renumber-update.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +set -e + +declare -r PROJECT=StandardAnchorTags + +dotnet run --project $PROJECT -- --owner dotnet --repo csharpstandard + +if [ -n "$GITHUB_OUTPUT" ] +then + echo "status=success" >> $GITHUB_OUTPUT +fi From 092b91635567ea70f18aae9a28e4ff64d62fccb0 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 27 Jun 2024 09:49:54 -0400 Subject: [PATCH 115/259] Add status checks to the word converter (#1136) * Fix hack Fix the hack in #1134 with more reasonable shell programming. * Test run for check status on converter Add the code to upload check results from the word converter * typo * Add some logging for testing * Fix status check report. * Update diagnostic IDs for the word converter * Doing a quick review --- .github/workflows/renumber-sections.yaml | 3 +- .github/workflows/update-on-merge.yaml | 3 +- .github/workflows/word-converter.yaml | 6 +- .../MarkdownSourceConverterTests.cs | 6 +- .../MarkdownSpecFileListTests.cs | 2 +- .../Converter/DiagnosticIDs.cs | 34 ++++++ .../Converter/MarkdownSourceConverter.cs | 40 ++++--- .../Converter/MarkdownSpecConverter.cs | 2 +- .../MarkdownConverter.csproj | 4 + tools/MarkdownConverter/Program.cs | 16 ++- .../Properties/launchSettings.json | 9 -- tools/MarkdownConverter/Spec/MarkdownSpec.cs | 6 +- tools/MarkdownConverter/Spec/Reporter.cs | 39 +++--- .../MarkdownConverter/Spec/SourceLocation.cs | 112 ++++++++++++------ tools/StandardAnchorTags/Program.cs | 4 +- tools/Utilities/StatusCheckLogger.cs | 2 +- tools/run-section-renumber-update.sh | 12 -- tools/run-section-renumber.sh | 2 +- 18 files changed, 189 insertions(+), 113 deletions(-) create mode 100644 tools/MarkdownConverter/Converter/DiagnosticIDs.cs delete mode 100644 tools/MarkdownConverter/Properties/launchSettings.json delete mode 100644 tools/run-section-renumber-update.sh diff --git a/.github/workflows/renumber-sections.yaml b/.github/workflows/renumber-sections.yaml index a4e46b74f..021b34881 100644 --- a/.github/workflows/renumber-sections.yaml +++ b/.github/workflows/renumber-sections.yaml @@ -19,6 +19,7 @@ jobs: env: DOTNET_NOLOGO: true GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + HEAD_SHA: ${{ github.event.pull_request.head.sha }} steps: - name: Check out our repo @@ -32,4 +33,4 @@ jobs: - name: Run section renumbering dry run run: | cd tools - ./run-section-renumber.sh ${{ github.event.pull_request.head.sha }} + ./run-section-renumber.sh diff --git a/.github/workflows/update-on-merge.yaml b/.github/workflows/update-on-merge.yaml index 351147b54..c85f5b65a 100644 --- a/.github/workflows/update-on-merge.yaml +++ b/.github/workflows/update-on-merge.yaml @@ -24,6 +24,7 @@ jobs: pull-requests: write env: DOTNET_NOLOGO: true + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - name: Check out our repo @@ -50,7 +51,7 @@ jobs: id: renumber-sections run: | cd tools - ./run-section-renumber-update.sh + ./run-section-renumber.sh shell: bash - name: Create pull request diff --git a/.github/workflows/word-converter.yaml b/.github/workflows/word-converter.yaml index 02b38eb62..f70fad9a9 100644 --- a/.github/workflows/word-converter.yaml +++ b/.github/workflows/word-converter.yaml @@ -14,9 +14,13 @@ on: jobs: word-converter: runs-on: ubuntu-latest + permissions: + checks: write env: DOTNET_NOLOGO: true - + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + HEAD_SHA: ${{ github.event.pull_request.head.sha }} + steps: - name: Check out our repo uses: actions/checkout@v2 diff --git a/tools/MarkdownConverter.Tests/MarkdownSourceConverterTests.cs b/tools/MarkdownConverter.Tests/MarkdownSourceConverterTests.cs index 0942c0013..b93b8391a 100644 --- a/tools/MarkdownConverter.Tests/MarkdownSourceConverterTests.cs +++ b/tools/MarkdownConverter.Tests/MarkdownSourceConverterTests.cs @@ -24,7 +24,7 @@ public class MarkdownSourceConverterTests [InlineData("table-with-emphasis")] public void SingleResourceConversion(string name, bool includeNumbering = false) { - var reporter = new Reporter(TextWriter.Null); + var reporter = new Reporter(null, $"{name}.md"); var expectedXml = ReadResource($"{name}.xml"); var spec = MarkdownSpec.ReadFiles(new[] { $"{name}.md" }, reporter, name => new StreamReader(new MemoryStream(ReadResource(name)))); @@ -82,7 +82,7 @@ public void LongLineWarnings(int lineLength, bool code, int expectedWarningCount string line = new string('x', lineLength); string suffix = code ? "```\r\n" : ""; string text = $"# 1 Heading\r\n{prefix}{line}\r\n{suffix}"; - var reporter = new Reporter(TextWriter.Null); + var reporter = new Reporter(null, "test.md"); var spec = MarkdownSpec.ReadFiles(new[] { "test.md" }, reporter, _ => new StringReader(text)); var resultDoc = WordprocessingDocument.Create(new MemoryStream(), WordprocessingDocumentType.Document); var source = spec.Sources.Single(); @@ -105,7 +105,7 @@ public void LongLineWarnings(int lineLength, bool code, int expectedWarningCount public void InvalidListStartErrors(string text, int expectedErrorCount) { text = $"# 1 Heading\r\n{text}"; - var reporter = new Reporter(TextWriter.Null); + var reporter = new Reporter(); var spec = MarkdownSpec.ReadFiles(new[] { "test.md" }, reporter, _ => new StringReader(text)); Assert.Equal(expectedErrorCount, reporter.Errors); } diff --git a/tools/MarkdownConverter.Tests/MarkdownSpecFileListTests.cs b/tools/MarkdownConverter.Tests/MarkdownSpecFileListTests.cs index 426034443..054cd1c9c 100644 --- a/tools/MarkdownConverter.Tests/MarkdownSpecFileListTests.cs +++ b/tools/MarkdownConverter.Tests/MarkdownSpecFileListTests.cs @@ -8,6 +8,6 @@ public class MarkdownSpecFileListTests [Fact] public void EmptyListTest() { - Assert.Throws(() => MarkdownSpec.ReadFiles(null!, new Reporter(TextWriter.Null))); + Assert.Throws(() => MarkdownSpec.ReadFiles(null!, new Reporter())); } } diff --git a/tools/MarkdownConverter/Converter/DiagnosticIDs.cs b/tools/MarkdownConverter/Converter/DiagnosticIDs.cs new file mode 100644 index 000000000..054c83ed5 --- /dev/null +++ b/tools/MarkdownConverter/Converter/DiagnosticIDs.cs @@ -0,0 +1,34 @@ +namespace MarkdownConverter.Converter; + +internal class DiagnosticIDs +{ + public const string MDC002 = nameof(MDC002); + public const string MDC003 = nameof(MDC003); + + public const string MDC008 = nameof(MDC008); + public const string MDC009 = nameof(MDC009); + public const string MDC010 = nameof(MDC010); + public const string MDC011 = nameof(MDC011); + public const string MDC012 = nameof(MDC012); + public const string MDC013 = nameof(MDC013); + public const string MDC014 = nameof(MDC014); + public const string MDC015 = nameof(MDC015); + public const string MDC016 = nameof(MDC016); + public const string MDC016b = nameof(MDC016b); + public const string MDC017 = nameof(MDC017); + public const string MDC018 = nameof(MDC018); + public const string MDC019 = nameof(MDC019); + public const string MDC020 = nameof(MDC020); + + public const string MDC026 = nameof(MDC026); + public const string MDC027 = nameof(MDC027); + public const string MDC028 = nameof(MDC028); + public const string MDC029 = nameof(MDC029); + public const string MDC030 = nameof(MDC030); + public const string MDC031 = nameof(MDC031); + public const string MDC032 = nameof(MDC032); + public const string MDC033 = nameof(MDC033); + + // Just for status messages: + public const string MDC999 = nameof(MDC999); +} diff --git a/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs b/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs index a27aee31b..471705a2a 100644 --- a/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs +++ b/tools/MarkdownConverter/Converter/MarkdownSourceConverter.cs @@ -106,7 +106,7 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) var i = sr.Url.IndexOf("#"); string currentSection = $"{sr.Url.Substring(0, i)} {new string('#', level)} {sr.Title} [{sr.Number}]"; - reporter.Log(currentSection); + reporter.Log(DiagnosticIDs.MDC999, currentSection); yield break; } @@ -170,12 +170,12 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) } else { - reporter.Error("MD31", "Table in quoted block does not start with table properties"); + reporter.Error(DiagnosticIDs.MDC031, "Table in quoted block does not start with table properties"); } } else { - reporter.Error("MD30", $"Unhandled element type in quoted block: {element.GetType()}"); + reporter.Error(DiagnosticIDs.MDC030, $"Unhandled element type in quoted block: {element.GetType()}"); } } yield break; @@ -310,7 +310,7 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) } else { - reporter.Error("MD08", $"Unexpected item in list '{content.GetType().Name}'"); + reporter.Error(DiagnosticIDs.MDC008, $"Unexpected item in list '{content.GetType().Name}'"); } } } @@ -344,17 +344,18 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) lines = Colorize.PlainText(code); break; default: - reporter.Error("MD09", $"unrecognized language {lang}"); + reporter.Error(DiagnosticIDs.MDC009, $"unrecognized language {lang}"); lines = Colorize.PlainText(code); break; } + int lineOffset = 0; foreach (var line in lines) { int lineLength = line.Words.Sum(w => w.Text.Length); if (lineLength > MaximumCodeLineLength) { - reporter.Warning("MD32", $"Line length {lineLength} > maximum {MaximumCodeLineLength}"); + reporter.Warning(DiagnosticIDs.MDC032, $"Line length {lineLength} > maximum {MaximumCodeLineLength}", lineOffset: lineOffset); } if (onFirstLine) @@ -388,6 +389,7 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) run.Append(new Text(word.Text) { Space = SpaceProcessingModeValues.Preserve }); runs.Add(run); } + lineOffset++; } var p = new Paragraph() { ParagraphProperties = new ParagraphProperties(new ParagraphStyleId { Val = "Code" }) }; p.Append(runs); @@ -402,7 +404,7 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) var table = TableHelpers.CreateTable(); if (header == null) { - reporter.Error("MD10", "Github requires all tables to have header rows"); + reporter.Error(DiagnosticIDs.MDC010, "Github requires all tables to have header rows"); } else if (!header.Any(cell => cell.Length > 0)) { @@ -495,7 +497,7 @@ IEnumerable Paragraph2Paragraphs(MarkdownParagraph md) } else { - reporter.Error("MD11", $"Unrecognized markdown element {md.GetType().Name}"); + reporter.Error(DiagnosticIDs.MDC011, $"Unrecognized markdown element {md.GetType().Name}"); yield return new Paragraph(new Run(new Text($"[{md.GetType().Name}]"))); } } @@ -518,13 +520,13 @@ IEnumerable FlattenList(MarkdownParagraph.ListBlock md) var content = item.Paragraph; if (isOrdered.ContainsKey(level) && isOrdered[level] != isItemOrdered) { - reporter.Error("MD12", "List can't mix ordered and unordered items at same level"); + reporter.Error(DiagnosticIDs.MDC012, "List can't mix ordered and unordered items at same level"); } isOrdered[level] = isItemOrdered; if (level > 3) { - reporter.Error("MD13", "Can't have more than 4 levels in a list"); + reporter.Error(DiagnosticIDs.MDC013, "Can't have more than 4 levels in a list"); } } return flat; @@ -610,7 +612,7 @@ IEnumerable FlattenList(MarkdownParagraph.ListBlock md, int level) } else { - reporter.Error("MD14", $"nothing fancy allowed in lists - specifically not '{mdp.GetType().Name}'"); + reporter.Error(DiagnosticIDs.MDC014, $"nothing fancy allowed in lists - specifically not '{mdp.GetType().Name}'"); } } } @@ -695,8 +697,8 @@ IEnumerable Span2Elements(MarkdownSpan md, bool nestedSpan = fal if (context.Terms.ContainsKey(literal)) { var def = context.Terms[literal]; - reporter.Warning("MD16", $"Term '{literal}' defined a second time"); - reporter.Warning("MD16b", $"Here was the previous definition of term '{literal}'", def.Loc); + reporter.Warning(DiagnosticIDs.MDC016, $"Term '{literal}' defined a second time"); + reporter.Warning(DiagnosticIDs.MDC016b, $"Here was the previous definition of term '{literal}'", def.Loc); } else { @@ -710,7 +712,7 @@ IEnumerable Span2Elements(MarkdownSpan md, bool nestedSpan = fal // either to emphasis some human-text or to refer to an ANTLR-production if (!nestedSpan && md.IsEmphasis && (spans.Count() != 1 || !spans.First().IsLiteral)) { - reporter.Error("MD17", $"something odd inside emphasis"); + reporter.Error(DiagnosticIDs.MDC017, $"something odd inside emphasis"); } if (!nestedSpan && md.IsEmphasis && spans.Count() == 1 && spans.First() is MarkdownSpan.Literal spanLiteral) @@ -834,7 +836,7 @@ Run CreateRun((string text, VerticalPositionValues position) part) } else { - reporter.Error("MD18", $"Link anchor must be Literal or InlineCode, not '{md.GetType().Name}'"); + reporter.Error(DiagnosticIDs.MDC018, $"Link anchor must be Literal or InlineCode, not '{md.GetType().Name}'"); yield break; } @@ -848,7 +850,7 @@ Run CreateRun((string text, VerticalPositionValues position) part) var expectedAnchor = "§" + section.Number; if (anchor != expectedAnchor) { - reporter.Warning("MD19", $"Mismatch: link anchor is '{anchor}', should be '{expectedAnchor}'"); + reporter.Warning(DiagnosticIDs.MDC019, $"Mismatch: link anchor is '{anchor}', should be '{expectedAnchor}'"); } } @@ -877,7 +879,7 @@ Run CreateRun((string text, VerticalPositionValues position) part) // TODO: Make this report an error unconditionally once the subscript "latex-like" Markdown is removed. if (url != "") { - reporter.Error("MD28", $"Hyperlink url '{url}' unrecognized - not a recognized heading, and not http"); + reporter.Error(DiagnosticIDs.MDC028, $"Hyperlink url '{url}' unrecognized - not a recognized heading, and not http"); } } } @@ -889,7 +891,7 @@ Run CreateRun((string text, VerticalPositionValues position) part) else { - reporter.Error("MD20", $"Unrecognized markdown element {md.GetType().Name}"); + reporter.Error(DiagnosticIDs.MDC020, $"Unrecognized markdown element {md.GetType().Name}"); yield return new Run(new Text($"[{md.GetType().Name}]")); } } @@ -996,7 +998,7 @@ private static int BugWorkaroundIndent(ref MarkdownParagraph mdp, int level) private IEnumerable HandleInvalidCustomBlock(string customBlockId) { - reporter.Error("MD29", $"Invalid custom block ID: {customBlockId}"); + reporter.Error(DiagnosticIDs.MDC029, $"Invalid custom block ID: {customBlockId}"); yield return new Paragraph(new Run(new Text($"Custom block {customBlockId}"))); } diff --git a/tools/MarkdownConverter/Converter/MarkdownSpecConverter.cs b/tools/MarkdownConverter/Converter/MarkdownSpecConverter.cs index 1ed5e152d..924499d30 100644 --- a/tools/MarkdownConverter/Converter/MarkdownSpecConverter.cs +++ b/tools/MarkdownConverter/Converter/MarkdownSpecConverter.cs @@ -32,7 +32,7 @@ public static void ConvertToWord(MarkdownSpec spec, string templateFile, string wordDocument: resultDoc, spec: spec, filename: fileName, - reporter.WithFileName(fileName)); + reporter.WithFileName(src.Item1)); foreach (var p in converter.Paragraphs) { body.AppendChild(p); diff --git a/tools/MarkdownConverter/MarkdownConverter.csproj b/tools/MarkdownConverter/MarkdownConverter.csproj index 9f8fe6ebb..fcbee266c 100644 --- a/tools/MarkdownConverter/MarkdownConverter.csproj +++ b/tools/MarkdownConverter/MarkdownConverter.csproj @@ -16,4 +16,8 @@ + + + + diff --git a/tools/MarkdownConverter/Program.cs b/tools/MarkdownConverter/Program.cs index 83ea5c34d..b3319a9e3 100644 --- a/tools/MarkdownConverter/Program.cs +++ b/tools/MarkdownConverter/Program.cs @@ -11,11 +11,13 @@ namespace MarkdownConverter; static class Program { - static int Main(string[] args) + static async Task Main(string[] args) { // mdspec2docx *.md csharp.g4 template.docx -o spec.docx var ifiles = new List(); var ofiles = new List(); + var head_sha = Environment.GetEnvironmentVariable("HEAD_SHA"); + var token = Environment.GetEnvironmentVariable("GH_TOKEN"); string argserror = ""; for (int i = 0; i < args.Length; i++) { @@ -111,7 +113,7 @@ static int Main(string[] args) Console.WriteLine("Reading markdown files"); - var reporter = new Reporter(Console.Error); + var reporter = new Reporter(); // Read input file. If it contains a load of linked filenames, then read them instead. var md = MarkdownSpec.ReadFiles(imdfiles, reporter); @@ -122,7 +124,7 @@ static int Main(string[] args) var odocfile2 = odocfile; if (odocfile2 != odocfile) { - reporter.Error("MD26", $"File '{odocfile}' was in use"); + reporter.Error(DiagnosticIDs.MDC026, $"File '{odocfile}' was in use"); } Console.WriteLine($"Writing '{Path.GetFileName(odocfile2)}'"); @@ -132,7 +134,7 @@ static int Main(string[] args) } catch (Exception ex) { - reporter.Error("MD27", ex.ToString()); + reporter.Error(DiagnosticIDs.MDC027, ex.ToString()); return 1; } if (odocfile2 != odocfile) @@ -142,6 +144,12 @@ static int Main(string[] args) } Console.WriteLine($"Errors: {reporter.Errors}"); Console.WriteLine($"Warnings: {reporter.Warnings}"); + if ((head_sha is not null) && + (token is not null)) + { + await reporter.WriteCheckStatus(token, head_sha); + + } return reporter.Errors == 0 ? 0 : 1; } } diff --git a/tools/MarkdownConverter/Properties/launchSettings.json b/tools/MarkdownConverter/Properties/launchSettings.json deleted file mode 100644 index 497f62c95..000000000 --- a/tools/MarkdownConverter/Properties/launchSettings.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "profiles": { - "MarkdownConverter": { - "commandName": "Project", - "commandLineArgs": "../standard/*.md MarkdownConverter/template.docx -o tmp/debug.docx", - "workingDirectory": "$(SolutionDir)" - } - } -} \ No newline at end of file diff --git a/tools/MarkdownConverter/Spec/MarkdownSpec.cs b/tools/MarkdownConverter/Spec/MarkdownSpec.cs index 0fef1d2f8..6fa967de8 100644 --- a/tools/MarkdownConverter/Spec/MarkdownSpec.cs +++ b/tools/MarkdownConverter/Spec/MarkdownSpec.cs @@ -37,7 +37,7 @@ private MarkdownSpec(IEnumerable> sources, Repor var sr = Context.CreateSectionRef(heading, filename); if (Sections.Any(s => s.Url == sr.Url)) { - fileReporter.Error("MD02", $"Duplicate section title {sr.Url}"); + fileReporter.Error(DiagnosticIDs.MDC002, $"Duplicate section title {sr.Url}"); } else { @@ -48,7 +48,7 @@ private MarkdownSpec(IEnumerable> sources, Repor } catch (Exception ex) { - fileReporter.Error("MD03", ex.Message); // constructor of SectionRef might throw + fileReporter.Error(DiagnosticIDs.MDC003, ex.Message); // constructor of SectionRef might throw } } } @@ -115,7 +115,7 @@ private static void ValidateLists(string file, string text, Reporter reporter) var range = new MarkdownRange(i + 1, 1, i + 1, 1); var span = MarkdownSpan.NewLiteral("", range); var paragraph = MarkdownParagraph.NewSpan(FSharpList.Cons(span, FSharpList.Empty), range); - reporter.Error("MD33", "Invalid start of list: needs a blank line.", new SourceLocation(file, null, paragraph, null)); + reporter.Error(DiagnosticIDs.MDC033, "Invalid start of list: needs a blank line.", new SourceLocation(file, null, paragraph, null)); } } } diff --git a/tools/MarkdownConverter/Spec/Reporter.cs b/tools/MarkdownConverter/Spec/Reporter.cs index 7d4334547..47aad0fac 100644 --- a/tools/MarkdownConverter/Spec/Reporter.cs +++ b/tools/MarkdownConverter/Spec/Reporter.cs @@ -1,4 +1,5 @@ using FSharp.Formatting.Markdown; +using Utilities; namespace MarkdownConverter.Spec; @@ -10,10 +11,7 @@ namespace MarkdownConverter.Spec; /// public class Reporter { - /// - /// The text writer to write Messages to. - /// - private readonly TextWriter writer; + private readonly StatusCheckLogger githubLogger; /// /// The parent reporter, if any. (This is to allow a complete error/warning count to be kept.) @@ -25,18 +23,17 @@ public class Reporter public SourceLocation Location { get; set; } = new SourceLocation(null, null, null, null); - private Reporter(Reporter? parent, TextWriter writer, string? filename) + public Reporter() : this(null, null) { } + + public Reporter(Reporter? parent, string? filename) { + // This is needed so that all Reporters share the same GitHub logger. + this.githubLogger = parent?.githubLogger ?? new StatusCheckLogger("..", "Markdown to Word Converter"); this.parent = parent; - this.writer = writer; Location = new SourceLocation(filename, null, null, null); } - public Reporter(TextWriter writer) : this(null, writer, null) - { - } - - public Reporter WithFileName(string filename) => new Reporter(this, writer, filename); + public Reporter WithFileName(string filename) => new Reporter(this, filename); public string? CurrentFile => Location.File; @@ -60,14 +57,22 @@ public MarkdownSpan? CurrentSpan public void Error(string code, string msg, SourceLocation? loc = null) { + loc = loc ?? Location; IncrementErrors(); - Report(code, "ERROR", msg, loc?.Description ?? Location.Description); + githubLogger.LogFailure(new Diagnostic(loc.File ?? "mdspec2docx", loc.StartLine, loc.EndLine, msg, code)); } - public void Warning(string code, string msg, SourceLocation? loc = null) + public void Warning(string code, string msg, SourceLocation? loc = null, int lineOffset = 0) { + loc = loc ?? Location; IncrementWarnings(); - Report(code, "WARNING", msg, loc?.Description ?? Location.Description); + githubLogger.LogWarning(new Diagnostic(loc.File ?? "mdspec2docx", loc.StartLine+lineOffset, loc.EndLine+lineOffset, msg, code)); + } + + public void Log(string code, string msg, SourceLocation? loc = null) + { + loc = loc ?? Location; + // githubLogger.LogNotice(new Diagnostic(loc.File ?? "mdspec2docx", loc.StartLine, loc.EndLine, msg, code)); } private void IncrementWarnings() @@ -82,8 +87,6 @@ private void IncrementErrors() parent?.IncrementErrors(); } - public void Log(string msg) { } - - internal void Report(string code, string severity, string msg, string loc) => - writer.WriteLine($"{loc}: {severity} {code}: {msg}"); + internal async Task WriteCheckStatus(string token, string head_sha) => + await githubLogger.BuildCheckRunResult(token, "dotnet", "csharpstandard", head_sha); } diff --git a/tools/MarkdownConverter/Spec/SourceLocation.cs b/tools/MarkdownConverter/Spec/SourceLocation.cs index 6f39485ca..9f30b68a8 100644 --- a/tools/MarkdownConverter/Spec/SourceLocation.cs +++ b/tools/MarkdownConverter/Spec/SourceLocation.cs @@ -1,4 +1,5 @@ -using FSharp.Formatting.Markdown; +using System.Diagnostics.CodeAnalysis; +using FSharp.Formatting.Markdown; using Microsoft.FSharp.Core; namespace MarkdownConverter.Spec; @@ -26,53 +27,92 @@ public string Description { get { - if (_loc != null) - { - return _loc; - } + ComputeLazyFields(); + return _loc; + } + } - if (File == null) - { - _loc = "mdspec2docx"; - } - else if (Section == null && Paragraph == null) + private int? _startLine; + public int StartLine + { + get + { + ComputeLazyFields(); + return _startLine.Value; + } + } + + private int? _endLine; + + public int EndLine + { + get + { + ComputeLazyFields(); + return _endLine.Value; + } + } + + // Factor out this helper method to compute start line, + // end line, and file name if any are missing. + [MemberNotNull(nameof(_loc), nameof(_startLine), nameof(_endLine))] + private void ComputeLazyFields() + { + string loc = _loc!; + int? startLine = _startLine; + int? endLine = _endLine; + if (File == null) + { + _loc = "mdspec2docx"; + startLine = 1; + endLine = 1; + } + else if (Section == null && Paragraph == null) + { + loc = File; + startLine = 1; + endLine = 1; + } + else + { + // TODO: Revisit all of the null-forgiving operator usage here at some point. + + // Note: we now use the F# Markdown support for ranges, rather than finding text directly. + // This produces slightly weaker diagnostics than before, but it avoids an awful lot of fiddly fuzzy text matching code. + + // TODO: Revisit SectionRef.Loc, possibly just exposing the paragraph directly. + var maybeRange = GetRange(Span!); + if (maybeRange != null) { - _loc = File; + var range = maybeRange.Value; + loc = $"{File}({range.StartLine},{range.StartColumn},{range.EndLine},{range.EndColumn})"; + startLine = range.StartLine; + endLine = range.EndLine; } else { - // TODO: Revisit all of the null-forgiving operator usage here at some point. - - // Note: we now use the F# Markdown support for ranges, rather than finding text directly. - // This produces slightly weaker diagnostics than before, but it avoids an awful lot of fiddly fuzzy text matching code. - - // TODO: Revisit SectionRef.Loc, possibly just exposing the paragraph directly. - var maybeRange = GetRange(Span!); - if (maybeRange != null) + maybeRange = GetRange(Paragraph!) ?? GetRange(Section!.Loc.Paragraph!); + if (maybeRange == null) { - var range = maybeRange.Value; - _loc = $"{File}({range.StartLine},{range.StartColumn},{range.EndLine},{range.EndColumn})"; + // We don't have any line or column information. Just report the filename. + loc = File; + startLine = 1; + endLine = 1; } else { - maybeRange = GetRange(Paragraph!) ?? GetRange(Section!.Loc.Paragraph!); - if (maybeRange == null) - { - // We don't have any line or column information. Just report the filename. - _loc = File; - } - else - { - var range = maybeRange.Value; - _loc = range.StartLine == range.EndLine - ? $"{File}({range.StartLine})" - : $"{File}({range.StartLine}-{range.EndLine})"; - } + var range = maybeRange.Value; + loc = range.StartLine == range.EndLine + ? $"{File}({range.StartLine})" + : $"{File}({range.StartLine}-{range.EndLine})"; + startLine = range.StartLine; + endLine = range.EndLine; } } - - return _loc; } + _loc ??= loc; + _startLine ??= startLine; + _endLine ??= endLine; } // Each tagged type within the F# Markdown library for pargraph/span contains a "range" property, but diff --git a/tools/StandardAnchorTags/Program.cs b/tools/StandardAnchorTags/Program.cs index f1c9814ae..6c0f77449 100644 --- a/tools/StandardAnchorTags/Program.cs +++ b/tools/StandardAnchorTags/Program.cs @@ -21,12 +21,12 @@ public class Program /// /// The GitHub owner org (for example, "dotnet") /// The GitHub repo name (for example, "csharpstandard") - /// The commit sha, when run as a GitHub action /// True for a dry run, false to update the text in all files /// 0 on success, non-zero on failure - static async Task Main(string owner, string repo, string? headSha = null, bool dryrun =false) + static async Task Main(string owner, string repo, bool dryrun =false) { var logger = new StatusCheckLogger("..", "TOC and Anchor updater"); + var headSha = Environment.GetEnvironmentVariable("HEAD_SHA"); var token = Environment.GetEnvironmentVariable("GH_TOKEN"); using FileStream openStream = File.OpenRead(FilesPath); standardClauses = await JsonSerializer.DeserializeAsync(openStream); diff --git a/tools/Utilities/StatusCheckLogger.cs b/tools/Utilities/StatusCheckLogger.cs index b9240a2b9..e98ea1e57 100644 --- a/tools/Utilities/StatusCheckLogger.cs +++ b/tools/Utilities/StatusCheckLogger.cs @@ -138,7 +138,7 @@ public async Task BuildCheckRunResult(string token, string owner, string repo, s } // If the token does not have the correct permissions, we will get a 403 // Once running on a branch on the dotnet org, this should work correctly. - catch (Octokit.ForbiddenException) + catch (ForbiddenException) { Console.WriteLine("===== WARNING: Could not create a check run.====="); } diff --git a/tools/run-section-renumber-update.sh b/tools/run-section-renumber-update.sh deleted file mode 100644 index bb9b38584..000000000 --- a/tools/run-section-renumber-update.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -set -e - -declare -r PROJECT=StandardAnchorTags - -dotnet run --project $PROJECT -- --owner dotnet --repo csharpstandard - -if [ -n "$GITHUB_OUTPUT" ] -then - echo "status=success" >> $GITHUB_OUTPUT -fi diff --git a/tools/run-section-renumber.sh b/tools/run-section-renumber.sh index 81aab1903..bb9b38584 100755 --- a/tools/run-section-renumber.sh +++ b/tools/run-section-renumber.sh @@ -4,7 +4,7 @@ set -e declare -r PROJECT=StandardAnchorTags -dotnet run --project $PROJECT -- --owner dotnet --repo csharpstandard --dryrun true --head-sha $1 +dotnet run --project $PROJECT -- --owner dotnet --repo csharpstandard if [ -n "$GITHUB_OUTPUT" ] then From 4c9ee4f5ff3f7d44a719aa3c4532c507f52a0db4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 27 Jun 2024 11:06:22 -0400 Subject: [PATCH 116/259] Bump Octokit from 12.0.0 to 13.0.0 in /tools in the dotnet group (#1137) Bumps the dotnet group in /tools with 1 update: [Octokit](https://github.com/octokit/octokit.net). Updates `Octokit` from 12.0.0 to 13.0.0 - [Release notes](https://github.com/octokit/octokit.net/releases) - [Changelog](https://github.com/octokit/octokit.net/blob/main/docs/releases.md) - [Commits](https://github.com/octokit/octokit.net/compare/v12.0.0...v13.0.0) --- updated-dependencies: - dependency-name: Octokit dependency-type: direct:production update-type: version-update:semver-major dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/Utilities/Utilities.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/Utilities/Utilities.csproj b/tools/Utilities/Utilities.csproj index a1137dd6e..39b7b5bea 100644 --- a/tools/Utilities/Utilities.csproj +++ b/tools/Utilities/Utilities.csproj @@ -7,7 +7,7 @@ - + From 06d73f4aba7b278e5d9ec71337efdad8c1009d05 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Mon, 8 Jul 2024 10:37:33 -0400 Subject: [PATCH 117/259] Add xref links to various conversion-related bullet lists (#1140) * add xref links * add xref links * add xref links --- standard/conversions.md | 55 ++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/standard/conversions.md b/standard/conversions.md index d08787bfd..3eb17b1cb 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -46,24 +46,23 @@ Some conversions in the language are defined from expressions to types, others f The following conversions are classified as implicit conversions: -- Identity conversions -- Implicit numeric conversions -- Implicit enumeration conversions -- Implicit interpolated string conversions -- Implicit reference conversions -- Boxing conversions -- Implicit dynamic conversions -- Implicit type parameter conversions -- Implicit constant expression conversions -- User-defined implicit conversions -- Anonymous function conversions -- Method group conversions -- Null literal conversions -- Implicit nullable conversions -- Implicit tuple conversions -- Lifted user-defined implicit conversions -- Default literal conversions -- Implicit throw conversion +- Identity conversions ([§10.2.2](conversions.md#1022-identity-conversion)) +- Implicit numeric conversions ([§10.2.3](conversions.md#1023-implicit-numeric-conversions)) +- Implicit enumeration conversions ([§10.2.4](conversions.md#1024-implicit-enumeration-conversions)) +- Implicit interpolated string conversions ([§10.2.5](conversions.md#1025-implicit-interpolated-string-conversions)) +- Implicit reference conversions ([§10.2.8](conversions.md#1028-implicit-reference-conversions)) +- Boxing conversions ([§10.2.9](conversions.md#1029-boxing-conversions)) +- Implicit dynamic conversions ([§10.2.10](conversions.md#10210-implicit-dynamic-conversions)) +- Implicit type parameter conversions ([§10.2.12](conversions.md#10212-implicit-conversions-involving-type-parameters)) +- Implicit constant expression conversions ([§10.2.11](conversions.md#10211-implicit-constant-expression-conversions)) +- User-defined (including lifted) implicit conversions ([§10.2.14](conversions.md#10214-user-defined-implicit-conversions)) +- Anonymous function conversions ([§10.2.15](conversions.md#10215-anonymous-function-conversions-and-method-group-conversions)) +- Method group conversions ([§10.2.15](conversions.md#10215-anonymous-function-conversions-and-method-group-conversions)) +- Null literal conversions ([§10.2.7](conversions.md#1027-null-literal-conversions)) +- Implicit nullable conversions ([§10.2.6](conversions.md#1026-implicit-nullable-conversions)) +- Implicit tuple conversions ([§10.2.13](conversions.md#10213-implicit-tuple-conversions)) +- Default literal conversions ([§10.2.16](conversions.md#10216-default-literal-conversions)) +- Implicit throw conversions ([§10.2.17](conversions.md#10217-implicit-throw-conversions)) Implicit conversions can occur in a variety of situations, including function member invocations ([§12.6.6](expressions.md#1266-function-member-invocation)), cast expressions ([§12.9.7](expressions.md#1297-cast-expressions)), and assignments ([§12.21](expressions.md#1221-assignment-operators)). @@ -386,17 +385,17 @@ While throw expressions do not have a type, they may be implicitly converted to The following conversions are classified as explicit conversions: -- All implicit conversions -- Explicit numeric conversions -- Explicit enumeration conversions -- Explicit nullable conversions -- Explicit tuple conversions -- Explicit reference conversions +- All implicit conversions ([§10.2](conversions.md#102-implicit-conversions)) +- Explicit numeric conversions ([§10.3.2](conversions.md#1032-explicit-numeric-conversions)) +- Explicit enumeration conversions ([§10.3.3](conversions.md#1033-explicit-enumeration-conversions)) +- Explicit nullable conversions ([§10.3.4](conversions.md#1034-explicit-nullable-conversions)) +- Explicit tuple conversions ([§10.3.6](conversions.md#1036-explicit-tuple-conversions)) +- Explicit reference conversions ([§10.3.5](conversions.md#1035-explicit-reference-conversions)) - Explicit interface conversions -- Unboxing conversions -- Explicit type parameter conversions -- Explicit dynamic conversions -- User-defined explicit conversions +- Unboxing conversions ([§10.3.7](conversions.md#1037-unboxing-conversions)) +- Explicit type parameter conversions ([§10.3.9](conversions.md#1039-explicit-conversions-involving-type-parameters)) +- Explicit dynamic conversions ([§10.3.8](conversions.md#1038-explicit-dynamic-conversions)) +- User-defined explicit conversions ([§10.3.10](conversions.md#10310-user-defined-explicit-conversions)) Explicit conversions can occur in cast expressions ([§12.9.7](expressions.md#1297-cast-expressions)). From f69574e1c6922da1d4cdd02d0c01da5ca3bf6eea Mon Sep 17 00:00:00 2001 From: "Andy (Steve) De George" <67293991+adegeo@users.noreply.github.com> Date: Tue, 9 Jul 2024 11:10:54 -0700 Subject: [PATCH 118/259] Update quest-config.json (#1141) --- quest-config.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/quest-config.json b/quest-config.json index 8afcad59d..5eb8ef035 100644 --- a/quest-config.json +++ b/quest-config.json @@ -5,5 +5,12 @@ "AreaPath": "Production\\Digital and App Innovation\\DotNet and more\\dotnet" }, "ImportTriggerLabel": "reQUEST", - "ImportedLabel": "seQUESTered" + "ImportedLabel": "seQUESTered", + "DefaultParentNode": 227484, + "WorkItemTags": [ + { + "Label": ":label: content-curation", + "Tag": "content-curation" + } + ] } From 1ca063e61899b4f44453722ed072746c23799a6c Mon Sep 17 00:00:00 2001 From: "Andy (Steve) De George" <67293991+adegeo@users.noreply.github.com> Date: Tue, 9 Jul 2024 12:27:24 -0700 Subject: [PATCH 119/259] Update quest-config.json (#1142) --- quest-config.json | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/quest-config.json b/quest-config.json index 5eb8ef035..17b7de36d 100644 --- a/quest-config.json +++ b/quest-config.json @@ -6,11 +6,5 @@ }, "ImportTriggerLabel": "reQUEST", "ImportedLabel": "seQUESTered", - "DefaultParentNode": 227484, - "WorkItemTags": [ - { - "Label": ":label: content-curation", - "Tag": "content-curation" - } - ] + "DefaultParentNode": 227484 } From 8fac1a449f044f947929efadc7befd11b37c20ec Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 10 Jul 2024 16:47:35 -0400 Subject: [PATCH 120/259] Preprocessor symbols for nullable reference types: Define a single nullable context. (#1123) * Port text from #700 The first commit ports in the text from #700 substantially without change. The only editorial change is to move the clause on "Nullable directives" in lexical-structure before the clause on Pragma directives. In addition, it fixes build warnings * Remove link (which will need to get added) Remove an Xref to a section that's not in this PR. * Define a single nullable context Alternative PR to #1108. This branch builds on the work in #1108. This is an alternative approach that defines a single `nullable` context. The nullable context has two properties: `annotations` and `warnings` that can be enabled or disabled separately. * Update per meeting comments in review This commit addresses all online feedback. * Respond to feedback from June meeting I listened to the June meeting. I updated a bit of text, and added Jon's example from the conversation. * Update lexical-structure.md * Apply suggestions from code review * Update standard/lexical-structure.md --- standard/basic-concepts.md | 10 ++-- standard/lexical-structure.md | 56 ++++++++++++++++++- .../standalone-console/Project.csproj | 2 +- 3 files changed, 60 insertions(+), 8 deletions(-) diff --git a/standard/basic-concepts.md b/standard/basic-concepts.md index 315cc8f30..3e8a440c2 100644 --- a/standard/basic-concepts.md +++ b/standard/basic-concepts.md @@ -1030,7 +1030,7 @@ The behavior of the garbage collector can be controlled, to some degree, via sta > { > static void Main() > { -> B b = new B(new A()); +> B? b = new B(new A()); > b = null; > GC.Collect(); > GC.WaitForPendingFinalizers(); @@ -1075,19 +1075,19 @@ The behavior of the garbage collector can be controlled, to some degree, via sta > > class B > { -> public A Ref; +> public A? Ref; > > ~B() > { > Console.WriteLine("Finalize instance of B"); -> Ref.F(); +> Ref?.F(); > } > } > > class Test > { -> public static A RefA; -> public static B RefB; +> public static A? RefA; +> public static B? RefB; > > static void Main() > { diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index 7798388a1..ced867318 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -1026,7 +1026,7 @@ right_shift_assignment ### 6.5.1 General -The pre-processing directives provide the ability to conditionally skip sections of compilation units, to report error and warning conditions, and to delineate distinct regions of source code. +The pre-processing directives provide the ability to conditionally skip sections of compilation units, to report error and warning conditions, to delineate distinct regions of source code, and to set the nullable context. > *Note*: The term “pre-processing directives” is used only for consistency with the C and C++ programming languages. In C#, there is no separate pre-processing step; pre-processing directives are processed as part of the lexical analysis phase. *end note* @@ -1042,6 +1042,7 @@ fragment PP_Kind | PP_Diagnostic | PP_Region | PP_Pragma + | PP_Nullable ; // Only recognised at the beginning of a line @@ -1078,10 +1079,11 @@ The following pre-processing directives are available: - `#error`, which is used to issue errors ([§6.5.6](lexical-structure.md#656-diagnostic-directives)). - `#region` and `#endregion`, which are used to explicitly mark sections of source code ([§6.5.7](lexical-structure.md#657-region-directives)). - `#pragma`, which is used to specify optional contextual information to a compiler ([§6.5.9](lexical-structure.md#659-pragma-directives)). +- `#nullable`, which is used to specify the nullable context (§Nullable-Directives). A pre-processing directive always occupies a separate line of source code and always begins with a `#` character and a pre-processing directive name. White space may occur before the `#` character and between the `#` character and the directive name. -A source line containing a `#define`, `#undef`, `#if`, `#elif`, `#else`, `#endif`, `#line`, or `#endregion` directive can end with a single-line comment. Delimited comments (the `/* */` style of comments) are not permitted on source lines containing pre-processing directives. +A source line containing a `#define`, `#undef`, `#if`, `#elif`, `#else`, `#endif`, `#line`, `#endregion`, or `#nullable` directive can end with a single-line comment. Delimited comments (the `/* */` style of comments) are not permitted on source lines containing pre-processing directives. Pre-processing directives are not part of the syntactic grammar of C#. However, pre-processing directives can be used to include or exclude sequences of tokens and can in that way affect the meaning of a C# program. @@ -1507,6 +1509,56 @@ A `#line hidden` directive has no effect on the compilation unit and line number > *Note*: Although a *PP_Compilation_Unit_Name* might contain text that looks like an escape sequence, such text is not an escape sequence; in this context a ‘`\`’ character simply designates an ordinary backslash character. *end note* +### §Nullable-Directives Nullable directive + +The nullable directive controls the nullable context, as described below. + +```ANTLR +fragment PP_Nullable + : PP_Whitespace? '#' PP_Whitespace? 'nullable' PP_Whitespace PP_Nullable_Action + (PP_Whitespace PP_Nullable_Target)? PP_New_Line + ; +fragment PP_Nullable_Action + : 'disable' + | 'enable' + | 'restore' + ; +fragment PP_Nullable_Target + : 'warnings' + | 'annotations' + ; +``` + +A nullable directive sets the available flags for subsequent lines of code, until another nullable directive overrides it, or until the end of the *compilation _unit* is reached. The nullable context contains two flags: *annotations* and *warnings*. The effect of each form of nullable directive is, as follows: + +- `#nullable disable`: Disables both nullable annotations and nullable warnings flags. +- `#nullable enable`: Enables both nullable annotations and nullable warnings flags. +- `#nullable restore`: Restores both the annotations and warnings flags to the state specified by the external mechanism, if any. +- `#nullable disable annotations`: Disables the nullable annotations flag. The nullable warnings flag is unaffected. +- `#nullable enable annotations`: Enables the nullable annotations flag. The nullable warnings flag is unaffected. +- `#nullable restore annotations`: Restores the nullable annotations flag to the state specified by the external mechanism, if any. The nullable warnings flag is unaffected. +- `#nullable disable warnings`: Disables the nullable warnings flag. The nullable annotations flag is unaffected. +- `#nullable enable warnings`: Enables the nullable warnings flag. The nullable annotations flag is unaffected. +- `#nullable restore warnings`: Restores the nullable warnings flag to the state specified by the external mechanism, if any. The nullable annotations flag is unaffected. + +The nullable state of expressions is tracked at all times. The state of the annotation flag and the presence or absence of a nullable annotation, `?`, determines the initial null state of a variable declaration. Warnings are only issued when the warnings flag is enabled. + +> *Example*: The example +> +> +> ```csharp +> #nullable disable +> string x = null; +> string y = ""; +> #nullable enable +> Console.WriteLine(x.Length); // Warning +> Console.WriteLine(y.Length); +> ``` +> +> produces a compile-time warning (“as `x` is `null`”). The nullable state of `x` is tracked everywhere. A warning is issued when the warnings flag is enabled. +> +> *end example* + ### 6.5.9 Pragma directives The `#pragma` preprocessing directive is used to specify contextual information to a compiler. diff --git a/tools/example-templates/standalone-console/Project.csproj b/tools/example-templates/standalone-console/Project.csproj index 281bd3de6..8beb2a9ed 100644 --- a/tools/example-templates/standalone-console/Project.csproj +++ b/tools/example-templates/standalone-console/Project.csproj @@ -4,7 +4,7 @@ Exe net6.0 enable - disable + annotations $example-name true annotations From d1068b8edf0611d0a4bfd3301fe23db82c57c5eb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 10 Jul 2024 16:59:41 -0400 Subject: [PATCH 121/259] [create-pull-request] automated change (#1145) Co-authored-by: BillWagner --- standard/README.md | 3 ++- standard/grammar.md | 18 +++++++++++++++++- standard/lexical-structure.md | 8 ++++---- standard/portability-issues.md | 2 +- 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/standard/README.md b/standard/README.md index acf4d9ad9..b036a4f6f 100644 --- a/standard/README.md +++ b/standard/README.md @@ -45,7 +45,8 @@ - [§6.5.6](lexical-structure.md#656-diagnostic-directives) Diagnostic directives - [§6.5.7](lexical-structure.md#657-region-directives) Region directives - [§6.5.8](lexical-structure.md#658-line-directives) Line directives - - [§6.5.9](lexical-structure.md#659-pragma-directives) Pragma directives + - [§6.5.9](lexical-structure.md#659-nullable-directive) Nullable directive + - [§6.5.10](lexical-structure.md#6510-pragma-directives) Pragma directives - [§7](basic-concepts.md#7-basic-concepts) Basic concepts - [§7.1](basic-concepts.md#71-application-startup) Application startup - [§7.2](basic-concepts.md#72-application-termination) Application termination diff --git a/standard/grammar.md b/standard/grammar.md index bb3638a05..d1255547d 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -400,6 +400,7 @@ fragment PP_Kind | PP_Diagnostic | PP_Region | PP_Pragma + | PP_Nullable ; // Only recognised at the beginning of a line @@ -532,7 +533,22 @@ fragment PP_Compilation_Unit_Name_Character : ~('\u000D' | '\u000A' | '\u0085' | '\u2028' | '\u2029' | '#') ; -// Source: §6.5.9 Pragma directives +// Source: §6.5.9 Nullable directive +fragment PP_Nullable + : PP_Whitespace? '#' PP_Whitespace? 'nullable' PP_Whitespace PP_Nullable_Action + (PP_Whitespace PP_Nullable_Target)? PP_New_Line + ; +fragment PP_Nullable_Action + : 'disable' + | 'enable' + | 'restore' + ; +fragment PP_Nullable_Target + : 'warnings' + | 'annotations' + ; + +// Source: §6.5.10 Pragma directives fragment PP_Pragma : 'pragma' PP_Pragma_Text? ; diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index ced867318..eaf032ffb 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -1078,8 +1078,8 @@ The following pre-processing directives are available: - `#line`, which is used to control line numbers emitted for errors and warnings ([§6.5.8](lexical-structure.md#658-line-directives)). - `#error`, which is used to issue errors ([§6.5.6](lexical-structure.md#656-diagnostic-directives)). - `#region` and `#endregion`, which are used to explicitly mark sections of source code ([§6.5.7](lexical-structure.md#657-region-directives)). -- `#pragma`, which is used to specify optional contextual information to a compiler ([§6.5.9](lexical-structure.md#659-pragma-directives)). -- `#nullable`, which is used to specify the nullable context (§Nullable-Directives). +- `#pragma`, which is used to specify optional contextual information to a compiler ([§6.5.10](lexical-structure.md#6510-pragma-directives)). +- `#nullable`, which is used to specify the nullable context ([§6.5.9](lexical-structure.md#659-nullable-directive)). A pre-processing directive always occupies a separate line of source code and always begins with a `#` character and a pre-processing directive name. White space may occur before the `#` character and between the `#` character and the directive name. @@ -1509,7 +1509,7 @@ A `#line hidden` directive has no effect on the compilation unit and line number > *Note*: Although a *PP_Compilation_Unit_Name* might contain text that looks like an escape sequence, such text is not an escape sequence; in this context a ‘`\`’ character simply designates an ordinary backslash character. *end note* -### §Nullable-Directives Nullable directive +### 6.5.9 Nullable directive The nullable directive controls the nullable context, as described below. @@ -1559,7 +1559,7 @@ The nullable state of expressions is tracked at all times. The state of the anno > > *end example* -### 6.5.9 Pragma directives +### 6.5.10 Pragma directives The `#pragma` preprocessing directive is used to specify contextual information to a compiler. diff --git a/standard/portability-issues.md b/standard/portability-issues.md index 44a630cd1..85cb3bed8 100644 --- a/standard/portability-issues.md +++ b/standard/portability-issues.md @@ -26,7 +26,7 @@ A conforming implementation is required to document its choice of behavior in ea 1. The behavior when an identifier not in Normalization Form C is encountered ([§6.4.3](lexical-structure.md#643-identifiers)). 1. The maximum value allowed for `Decimal_Digit+` in `PP_Line_Indicator` ([§6.5.8](lexical-structure.md#658-line-directives)). -1. The interpretation of the *input_characters* in the *pp_pragma-text* of a #pragma directive ([§6.5.9](lexical-structure.md#659-pragma-directives)). +1. The interpretation of the *input_characters* in the *pp_pragma-text* of a #pragma directive ([§6.5.10](lexical-structure.md#6510-pragma-directives)). 1. The values of any application parameters passed to `Main` by the host environment prior to application startup ([§7.1](basic-concepts.md#71-application-startup)). 1. The precise structure of the expression tree, as well as the exact process for creating it, when an anonymous function is converted to an expression-tree ([§10.7.3](conversions.md#1073-evaluation-of-lambda-expression-conversions-to-expression-tree-types)). 1. The value returned when a stack allocation of size zero is made ([§12.8.21](expressions.md#12821-stack-allocation)). From c4ad0037dfd8fbb4fa16394779f4e6162ece63fd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 10 Jul 2024 17:00:16 -0400 Subject: [PATCH 122/259] Bump the dotnet group across 1 directory with 4 updates (#1144) Bumps the dotnet group with 4 updates in the /tools directory: System.Text.Json, xunit, xunit.runner.visualstudio and Octokit. Updates `System.Text.Json` from 8.0.3 to 8.0.4 Updates `xunit` from 2.8.1 to 2.9.0 Updates `xunit.runner.visualstudio` from 2.8.1 to 2.8.2 Updates `Octokit` from 13.0.0 to 13.0.1 --- updated-dependencies: - dependency-name: System.Text.Json dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: xunit dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: xunit.runner.visualstudio dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Octokit dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj | 4 ++-- tools/Utilities/Utilities.csproj | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj index fb63a0a06..090575e33 100644 --- a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj +++ b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj @@ -15,8 +15,8 @@ - - + + runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/tools/Utilities/Utilities.csproj b/tools/Utilities/Utilities.csproj index 39b7b5bea..c03d51e45 100644 --- a/tools/Utilities/Utilities.csproj +++ b/tools/Utilities/Utilities.csproj @@ -7,8 +7,8 @@ - - + + From bbf50fba0fb07ec5cf4caac23b7e47ad840fc8ad Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Fri, 12 Jul 2024 00:16:53 +1200 Subject: [PATCH 123/259] Improve `attribute_argument` grammar (#1139) - Change `attribute_argument_expression` to be `non_assignment_expression` instead of just `expression`. This causes the three alternatives in `attribute_argument` to be distinguishable rather than all accepting the same sentences (based on syntax only). This is sufficient for ANTLR to recognise both `named_argument` and `positional_argument`, rather than just as the latter with the original grammar. - Restructure `attribute_argument` so it is both more readable, which is nice, and LL(3) rather and LL(N), which speeds up ANTLR. Neither change is *required* for a compiler to be able to distinguish the argument kinds using the semantic rules. The first change improves the ANTLR parse tree significantly, the second just makes things nicer for people and ANTLR alike :-) Co-authored-by: Nigel-Ecma --- standard/attributes.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/standard/attributes.md b/standard/attributes.md index a0bbf6b40..f195e091e 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -209,8 +209,8 @@ attribute_name ; attribute_arguments - : '(' positional_argument_list? ')' - | '(' positional_argument_list ',' named_argument_list ')' + : '(' ')' + | '(' positional_argument_list (',' named_argument_list)? ')' | '(' named_argument_list ')' ; @@ -231,7 +231,7 @@ named_argument ; attribute_argument_expression - : expression + : non_assignment_expression ; ``` From d1dd34f4bf9cb59db0bfb2f9135f20ff556b84db Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 11 Jul 2024 08:43:12 -0400 Subject: [PATCH 124/259] [create-pull-request] automated change (#1147) Co-authored-by: BillWagner --- standard/grammar.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/standard/grammar.md b/standard/grammar.md index d1255547d..9bbb6e65e 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -2666,8 +2666,8 @@ attribute_name ; attribute_arguments - : '(' positional_argument_list? ')' - | '(' positional_argument_list ',' named_argument_list ')' + : '(' ')' + | '(' positional_argument_list (',' named_argument_list)? ')' | '(' named_argument_list ')' ; @@ -2688,7 +2688,7 @@ named_argument ; attribute_argument_expression - : expression + : non_assignment_expression ; ``` From daa4d8876b8e9c60357cf882a79857e2dfb05d18 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Thu, 11 Jul 2024 14:33:42 -0700 Subject: [PATCH 125/259] Fix PP_Nullable (#1148) PP_Nullable accidentally doubled up the start and end of the directive. --- standard/lexical-structure.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index eaf032ffb..fb62f16df 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -1515,8 +1515,7 @@ The nullable directive controls the nullable context, as described below. ```ANTLR fragment PP_Nullable - : PP_Whitespace? '#' PP_Whitespace? 'nullable' PP_Whitespace PP_Nullable_Action - (PP_Whitespace PP_Nullable_Target)? PP_New_Line + : 'nullable' PP_Whitespace PP_Nullable_Action (PP_Whitespace PP_Nullable_Target)? ; fragment PP_Nullable_Action : 'disable' From 34b4cb5f48eb99898129795d90b0f8f114bf96d9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 11 Jul 2024 18:00:58 -0400 Subject: [PATCH 126/259] [create-pull-request] automated change (#1149) Co-authored-by: BillWagner --- standard/grammar.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/standard/grammar.md b/standard/grammar.md index 9bbb6e65e..15373814c 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -535,8 +535,7 @@ fragment PP_Compilation_Unit_Name_Character // Source: §6.5.9 Nullable directive fragment PP_Nullable - : PP_Whitespace? '#' PP_Whitespace? 'nullable' PP_Whitespace PP_Nullable_Action - (PP_Whitespace PP_Nullable_Target)? PP_New_Line + : 'nullable' PP_Whitespace PP_Nullable_Action (PP_Whitespace PP_Nullable_Target)? ; fragment PP_Nullable_Action : 'disable' From 878ce36d73fd56ddaa4b39447b49f3557e66ff00 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Mon, 12 Aug 2024 12:36:10 -0400 Subject: [PATCH 127/259] Move types from C.2 to C.3 (#1150) * Move type from C.2 to C.3 * tweak line spacing and type order --- standard/standard-library.md | 183 ++++++++++++++++++++--------------- 1 file changed, 104 insertions(+), 79 deletions(-) diff --git a/standard/standard-library.md b/standard/standard-library.md index 65d0bce3f..0b5e0027e 100644 --- a/standard/standard-library.md +++ b/standard/standard-library.md @@ -168,13 +168,6 @@ namespace System Exception innerException); } - public class OperationCanceledException : Exception - { - public OperationCanceledException(); - public OperationCanceledException(string message); - public OperationCanceledException(string message, Exception innerException); - } - public struct Nullable { public bool HasValue { get; } @@ -256,78 +249,6 @@ namespace System public readonly struct UInt64 { } public readonly struct UIntPtr { } - public struct ValueTuple - { - public T1 Item1; - public ValueTuple(T1 item1); - } - public struct ValueTuple - { - public T1 Item1; - public T2 Item2; - public ValueTuple(T1 item1, T2 item2); - } - public struct ValueTuple - { - public T1 Item1; - public T2 Item2; - public T3 Item3; - public ValueTuple(T1 item1, T2 item2, T3 item3); - } - public struct ValueTuple - { - public T1 Item1; - public T2 Item2; - public T3 Item3; - public T4 Item4; - public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4); - } - public struct ValueTuple - { - public T1 Item1; - public T2 Item2; - public T3 Item3; - public T4 Item4; - public T5 Item5; - public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5); - } - public struct ValueTuple - { - public T1 Item1; - public T2 Item2; - public T3 Item3; - public T4 Item4; - public T5 Item5; - public T6 Item6; - public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, - T6 item6); - } - public struct ValueTuple - { - public T1 Item1; - public T2 Item2; - public T3 Item3; - public T4 Item4; - public T5 Item5; - public T6 Item6; - public T7 Item7; - public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, - T6 item6, T7 item7); - } - public struct ValueTuple - { - public T1 Item1; - public T2 Item2; - public T3 Item3; - public T4 Item4; - public T5 Item5; - public T6 Item6; - public T7 Item7; - public TRest Rest; - public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, - T6 item6, T7 item7, TRest rest); - } - public abstract class ValueType { protected ValueType(); @@ -465,18 +386,107 @@ A conforming implementation may provide `Task.GetAwaiter()` and `Task.G namespace System { public class FormattableString : IFormattable { } + + public class OperationCanceledException : Exception + { + public OperationCanceledException(); + public OperationCanceledException(string message); + public OperationCanceledException(string message, Exception innerException); + } + public readonly ref struct ReadOnlySpan { public int Length { get; } public ref readonly T this[int index] { get; } } + public readonly ref struct Span { public int Length { get; } public ref T this[int index] { get; } public static implicit operator ReadOnlySpan(Span span); } + + public struct ValueTuple + { + public T1 Item1; + public ValueTuple(T1 item1); + } + + public struct ValueTuple + { + public T1 Item1; + public T2 Item2; + public ValueTuple(T1 item1, T2 item2); + } + + public struct ValueTuple + { + public T1 Item1; + public T2 Item2; + public T3 Item3; + public ValueTuple(T1 item1, T2 item2, T3 item3); + } + + public struct ValueTuple + { + public T1 Item1; + public T2 Item2; + public T3 Item3; + public T4 Item4; + public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4); + } + + public struct ValueTuple + { + public T1 Item1; + public T2 Item2; + public T3 Item3; + public T4 Item4; + public T5 Item5; + public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5); + } + + public struct ValueTuple + { + public T1 Item1; + public T2 Item2; + public T3 Item3; + public T4 Item4; + public T5 Item5; + public T6 Item6; + public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, + T6 item6); + } + + public struct ValueTuple + { + public T1 Item1; + public T2 Item2; + public T3 Item3; + public T4 Item4; + public T5 Item5; + public T6 Item6; + public T7 Item7; + public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, + T6 item6, T7 item7); + } + + public struct ValueTuple + { + public T1 Item1; + public T2 Item2; + public T3 Item3; + public T4 Item4; + public T5 Item5; + public T6 Item6; + public T7 Item7; + public TRest Rest; + public ValueTuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, + T6 item6, T7 item7, TRest rest); + } } + namespace System.Linq.Expressions { public sealed class Expression @@ -484,6 +494,7 @@ namespace System.Linq.Expressions public TDelegate Compile(); } } + namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | @@ -495,52 +506,62 @@ namespace System.Runtime.CompilerServices public Type BuilderType { get; } } + [AttributeUsage(AttributeTargets.Parameter, Inherited = false)] public sealed class CallerFilePathAttribute : Attribute { public CallerFilePathAttribute() { } } + [AttributeUsage(AttributeTargets.Parameter, Inherited = false)] public sealed class CallerLineNumberAttribute : Attribute { public CallerLineNumberAttribute() { } } + [AttributeUsage(AttributeTargets.Parameter, Inherited = false)] public sealed class CallerMemberNameAttribute : Attribute { public CallerMemberNameAttribute() { } } + public static class FormattableStringFactory { public static FormattableString Create(string format, params object[] arguments); } + public interface ICriticalNotifyCompletion : INotifyCompletion { void UnsafeOnCompleted(Action continuation); } + public interface INotifyCompletion { void OnCompleted(Action continuation); } + public readonly struct TaskAwaiter : ICriticalNotifyCompletion, INotifyCompletion { public bool IsCompleted { get; } public void GetResult(); } + public readonly struct TaskAwaiter : ICriticalNotifyCompletion, INotifyCompletion { public bool IsCompleted { get; } public TResult GetResult(); } + public readonly struct ValueTaskAwaiter : ICriticalNotifyCompletion, INotifyCompletion { public bool IsCompleted { get; } public void GetResult(); } + public readonly struct ValueTaskAwaiter : ICriticalNotifyCompletion, INotifyCompletion { @@ -548,20 +569,24 @@ namespace System.Runtime.CompilerServices public TResult GetResult(); } } + namespace System.Threading.Tasks { public class Task { public System.Runtime.CompilerServices.TaskAwaiter GetAwaiter(); } + public class Task : Task { public new System.Runtime.CompilerServices.TaskAwaiter GetAwaiter(); } + public readonly struct ValueTask : System.IEquatable { public System.Runtime.CompilerServices.ValueTaskAwaiter GetAwaiter(); } + public readonly struct ValueTask : System.IEquatable> { From a18121f3a38bf49f7630ed47706b8f58a65e3969 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Mon, 12 Aug 2024 13:15:18 -0400 Subject: [PATCH 128/259] Reserve operator method names (#1104) * Reserve operator method names * Update classes.md * Changing heading --- standard/classes.md | 64 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/standard/classes.md b/standard/classes.md index 6b41987b6..f4080f02a 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -1296,6 +1296,8 @@ The reserved names do not introduce declarations, thus they do not participate i The declaration of a finalizer ([§15.13](classes.md#1513-finalizers)) also causes a signature to be reserved ([§15.3.10.5](classes.md#153105-member-names-reserved-for-finalizers)). +Certain names are reserved for use as operator method names (§Names-Reserved-For-Ops). + #### 15.3.10.2 Member names reserved for properties For a property `P` ([§15.7](classes.md#157-properties)) of type `T`, the following signatures are reserved: @@ -1382,6 +1384,68 @@ For a class containing a finalizer ([§15.13](classes.md#1513-finalizers)), the void Finalize(); ``` +#### §Names-Reserved-For-Ops Method names reserved for operators + +The following method names are reserved. While many have corresponding operators in this specification, some are reserved for use by future versions, while some are reserved for interop with other languages. + +| **Method Name** | **C# Operator** | +|--------------|----------------------| +| `op_Addition` | `+` (binary) | +| `op_AdditionAssignment` | (reserved) | +| `op_AddressOf` | (reserved) | +| `op_Assign` | (reserved) | +| `op_BitwiseAnd` | `&` (binary) | +| `op_BitwiseAndAssignment` | (reserved) | +| `op_BitwiseOr` | `\|` | +| `op_BitwiseOrAssignment` | (reserved) | +| `op_CheckedAddition` | (reserved for future use) | +| `op_CheckedDecrement` | (reserved for future use) | +| `op_CheckedDivision` | (reserved for future use) | +| `op_CheckedExplicit` | (reserved for future use) | +| `op_CheckedIncrement` | (reserved for future use) | +| `op_CheckedMultiply` | (reserved for future use) | +| `op_CheckedSubtraction` | (reserved for future use) | +| `op_CheckedUnaryNegation` | (reserved for future use) | +| `op_Comma` | (reserved) | +| `op_Decrement` | `--` (prefix and postfix) | +| `op_Division` | `/` | +| `op_DivisionAssignment` | (reserved) | +| `op_Equality` | `==` | +| `op_ExclusiveOr` | `^` | +| `op_ExclusiveOrAssignment` | (reserved) | +| `op_Explicit` | explicit (narrowing) coercion | +| `op_False` | `false` | +| `op_GreaterThan` | `>` | +| `op_GreaterThanOrEqual` | `>=` | +| `op_Implicit` | implicit (widening) coercion | +| `op_Increment` | `++` (prefix and postfix) | +| `op_Inequality` | `!=` | +| `op_LeftShift` | `<<` | +| `op_LeftShiftAssignment` | (reserved) | +| `op_LessThan` | `<` | +| `op_LessThanOrEqual` | `<=` | +| `op_LogicalAnd` | (reserved) | +| `op_LogicalNot` | `!` | +| `op_LogicalOr` | (reserved) | +| `op_MemberSelection` | (reserved) | +| `op_Modulus` | `%` | +| `op_ModulusAssignment` | (reserved) | +| `op_MultiplicationAssignment` | (reserved) | +| `op_Multiply` | `*` (binary) | +| `op_OnesComplement` | `~` | +| `op_PointerDereference` | (reserved) | +| `op_PointerToMemberSelection` | (reserved) | +| `op_RightShift` | `>>` | +| `op_RightShiftAssignment` | (reserved) | +| `op_SignedRightShift` | (reserved) | +| `op_Subtraction` | `-` (binary) | +| `op_SubtractionAssignment` | (reserved) | +| `op_True` | `true` | +| `op_UnaryNegation` | `-` (unary) | +| `op_UnaryPlus` | `+` (unary) | +| `op_UnsignedRightShift` | (reserved for future use) | +| `op_UnsignedRightShiftAssignment` | (reserved) | + ## 15.4 Constants A ***constant*** is a class member that represents a constant value: a value that can be computed at compile-time. A *constant_declaration* introduces one or more constants of a given type. From 72455aae2c72b2bf3a52e214152e35e37f8ec311 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Fri, 16 Aug 2024 08:24:13 -0400 Subject: [PATCH 129/259] remove sequester workflows (#1161) * remove sequester workflows Our org is tracking my committee work separately, so this is no longer needed. * remove unnecessary config file --- .github/workflows/quest-bulk.yml | 53 --------------------- .github/workflows/quest.yml | 79 -------------------------------- quest-config.json | 10 ---- 3 files changed, 142 deletions(-) delete mode 100644 .github/workflows/quest-bulk.yml delete mode 100644 .github/workflows/quest.yml delete mode 100644 quest-config.json diff --git a/.github/workflows/quest-bulk.yml b/.github/workflows/quest-bulk.yml deleted file mode 100644 index fb749aadf..000000000 --- a/.github/workflows/quest-bulk.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: "bulk quest import" -on: - schedule: - - cron: '0 10 * * *' # UTC time, that's 5:00 am EST, 2:00 am PST. - workflow_dispatch: - inputs: - reason: - description: "The reason for running the bulk import workflow" - required: true - default: "Initial import into Quest (Azure DevOps)" - -jobs: - bulk-import: - runs-on: ubuntu-latest - permissions: - issues: write - pull-requests: write - id-token: write - if: ${{ github.repository_owner == 'dotnet' }} - - steps: - - name: "Print manual bulk import run reason" - if: ${{ github.event_name == 'workflow_dispatch' }} - run: | - echo "Reason: ${{ github.event.inputs.reason }}" - - - name: Azure OpenID Connect - uses: azure/login@v2 - with: - client-id: ${{ secrets.CLIENT_ID }} - tenant-id: ${{ secrets.TENANT_ID }} - audience: ${{ secrets.OSMP_API_AUDIENCE }} - allow-no-subscriptions: true - - - name: OSMP API access - run: | - TOKEN=$(az account get-access-token --query 'accessToken' -o tsv --resource ${{ secrets.OSMP_API_AUDIENCE }}) - echo "AZURE_ACCESS_TOKEN=$TOKEN" >> $GITHUB_ENV - - - name: bulk-sequester - id: bulk-sequester - uses: dotnet/docs-tools/actions/sequester@main - env: - ImportOptions__ApiKeys__GitHubToken: ${{ secrets.GITHUB_TOKEN }} - ImportOptions__ApiKeys__AzureAccessToken: ${{ env.AZURE_ACCESS_TOKEN }} - ImportOptions__ApiKeys__QuestKey: ${{ secrets.QUEST_KEY }} - ImportOptions__ApiKeys__SequesterPrivateKey: ${{ secrets.SEQUESTER_PRIVATEKEY }} - ImportOptions__ApiKeys__SequesterAppID: ${{ secrets.SEQUESTER_APPID }} - with: - org: ${{ github.repository_owner }} - repo: ${{ github.repository }} - issue: '-1' - branch: ${{ github.ref_name }} diff --git a/.github/workflows/quest.yml b/.github/workflows/quest.yml deleted file mode 100644 index 9b5c7a0ed..000000000 --- a/.github/workflows/quest.yml +++ /dev/null @@ -1,79 +0,0 @@ -name: "quest import" -on: - workflow_dispatch: - inputs: - reason: - description: "The reason for running the workflow" - required: true - default: "Manual run" - issue: - description: "The issue number to manually test" - required: true - -jobs: - import: - if: | - github.event_name == 'workflow_dispatch' || - github.event.label.name == 'reQUEST' || - github.event.label.name == 'seQUESTered' || - contains(github.event.issue.labels.*.name, 'reQUEST') || - contains(github.event.issue.labels.*.name, 'seQUESTered') - runs-on: ubuntu-latest - permissions: - issues: write - pull-requests: write - id-token: write - - steps: - - name: "Print manual run reason" - if: ${{ github.event_name == 'workflow_dispatch' }} - run: | - echo "Reason: ${{ github.event.inputs.reason }}" - echo "Issue number: ${{ github.event.inputs.issue }}" - - - name: Azure OpenID Connect - uses: azure/login@v2 - with: - client-id: ${{ secrets.CLIENT_ID }} - tenant-id: ${{ secrets.TENANT_ID }} - audience: ${{ secrets.OSMP_API_AUDIENCE }} - allow-no-subscriptions: true - - - name: OSMP API access - run: | - TOKEN=$(az account get-access-token --query 'accessToken' -o tsv --resource ${{ secrets.OSMP_API_AUDIENCE }}) - echo "AZURE_ACCESS_TOKEN=$TOKEN" >> $GITHUB_ENV - - # This step occurs when ran manually, passing the manual issue number input - - name: manual-sequester - if: ${{ github.event_name == 'workflow_dispatch' }} - id: manual-sequester - uses: dotnet/docs-tools/actions/sequester@main - env: - ImportOptions__ApiKeys__GitHubToken: ${{ secrets.GITHUB_TOKEN }} - ImportOptions__ApiKeys__AzureAccessToken: ${{ env.AZURE_ACCESS_TOKEN }} - ImportOptions__ApiKeys__QuestKey: ${{ secrets.QUEST_KEY }} - ImportOptions__ApiKeys__SequesterPrivateKey: ${{ secrets.SEQUESTER_PRIVATEKEY }} - ImportOptions__ApiKeys__SequesterAppID: ${{ secrets.SEQUESTER_APPID }} - with: - org: ${{ github.repository_owner }} - repo: ${{ github.repository }} - issue: ${{ github.event.inputs.issue }} - branch: ${{ github.ref_name }} - - # This step occurs automatically, passing the issue number from the event - - name: auto-sequester - if: ${{ github.event_name != 'workflow_dispatch' }} - id: auto-sequester - uses: dotnet/docs-tools/actions/sequester@main - env: - ImportOptions__ApiKeys__GitHubToken: ${{ secrets.GITHUB_TOKEN }} - ImportOptions__ApiKeys__AzureAccessToken: ${{ env.AZURE_ACCESS_TOKEN }} - ImportOptions__ApiKeys__QuestKey: ${{ secrets.QUEST_KEY }} - ImportOptions__ApiKeys__SequesterPrivateKey: ${{ secrets.SEQUESTER_PRIVATEKEY }} - ImportOptions__ApiKeys__SequesterAppID: ${{ secrets.SEQUESTER_APPID }} - with: - org: ${{ github.repository_owner }} - repo: ${{ github.repository }} - issue: ${{ github.event.issue.number }} - branch: ${{ github.ref_name }} diff --git a/quest-config.json b/quest-config.json deleted file mode 100644 index 17b7de36d..000000000 --- a/quest-config.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "AzureDevOps": { - "Org": "msft-skilling", - "Project": "Content", - "AreaPath": "Production\\Digital and App Innovation\\DotNet and more\\dotnet" - }, - "ImportTriggerLabel": "reQUEST", - "ImportedLabel": "seQUESTered", - "DefaultParentNode": 227484 -} From 60ca80eea1ab5fe129c202b3bad1d914f8657ace Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 21 Aug 2024 16:19:21 -0400 Subject: [PATCH 130/259] [create-pull-request] automated change (#1154) Co-authored-by: BillWagner --- standard/README.md | 1 + standard/classes.md | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/standard/README.md b/standard/README.md index b036a4f6f..f61d5a917 100644 --- a/standard/README.md +++ b/standard/README.md @@ -525,6 +525,7 @@ - [§15.3.10.3](classes.md#153103-member-names-reserved-for-events) Member names reserved for events - [§15.3.10.4](classes.md#153104-member-names-reserved-for-indexers) Member names reserved for indexers - [§15.3.10.5](classes.md#153105-member-names-reserved-for-finalizers) Member names reserved for finalizers + - [§15.3.10.6](classes.md#153106-method-names-reserved-for-operators) Method names reserved for operators - [§15.4](classes.md#154-constants) Constants - [§15.5](classes.md#155-fields) Fields - [§15.5.1](classes.md#1551-general) General diff --git a/standard/classes.md b/standard/classes.md index f4080f02a..d24f82f49 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -1296,7 +1296,7 @@ The reserved names do not introduce declarations, thus they do not participate i The declaration of a finalizer ([§15.13](classes.md#1513-finalizers)) also causes a signature to be reserved ([§15.3.10.5](classes.md#153105-member-names-reserved-for-finalizers)). -Certain names are reserved for use as operator method names (§Names-Reserved-For-Ops). +Certain names are reserved for use as operator method names ([§15.3.10.6](classes.md#153106-method-names-reserved-for-operators)). #### 15.3.10.2 Member names reserved for properties @@ -1384,7 +1384,7 @@ For a class containing a finalizer ([§15.13](classes.md#1513-finalizers)), the void Finalize(); ``` -#### §Names-Reserved-For-Ops Method names reserved for operators +#### 15.3.10.6 Method names reserved for operators The following method names are reserved. While many have corresponding operators in this specification, some are reserved for use by future versions, while some are reserved for interop with other languages. From a9257fc27a48d1a38717b2c175d609b234f0dcfd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Aug 2024 16:19:48 -0400 Subject: [PATCH 131/259] Bump the dotnet group across 1 directory with 4 updates (#1162) * Bump the dotnet group across 1 directory with 4 updates Bumps the dotnet group with 4 updates in the /tools directory: Newtonsoft.Json, [Microsoft.CodeAnalysis.CSharp.Workspaces](https://github.com/dotnet/roslyn), [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) and XMLUnit.Core. Updates `Newtonsoft.Json` from 13.0.1 to 13.0.3 Updates `Microsoft.CodeAnalysis.CSharp.Workspaces` from 4.10.0 to 4.11.0 - [Release notes](https://github.com/dotnet/roslyn/releases) - [Changelog](https://github.com/dotnet/roslyn/blob/main/docs/Breaking%20API%20Changes.md) - [Commits](https://github.com/dotnet/roslyn/commits) Updates `Microsoft.NET.Test.Sdk` from 17.10.0 to 17.11.0 - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](https://github.com/microsoft/vstest/compare/v17.10.0...v17.11.0) Updates `XMLUnit.Core` from 2.9.2 to 2.10.0 --- updated-dependencies: - dependency-name: Newtonsoft.Json dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.CodeAnalysis.CSharp.Workspaces dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: XMLUnit.Core dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] * Apply suggestions from code review --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Bill Wagner --- tools/ExampleTester/ExampleTester.csproj | 4 ++-- tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/ExampleTester/ExampleTester.csproj b/tools/ExampleTester/ExampleTester.csproj index 0e1ab3715..507659351 100644 --- a/tools/ExampleTester/ExampleTester.csproj +++ b/tools/ExampleTester/ExampleTester.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj index 090575e33..2154f5eac 100644 --- a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj +++ b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj @@ -13,8 +13,9 @@ - - + + + runtime; build; native; contentfiles; analyzers; buildtransitive From dd40c16c9bc6bc51b336f3bcfbd75db05bac798e Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Sat, 24 Aug 2024 02:03:33 +1200 Subject: [PATCH 132/259] Remove '>' from sequence of tokens disambiguating type_argument_list (#1164) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replacement for #1121 which I suspect was mistakenly closed. The original was approved back in May but merging seems to have slipped through the cracks – stuff happens. --- standard/lexical-structure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index fb62f16df..5709cea9f 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -68,7 +68,7 @@ The productions for *simple_name* ([§12.8.4](expressions.md#1284-simple-names)) If a sequence of tokens can be parsed (in context) as a *simple_name* ([§12.8.4](expressions.md#1284-simple-names)), *member_access* ([§12.8.7](expressions.md#1287-member-access)), or *pointer_member_access* ([§23.6.3](unsafe-code.md#2363-pointer-member-access)) ending with a *type_argument_list* ([§8.4.2](types.md#842-type-arguments)), the token immediately following the closing `>` token is examined, to see if it is - One of `( ) ] } : ; , . ? == != | ^ && || & [`; or -- One of the relational operators `< > <= >= is as`; or +- One of the relational operators `< <= >= is as`; or - A contextual query keyword appearing inside a query expression; or - In certain contexts, *identifier* is treated as a disambiguating token. Those contexts are where the sequence of tokens being disambiguated is immediately preceded by one of the keywords `is`, `case` or `out`, or arises while parsing the first element of a tuple literal (in which case the tokens are preceded by `(` or `:` and the identifier is followed by a `,`) or a subsequent element of a tuple literal. From 878dc0b05b42ca245d79ac9ed5f6ebe5c797a499 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Mon, 9 Sep 2024 10:24:58 -0400 Subject: [PATCH 133/259] =?UTF-8?q?Change=20all=20=E2=80=9Cimplementation-?= =?UTF-8?q?specific=E2=80=9D=20to=20=E2=80=9Cimplementation-defined?= =?UTF-8?q?=E2=80=9D=20(#1168)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * change term used * use different term * use different term * use different term * use different term * add new entries to list --- standard/attributes.md | 2 +- standard/basic-concepts.md | 12 +++++----- standard/conversions.md | 2 +- standard/lexical-structure.md | 2 +- standard/portability-issues.md | 42 +++++++++++++++++++++------------- standard/types.md | 4 ++-- 6 files changed, 37 insertions(+), 27 deletions(-) diff --git a/standard/attributes.md b/standard/attributes.md index f195e091e..6c5eb0f59 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -527,7 +527,7 @@ A small number of attributes affect the language in some way. These attributes i - `System.Runtime.CompilerServices.AsyncMethodBuilderAttribute` ([§22.5.5](attributes.md#2255-the-asyncmethodbuilder-attribute)), which is used to establish a task builder for an async method. - `System.Runtime.CompilerServices.CallerLineNumberAttribute` ([§22.5.6.2](attributes.md#22562-the-callerlinenumber-attribute)), `System.Runtime.CompilerServices.CallerFilePathAttribute` ([§22.5.6.3](attributes.md#22563-the-callerfilepath-attribute)), and `System.Runtime.CompilerServices.CallerMemberNameAttribute` ([§22.5.6.4](attributes.md#22564-the-callermembername-attribute)), which are used to supply information about the calling context to optional parameters. -An execution environment may provide additional implementation-specific attributes that affect the execution of a C# program. +An execution environment may provide additional implementation-defined attributes that affect the execution of a C# program. ### 22.5.2 The AttributeUsage attribute diff --git a/standard/basic-concepts.md b/standard/basic-concepts.md index 3e8a440c2..e27af1508 100644 --- a/standard/basic-concepts.md +++ b/standard/basic-concepts.md @@ -2,7 +2,7 @@ ## 7.1 Application startup -A program may be compiled either as a ***class library*** to be used as part of other applications, or as an ***application*** that may be started directly. The mechanism for determining this mode of compilation is implementation-specific and external to this specification. +A program may be compiled either as a ***class library*** to be used as part of other applications, or as an ***application*** that may be started directly. The mechanism for determining this mode of compilation is implementation-defined and external to this specification. A program compiled as an application shall contain at least one method qualifying as an entry point by satisfying the following requirements: @@ -37,7 +37,7 @@ Execution of the synthesized method proceeds as follows: The ***effective entry point*** of an application is the entry point declared within the program, or the synthesized method if one is required as described above. The return type of the effective entry point is therefore always `void` or `int`. When an application is run, a new ***application domain*** is created. Several different instantiations of an application may exist on the same machine at the same time, and each has its own application domain. -An application domain enables application isolation by acting as a container for application state. An application domain acts as a container and boundary for the types defined in the application and the class libraries it uses. Types loaded into one application domain are distinct from the same types loaded into another application domain, and instances of objects are not directly shared between application domains. For instance, each application domain has its own copy of static variables for these types, and a static constructor for a type is run at most once per application domain. Implementations are free to provide implementation-specific policy or mechanisms for the creation and destruction of application domains. +An application domain enables application isolation by acting as a container for application state. An application domain acts as a container and boundary for the types defined in the application and the class libraries it uses. Types loaded into one application domain are distinct from the same types loaded into another application domain, and instances of objects are not directly shared between application domains. For instance, each application domain has its own copy of static variables for these types, and a static constructor for a type is run at most once per application domain. Implementations are free to provide implementation-defined policy or mechanisms for the creation and destruction of application domains. Application startup occurs when the execution environment calls the application’s effective entry point. If the effective entry point declares a parameter, then during application startup, the implementation shall ensure that the initial value of that parameter is a non-null reference to a string array. This array shall consist of non-null references to strings, called ***application parameters***, which are given implementation-defined values by the host environment prior to application startup. The intent is to supply to the application information determined prior to application startup from elsewhere in the hosted environment. @@ -53,9 +53,9 @@ Other than the situations listed above, entry point methods behave like those th If the return type of the application’s effective entry point method is `int` and execution completes without resulting in an exception, the value of the `int` returned serves as the application’s ***termination status code***. The purpose of this code is to allow communication of success or failure to the execution environment. If the return type of the effective entry point method is `void` and execution completes without resulting in an exception, the termination status code is `0`. -If the effective entry point method terminates due to an exception ([§21.4](exceptions.md#214-how-exceptions-are-handled)), the exit code is implementation-specific. Additionally, the implementation may provide alternative APIs for specifying the exit code. +If the effective entry point method terminates due to an exception ([§21.4](exceptions.md#214-how-exceptions-are-handled)), the exit code is implementation-defined. Additionally, the implementation may provide alternative APIs for specifying the exit code. -Whether or not finalizers ([§15.13](classes.md#1513-finalizers)) are run as part of application termination is implementation-specific. +Whether or not finalizers ([§15.13](classes.md#1513-finalizers)) are run as part of application termination is implementation-defined. > *Note*: The .NET Framework implementation makes every reasonable effort to call finalizers ([§15.13](classes.md#1513-finalizers)) for all of its objects that have not yet been garbage collected, unless such cleanup has been suppressed (by a call to the library method `GC.SuppressFinalize`, for example). *end note* @@ -988,14 +988,14 @@ C# employs automatic memory management, which frees developers from manually all 1. When the object is created, memory is allocated for it, the constructor is run, and the object is considered ***live***. 1. If neither the object nor any of its instance fields can be accessed by any possible continuation of execution, other than the running of finalizers, the object is considered ***no longer in use*** and it becomes eligible for finalization. > *Note*: The C# compiler and the garbage collector might choose to analyze code to determine which references to an object might be used in the future. For instance, if a local variable that is in scope is the only existing reference to an object, but that local variable is never referred to in any possible continuation of execution from the current execution point in the procedure, the garbage collector might (but is not required to) treat the object as no longer in use. *end note* -1. Once the object is eligible for finalization, at some unspecified later time the finalizer ([§15.13](classes.md#1513-finalizers)) (if any) for the object is run. Under normal circumstances the finalizer for the object is run once only, though implementation-specific APIs may allow this behavior to be overridden. +1. Once the object is eligible for finalization, at some unspecified later time the finalizer ([§15.13](classes.md#1513-finalizers)) (if any) for the object is run. Under normal circumstances the finalizer for the object is run once only, though implementation-defined APIs may allow this behavior to be overridden. 1. Once the finalizer for an object is run, if neither the object nor any of its instance fields can be accessed by any possible continuation of execution, including the running of finalizers, the object is considered inaccessible and the object becomes eligible for collection. > *Note*: An object which could previously not be accessed may become accessible again due to its finalizer. An example of this is provided below. *end note* 1. Finally, at some time after the object becomes eligible for collection, the garbage collector frees the memory associated with that object. The garbage collector maintains information about object usage, and uses this information to make memory management decisions, such as where in memory to locate a newly created object, when to relocate an object, and when an object is no longer in use or inaccessible. -Like other languages that assume the existence of a garbage collector, C# is designed so that the garbage collector might implement a wide range of memory management policies. C# specifies neither a time constraint within that span, nor an order in which finalizers are run. Whether or not finalizers are run as part of application termination is implementation-specific ([§7.2](basic-concepts.md#72-application-termination)). +Like other languages that assume the existence of a garbage collector, C# is designed so that the garbage collector might implement a wide range of memory management policies. C# specifies neither a time constraint within that span, nor an order in which finalizers are run. Whether or not finalizers are run as part of application termination is implementation-defined ([§7.2](basic-concepts.md#72-application-termination)). The behavior of the garbage collector can be controlled, to some degree, via static methods on the class `System.GC`. This class can be used to request a collection to occur, finalizers to be run (or not run), and so forth. diff --git a/standard/conversions.md b/standard/conversions.md index 3eb17b1cb..f0a705d69 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -927,7 +927,7 @@ Since the two anonymous function delegates have the same (empty) set of captured Conversion of a lambda expression to an expression tree type produces an expression tree ([§8.6](types.md#86-expression-tree-types)). More precisely, evaluation of the lambda expression conversion produces an object structure that represents the structure of the lambda expression itself. -Not every lambda expression can be converted to expression tree types. The conversion to a compatible delegate type always *exists*, but it may fail at compile-time for implementation-specific reasons. +Not every lambda expression can be converted to expression tree types. The conversion to a compatible delegate type always *exists*, but it may fail at compile-time for implementation-defined reasons. > *Note*: Common reasons for a lambda expression to fail to convert to an expression tree type include: > diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index 5709cea9f..56cd5b530 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -12,7 +12,7 @@ Conceptually speaking, a program is compiled using three steps: Conforming implementations shall accept Unicode compilation units encoded with the UTF-8 encoding form (as defined by the Unicode standard), and transform them into a sequence of Unicode characters. Implementations can choose to accept and transform additional character encoding schemes (such as UTF-16, UTF-32, or non-Unicode character mappings). -> *Note*: The handling of the Unicode NULL character (U+0000) is implementation-specific. It is strongly recommended that developers avoid using this character in their source code, for the sake of both portability and readability. When the character is required within a character or string literal, the escape sequences `\0` or `\u0000` may be used instead. *end note* +> *Note*: The handling of the Unicode NULL character (U+0000) is implementation-defined. It is strongly recommended that developers avoid using this character in their source code, for the sake of both portability and readability. When the character is required within a character or string literal, the escape sequences `\0` or `\u0000` may be used instead. *end note* diff --git a/standard/portability-issues.md b/standard/portability-issues.md index 85cb3bed8..2348b2323 100644 --- a/standard/portability-issues.md +++ b/standard/portability-issues.md @@ -24,23 +24,33 @@ The behavior is undefined in the following circumstances: A conforming implementation is required to document its choice of behavior in each of the areas listed in this subclause. The following are implementation-defined: -1. The behavior when an identifier not in Normalization Form C is encountered ([§6.4.3](lexical-structure.md#643-identifiers)). -1. The maximum value allowed for `Decimal_Digit+` in `PP_Line_Indicator` ([§6.5.8](lexical-structure.md#658-line-directives)). -1. The interpretation of the *input_characters* in the *pp_pragma-text* of a #pragma directive ([§6.5.10](lexical-structure.md#6510-pragma-directives)). -1. The values of any application parameters passed to `Main` by the host environment prior to application startup ([§7.1](basic-concepts.md#71-application-startup)). -1. The precise structure of the expression tree, as well as the exact process for creating it, when an anonymous function is converted to an expression-tree ([§10.7.3](conversions.md#1073-evaluation-of-lambda-expression-conversions-to-expression-tree-types)). -1. The value returned when a stack allocation of size zero is made ([§12.8.21](expressions.md#12821-stack-allocation)). -1. Whether a `System.ArithmeticException` (or a subclass thereof) is thrown or the overflow goes unreported with the resulting value being that of the left operand, when in an `unchecked` context and the left operand of an integer division is the maximum negative `int` or `long` value and the right operand is `–1` ([§12.10.3](expressions.md#12103-division-operator)). -1. When a `System.ArithmeticException` (or a subclass thereof) is thrown when performing a decimal remainder operation ([§12.10.4](expressions.md#12104-remainder-operator)). -1. The impact of thread termination when a thread has no handler for an exception, and the thread is itself terminated ([§13.10.6](statements.md#13106-the-throw-statement)). -1. The mechanism by which linkage to an external method is achieved ([§15.6.8](classes.md#1568-external-methods)). +1. The handling of the Unicode NULL character (U+0000) in a compilation unit. ([§6.1](lexical-structure.md#61-programs)) +1. The behavior when an identifier not in Normalization Form C is encountered. ([§6.4.3](lexical-structure.md#643-identifiers)) +1. The maximum value allowed for `Decimal_Digit+` in `PP_Line_Indicator`. ([§6.5.8](lexical-structure.md#658-line-directives)) +1. The interpretation of the *input_characters* in the *pp_pragma-text* of a #pragma directive. ([§6.5.10](lexical-structure.md#6510-pragma-directives)) +1. The values of any application parameters passed to `Main` by the host environment prior to application startup. ([§7.1](basic-concepts.md#71-application-startup)) +1. The mechanism for determining whether a program is compiled as a class library or as an application. ([§7.1](basic-concepts.md#71-application-startup)) +1. The policy or mechanisms used by an implementation for the creation and destruction of application domains. ([§7.1](basic-concepts.md#71-application-startup)) +1. The exit code if the effective entry point method terminates due to an exception. ([§7.2](basic-concepts.md#72-application-termination)) +1. Whether or not finalizers are run as part of application termination. ([§7.2](basic-concepts.md#72-application-termination)) +1. Whether APIs allow a finalizer to be run more than once. ([§7.9](basic-concepts.md#79-automatic-memory-management)) +1. Whether or not finalizers are run as part of application termination. ([§7.9](basic-concepts.md#79-automatic-memory-management)) +1. The API surface provided by `Expression` beyond the requirement for a `Compile` method. ([§8.6](types.md#86-expression-tree-types)) +1. The precise structure of the expression tree, as well as the exact process for creating it, when an anonymous function is converted to an expression-tree. ([§10.7.3](conversions.md#1073-evaluation-of-lambda-expression-conversions-to-expression-tree-types)) +1. The reason a conversion to a compatible delegate type may fail at compile-time. ([§10.7.3](conversions.md#1073-evaluation-of-lambda-expression-conversions-to-expression-tree-types)) +1. The value returned when a stack allocation of size zero is made. ([§12.8.21](expressions.md#12821-stack-allocation)) +1. Whether a `System.ArithmeticException` (or a subclass thereof) is thrown or the overflow goes unreported with the resulting value being that of the left operand, when in an `unchecked` context and the left operand of an integer division is the maximum negative `int` or `long` value and the right operand is `–1`. ([§12.10.3](expressions.md#12103-division-operator)) +1. When a `System.ArithmeticException` (or a subclass thereof) is thrown when performing a decimal remainder operation. ([§12.10.4](expressions.md#12104-remainder-operator)) +1. The impact of thread termination when a thread has no handler for an exception, and the thread is itself terminated. ([§13.10.6](statements.md#13106-the-throw-statement)) +1. The mechanism by which linkage to an external method is achieved. ([§15.6.8](classes.md#1568-external-methods)) 1. The impact of thread termination when no matching `catch` clause is found for an exception and the code that initially started that thread is reached. ([§21.4](exceptions.md#214-how-exceptions-are-handled)). -1. The mappings between pointers and integers ([§23.5.1](unsafe-code.md#2351-general)). -1. The effect of applying the unary `*` operator to a `null` pointer ([§23.6.2](unsafe-code.md#2362-pointer-indirection)). -1. The behavior when pointer arithmetic overflows the domain of the pointer type ([§23.6.6](unsafe-code.md#2366-pointer-increment-and-decrement), [§23.6.7](unsafe-code.md#2367-pointer-arithmetic)). -1. The result of the `sizeof` operator for non-pre-defined value types ([§23.6.9](unsafe-code.md#2369-the-sizeof-operator)). -1. The behavior of the `fixed` statement if the array expression is `null` or if the array has zero elements ([§23.7](unsafe-code.md#237-the-fixed-statement)). -1. The behavior of the `fixed` statement if the string expression is `null` ([§23.7](unsafe-code.md#237-the-fixed-statement)). +1. An execution environment may provide additional attributes that affect the execution of a C# program. ([§22.5.1](attributes.md#2251-general)) +1. The mappings between pointers and integers. ([§23.5.1](unsafe-code.md#2351-general)) +1. The effect of applying the unary `*` operator to a `null` pointer. ([§23.6.2](unsafe-code.md#2362-pointer-indirection)) +1. The behavior when pointer arithmetic overflows the domain of the pointer type. ([§23.6.6](unsafe-code.md#2366-pointer-increment-and-decrement), [§23.6.7](unsafe-code.md#2367-pointer-arithmetic)) +1. The result of the `sizeof` operator for non-pre-defined value types. ([§23.6.9](unsafe-code.md#2369-the-sizeof-operator)) +1. The behavior of the `fixed` statement if the array expression is `null` or if the array has zero elements. ([§23.7](unsafe-code.md#237-the-fixed-statement)) +1. The behavior of the `fixed` statement if the string expression is `null`. ([§23.7](unsafe-code.md#237-the-fixed-statement)) ## B.4 Unspecified behavior diff --git a/standard/types.md b/standard/types.md index 52c8d7740..c5013fbdf 100644 --- a/standard/types.md +++ b/standard/types.md @@ -653,9 +653,9 @@ Invoking this delegate causes the code represented by the expression tree to be After executing this code, `i1` and `i2` will both have the value `2`. -The API surface provided by `Expression` is implementation-specific beyond the requirement for a `Compile` method described above. +The API surface provided by `Expression` is implementation-defined beyond the requirement for a `Compile` method described above. -> *Note*: While the details of the API provided for expression trees are implementation-specific, it is expected that an implementation will: +> *Note*: While the details of the API provided for expression trees are implementation-defined, it is expected that an implementation will: > > - Enable code to inspect and respond to the structure of an expression tree created as the result of a conversion from a lambda expression > - Enable expression trees to be created programatically within user code From 3c3f169be4792b003b4051fdce63f92dfd43052e Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Wed, 11 Sep 2024 16:21:00 -0400 Subject: [PATCH 134/259] Remove all "formal" in the context of "formal parameter" (#1170) * remove "formal" from all "formal parameter" * remove "formal" from all "formal parameter" * remove "formal" from all "formal parameter" * remove "formal" from all "formal parameter" * remove "formal" from all "formal parameter" * remove "formal" from all "formal parameter" * remove "formal" from all "formal parameter" * remove "formal" from all "formal parameter" * remove "formal" from all "formal parameter" * remove "formal" from all "formal parameter" --- standard/attributes.md | 2 +- standard/basic-concepts.md | 20 ++++++------ standard/classes.md | 64 +++++++++++++++++++------------------- standard/conversions.md | 2 +- standard/delegates.md | 10 +++--- standard/expressions.md | 8 ++--- standard/interfaces.md | 20 ++++++------ standard/statements.md | 6 ++-- standard/structs.md | 2 +- standard/variables.md | 2 +- 10 files changed, 68 insertions(+), 68 deletions(-) diff --git a/standard/attributes.md b/standard/attributes.md index 6c5eb0f59..9d70dca9e 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -156,7 +156,7 @@ The types of positional and named parameters for an attribute class are limited ## 22.3 Attribute specification -***Attribute specification*** is the application of a previously defined attribute to a program entity. An attribute is a piece of additional declarative information that is specified for a program entity. Attributes can be specified at global scope (to specify attributes on the containing assembly or module) and for *type_declaration*s ([§14.7](namespaces.md#147-type-declarations)), *class_member_declaration*s ([§15.3](classes.md#153-class-members)), *interface_member_declaration*s ([§18.4](interfaces.md#184-interface-members)), *struct_member_declaration*s ([§16.3](structs.md#163-struct-members)), *enum_member_declaration*s ([§19.2](enums.md#192-enum-declarations)), *accessor_declaration*s ([§15.7.3](classes.md#1573-accessors)), *event_accessor_declaration*s ([§15.8](classes.md#158-events)), elements of *formal_parameter_list*s ([§15.6.2](classes.md#1562-method-parameters)), and elements of *type_parameter_list*s ([§15.2.3](classes.md#1523-type-parameters)). +***Attribute specification*** is the application of a previously defined attribute to a program entity. An attribute is a piece of additional declarative information that is specified for a program entity. Attributes can be specified at global scope (to specify attributes on the containing assembly or module) and for *type_declaration*s ([§14.7](namespaces.md#147-type-declarations)), *class_member_declaration*s ([§15.3](classes.md#153-class-members)), *interface_member_declaration*s ([§18.4](interfaces.md#184-interface-members)), *struct_member_declaration*s ([§16.3](structs.md#163-struct-members)), *enum_member_declaration*s ([§19.2](enums.md#192-enum-declarations)), *accessor_declaration*s ([§15.7.3](classes.md#1573-accessors)), *event_accessor_declaration*s ([§15.8](classes.md#158-events)), elements of *parameter_list*s ([§15.6.2](classes.md#1562-method-parameters)), and elements of *type_parameter_list*s ([§15.2.3](classes.md#1523-type-parameters)). Attributes are specified in ***attribute sections***. An attribute section consists of a pair of square brackets, which surround a comma-separated list of one or more attributes. The order in which attributes are specified in such a list, and the order in which sections attached to the same program entity are arranged, is not significant. For instance, the attribute specifications `[A][B]`, `[B][A]`, `[A, B]`, and `[B, A]` are equivalent. diff --git a/standard/basic-concepts.md b/standard/basic-concepts.md index e27af1508..de1dc08bc 100644 --- a/standard/basic-concepts.md +++ b/standard/basic-concepts.md @@ -13,7 +13,7 @@ A program compiled as an application shall contain at least one method qualifyin - It may have the `async` modifier provided the method’s return type is `System.Threading.Tasks.Task` or `System.Threading.Tasks.Task`. - The return type shall be `void`, `int`, `System.Threading.Tasks.Task`, or `System.Threading.Tasks.Task`. - It shall not be a partial method ([§15.6.9](classes.md#1569-partial-methods)) without an implementation. -- The formal parameter list shall either be empty, or have a single value parameter of type `string[]`. +- The parameter list shall either be empty, or have a single value parameter of type `string[]`. > *Note*: Methods with the `async` modifier must have exactly one of the two return types specified above in order to qualify as an entry point. An `async void` method, or an `async` method returning a different awaitable type such as `ValueTask` or `ValueTask` does not qualify as an entry point. *end note* @@ -23,7 +23,7 @@ Ordinarily, the declared accessibility ([§7.5.2](basic-concepts.md#752-declared When the entry point method has a return type of `System.Threading.Tasks.Task` or `System.Threading.Tasks.Task`, the compiler synthesizes a synchronous entry-point method that calls the corresponding `Main` method. The synthesized method has parameters and return types based on the `Main` method: -- The formal parameter list of the synthesized method is the same as the formal parameter list of the `Main` method +- The parameter list of the synthesized method is the same as the parameter list of the `Main` method - If the return type of the `Main` method is `System.Threading.Tasks.Task`, the return type of the synthesized method is `void` - If the return type of the `Main` method is `System.Threading.Tasks.Task`, the return type of the synthesized method is `int` @@ -79,9 +79,9 @@ There are several different types of declaration spaces, as described in the fol - Within all compilation units of a program, *namespace_member_declaration*s within *namespace_declaration*s that have the same fully qualified namespace name are members of a single combined declaration space. - Each *compilation_unit* and *namespace_body* has an ***alias declaration space***. Each *extern_alias_directive* and *using_alias_directive* of the *compilation_unit* or *namespace_body* contributes a member to the alias declaration space ([§14.5.2](namespaces.md#1452-using-alias-directives)). - Each non-partial class, struct, or interface declaration creates a new declaration space. Each partial class, struct, or interface declaration contributes to a declaration space shared by all matching parts in the same program ([§16.2.4](structs.md#1624-partial-modifier)). Names are introduced into this declaration space through *class_member_declaration*s, *struct_member_declaration*s, *interface_member_declaration*s, or *type_parameter*s. Except for overloaded instance constructor declarations and static constructor declarations, a class or struct cannot contain a member declaration with the same name as the class or struct. A class, struct, or interface permits the declaration of overloaded methods and indexers. Furthermore, a class or struct permits the declaration of overloaded instance constructors and operators. For example, a class, struct, or interface may contain multiple method declarations with the same name, provided these method declarations differ in their signature ([§7.6](basic-concepts.md#76-signatures-and-overloading)). Note that base classes do not contribute to the declaration space of a class, and base interfaces do not contribute to the declaration space of an interface. Thus, a derived class or interface is allowed to declare a member with the same name as an inherited member. Such a member is said to ***hide*** the inherited member. -- Each delegate declaration creates a new declaration space. Names are introduced into this declaration space through formal parameters (*fixed_parameter*s and *parameter_array*s) and *type_parameter*s. +- Each delegate declaration creates a new declaration space. Names are introduced into this declaration space through parameters (*fixed_parameter*s and *parameter_array*s) and *type_parameter*s. - Each enumeration declaration creates a new declaration space. Names are introduced into this declaration space through *enum_member_declarations*. -- Each method declaration, property declaration, property accessor declaration, indexer declaration, indexer accessor declaration, operator declaration, instance constructor declaration, anonymous function, and local function creates a new declaration space called a ***local variable declaration space***. Names are introduced into this declaration space through formal parameters (*fixed_parameter*s and *parameter_array*s) and *type_parameter*s. The set accessor for a property or an indexer introduces the name `value` as a formal parameter. The body of the function member, anonymous function, or local function, if any, is considered to be nested within the local variable declaration space. When a local variable declaration space and a nested local variable declaration space contain elements with the same name, within the scope of the nested local name, the outer local name is hidden ([§7.7.1](basic-concepts.md#771-general)) by the nested local name. +- Each method declaration, property declaration, property accessor declaration, indexer declaration, indexer accessor declaration, operator declaration, instance constructor declaration, anonymous function, and local function creates a new declaration space called a ***local variable declaration space***. Names are introduced into this declaration space through parameters (*fixed_parameter*s and *parameter_array*s) and *type_parameter*s. The set accessor for a property or an indexer introduces the name `value` as a parameter. The body of the function member, anonymous function, or local function, if any, is considered to be nested within the local variable declaration space. When a local variable declaration space and a nested local variable declaration space contain elements with the same name, within the scope of the nested local name, the outer local name is hidden ([§7.7.1](basic-concepts.md#771-general)) by the nested local name. - Additional local variable declaration spaces may occur within member declarations, anonymous functions and local functions. Names are introduced into these declaration spaces through *pattern*s, *declaration_expression*s, *declaration_statement*s and *exception_specifier*s. Local variable declaration spaces may be nested, but it is an error for a local variable declaration space and a nested local variable declaration space to contain elements with the same name. Thus, within a nested declaration space it is not possible to declare a local variable, local function or constant with the same name as a parameter, type parameter, local variable, local function or constant in an enclosing declaration space. It is possible for two declaration spaces to contain elements with the same name as long as neither declaration space contains the other. Local declaration spaces are created by the following constructs: - Each *variable_initializer* in a field and property declaration introduces its own local variable declaration space, that is not nested within any other local variable declaration space. - The body of a function member, anonymous function, or local function, if any, creates a local variable declaration space that is considered to be nested within the function’s local variable declaration space. @@ -251,7 +251,7 @@ The members of an array are the members inherited from class `System.Array`. ### 7.4.8 Delegate members -A delegate inherits members from class `System.Delegate`. Additionally, it contains a method named `Invoke` with the same return type and formal parameter list specified in its declaration ([§20.2](delegates.md#202-delegate-declarations)). An invocation of this method shall behave identically to a delegate invocation ([§20.6](delegates.md#206-delegate-invocation)) on the same delegate instance. +A delegate inherits members from class `System.Delegate`. Additionally, it contains a method named `Invoke` with the same return type and parameter list specified in its declaration ([§20.2](delegates.md#202-delegate-declarations)). An invocation of this method shall behave identically to a delegate invocation ([§20.6](delegates.md#206-delegate-invocation)) on the same delegate instance. An implementation may provide additional members, either through inheritance or directly in the delegate itself. @@ -548,10 +548,10 @@ The following accessibility constraints exist: Methods, instance constructors, indexers, and operators are characterized by their ***signatures***: -- The signature of a method consists of the name of the method, the number of type parameters, and the type and parameter-passing mode of each of its formal parameters, considered in the order left to right. For these purposes, any type parameter of the method that occurs in the type of a formal parameter is identified not by its name, but by its ordinal position in the type parameter list of the method. The signature of a method specifically does not include the return type, parameter names, type parameter names, type parameter constraints, the `params` or `this` parameter modifiers, nor whether parameters are required or optional. -- The signature of an instance constructor consists of the type and parameter-passing mode of each of its formal parameters, considered in the order left to right. The signature of an instance constructor specifically does not include the `params` modifier that may be specified for the right-most parameter, nor whether parameters are required or optional. -- The signature of an indexer consists of the type of each of its formal parameters, considered in the order left to right. The signature of an indexer specifically does not include the element type, nor does it include the `params` modifier that may be specified for the right-most parameter, nor whether parameters are required or optional. -- The signature of an operator consists of the name of the operator and the type of each of its formal parameters, considered in the order left to right. The signature of an operator specifically does not include the result type. +- The signature of a method consists of the name of the method, the number of type parameters, and the type and parameter-passing mode of each of its parameters, considered in the order left to right. For these purposes, any type parameter of the method that occurs in the type of a parameter is identified not by its name, but by its ordinal position in the type parameter list of the method. The signature of a method specifically does not include the return type, parameter names, type parameter names, type parameter constraints, the `params` or `this` parameter modifiers, nor whether parameters are required or optional. +- The signature of an instance constructor consists of the type and parameter-passing mode of each of its parameters, considered in the order left to right. The signature of an instance constructor specifically does not include the `params` modifier that may be specified for the right-most parameter, nor whether parameters are required or optional. +- The signature of an indexer consists of the type of each of its parameters, considered in the order left to right. The signature of an indexer specifically does not include the element type, nor does it include the `params` modifier that may be specified for the right-most parameter, nor whether parameters are required or optional. +- The signature of an operator consists of the name of the operator and the type of each of its parameters, considered in the order left to right. The signature of an operator specifically does not include the result type. - The signature of a conversion operator consists of the source type and the target type. The implicit or explicit classification of a conversion operator is not part of the signature. - Two signatures of the same member kind (method, instance constructor, indexer or operator) are considered to be the *same signatures* if they have the same name, number of type parameters, number of parameters, and parameter-passing modes, and an identity conversion exists between the types of their corresponding parameters ([§10.2.2](conversions.md#1022-identity-conversion)). @@ -608,7 +608,7 @@ The ***scope*** of a name is the region of program text within which it is possi > *Note*: Unlike members of a class, this scope does not extend to derived classes. *end note* - The scope of a type parameter declared by a *type_parameter_list* on a *struct_declaration* ([§16.2](structs.md#162-struct-declarations)) is the *struct_interfaces*, *type_parameter_constraints_clause*s, and *struct_body* of that *struct_declaration*. - The scope of a type parameter declared by a *type_parameter_list* on an *interface_declaration* ([§18.2](interfaces.md#182-interface-declarations)) is the *interface_base*, *type_parameter_constraints_clause*s, and *interface_body* of that *interface_declaration*. -- The scope of a type parameter declared by a *type_parameter_list* on a *delegate_declaration* ([§20.2](delegates.md#202-delegate-declarations)) is the *return_type*, *formal_parameter_list*, and *type_parameter_constraints_clause*s of that *delegate_declaration*. +- The scope of a type parameter declared by a *type_parameter_list* on a *delegate_declaration* ([§20.2](delegates.md#202-delegate-declarations)) is the *return_type*, *parameter_list*, and *type_parameter_constraints_clause*s of that *delegate_declaration*. - The scope of a type parameter declared by a *type_parameter_list* on a *method_declaration* ([§15.6.1](classes.md#1561-general)) is the *method_declaration*. - The scope of a member declared by a *class_member_declaration* ([§15.3.1](classes.md#1531-general)) is the *class_body* in which the declaration occurs. In addition, the scope of a class member extends to the *class_body* of those derived classes that are included in the accessibility domain ([§7.5.3](basic-concepts.md#753-accessibility-domains)) of the member. - The scope of a member declared by a *struct_member_declaration* ([§16.3](structs.md#163-struct-members)) is the *struct_body* in which the declaration occurs. diff --git a/standard/classes.md b/standard/classes.md index d24f82f49..45fe4c9d6 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -1988,8 +1988,8 @@ ref_method_modifiers ; method_header - : member_name '(' formal_parameter_list? ')' - | member_name type_parameter_list '(' formal_parameter_list? ')' + : member_name '(' parameter_list? ')' + | member_name type_parameter_list '(' parameter_list? ')' type_parameter_constraints_clause* ; @@ -2081,9 +2081,9 @@ The *member_name* specifies the name of the method. Unless the method is an expl For an explicit interface member implementation, the *member_name* consists of an *interface_type* followed by a “`.`” and an *identifier*. In this case, the declaration shall include no modifiers other than (possibly) `extern` or `async`. -The optional *formal_parameter_list* specifies the parameters of the method ([§15.6.2](classes.md#1562-method-parameters)). +The optional *parameter_list* specifies the parameters of the method ([§15.6.2](classes.md#1562-method-parameters)). -The *return_type* or *ref_return_type*, and each of the types referenced in the *formal_parameter_list* of a method, shall be at least as accessible as the method itself ([§7.5.5](basic-concepts.md#755-accessibility-constraints)). +The *return_type* or *ref_return_type*, and each of the types referenced in the *parameter_list* of a method, shall be at least as accessible as the method itself ([§7.5.5](basic-concepts.md#755-accessibility-constraints)). The *method_body* of a returns-by-value or returns-no-value method is either a semicolon, a block body or an expression body. A block body consists of a *block*, which specifies the statements to execute when the method is invoked. An expression body consists of `=>`, followed by a *null_conditional_invocation_expression* or *expression*, and a semicolon, and denotes a single expression to perform when the method is invoked. @@ -2095,22 +2095,22 @@ The *ref_method_body* of a returns-by-ref method is either a semicolon, a block For abstract and extern methods, the *ref_method_body* consists simply of a semicolon; for all other methods, the *ref_method_body* is either a block body or an expression body. -The name, the number of type parameters, and the formal parameter list of a method define the signature ([§7.6](basic-concepts.md#76-signatures-and-overloading)) of the method. Specifically, the signature of a method consists of its name, the number of its type parameters, and the number, *parameter_mode_modifier*s ([§15.6.2.1](classes.md#15621-general)), and types of its formal parameters. The return type is not part of a method’s signature, nor are the names of the formal parameters, the names of the type parameters, or the constraints. When a formal parameter type references a type parameter of the method, the ordinal position of the type parameter (not the name of the type parameter) is used for type equivalence. +The name, the number of type parameters, and the parameter list of a method define the signature ([§7.6](basic-concepts.md#76-signatures-and-overloading)) of the method. Specifically, the signature of a method consists of its name, the number of its type parameters, and the number, *parameter_mode_modifier*s ([§15.6.2.1](classes.md#15621-general)), and types of its parameters. The return type is not part of a method’s signature, nor are the names of the parameters, the names of the type parameters, or the constraints. When a parameter type references a type parameter of the method, the ordinal position of the type parameter (not the name of the type parameter) is used for type equivalence. The name of a method shall differ from the names of all other non-methods declared in the same class. In addition, the signature of a method shall differ from the signatures of all other methods declared in the same class, and two methods declared in the same class shall not have signatures that differ solely by `in`, `out`, and `ref`. The method’s *type_parameter*s are in scope throughout the *method_declaration*, and can be used to form types throughout that scope in *return_type* or *ref_return_type*, *method_body* or *ref_method_body*, and *type_parameter_constraints_clause*s but not in *attributes*. -All formal parameters and type parameters shall have different names. +All parameters and type parameters shall have different names. ### 15.6.2 Method parameters #### 15.6.2.1 General -The parameters of a method, if any, are declared by the method’s *formal_parameter_list*. +The parameters of a method, if any, are declared by the method’s *parameter_list*. ```ANTLR -formal_parameter_list +parameter_list : fixed_parameters | fixed_parameters ',' parameter_array | parameter_array @@ -2144,9 +2144,9 @@ parameter_array ; ``` -The formal parameter list consists of one or more comma-separated parameters of which only the last may be a *parameter_array*. +The parameter list consists of one or more comma-separated parameters of which only the last may be a *parameter_array*. -A *fixed_parameter* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)); an optional `in`, `out`, `ref`, or `this` modifier; a *type*; an *identifier*; and an optional *default_argument*. Each *fixed_parameter* declares a parameter of the given type with the given name. The `this` modifier designates the method as an extension method and is only allowed on the first parameter of a static method in a non-generic, non-nested static class. If the parameter is a `struct` type or a type parameter constrained to a `struct`, the `this` modifier may be combined with either the `ref` or `in` modifier, but not the `out` modifier. Extension methods are further described in [§15.6.10](classes.md#15610-extension-methods). A *fixed_parameter* with a *default_argument* is known as an ***optional parameter***, whereas a *fixed_parameter* without a *default_argument* is a ***required parameter***. A required parameter shall not appear after an optional parameter in a *formal_parameter_list*. +A *fixed_parameter* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)); an optional `in`, `out`, `ref`, or `this` modifier; a *type*; an *identifier*; and an optional *default_argument*. Each *fixed_parameter* declares a parameter of the given type with the given name. The `this` modifier designates the method as an extension method and is only allowed on the first parameter of a static method in a non-generic, non-nested static class. If the parameter is a `struct` type or a type parameter constrained to a `struct`, the `this` modifier may be combined with either the `ref` or `in` modifier, but not the `out` modifier. Extension methods are further described in [§15.6.10](classes.md#15610-extension-methods). A *fixed_parameter* with a *default_argument* is known as an ***optional parameter***, whereas a *fixed_parameter* without a *default_argument* is a ***required parameter***. A required parameter shall not appear after an optional parameter in a *parameter_list*. A parameter with a `ref`, `out` or `this` modifier cannot have a *default_argument*. A parameter with an `in` modifier may have a *default_argument*. The *expression* in a *default_argument* shall be one of the following: @@ -2178,15 +2178,15 @@ A *parameter_array* may occur after an optional parameter, but cannot have a def > ) { } > ``` > -> In the *formal_parameter_list* for `M`, `i` is a required `ref` parameter, `d` is a required value parameter, `b`, `s`, `o` and `t` are optional value parameters and `a` is a parameter array. +> In the *parameter_list* for `M`, `i` is a required `ref` parameter, `d` is a required value parameter, `b`, `s`, `o` and `t` are optional value parameters and `a` is a parameter array. > > *end example* -A method declaration creates a separate declaration space ([§7.3](basic-concepts.md#73-declarations)) for parameters and type parameters. Names are introduced into this declaration space by the type parameter list and the formal parameter list of the method. The body of the method, if any, is considered to be nested within this declaration space. It is an error for two members of a method declaration space to have the same name. +A method declaration creates a separate declaration space ([§7.3](basic-concepts.md#73-declarations)) for parameters and type parameters. Names are introduced into this declaration space by the type parameter list and the parameter list of the method. The body of the method, if any, is considered to be nested within this declaration space. It is an error for two members of a method declaration space to have the same name. -A method invocation ([§12.8.9.2](expressions.md#12892-method-invocations)) creates a copy, specific to that invocation, of the formal parameters and local variables of the method, and the argument list of the invocation assigns values or variable references to the newly created formal parameters. Within the *block* of a method, formal parameters can be referenced by their identifiers in *simple_name* expressions ([§12.8.4](expressions.md#1284-simple-names)). +A method invocation ([§12.8.9.2](expressions.md#12892-method-invocations)) creates a copy, specific to that invocation, of the parameters and local variables of the method, and the argument list of the invocation assigns values or variable references to the newly created parameters. Within the *block* of a method, parameters can be referenced by their identifiers in *simple_name* expressions ([§12.8.4](expressions.md#1284-simple-names)). -The following kinds of formal parameters exist: +The following kinds of parameters exist: - Value parameters, which are declared without any modifiers. - Input parameters, which are declared with the `in` modifier. @@ -2200,7 +2200,7 @@ The following kinds of formal parameters exist: A parameter declared with no modifiers is a value parameter. A value parameter is a local variable that gets its initial value from the corresponding argument supplied in the method invocation. -When a formal parameter is a value parameter, the corresponding argument in a method invocation shall be an expression that is implicitly convertible ([§10.2](conversions.md#102-implicit-conversions)) to the formal parameter type. +When a parameter is a value parameter, the corresponding argument in a method invocation shall be an expression that is implicitly convertible ([§10.2](conversions.md#102-implicit-conversions)) to the parameter type. A method is permitted to assign new values to a value parameter. Such assignments only affect the local storage location represented by the value parameter—they have no effect on the actual argument given in the method invocation. @@ -2212,7 +2212,7 @@ A parameter declared with one of the `in`, `ref` or `out` modifiers is a ***by-r > *Note*: The referent of a by-reference parameter can be changed using the ref assignment (`= ref`) operator. -When a formal parameter is a by-reference parameter, the corresponding argument in a method invocation shall consist of the corresponding keyword, `in`, `ref`, or `out`, followed by a *variable_reference* ([§9.5](variables.md#95-variable-references)) of the same type as the formal parameter. However, when the formal parameter is an `in` parameter, the argument may be an *expression* for which an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from that argument expression to the type of the corresponding parameter. +When a parameter is a by-reference parameter, the corresponding argument in a method invocation shall consist of the corresponding keyword, `in`, `ref`, or `out`, followed by a *variable_reference* ([§9.5](variables.md#95-variable-references)) of the same type as the parameter. However, when the parameter is an `in` parameter, the argument may be an *expression* for which an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from that argument expression to the type of the corresponding parameter. By-reference parameters are not allowed on functions declared as an iterator ([§15.14](classes.md#1514-iterators)) or async function ([§15.15](classes.md#1515-async-functions)). @@ -2344,7 +2344,7 @@ A method declared as a partial method ([§15.6.9](classes.md#1569-partial-method #### 15.6.2.4 Parameter arrays -A parameter declared with a `params` modifier is a parameter array. If a formal parameter list includes a parameter array, it shall be the last parameter in the list and it shall be of a single-dimensional array type. +A parameter declared with a `params` modifier is a parameter array. If a parameter list includes a parameter array, it shall be the last parameter in the list and it shall be of a single-dimensional array type. > *Example*: The types `string[]` and `string[][]` can be used as the type of a parameter array, but the type `string[,]` can not. *end example* @@ -4220,8 +4220,8 @@ indexer_modifier ; indexer_declarator - : type 'this' '[' formal_parameter_list ']' - | type interface_type '.' 'this' '[' formal_parameter_list ']' + : type 'this' '[' parameter_list ']' + | type interface_type '.' 'this' '[' parameter_list ']' ; indexer_body @@ -4252,9 +4252,9 @@ The *type* of an indexer declaration specifies the element type of the indexer i Unless the indexer is an explicit interface member implementation, the *type* is followed by the keyword `this`. For an explicit interface member implementation, the *type* is followed by an *interface_type*, a “`.`”, and the keyword `this`. Unlike other members, indexers do not have user-defined names. -The *formal_parameter_list* specifies the parameters of the indexer. The formal parameter list of an indexer corresponds to that of a method ([§15.6.2](classes.md#1562-method-parameters)), except that at least one parameter shall be specified, and that the `this`, `ref`, and `out` parameter modifiers are not permitted. +The *parameter_list* specifies the parameters of the indexer. The parameter list of an indexer corresponds to that of a method ([§15.6.2](classes.md#1562-method-parameters)), except that at least one parameter shall be specified, and that the `this`, `ref`, and `out` parameter modifiers are not permitted. -The *type* of an indexer and each of the types referenced in the *formal_parameter_list* shall be at least as accessible as the indexer itself ([§7.5.5](basic-concepts.md#755-accessibility-constraints)). +The *type* of an indexer and each of the types referenced in the *parameter_list* shall be at least as accessible as the indexer itself ([§7.5.5](basic-concepts.md#755-accessibility-constraints)). An *indexer_body* may either consist of a statement body ([§15.7.1](classes.md#1571-general)) or an expression body ([§15.6.1](classes.md#1561-general)). In a statement body, *accessor_declarations*, which shall be enclosed in “`{`” and “`}`” tokens, declare the accessors ([§15.7.3](classes.md#1573-accessors)) of the indexer. The accessors specify the executable statements associated with reading and writing indexer elements. @@ -4266,7 +4266,7 @@ In a *ref_indexer_body* an expression body consisting of `=>` followed by `ref`, > *Note*: Even though the syntax for accessing an indexer element is the same as that for an array element, an indexer element is not classified as a variable. Thus, it is not possible to pass an indexer element as an `in`, `out`, or `ref` argument unless the indexer is ref-valued and therefore returns a reference ([§9.7](variables.md#97-reference-variables-and-returns)). *end note* -The *formal_parameter_list* of an indexer defines the signature ([§7.6](basic-concepts.md#76-signatures-and-overloading)) of the indexer. Specifically, the signature of an indexer consists of the number and types of its formal parameters. The element type and names of the formal parameters are not part of an indexer’s signature. +The *parameter_list* of an indexer defines the signature ([§7.6](basic-concepts.md#76-signatures-and-overloading)) of the indexer. Specifically, the signature of an indexer consists of the number and types of its parameters. The element type and names of the parameters are not part of an indexer’s signature. The signature of an indexer shall differ from the signatures of all other indexers declared in the same class. @@ -4411,8 +4411,8 @@ Indexers and properties are very similar in concept, but differ in the following - A property is identified by its name, whereas an indexer is identified by its signature. - A property is accessed through a *simple_name* ([§12.8.4](expressions.md#1284-simple-names)) or a *member_access* ([§12.8.7](expressions.md#1287-member-access)), whereas an indexer element is accessed through an *element_access* ([§12.8.11.3](expressions.md#128113-indexer-access)). - A property can be a static member, whereas an indexer is always an instance member. -- A get accessor of a property corresponds to a method with no parameters, whereas a get accessor of an indexer corresponds to a method with the same formal parameter list as the indexer. -- A set accessor of a property corresponds to a method with a single parameter named `value`, whereas a set accessor of an indexer corresponds to a method with the same formal parameter list as the indexer, plus an additional parameter named `value`. +- A get accessor of a property corresponds to a method with no parameters, whereas a get accessor of an indexer corresponds to a method with the same parameter list as the indexer. +- A set accessor of a property corresponds to a method with a single parameter named `value`, whereas a set accessor of an indexer corresponds to a method with the same parameter list as the indexer, plus an additional parameter named `value`. - It is a compile-time error for an indexer accessor to declare a local variable or local constant with the same name as an indexer parameter. - In an overriding property declaration, the inherited property is accessed using the syntax `base.P`, where `P` is the property name. In an overriding indexer declaration, the inherited indexer is accessed using the syntax `base[E]`, where `E` is a comma-separated list of expressions. - There is no concept of an “automatically implemented indexer”. It is an error to have a non-abstract, non-external indexer with semicolon *accessor_body*s. @@ -4507,7 +4507,7 @@ The following rules apply to unary operator declarations, where `T` denotes the - A unary `++` or `--` operator shall take a single parameter of type `T` or `T?` and shall return that same type or a type derived from it. - A unary `true` or `false` operator shall take a single parameter of type `T` or `T?` and shall return type `bool`. -The signature of a unary operator consists of the operator token (`+`, `-`, `!`, `~`, `++`, `--`, `true`, or `false`) and the type of the single formal parameter. The return type is not part of a unary operator’s signature, nor is the name of the formal parameter. +The signature of a unary operator consists of the operator token (`+`, `-`, `!`, `~`, `++`, `--`, `true`, or `false`) and the type of the single parameter. The return type is not part of a unary operator’s signature, nor is the name of the parameter. The `true` and `false` unary operators require pair-wise declaration. A compile-time error occurs if a class declares one of these operators without also declaring the other. The `true` and `false` operators are described further in [§12.24](expressions.md#1224-boolean-expressions). @@ -4555,7 +4555,7 @@ The following rules apply to binary operator declarations, where `T` denotes the - A binary non-shift operator shall take two parameters, at least one of which shall have type `T` or `T?`, and can return any type. - A binary `<<` or `>>` operator ([§12.11](expressions.md#1211-shift-operators)) shall take two parameters, the first of which shall have type `T` or T? and the second of which shall have type `int` or `int?`, and can return any type. -The signature of a binary operator consists of the operator token (`+`, `-`, `*`, `/`, `%`, `&`, `|`, `^`, `<<`, `>>`, `==`, `!=`, `>`, `<`, `>=`, or `<=`) and the types of the two formal parameters. The return type and the names of the formal parameters are not part of a binary operator’s signature. +The signature of a binary operator consists of the operator token (`+`, `-`, `*`, `/`, `%`, `&`, `|`, `^`, `<<`, `>>`, `==`, `!=`, `>`, `<`, `>=`, or `<=`) and the types of the two parameters. The return type and the names of the parameters are not part of a binary operator’s signature. Certain binary operators require pair-wise declaration. For every declaration of either operator of a pair, there shall be a matching declaration of the other operator of the pair. Two operator declarations match if identity conversions exist between their return types and their corresponding parameter types. The following operators require pair-wise declaration: @@ -4716,7 +4716,7 @@ constructor_modifier ; constructor_declarator - : identifier '(' formal_parameter_list? ')' constructor_initializer? + : identifier '(' parameter_list? ')' constructor_initializer? ; constructor_initializer @@ -4737,9 +4737,9 @@ A *constructor_declaration* may include a set of *attributes* ([§22](attributes The *identifier* of a *constructor_declarator* shall name the class in which the instance constructor is declared. If any other name is specified, a compile-time error occurs. -The optional *formal_parameter_list* of an instance constructor is subject to the same rules as the *formal_parameter_list* of a method ([§15.6](classes.md#156-methods)). As the `this` modifier for parameters only applies to extension methods ([§15.6.10](classes.md#15610-extension-methods)), no parameter in a constructor’s *formal_parameter_list* shall contain the `this` modifier. The formal parameter list defines the signature ([§7.6](basic-concepts.md#76-signatures-and-overloading)) of an instance constructor and governs the process whereby overload resolution ([§12.6.4](expressions.md#1264-overload-resolution)) selects a particular instance constructor in an invocation. +The optional *parameter_list* of an instance constructor is subject to the same rules as the *parameter_list* of a method ([§15.6](classes.md#156-methods)). As the `this` modifier for parameters only applies to extension methods ([§15.6.10](classes.md#15610-extension-methods)), no parameter in a constructor’s *parameter_list* shall contain the `this` modifier. The parameter list defines the signature ([§7.6](basic-concepts.md#76-signatures-and-overloading)) of an instance constructor and governs the process whereby overload resolution ([§12.6.4](expressions.md#1264-overload-resolution)) selects a particular instance constructor in an invocation. -Each of the types referenced in the *formal_parameter_list* of an instance constructor shall be at least as accessible as the constructor itself ([§7.5.5](basic-concepts.md#755-accessibility-constraints)). +Each of the types referenced in the *parameter_list* of an instance constructor shall be at least as accessible as the constructor itself ([§7.5.5](basic-concepts.md#755-accessibility-constraints)). The optional *constructor_initializer* specifies another instance constructor to invoke before executing the statements given in the *constructor_body* of this instance constructor. This is described further in [§15.11.2](classes.md#15112-constructor-initializers). @@ -4777,7 +4777,7 @@ If an instance constructor has no constructor initializer, a constructor initial > > *end note* -The scope of the parameters given by the *formal_parameter_list* of an instance constructor declaration includes the constructor initializer of that declaration. Thus, a constructor initializer is permitted to access the parameters of the constructor. +The scope of the parameters given by the *parameter_list* of an instance constructor declaration includes the constructor initializer of that declaration. Thus, a constructor initializer is permitted to access the parameters of the constructor. > *Example*: > @@ -5265,7 +5265,7 @@ A function member ([§12.6](expressions.md#126-function-members)) implemented us An iterator block may be used as the body of a function member as long as the return type of the corresponding function member is one of the enumerator interfaces ([§15.14.2](classes.md#15142-enumerator-interfaces)) or one of the enumerable interfaces ([§15.14.3](classes.md#15143-enumerable-interfaces)). It may occur as a *method_body*, *operator_body* or *accessor_body*, whereas events, instance constructors, static constructors and finalizer shall not be implemented as iterators. -When a function member is implemented using an iterator block, it is a compile-time error for the formal parameter list of the function member to specify any `in`, `out`, or `ref` parameters, or an parameter of a `ref struct` type. +When a function member is implemented using an iterator block, it is a compile-time error for the parameter list of the function member to specify any `in`, `out`, or `ref` parameters, or an parameter of a `ref struct` type. ### 15.14.2 Enumerator interfaces @@ -5381,7 +5381,7 @@ An enumerable object provides an implementation of the `GetEnumerator` methods o A method ([§15.6](classes.md#156-methods)) or anonymous function ([§12.19](expressions.md#1219-anonymous-function-expressions)) with the `async` modifier is called an ***async function***. In general, the term ***async*** is used to describe any kind of function that has the `async` modifier. -It is a compile-time error for the formal parameter list of an async function to specify any `in`, `out`, or `ref` parameters, or any parameter of a `ref struct` type. +It is a compile-time error for the parameter list of an async function to specify any `in`, `out`, or `ref` parameters, or any parameter of a `ref struct` type. The *return_type* of an async method shall be either `void` or a ***task type***. For an async method that produces a result value, a task type shall be generic. For an async method that does not produce a result value, a task type shall not be generic. Such types are referred to in this specification as `«TaskType»` and `«TaskType»`, respectively. The Standard library type `System.Threading.Tasks.Task` and types constructed from `System.Threading.Tasks.Task` are task types, as well as a class, struct or interface type that is associated with a ***task builder type*** via the attribute `System.Runtime.CompilerServices.AsyncMethodBuilderAttribute`. Such types are referred to in this specification as `«TaskBuilderType»` and `«TaskBuilderType»`. A task type can have at most one type parameter and cannot be nested in a generic type. diff --git a/standard/conversions.md b/standard/conversions.md index f0a705d69..fd2564d71 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -946,7 +946,7 @@ An implicit conversion exists from a method group ([§12.2](expressions.md#122-e The compile-time application of the conversion from a method group `E` to a delegate type `D` is described in the following. - A single method `M` is selected corresponding to a method invocation ([§12.8.9.2](expressions.md#12892-method-invocations)) of the form `E(A)`, with the following modifications: - - The argument list `A` is a list of expressions, each classified as a variable and with the type and modifier (`in`, `out`, or `ref`) of the corresponding parameter in the *formal_parameter_list* of `D` — excepting parameters of type `dynamic`, where the corresponding expression has the type `object` instead of `dynamic`. + - The argument list `A` is a list of expressions, each classified as a variable and with the type and modifier (`in`, `out`, or `ref`) of the corresponding parameter in the *parameter_list* of `D` — excepting parameters of type `dynamic`, where the corresponding expression has the type `object` instead of `dynamic`. - The candidate methods considered are only those methods that are applicable in their normal form and do not omit any optional parameters ([§12.6.4.2](expressions.md#12642-applicable-function-member)). Thus, candidate methods are ignored if they are applicable only in their expanded form, or if one or more of their optional parameters do not have a corresponding parameter in `D`. - A conversion is considered to exist if the algorithm of [§12.8.9.2](expressions.md#12892-method-invocations) produces a single best method `M` which is compatible ([§20.4](delegates.md#204-delegate-compatibility)) with `D`. - If the selected method `M` is an instance method, the instance expression associated with `E` determines the target object of the delegate. diff --git a/standard/delegates.md b/standard/delegates.md index 694569c8a..82c02ef36 100644 --- a/standard/delegates.md +++ b/standard/delegates.md @@ -18,8 +18,8 @@ delegate_declaration ; delegate_header - : identifier '(' formal_parameter_list? ')' ';' - | identifier variant_type_parameter_list '(' formal_parameter_list? ')' + : identifier '(' parameter_list? ')' ';' + | identifier variant_type_parameter_list '(' parameter_list? ')' type_parameter_constraints_clause* ';' ; @@ -47,7 +47,7 @@ The delegate’s type name is *identifier*. As with methods ([§15.6.1](classes.md#1561-general)), if `ref` is present, the delegate returns-by-ref; otherwise, if *return_type* is `void`, the delegate returns-no-value; otherwise, the delegate returns-by-value. -The optional *formal_parameter_list* specifies the parameters of the delegate. +The optional *parameter_list* specifies the parameters of the delegate. The *return_type* of a returns-by-value or returns-no-value delegate declaration specifies the type of the result, if any, returned by the delegate. @@ -57,7 +57,7 @@ The optional *variant_type_parameter_list* ([§18.2.3](interfaces.md#1823-varian The return type of a delegate type shall be either `void`, or output-safe ([§18.2.3.2](interfaces.md#18232-variance-safety)). -All the formal parameter types of a delegate type shall be input-safe ([§18.2.3.2](interfaces.md#18232-variance-safety)). In addition, any output or reference parameter types shall also be output-safe. +All the parameter types of a delegate type shall be input-safe ([§18.2.3.2](interfaces.md#18232-variance-safety)). In addition, any output or reference parameter types shall also be output-safe. > *Note*: Output parameters are required to be input-safe due to common implementation restrictions. *end note* @@ -83,7 +83,7 @@ The only way to declare a delegate type is via a *delegate_declaration*. Every d ## 20.3 Delegate members -Every delegate type inherits members from the `Delegate` class as described in [§15.3.4](classes.md#1534-inheritance). In addition, every delegate type shall provide a non-generic `Invoke` method whose parameter list matches the *formal_parameter_list* in the delegate declaration, whose return type matches the *return_type* or *ref_return_type* in the delegate declaration, and for returns-by-ref delegates whose *ref_kind* matches that in the delegate declaration. The `Invoke` method shall be at least as accessible as the containing delegate type. Calling the `Invoke` method on a delegate type is semantically equivalent to using the delegate invocation syntax ([§20.6](delegates.md#206-delegate-invocation)) . +Every delegate type inherits members from the `Delegate` class as described in [§15.3.4](classes.md#1534-inheritance). In addition, every delegate type shall provide a non-generic `Invoke` method whose parameter list matches the *parameter_list* in the delegate declaration, whose return type matches the *return_type* or *ref_return_type* in the delegate declaration, and for returns-by-ref delegates whose *ref_kind* matches that in the delegate declaration. The `Invoke` method shall be at least as accessible as the containing delegate type. Calling the `Invoke` method on a delegate type is semantically equivalent to using the delegate invocation syntax ([§20.6](delegates.md#206-delegate-invocation)) . Implementations may define additional members in the delegate type. diff --git a/standard/expressions.md b/standard/expressions.md index e87ddcc3d..9a1a4eb50 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -2740,7 +2740,7 @@ The invocation list of a delegate is determined when the delegate is instantiate It is not possible to create a delegate that refers to a property, indexer, user-defined operator, instance constructor, finalizer, or static constructor. -> *Example*: As described above, when a delegate is created from a method group, the formal parameter list and return type of the delegate determine which of the overloaded methods to select. In the example +> *Example*: As described above, when a delegate is created from a method group, the parameter list and return type of the delegate determine which of the overloaded methods to select. In the example > > > ```csharp @@ -2755,7 +2755,7 @@ It is not possible to create a delegate that refers to a property, indexer, user > } > ``` > -> the `A.f` field is initialized with a delegate that refers to the second `Square` method because that method exactly matches the formal parameter list and return type of `DoubleFunc`. Had the second `Square` method not been present, a compile-time error would have occurred. +> the `A.f` field is initialized with a delegate that refers to the second `Square` method because that method exactly matches the parameter list and return type of `DoubleFunc`. Had the second `Square` method not been present, a compile-time error would have occurred. > > *end example* @@ -4979,7 +4979,7 @@ The behavior of *lambda_expression*s and *anonymous_method_expression*s is the s ### 12.19.2 Anonymous function signatures -The *anonymous_function_signature* of an anonymous function defines the names and optionally the types of the formal parameters for the anonymous function. The scope of the parameters of the anonymous function is the *anonymous_function_body* ([§7.7](basic-concepts.md#77-scopes)). Together with the parameter list (if given) the anonymous-method-body constitutes a declaration space ([§7.3](basic-concepts.md#73-declarations)). It is thus a compile-time error for the name of a parameter of the anonymous function to match the name of a local variable, local constant or parameter whose scope includes the *anonymous_method_expression* or *lambda_expression*. +The *anonymous_function_signature* of an anonymous function defines the names and optionally the types of the parameters for the anonymous function. The scope of the parameters of the anonymous function is the *anonymous_function_body* ([§7.7](basic-concepts.md#77-scopes)). Together with the parameter list (if given) the anonymous-method-body constitutes a declaration space ([§7.3](basic-concepts.md#73-declarations)). It is thus a compile-time error for the name of a parameter of the anonymous function to match the name of a local variable, local constant or parameter whose scope includes the *anonymous_method_expression* or *lambda_expression*. If an anonymous function has an *explicit_anonymous_function_signature*, then the set of compatible delegate types and expression tree types is restricted to those that have the same parameter types and modifiers in the same order ([§10.7](conversions.md#107-anonymous-function-conversions)). In contrast to method group conversions ([§10.8](conversions.md#108-method-group-conversions)), contra-variance of anonymous function parameter types is not supported. If an anonymous function does not have an *anonymous_function_signature*, then the set of compatible delegate types and expression tree types is restricted to those that have no out parameters. @@ -6673,7 +6673,7 @@ Constant expressions are required in the contexts listed below and this is indic - Constant declarations ([§15.4](classes.md#154-constants)) - Enumeration member declarations ([§19.4](enums.md#194-enum-members)) -- Default arguments of formal parameter lists ([§15.6.2](classes.md#1562-method-parameters)) +- Default arguments of parameter lists ([§15.6.2](classes.md#1562-method-parameters)) - `case` labels of a `switch` statement ([§13.8.3](statements.md#1383-the-switch-statement)). - `goto case` statements ([§13.10.4](statements.md#13104-the-goto-statement)) - Dimension lengths in an array creation expression ([§12.8.16.5](expressions.md#128165-array-creation-expressions)) that includes an initializer. diff --git a/standard/interfaces.md b/standard/interfaces.md index 7feb06744..467b25071 100644 --- a/standard/interfaces.md +++ b/standard/interfaces.md @@ -259,15 +259,15 @@ interface_method_declaration ; interface_method_header - : identifier '(' formal_parameter_list? ')' ';' - | identifier type_parameter_list '(' formal_parameter_list? ')' + : identifier '(' parameter_list? ')' ';' + | identifier type_parameter_list '(' parameter_list? ')' type_parameter_constraints_clause* ';' ; ``` -The *attributes*, *return_type*, *ref_return_type*, *identifier*, and *formal_parameter_list* of an interface method declaration have the same meaning as those of a method declaration in a class ([§15.6](classes.md#156-methods)). An interface method declaration is not permitted to specify a method body, and the declaration therefore always ends with a semicolon. +The *attributes*, *return_type*, *ref_return_type*, *identifier*, and *parameter_list* of an interface method declaration have the same meaning as those of a method declaration in a class ([§15.6](classes.md#156-methods)). An interface method declaration is not permitted to specify a method body, and the declaration therefore always ends with a semicolon. -All formal parameter types of an interface method shall be input-safe ([§18.2.3.2](interfaces.md#18232-variance-safety)), and the return type shall be either `void` or output-safe. In addition, any output or reference formal parameter types shall also be output-safe. +All parameter types of an interface method shall be input-safe ([§18.2.3.2](interfaces.md#18232-variance-safety)), and the return type shall be either `void` or output-safe. In addition, any output or reference parameter types shall also be output-safe. > *Note*: Output parameters are required to be input-safe due to common implementation restrictions. *end note* @@ -360,18 +360,18 @@ Interface indexers are declared using *interface_indexer_declaration*s: ```ANTLR interface_indexer_declaration - : attributes? 'new'? type 'this' '[' formal_parameter_list ']' + : attributes? 'new'? type 'this' '[' parameter_list ']' '{' interface_accessors '}' - | attributes? 'new'? ref_kind type 'this' '[' formal_parameter_list ']' + | attributes? 'new'? ref_kind type 'this' '[' parameter_list ']' '{' ref_interface_accessor '}' ; ``` -The *attributes*, *type*, and *formal_parameter_list* of an interface indexer declaration have the same meaning as those of an indexer declaration in a class ([§15.9](classes.md#159-indexers)). +The *attributes*, *type*, and *parameter_list* of an interface indexer declaration have the same meaning as those of an indexer declaration in a class ([§15.9](classes.md#159-indexers)). The accessors of an interface indexer declaration correspond to the accessors of a class indexer declaration ([§15.9](classes.md#159-indexers)), except that the *accessor_body* shall always be a semicolon. Thus, the accessors simply indicate whether the indexer is read-write, read-only, or write-only. -All the formal parameter types of an interface indexer shall be input-safe ([§18.2.3.2](interfaces.md#18232-variance-safety)). In addition, any output or reference formal parameter types shall also be output-safe. +All the parameter types of an interface indexer shall be input-safe ([§18.2.3.2](interfaces.md#18232-variance-safety)). In addition, any output or reference parameter types shall also be output-safe. > *Note*: Output parameters are required to be input-safe due to common implementation restrictions. *end note* @@ -885,10 +885,10 @@ Members of a constructed interface type are considered to have any type paramete For purposes of interface mapping, a class or struct member `A` matches an interface member `B` when: -- `A` and `B` are methods, and the name, type, and formal parameter lists of `A` and `B` are identical. +- `A` and `B` are methods, and the name, type, and parameter lists of `A` and `B` are identical. - `A` and `B` are properties, the name and type of `A` and `B` are identical, and `A` has the same accessors as `B` (`A` is permitted to have additional accessors if it is not an explicit interface member implementation). - `A` and `B` are events, and the name and type of `A` and `B` are identical. -- `A` and `B` are indexers, the type and formal parameter lists of `A` and `B` are identical, and `A` has the same accessors as `B` (`A` is permitted to have additional accessors if it is not an explicit interface member implementation). +- `A` and `B` are indexers, the type and parameter lists of `A` and `B` are identical, and `A` has the same accessors as `B` (`A` is permitted to have additional accessors if it is not an explicit interface member implementation). Notable implications of the interface-mapping algorithm are: diff --git a/standard/statements.md b/standard/statements.md index 1793a0175..f4e60d101 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -496,8 +496,8 @@ local_function_declaration ; local_function_header - : identifier '(' formal_parameter_list? ')' - | identifier type_parameter_list '(' formal_parameter_list? ')' + : identifier '(' parameter_list? ')' + | identifier type_parameter_list '(' parameter_list? ')' type_parameter_constraints_clause* ; @@ -564,7 +564,7 @@ Unless specified otherwise below, the semantics of all grammar elements is the s The *identifier* of a *local_function_declaration* shall be unique in its declared block scope, including any enclosing local variable declaration spaces. One consequence of this is that overloaded *local_function_declaration*s are not allowed. -A *local_function_declaration* may include one `async` ([§15.15](classes.md#1515-async-functions)) modifier and one `unsafe` ([§23.1](unsafe-code.md#231-general)) modifier. If the declaration includes the `async` modifier then the return type shall be `void` or a `«TaskType»` type ([§15.15.1](classes.md#15151-general)). If the declaration includes the `static` modifier, the function is a ***static local function***; otherwise, it is a ***non-static local function***. It is a compile-time error for *type_parameter_list* or *formal_parameter_list* to contain *attributes*. If the local function is declared in an unsafe context ([§23.2](unsafe-code.md#232-unsafe-contexts)), the local function may include unsafe code, even if the local function declaration doesn’t include the `unsafe` modifier. +A *local_function_declaration* may include one `async` ([§15.15](classes.md#1515-async-functions)) modifier and one `unsafe` ([§23.1](unsafe-code.md#231-general)) modifier. If the declaration includes the `async` modifier then the return type shall be `void` or a `«TaskType»` type ([§15.15.1](classes.md#15151-general)). If the declaration includes the `static` modifier, the function is a ***static local function***; otherwise, it is a ***non-static local function***. It is a compile-time error for *type_parameter_list* or *parameter_list* to contain *attributes*. If the local function is declared in an unsafe context ([§23.2](unsafe-code.md#232-unsafe-contexts)), the local function may include unsafe code, even if the local function declaration doesn’t include the `unsafe` modifier. A local function is declared at block scope. A non-static local function may capture variables from the enclosing scope while a static local function shall not (so it has no access to enclosing locals, parameters, non-static local functions, or `this`). It is a compile-time error if a captured variable is read by the body of a non-static local function but is not definitely assigned before each call to the function. The compiler shall determine which variables are definitely assigned on return ([§9.4.4.33](variables.md#94433-rules-for-variables-in-local-functions)). diff --git a/standard/structs.md b/standard/structs.md index 476da5fae..b381661e8 100644 --- a/standard/structs.md +++ b/standard/structs.md @@ -525,7 +525,7 @@ For a method invocation if there is a `ref` or `out` argument of a `ref struct` #### 16.4.12.2 Parameter safe context -A formal parameter of a ref struct type, including the `this` parameter of an instance method, has a safe-context of caller-context. +A parameter of a ref struct type, including the `this` parameter of an instance method, has a safe-context of caller-context. #### 16.4.12.3 Local variable safe context diff --git a/standard/variables.md b/standard/variables.md index 89e07d1b3..7a2943360 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -1182,7 +1182,7 @@ For a local variable `v`: #### 9.7.2.3 Parameter ref safe context -For a formal parameter `p`: +For a parameter `p`: - If `p` is a `ref`, or `in` parameter, its ref-safe-context is the caller-context. If `p` is an `in` parameter, it can’t be returned as a writable `ref` but can be returned as `ref readonly`. - If `p` is an `out` parameter, its ref-safe-context is the caller-context. From d2a47d8c8a61340f1ab562068f8b2e40fb433aea Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Mon, 16 Sep 2024 09:12:15 -0400 Subject: [PATCH 135/259] Use consistent terminology for parameter kinds (#1172) * use consistent terminology * use consistent terminology * use consistent terminology * use consistent terminology * use consistent terminology * use consistent terminology * use consistent terminology * use consistent terminology * use consistent terminology * use consistent terminology * use consistent terminology * use consistent terminology * Update standard/classes.md Co-authored-by: Nigel-Ecma * Update standard/classes.md Co-authored-by: Nigel-Ecma * Update standard/classes.md Co-authored-by: Nigel-Ecma * Update standard/variables.md Co-authored-by: Nigel-Ecma --------- Co-authored-by: Nigel-Ecma --- standard/attributes.md | 4 ++-- standard/classes.md | 16 ++++++++-------- standard/conversions.md | 8 ++++---- standard/delegates.md | 4 ++-- standard/expressions.md | 32 ++++++++++++++++---------------- standard/portability-issues.md | 4 ++-- standard/statements.md | 4 ++-- standard/structs.md | 8 ++++---- standard/types.md | 2 +- standard/unsafe-code.md | 6 +++--- standard/variables.md | 18 +++++++++--------- 11 files changed, 53 insertions(+), 53 deletions(-) diff --git a/standard/attributes.md b/standard/attributes.md index 9d70dca9e..924cece0c 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -105,7 +105,7 @@ class X : Attribute { ... } ### 22.2.3 Positional and named parameters -Attribute classes can have ***positional parameters*** and ***named parameters***. Each public instance constructor for an attribute class defines a valid sequence of positional parameters for that attribute class. Each non-static public read-write field and property for an attribute class defines a named parameter for the attribute class. For a property to define a named parameter, that property shall have both a public get accessor and a public set accessor. +Attribute classes can have ***positional parameter***s and ***named parameter***s. Each public instance constructor for an attribute class defines a valid sequence of positional parameters for that attribute class. Each non-static public read-write field and property for an attribute class defines a named parameter for the attribute class. For a property to define a named parameter, that property shall have both a public get accessor and a public set accessor. > *Example*: The following example defines an attribute class named `HelpAttribute` that has one positional parameter, `url`, and one named parameter, `Topic`. Although it is non-static and public, the property `Url` does not define a named parameter, since it is not read-write. Two uses of this attribute are also shown: > @@ -574,7 +574,7 @@ A conditional method is subject to the following restrictions: - The conditional method shall have a return type of `void`. - The conditional method shall not be marked with the `override` modifier. A conditional method can be marked with the `virtual` modifier, however. Overrides of such a method are implicitly conditional, and shall not be explicitly marked with a `Conditional` attribute. - The conditional method shall not be an implementation of an interface method. Otherwise, a compile-time error occurs. -- The parameters of the conditional method shall not have the `out` modifier. +- The parameters of the conditional method shall not be output parameters. In addition, a compile-time error occurs if a delegate is created from a conditional method. diff --git a/standard/classes.md b/standard/classes.md index 45fe4c9d6..44567c1e8 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -1619,9 +1619,9 @@ As explained in [§15.3.8](classes.md#1538-static-and-instance-members), each in When a *field_declaration* includes a `readonly` modifier, the fields introduced by the declaration are ***readonly fields***. Direct assignments to readonly fields can only occur as part of that declaration or in an instance constructor or static constructor in the same class. (A readonly field can be assigned to multiple times in these contexts.) Specifically, direct assignments to a readonly field are permitted only in the following contexts: - In the *variable_declarator* that introduces the field (by including a *variable_initializer* in the declaration). -- For an instance field, in the instance constructors of the class that contains the field declaration; for a static field, in the static constructor of the class that contains the field declaration. These are also the only contexts in which it is valid to pass a readonly field as an `out` or `ref` parameter. +- For an instance field, in the instance constructors of the class that contains the field declaration; for a static field, in the static constructor of the class that contains the field declaration. These are also the only contexts in which it is valid to pass a readonly field as an output or reference parameter. -Attempting to assign to a readonly field or pass it as an `out` or `ref` parameter in any other context is a compile-time error. +Attempting to assign to a readonly field or pass it as an output or reference parameter in any other context is a compile-time error. #### 15.5.3.2 Using static readonly fields for constants @@ -2148,7 +2148,7 @@ The parameter list consists of one or more comma-separated parameters of which o A *fixed_parameter* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)); an optional `in`, `out`, `ref`, or `this` modifier; a *type*; an *identifier*; and an optional *default_argument*. Each *fixed_parameter* declares a parameter of the given type with the given name. The `this` modifier designates the method as an extension method and is only allowed on the first parameter of a static method in a non-generic, non-nested static class. If the parameter is a `struct` type or a type parameter constrained to a `struct`, the `this` modifier may be combined with either the `ref` or `in` modifier, but not the `out` modifier. Extension methods are further described in [§15.6.10](classes.md#15610-extension-methods). A *fixed_parameter* with a *default_argument* is known as an ***optional parameter***, whereas a *fixed_parameter* without a *default_argument* is a ***required parameter***. A required parameter shall not appear after an optional parameter in a *parameter_list*. -A parameter with a `ref`, `out` or `this` modifier cannot have a *default_argument*. A parameter with an `in` modifier may have a *default_argument*. The *expression* in a *default_argument* shall be one of the following: +A parameter with a `ref`, `out` or `this` modifier cannot have a *default_argument*. An input parameter may have a *default_argument*. The *expression* in a *default_argument* shall be one of the following: - a *constant_expression* - an expression of the form `new S()` where `S` is a value type @@ -2208,7 +2208,7 @@ A method is permitted to assign new values to a value parameter. Such assignment ##### 15.6.2.3.1 General -A parameter declared with one of the `in`, `ref` or `out` modifiers is a ***by-reference*** parameter. A by-reference parameter is a local reference variable ([§9.7](variables.md#97-reference-variables-and-returns)); the initial referent is obtained from the corresponding argument supplied in the method invocation. +Input, output, and reference parameters are ***by-reference parameter***s. A by-reference parameter is a local reference variable ([§9.7](variables.md#97-reference-variables-and-returns)); the initial referent is obtained from the corresponding argument supplied in the method invocation. > *Note*: The referent of a by-reference parameter can be changed using the ref assignment (`= ref`) operator. @@ -2220,7 +2220,7 @@ In a method that takes multiple by-reference parameters, it is possible for mult ##### 15.6.2.3.2 Input parameters -A parameter declared with an `in` modifier is a input parameter. The argument corresponding to an `in` parameter is either a variable existing at the point of the method invocation, or one created by the implementation ([§12.6.2.3](expressions.md#12623-run-time-evaluation-of-argument-lists)) in the method invocation. A variable shall be definitely assigned before it can be passed as an argument for an input parameter. Within a method, an input parameter is always considered definitely assigned. +A parameter declared with an `in` modifier is a input parameter. The argument corresponding to an input parameter is either a variable existing at the point of the method invocation, or one created by the implementation ([§12.6.2.3](expressions.md#12623-run-time-evaluation-of-argument-lists)) in the method invocation. A variable shall be definitely assigned before it can be passed as an argument for an input parameter. Within a method, an input parameter is always considered definitely assigned. It is a compile-time error to modify the value of an input parameter. @@ -2910,7 +2910,7 @@ When a method declaration includes a `partial` modifier, that method is said to Partial methods may be defined in one part of a type declaration and implemented in another. The implementation is optional; if no part implements the partial method, the partial method declaration and all calls to it are removed from the type declaration resulting from the combination of the parts. -Partial methods shall not define access modifiers; they are implicitly private. Their return type shall be `void`, and their parameters shall not have the `out` modifier. The identifier partial is recognized as a contextual keyword ([§6.4.4](lexical-structure.md#644-keywords)) in a method declaration only if it appears immediately before the `void` keyword. A partial method cannot explicitly implement interface methods. +Partial methods shall not define access modifiers; they are implicitly private. Their return type shall be `void`, and their parameters shall not be output parameters. The identifier partial is recognized as a contextual keyword ([§6.4.4](lexical-structure.md#644-keywords)) in a method declaration only if it appears immediately before the `void` keyword. A partial method cannot explicitly implement interface methods. There are two kinds of partial method declarations: If the body of the method declaration is a semicolon, the declaration is said to be a ***defining partial method declaration***. If the body is other than a semicolon, the declaration is said to be an ***implementing partial method declaration***. Across the parts of a type declaration, there may be only one defining partial method declaration with a given signature, and there may be only one implementing partial method declaration with a given signature. If an implementing partial method declaration is given, a corresponding defining partial method declaration shall exist, and the declarations shall match as specified in the following: @@ -3050,8 +3050,8 @@ class Customer When the first parameter of a method includes the `this` modifier, that method is said to be an ***extension method***. Extension methods shall only be declared in non-generic, non-nested static classes. The first parameter of an extension method is restricted, as follows: -- It may have the parameter modifier `in` only if the parameter has a value type -- It may have the parameter modifier `ref` only if the parameter has a value type or is a generic type constrained to struct +- It may only be an input parameter if it has a value type +- It may only be a reference parameter if it has a value type or has a generic type constrained to struct - It shall not be a pointer type. > *Example*: The following is an example of a static class that declares two extension methods: diff --git a/standard/conversions.md b/standard/conversions.md index fd2564d71..ef5d4cbff 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -798,9 +798,9 @@ An *anonymous_method_expression* or *lambda_expression* is classified as an anon Specifically, an anonymous function `F` is compatible with a delegate type `D` provided: - If `F` contains an *anonymous_function_signature*, then `D` and `F` have the same number of parameters. -- If `F` does not contain an *anonymous_function_signature*, then `D` may have zero or more parameters of any type, as long as no parameter of `D` has the out parameter modifier. +- If `F` does not contain an *anonymous_function_signature*, then `D` may have zero or more parameters of any type, as long as no parameter of `D` is an output parameter. - If `F` has an explicitly typed parameter list, each parameter in `D` has the same modifiers as the corresponding parameter in `F` and an identity conversion exists between the corresponding parameter in `F`. -- If `F` has an implicitly typed parameter list, `D` has no ref or out parameters. +- If `F` has an implicitly typed parameter list, `D` has no reference or output parameters. - If the body of `F` is an expression, and *either* `D` has a void return type *or* `F` is async and `D` has a `«TaskType»` return type ([§15.15.1](classes.md#15151-general)), then when each parameter of `F` is given the type of the corresponding parameter in `D`, the body of `F` is a valid expression (w.r.t [§12](expressions.md#12-expressions)) that would be permitted as a *statement_expression* ([§13.7](statements.md#137-expression-statements)). - If the body of `F` is a block, and *either* `D` has a void return type *or* `F` is async and `D` has a `«TaskType»` return type , then when each parameter of `F` is given the type of the corresponding parameter in `D`, the body of `F` is a valid block (w.r.t [§13.3](statements.md#133-blocks)) in which no `return` statement specifies an expression. - If the body of `F` is an expression, and *either* `F` is non-async and `D` has a non-`void` return type `T`, *or* `F` is async and `D` has a `«TaskType»` return type ([§15.15.1](classes.md#15151-general)), then when each parameter of `F` is given the type of the corresponding parameter in `D`, the body of `F` is a valid expression (w.r.t [§12](expressions.md#12-expressions)) that is implicitly convertible to `T`. @@ -819,7 +819,7 @@ Specifically, an anonymous function `F` is compatible with a delegate type `D` > D d6 = delegate(int x) { return x; }; // Error, return type mismatch > > delegate void E(out int x); -> E e1 = delegate { }; // Error, E has an out parameter +> E e1 = delegate { }; // Error, E has an output parameter > E e2 = delegate(out int x) { x = 1; }; // Ok > E e3 = delegate(ref int x) { x = 1; }; // Error, signature mismatch > @@ -934,7 +934,7 @@ Not every lambda expression can be converted to expression tree types. The conve > - It has a block body > - It has the `async` modifier > - It contains an assignment operator -> - It contains an `out` or `ref` parameter +> - It contains an output or reference parameter > - It contains a dynamically bound expression > > *end note* diff --git a/standard/delegates.md b/standard/delegates.md index 82c02ef36..35f17d8c7 100644 --- a/standard/delegates.md +++ b/standard/delegates.md @@ -93,9 +93,9 @@ Except for instantiation, any operation that can be applied to a class or class A method or delegate type `M` is ***compatible*** with a delegate type `D` if all of the following are true: -- `D` and `M` have the same number of parameters, and each parameter in `D` has the same `in`, `out`, or `ref` modifiers as the corresponding parameter in `M`. +- `D` and `M` have the same number of parameters, and each parameter in `D` has the same by-reference parameter modifier as the corresponding parameter in `M`. - For each value parameter, an identity conversion ([§10.2.2](conversions.md#1022-identity-conversion)) or implicit reference conversion ([§10.2.8](conversions.md#1028-implicit-reference-conversions)) exists from the parameter type in `D` to the corresponding parameter type in `M`. -- For each `in`, `out`, or `ref` parameter, the parameter type in `D` is the same as the parameter type in `M`. +- For each by-reference parameter, the parameter type in `D` is the same as the parameter type in `M`. - One of the following is true: - `D` and `M` are both *returns-no-value* - `D` and `M` are returns-by-value ([§15.6.1](classes.md#1561-general), [§20.2](delegates.md#202-delegate-declarations)), and an identity or implicit reference conversion exists from the return type of `M` to the return type of `D`. diff --git a/standard/expressions.md b/standard/expressions.md index 9a1a4eb50..c35146b92 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -66,7 +66,7 @@ The following operations in C# are subject to binding: When no dynamic expressions are involved, C# defaults to static binding, which means that the compile-time types of subexpressions are used in the selection process. However, when one of the subexpressions in the operations listed above is a dynamic expression, the operation is instead dynamically bound. -It is a compile time error if a method invocation is dynamically bound and any of the parameters, including the receiver, has the `in` modifier. +It is a compile time error if a method invocation is dynamically bound and any of the parameters, including the receiver, are input parameters. ### 12.3.2 Binding-time @@ -1009,9 +1009,9 @@ A function member is said to be an ***applicable function member*** with respect - Each argument in `A` corresponds to a parameter in the function member declaration as described in [§12.6.2.2](expressions.md#12622-corresponding-parameters), at most one argument corresponds to each parameter, and any parameter to which no argument corresponds is an optional parameter. - For each argument in `A`, the parameter-passing mode of the argument is identical to the parameter-passing mode of the corresponding parameter, and - for a value parameter or a parameter array, an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from the argument expression to the type of the corresponding parameter, or - - for a `ref` or `out` parameter, there is an identity conversion between the type of the argument expression (if any) and the type of the corresponding parameter, or - - for an `in` parameter when the corresponding argument has the `in` modifier, there is an identity conversion between the type of the argument expression (if any) and the type of the corresponding parameter, or - - for an `in` parameter when the corresponding argument omits the `in` modifier, an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from the argument expression to the type of the corresponding parameter. + - for a reference or output parameter, there is an identity conversion between the type of the argument expression (if any) and the type of the corresponding parameter, or + - for an input parameter when the corresponding argument has the `in` modifier, there is an identity conversion between the type of the argument expression (if any) and the type of the corresponding parameter, or + - for an input parameter when the corresponding argument omits the `in` modifier, an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from the argument expression to the type of the corresponding parameter. For a function member that includes a parameter array, if the function member is applicable by the above rules, it is said to be applicable in its ***normal form***. If a function member that includes a parameter array is not applicable in its normal form, the function member might instead be applicable in its ***expanded form***: @@ -1019,10 +1019,10 @@ For a function member that includes a parameter array, if the function member is - Otherwise, the expanded form is applicable if for each argument in `A`, one of the following is true: - the parameter-passing mode of the argument is identical to the parameter-passing mode of the corresponding parameter, and - for a fixed value parameter or a value parameter created by the expansion, an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from the argument expression to the type of the corresponding parameter, or - - for an `in`, `out`, or `ref` parameter, the type of the argument expression is identical to the type of the corresponding parameter. + - for a by-reference parameter, the type of the argument expression is identical to the type of the corresponding parameter. - the parameter-passing mode of the argument is value, and the parameter-passing mode of the corresponding parameter is input, and an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from the argument expression to the type of the corresponding parameter -When the implicit conversion from the argument type to the parameter type of an `in` parameter is a dynamic implicit conversion ([§10.2.10](conversions.md#10210-implicit-dynamic-conversions)), the results are undefined. +When the implicit conversion from the argument type to the parameter type of an input parameter is a dynamic implicit conversion ([§10.2.10](conversions.md#10210-implicit-dynamic-conversions)), the results are undefined. > *Example*: Given the following declarations and method calls: > @@ -1064,7 +1064,7 @@ Parameter lists for each of the candidate function members are constructed in th - The expanded form is used if the function member was applicable only in the expanded form. - Optional parameters with no corresponding arguments are removed from the parameter list -- `ref` and `out` parameters are removed from the parameter list +- Reference and output parameters are removed from the parameter list - The parameters are reordered so that they occur at the same position as the corresponding argument in the argument list. Given an argument list `A` with a set of argument expressions `{E₁, E₂, ..., Eᵥ}` and two applicable function members `Mᵥ` and `Mₓ` with parameter types `{P₁, P₂, ..., Pᵥ}` and `{Q₁, Q₂, ..., Qᵥ}`, `Mᵥ` is defined to be a ***better function member*** than `Mₓ` if @@ -2197,11 +2197,11 @@ A *this_access* is permitted only in the *block* of an instance constructor, an - When `this` is used in a *primary_expression* within an instance constructor of a class, it is classified as a value. The type of the value is the instance type ([§15.3.2](classes.md#1532-the-instance-type)) of the class within which the usage occurs, and the value is a reference to the object being constructed. - When `this` is used in a *primary_expression* within an instance method or instance accessor of a class, it is classified as a value. The type of the value is the instance type ([§15.3.2](classes.md#1532-the-instance-type)) of the class within which the usage occurs, and the value is a reference to the object for which the method or accessor was invoked. - When `this` is used in a *primary_expression* within an instance constructor of a struct, it is classified as a variable. The type of the variable is the instance type ([§15.3.2](classes.md#1532-the-instance-type)) of the struct within which the usage occurs, and the variable represents the struct being constructed. - - If the constructor declaration has no constructor initializer, the `this` variable behaves exactly the same as an `out` parameter of the struct type. In particular, this means that the variable shall be definitely assigned in every execution path of the instance constructor. + - If the constructor declaration has no constructor initializer, the `this` variable behaves exactly the same as an output parameter of the struct type. In particular, this means that the variable shall be definitely assigned in every execution path of the instance constructor. - Otherwise, the `this` variable behaves exactly the same as a `ref` parameter of the struct type. In particular, this means that the variable is considered initially assigned. - When `this` is used in a *primary_expression* within an instance method or instance accessor of a struct, it is classified as a variable. The type of the variable is the instance type ([§15.3.2](classes.md#1532-the-instance-type)) of the struct within which the usage occurs. - If the method or accessor is not an iterator ([§15.14](classes.md#1514-iterators)) or async function ([§15.15](classes.md#1515-async-functions)), the `this` variable represents the struct for which the method or accessor was invoked. - - If the struct is a `readonly struct`, the `this` variable behaves exactly the same as an `in` parameter of the struct type + - If the struct is a `readonly struct`, the `this` variable behaves exactly the same as an input parameter of the struct type - Otherwise the `this` variable behaves exactly the same as a `ref` parameter of the struct type - If the method or accessor is an iterator or async function, the `this` variable represents a *copy* of the struct for which the method or accessor was invoked, and behaves exactly the same as a *value* parameter of the struct type. @@ -4762,7 +4762,7 @@ A declaration expression with the identifier `_` is a discard ([§9.2.9.1](varia > var s3 = M(out int _, "Three", out var _); > ``` > -> The declaration of `s1` shows both explicitly and implicitly typed declaration expressions. The inferred type of `b1` is `bool` because that is the type of the corresponding out parameter in `M1`. The subsequent `WriteLine` is able to access `i1` and `b1`, which have been introduced to the enclosing scope. +> The declaration of `s1` shows both explicitly and implicitly typed declaration expressions. The inferred type of `b1` is `bool` because that is the type of the corresponding output parameter in `M1`. The subsequent `WriteLine` is able to access `i1` and `b1`, which have been introduced to the enclosing scope. > > The declaration of `s2` shows an attempt to use `i2` in the nested call to `M`, which is disallowed, because the reference occurs within the argument list where `i2` was declared. On the other hand the reference to `b2` in the final argument is allowed, because it occurs after the end of the nested argument list where `b2` was declared. > @@ -4950,7 +4950,7 @@ can be abbreviated to «param» => «expr» ``` -The parameter list of an anonymous function in the form of an *anonymous_method_expression* is optional. If given, the parameters shall be explicitly typed. If not, the anonymous function is convertible to a delegate with any parameter list not containing out parameters. +The parameter list of an anonymous function in the form of an *anonymous_method_expression* is optional. If given, the parameters shall be explicitly typed. If not, the anonymous function is convertible to a delegate with any parameter list not containing output parameters. A *block* body of an anonymous function is always reachable ([§13.2](statements.md#132-end-points-and-reachability)). @@ -4981,7 +4981,7 @@ The behavior of *lambda_expression*s and *anonymous_method_expression*s is the s The *anonymous_function_signature* of an anonymous function defines the names and optionally the types of the parameters for the anonymous function. The scope of the parameters of the anonymous function is the *anonymous_function_body* ([§7.7](basic-concepts.md#77-scopes)). Together with the parameter list (if given) the anonymous-method-body constitutes a declaration space ([§7.3](basic-concepts.md#73-declarations)). It is thus a compile-time error for the name of a parameter of the anonymous function to match the name of a local variable, local constant or parameter whose scope includes the *anonymous_method_expression* or *lambda_expression*. -If an anonymous function has an *explicit_anonymous_function_signature*, then the set of compatible delegate types and expression tree types is restricted to those that have the same parameter types and modifiers in the same order ([§10.7](conversions.md#107-anonymous-function-conversions)). In contrast to method group conversions ([§10.8](conversions.md#108-method-group-conversions)), contra-variance of anonymous function parameter types is not supported. If an anonymous function does not have an *anonymous_function_signature*, then the set of compatible delegate types and expression tree types is restricted to those that have no out parameters. +If an anonymous function has an *explicit_anonymous_function_signature*, then the set of compatible delegate types and expression tree types is restricted to those that have the same parameter types and modifiers in the same order ([§10.7](conversions.md#107-anonymous-function-conversions)). In contrast to method group conversions ([§10.8](conversions.md#108-method-group-conversions)), contra-variance of anonymous function parameter types is not supported. If an anonymous function does not have an *anonymous_function_signature*, then the set of compatible delegate types and expression tree types is restricted to those that have no output parameters. Note that an *anonymous_function_signature* cannot include attributes or a parameter array. Nevertheless, an *anonymous_function_signature* may be compatible with a delegate type whose parameter list contains a parameter array. @@ -4992,7 +4992,7 @@ Note also that conversion to an expression tree type, even if compatible, may st The body (*expression* or *block*) of an anonymous function is subject to the following rules: - If the anonymous function includes a signature, the parameters specified in the signature are available in the body. If the anonymous function has no signature it can be converted to a delegate type or expression type having parameters ([§10.7](conversions.md#107-anonymous-function-conversions)), but the parameters cannot be accessed in the body. -- Except for `in`, `out`, or `ref` parameters specified in the signature (if any) of the nearest enclosing anonymous function, it is a compile-time error for the body to access an `in`, `out`, or `ref` parameter. +- Except for by-reference parameters specified in the signature (if any) of the nearest enclosing anonymous function, it is a compile-time error for the body to access a by-reference parameter. - Except for parameters specified in the signature (if any) of the nearest enclosing anonymous function, it is a compile-time error for the body to access a parameter of a `ref struct` type. - When the type of `this` is a struct type, it is a compile-time error for the body to access `this`. This is true whether the access is explicit (as in `this.x`) or implicit (as in `x` where `x` is an instance member of the struct). This rule simply prohibits such access and does not affect whether member lookup results in a member of the struct. - The body has access to the outer variables ([§12.19.6](expressions.md#12196-outer-variables)) of the anonymous function. Access of an outer variable will reference the instance of the variable that is active at the time the *lambda_expression* or *anonymous_method_expression* is evaluated ([§12.19.7](expressions.md#12197-evaluation-of-anonymous-function-expressions)). @@ -5646,7 +5646,7 @@ The translation from query expressions to method invocations is a syntactic mapp A query expression is processed by repeatedly applying the following translations until no further reductions are possible. The translations are listed in order of application: each section assumes that the translations in the preceding sections have been performed exhaustively, and once exhausted, a section will not later be revisited in the processing of the same query expression. -It is a compile time error for a query expression to include an assignment to a range variable, or the use of a range variable as an argument for a `ref` or `out` parameter. +It is a compile time error for a query expression to include an assignment to a range variable, or the use of a range variable as an argument for a reference or output parameter. Certain translations inject range variables with *transparent identifiers* denoted by \*. These are described further in [§12.20.3.8](expressions.md#122038-transparent-identifiers). @@ -6493,9 +6493,9 @@ It is a compile time error if the ref-safe-context ([§9.7.2](variables.md#972-r The right operand shall be definitely assigned at the point of the ref assignment. -When the left operand binds to an `out` parameter, it is an error if that `out` parameter has not been definitely assigned at the beginning of the ref assignment operator. +When the left operand binds to an output parameter, it is an error if that output parameter has not been definitely assigned at the beginning of the ref assignment operator. -If the left operand is a writeable ref (i.e., it designates anything other than a `ref readonly` local or `in` parameter), then the right operand shall be a writeable *variable_reference*. If the right operand variable is writeable, the left operand may be a writeable or read-only ref. +If the left operand is a writeable ref (i.e., it designates anything other than a `ref readonly` local or input parameter), then the right operand shall be a writeable *variable_reference*. If the right operand variable is writeable, the left operand may be a writeable or read-only ref. The operation makes the left operand an alias of the right operand variable. The alias may be made read-only even if the right operand variable is writeable. diff --git a/standard/portability-issues.md b/standard/portability-issues.md index 2348b2323..741482e4e 100644 --- a/standard/portability-issues.md +++ b/standard/portability-issues.md @@ -11,14 +11,14 @@ This annex collects some information about portability that appears in this spec The behavior is undefined in the following circumstances: 1. The behavior of the enclosing async function when an awaiter’s implementation of the interface methods `INotifyCompletion.OnCompleted` and `ICriticalNotifyCompletion.UnsafeOnCompleted` does not cause the resumption delegate to be invoked at most once ([§12.9.8.4](expressions.md#12984-run-time-evaluation-of-await-expressions)). -1. Passing pointers as `ref` or `out` parameters ([§23.3](unsafe-code.md#233-pointer-types)). +1. Passing pointers as reference or output parameters ([§23.3](unsafe-code.md#233-pointer-types)). 1. When dereferencing the result of converting one pointer type to another and the resulting pointer is not correctly aligned for the pointed-to type. ([§23.5.1](unsafe-code.md#2351-general)). 1. When the unary `*` operator is applied to a pointer containing an invalid value ([§23.6.2](unsafe-code.md#2362-pointer-indirection)). 1. When a pointer is subscripted to access an out-of-bounds element ([§23.6.4](unsafe-code.md#2364-pointer-element-access)). 1. Modifying objects of managed type through fixed pointers ([§23.7](unsafe-code.md#237-the-fixed-statement)). 1. The content of memory newly allocated by `stackalloc` ([§12.8.21](expressions.md#12821-stack-allocation)). 1. Attempting to allocate a negative number of items using `stackalloc`([§12.8.21](expressions.md#12821-stack-allocation)). -1. Implicit dynamic conversions ([§10.2.10](conversions.md#10210-implicit-dynamic-conversions)) of `in` parameters with value arguments ([§12.6.4.2](expressions.md#12642-applicable-function-member)). +1. Implicit dynamic conversions ([§10.2.10](conversions.md#10210-implicit-dynamic-conversions)) of input parameters with value arguments ([§12.6.4.2](expressions.md#12642-applicable-function-member)). ## B.3 Implementation-defined behavior diff --git a/standard/statements.md b/standard/statements.md index f4e60d101..7767b5230 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -1108,7 +1108,7 @@ The *local_variable_type* and *identifier* of a foreach statement declare the ** If the *foreach_statement* contains both or neither `ref` and `readonly`, the iteration variable denotes a variable that is treated as read-only. Otherwise, if *foreach_statement* contains `ref` without `readonly`, the iteration variable denotes a variable that shall be writable. -The iteration variable corresponds to a local variable with a scope that extends over the embedded statement. During execution of a `foreach` statement, the iteration variable represents the collection element for which an iteration is currently being performed. If the iteration variable denotes a read-only variable, a compile-time error occurs if the embedded statement attempts to modify it (via assignment or the `++` and `--` operators) or pass it as a `ref` or `out` parameter. +The iteration variable corresponds to a local variable with a scope that extends over the embedded statement. During execution of a `foreach` statement, the iteration variable represents the collection element for which an iteration is currently being performed. If the iteration variable denotes a read-only variable, a compile-time error occurs if the embedded statement attempts to modify it (via assignment or the `++` and `--` operators) or pass it as a reference or output parameter. In the following, for brevity, `IEnumerable`, `IEnumerator`, `IEnumerable` and `IEnumerator` refer to the corresponding types in the namespaces `System.Collections` and `System.Collections.Generic`. @@ -1815,7 +1815,7 @@ A ***resource*** is a class or struct that implements the `System.IDisposable` i If the form of *resource_acquisition* is *local_variable_declaration* then the type of the *local_variable_declaration* shall be either `dynamic` or a type that can be implicitly converted to `System.IDisposable`. If the form of *resource_acquisition* is *expression* then this expression shall be implicitly convertible to `System.IDisposable`. -Local variables declared in a *resource_acquisition* are read-only, and shall include an initializer. A compile-time error occurs if the embedded statement attempts to modify these local variables (via assignment or the `++` and `--` operators), take the address of them, or pass them as `ref` or `out` parameters. +Local variables declared in a *resource_acquisition* are read-only, and shall include an initializer. A compile-time error occurs if the embedded statement attempts to modify these local variables (via assignment or the `++` and `--` operators), take the address of them, or pass them as reference or output parameters. A `using` statement is translated into three parts: acquisition, usage, and disposal. Usage of the resource is implicitly enclosed in a `try` statement that includes a `finally` clause. This `finally` clause disposes of the resource. If a `null` resource is acquired, then no call to `Dispose` is made, and no exception is thrown. If the resource is of type `dynamic` it is dynamically converted through an implicit dynamic conversion ([§10.2.10](conversions.md#10210-implicit-dynamic-conversions)) to `IDisposable` during acquisition in order to ensure that the conversion is successful before the usage and disposal. diff --git a/standard/structs.md b/standard/structs.md index b381661e8..19ead1b7b 100644 --- a/standard/structs.md +++ b/standard/structs.md @@ -60,7 +60,7 @@ A readonly struct has the following constraints: - None of its instance properties shall have a *set_accessor_declaration* ([§15.7.3](classes.md#1573-accessors)). - It shall not declare any field-like events ([§15.8.2](classes.md#1582-field-like-events)). -When an instance of a readonly struct is passed to a method, its `this` is treated like an `in` argument/parameter, which disallows write access to any instance fields (except by constructors). +When an instance of a readonly struct is passed to a method, its `this` is treated like an input argument/parameter, which disallows write access to any instance fields (except by constructors). ### 16.2.3 Ref modifier @@ -185,7 +185,7 @@ A variable of a struct type directly contains the data of the struct, whereas a > > *end example* -With classes, it is possible for two variables to reference the same object, and thus possible for operations on one variable to affect the object referenced by the other variable. With structs, the variables each have their own copy of the data (except in the case of `in`, `out` and `ref` parameter variables), and it is not possible for operations on one to affect the other. Furthermore, except when explicitly nullable ([§8.3.12](types.md#8312-nullable-value-types)), it is not possible for values of a struct type to be `null`. +With classes, it is possible for two variables to reference the same object, and thus possible for operations on one variable to affect the object referenced by the other variable. With structs, the variables each have their own copy of the data (except in the case of by-reference parameters), and it is not possible for operations on one to affect the other. Furthermore, except when explicitly nullable ([§8.3.12](types.md#8312-nullable-value-types)), it is not possible for values of a struct type to be `null`. > *Note*: If a struct contains a field of reference type then the contents of the object referenced can be altered by other operations. However the value of the field itself, i.e., which object it references, cannot be changed through a mutation of a different struct value. *end note* @@ -236,7 +236,7 @@ Function members in a struct cannot be abstract or virtual, and the `override` m Assignment to a variable of a struct type creates a *copy* of the value being assigned. This differs from assignment to a variable of a class type, which copies the reference but not the object identified by the reference. -Similar to an assignment, when a struct is passed as a value parameter or returned as the result of a function member, a copy of the struct is created. A struct may be passed by reference to a function member using an `in`, `out`, or `ref` parameter. +Similar to an assignment, when a struct is passed as a value parameter or returned as the result of a function member, a copy of the struct is created. A struct may be passed by reference to a function member using a by-reference parameter. When a property or indexer of a struct is the target of an assignment, the instance expression associated with the property or indexer access shall be classified as a variable. If the `instance` expression is classified as a value, a compile-time error occurs. This is described in further detail in [§12.21.2](expressions.md#12212-simple-assignment). @@ -437,7 +437,7 @@ Unlike a class, a struct is not permitted to declare a parameterless instance co A struct instance constructor is not permitted to include a constructor initializer of the form `base(`*argument_list*`)`, where *argument_list* is optional. -The `this` parameter of a struct instance constructor corresponds to an `out` parameter of the struct type. As such, `this` shall be definitely assigned ([§9.4](variables.md#94-definite-assignment)) at every location where the constructor returns. Similarly, it cannot be read (even implicitly) in the constructor body before being definitely assigned. +The `this` parameter of a struct instance constructor corresponds to an output parameter of the struct type. As such, `this` shall be definitely assigned ([§9.4](variables.md#94-definite-assignment)) at every location where the constructor returns. Similarly, it cannot be read (even implicitly) in the constructor body before being definitely assigned. If the struct instance constructor specifies a constructor initializer, that initializer is considered a definite assignment to this that occurs prior to the body of the constructor. Therefore, the body itself has no initialization requirements. diff --git a/standard/types.md b/standard/types.md index c5013fbdf..5e860a075 100644 --- a/standard/types.md +++ b/standard/types.md @@ -17,7 +17,7 @@ type Value types differ from reference types in that variables of the value types directly contain their data, whereas variables of the reference types store ***references*** to their data, the latter being known as ***objects***. With reference types, it is possible for two variables to reference the same object, and thus possible for operations on one variable to affect the object referenced by the other variable. With value types, the variables each have their own copy of the data, and it is not possible for operations on one to affect the other. -> *Note*: When a variable is a ref or out parameter, it does not have its own storage but references the storage of another variable. In this case, the ref or out variable is effectively an alias for another variable and not a distinct variable. *end note* +> *Note*: When a variable is a reference or output parameter, it does not have its own storage but references the storage of another variable. In this case, the ref or out variable is effectively an alias for another variable and not a distinct variable. *end note* C#’s type system is unified such that *a value of any type can be treated as an object*. Every type in C# directly or indirectly derives from the `object` class type, and `object` is the ultimate base class of all types. Values of reference types are treated as objects simply by viewing the values as type `object`. Values of value types are treated as objects by performing boxing and unboxing operations ([§8.3.13](types.md#8313-boxing-and-unboxing)). diff --git a/standard/unsafe-code.md b/standard/unsafe-code.md index 8ca9e243b..e18fff08a 100644 --- a/standard/unsafe-code.md +++ b/standard/unsafe-code.md @@ -180,7 +180,7 @@ An expression with a pointer type cannot be used to provide the value in a *memb The default value ([§9.3](variables.md#93-default-values)) for any pointer type is `null`. -> *Note*: Although pointers can be passed as `in`, `ref` or `out` parameters, doing so can cause undefined behavior, since the pointer might well be set to point to a local variable that no longer exists when the called method returns, or the fixed object to which it used to point, is no longer fixed. For example: +> *Note*: Although pointers can be passed as by-reference parameters, doing so can cause undefined behavior, since the pointer might well be set to point to a local variable that no longer exists when the called method returns, or the fixed object to which it used to point, is no longer fixed. For example: > > > @@ -267,7 +267,7 @@ In precise terms, a fixed variable is one of the following: All other variables are classified as moveable variables. -A static field is classified as a moveable variable. Also, an `in`, `out`, or `ref` parameter is classified as a moveable variable, even if the argument given for the parameter is a fixed variable. Finally, a variable produced by dereferencing a pointer is always classified as a fixed variable. +A static field is classified as a moveable variable. Also, a by-reference parameter is classified as a moveable variable, even if the argument given for the parameter is a fixed variable. Finally, a variable produced by dereferencing a pointer is always classified as a fixed variable. ## 23.5 Pointer conversions @@ -697,7 +697,7 @@ fixed_pointer_initializer ; ``` -Each *fixed_pointer_declarator* declares a local variable of the given *pointer_type* and initializes that local variable with the address computed by the corresponding *fixed_pointer_initializer*. A local variable declared in a fixed statement is accessible in any *fixed_pointer_initializer*s occurring to the right of that variable’s declaration, and in the *embedded_statement* of the fixed statement. A local variable declared by a fixed statement is considered read-only. A compile-time error occurs if the embedded statement attempts to modify this local variable (via assignment or the `++` and `--` operators) or pass it as a `ref` or `out` parameter. +Each *fixed_pointer_declarator* declares a local variable of the given *pointer_type* and initializes that local variable with the address computed by the corresponding *fixed_pointer_initializer*. A local variable declared in a fixed statement is accessible in any *fixed_pointer_initializer*s occurring to the right of that variable’s declaration, and in the *embedded_statement* of the fixed statement. A local variable declared by a fixed statement is considered read-only. A compile-time error occurs if the embedded statement attempts to modify this local variable (via assignment or the `++` and `--` operators) or pass it as a reference or output parameter. It is an error to use a captured local variable ([§12.19.6.2](expressions.md#121962-captured-outer-variables)), value parameter, or parameter array in a *fixed_pointer_initializer*. A *fixed_pointer_initializer* can be one of the following: diff --git a/standard/variables.md b/standard/variables.md index 7a2943360..82b6c6a6f 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -165,7 +165,7 @@ A ***discard*** is a local variable that has no name. A discard is introduced by Because a discard has no name, the only reference to the variable it represents is the expression that introduces it. -> *Note*: A discard can however be passed as an out argument, allowing the out parameter to denote its associated storage location. *end note* +> *Note*: A discard can however be passed as an output argument, allowing the corresponding output parameter to denote its associated storage location. *end note* A discard is not initially assigned, so it is always an error to access its value. @@ -181,7 +181,7 @@ A discard is not initially assigned, so it is always an error to access its valu > The example assumes that there is no declaration of the name `_` in scope. > > The assignment to `_` shows a simple pattern for ignoring the result of an expression. -> The call of `M` shows the different forms of discards available in tuples and as out parameters. +> The call of `M` shows the different forms of discards available in tuples and as output parameters. > > *end example* @@ -1082,12 +1082,12 @@ There are three ref-safe-contexts: - ***function-member***: Within a function a *variable_reference* to any of the following has a ref-safe-context of function-member: - Value parameters ([§9.2.5](variables.md#925-value-parameters)) on a function member declaration, including the implicit `this` of class member functions; and - - The implicit reference (`ref`) parameter ([§9.2.6](variables.md#926-reference-parameters)) `this` of a struct member function, along with its fields. + - The implicit reference parameter ([§9.2.6](variables.md#926-reference-parameters)) `this` of a struct member function, along with its fields. A *variable_reference* with ref-safe-context of function-member is a valid referent only if the reference variable is declared in the same function member. - ***caller-context***: Within a function a *variable_reference* to any of the following has a ref-safe-context of caller-context: - - Reference (`ref`) parameters ([§9.2.6](variables.md#926-reference-parameters)) other than the implicit `this` of a struct member function; + - Reference parameters ([§9.2.6](variables.md#926-reference-parameters)) other than the implicit `this` of a struct member function; - Member fields and elements of such parameters; - Member fields of parameters of class type; and - Elements of parameters of array type. @@ -1148,7 +1148,7 @@ These values form a nesting relationship from narrowest (declaration-block) to w -> *Example*: For `struct` types, the implicit `this` parameter is passed as a `ref` parameter. The ref-safe-context of the fields of a `struct` type as function-member prevents returning those fields by reference return. This rule prevents the following code: +> *Example*: For `struct` types, the implicit `this` parameter is passed as a reference parameter. The ref-safe-context of the fields of a `struct` type as function-member prevents returning those fields by reference return. This rule prevents the following code: > > > ```csharp @@ -1184,8 +1184,8 @@ For a local variable `v`: For a parameter `p`: -- If `p` is a `ref`, or `in` parameter, its ref-safe-context is the caller-context. If `p` is an `in` parameter, it can’t be returned as a writable `ref` but can be returned as `ref readonly`. -- If `p` is an `out` parameter, its ref-safe-context is the caller-context. +- If `p` is a reference or input parameter, its ref-safe-context is the caller-context. If `p` is an input parameter, it can’t be returned as a writable `ref` but can be returned as `ref readonly`. +- If `p` is an output parameter, its ref-safe-context is the caller-context. - Otherwise, if `p` is the `this` parameter of a struct type, its ref-safe-context is the function-member. - Otherwise, the parameter is a value parameter, and its ref-safe-context is the function-member. @@ -1206,7 +1206,7 @@ For a variable `c` resulting from a ref-returning function invocation, its ref-s - The caller-context. - The ref-safe-context of all `ref`, `out`, and `in` argument expressions (excluding the receiver). -- For each `in` parameter, if there is a corresponding expression that is a variable and there exists an identity conversion between the type of the variable and the type of the parameter, the variable’s ref-safe-context, otherwise the nearest enclosing context. +- For each input parameter, if there is a corresponding expression that is a variable and there exists an identity conversion between the type of the variable and the type of the parameter, the variable’s ref-safe-context, otherwise the nearest enclosing context. - The safe-context ([§16.4.12](structs.md#16412-safe-context-constraint)) of all argument expressions (including the receiver). > *Example*: the last bullet is necessary to handle code such as @@ -1236,7 +1236,7 @@ A property invocation and an indexer invocation (either `get` or `set`) is treat A value’s ref-safe-context is the nearest enclosing context. -> *Note*: This occurs in an invocation such as `M(ref d.Length)` where `d` is of type `dynamic`. It is also consistent with arguments corresponding to `in` parameters. *end note* +> *Note*: This occurs in an invocation such as `M(ref d.Length)` where `d` is of type `dynamic`. It is also consistent with arguments corresponding to input parameters. *end note* #### 9.7.2.8 Constructor invocations From d93a724bb0f6894b041dc0ee3e8fb560310a6021 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 09:48:57 -0400 Subject: [PATCH 136/259] [create-pull-request] automated change (#1173) Co-authored-by: RexJaeschke --- standard/grammar.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/standard/grammar.md b/standard/grammar.md index 15373814c..687100ddc 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -1609,8 +1609,8 @@ local_function_declaration ; local_function_header - : identifier '(' formal_parameter_list? ')' - | identifier type_parameter_list '(' formal_parameter_list? ')' + : identifier '(' parameter_list? ')' + | identifier type_parameter_list '(' parameter_list? ')' type_parameter_constraints_clause* ; @@ -2059,8 +2059,8 @@ ref_method_modifiers ; method_header - : member_name '(' formal_parameter_list? ')' - | member_name type_parameter_list '(' formal_parameter_list? ')' + : member_name '(' parameter_list? ')' + | member_name type_parameter_list '(' parameter_list? ')' type_parameter_constraints_clause* ; @@ -2112,7 +2112,7 @@ ref_method_body ; // Source: §15.6.2.1 General -formal_parameter_list +parameter_list : fixed_parameters | fixed_parameters ',' parameter_array | parameter_array @@ -2276,8 +2276,8 @@ indexer_modifier ; indexer_declarator - : type 'this' '[' formal_parameter_list ']' - | type interface_type '.' 'this' '[' formal_parameter_list ']' + : type 'this' '[' parameter_list ']' + | type interface_type '.' 'this' '[' parameter_list ']' ; indexer_body @@ -2352,7 +2352,7 @@ constructor_modifier ; constructor_declarator - : identifier '(' formal_parameter_list? ')' constructor_initializer? + : identifier '(' parameter_list? ')' constructor_initializer? ; constructor_initializer @@ -2521,8 +2521,8 @@ interface_method_declaration ; interface_method_header - : identifier '(' formal_parameter_list? ')' ';' - | identifier type_parameter_list '(' formal_parameter_list? ')' + : identifier '(' parameter_list? ')' ';' + | identifier type_parameter_list '(' parameter_list? ')' type_parameter_constraints_clause* ';' ; @@ -2550,9 +2550,9 @@ interface_event_declaration // Source: §18.4.5 Interface indexers interface_indexer_declaration - : attributes? 'new'? type 'this' '[' formal_parameter_list ']' + : attributes? 'new'? type 'this' '[' parameter_list ']' '{' interface_accessors '}' - | attributes? 'new'? ref_kind type 'this' '[' formal_parameter_list ']' + | attributes? 'new'? ref_kind type 'this' '[' parameter_list ']' '{' ref_interface_accessor '}' ; @@ -2602,8 +2602,8 @@ delegate_declaration ; delegate_header - : identifier '(' formal_parameter_list? ')' ';' - | identifier variant_type_parameter_list '(' formal_parameter_list? ')' + : identifier '(' parameter_list? ')' ';' + | identifier variant_type_parameter_list '(' parameter_list? ')' type_parameter_constraints_clause* ';' ; From 5e4deb21b4f24ee3df9481316654c24d3c80855f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 09:49:28 -0400 Subject: [PATCH 137/259] Bump Microsoft.NET.Test.Sdk in /tools in the dotnet group (#1171) Bumps the dotnet group in /tools with 1 update: [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest). Updates `Microsoft.NET.Test.Sdk` from 17.11.0 to 17.11.1 - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](https://github.com/microsoft/vstest/compare/v17.11.0...v17.11.1) --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj index 2154f5eac..1c126ef5b 100644 --- a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj +++ b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj @@ -13,7 +13,7 @@ - + From 1d16ec2adcd4adafb33c7d53c48c1b9e8be515eb Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Mon, 16 Sep 2024 09:50:40 -0400 Subject: [PATCH 138/259] Consolidate parameter-kinds text w.r.t Variables and Classes clauses (#1174) * move parameter stuff around; fix links * fix parameter-kind stuff * fix link formatting * Update classes.md --- standard/classes.md | 24 ++++++++++++++---------- standard/variables.md | 20 +++++++++----------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index 44567c1e8..e88c3e5cb 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -2188,19 +2188,21 @@ A method invocation ([§12.8.9.2](expressions.md#12892-method-invocations)) crea The following kinds of parameters exist: -- Value parameters, which are declared without any modifiers. -- Input parameters, which are declared with the `in` modifier. -- Output parameters, which are declared with the `out` modifier. -- Reference parameters, which are declared with the `ref` modifier. -- Parameter arrays, which are declared with the `params` modifier. +- Value parameters ([§15.6.2.2](classes.md#15622-value-parameters)). +- Input parameters ([§15.6.2.3.2](classes.md#156232-input-parameters)). +- Output parameters ([§15.6.2.3.4](classes.md#156234-output-parameters)). +- Reference parameters ([§15.6.2.3.3](classes.md#156233-reference-parameters)). +- Parameter arrays ([§15.6.2.4](classes.md#15624-parameter-arrays)). > *Note*: As described in [§7.6](basic-concepts.md#76-signatures-and-overloading), the `in`, `out`, and `ref` modifiers are part of a method’s signature, but the `params` modifier is not. *end note* #### 15.6.2.2 Value parameters -A parameter declared with no modifiers is a value parameter. A value parameter is a local variable that gets its initial value from the corresponding argument supplied in the method invocation. +A parameter declared with no modifiers is a ***value parameter***. A value parameter is a local variable that gets its initial value from the corresponding argument supplied in the method invocation. -When a parameter is a value parameter, the corresponding argument in a method invocation shall be an expression that is implicitly convertible ([§10.2](conversions.md#102-implicit-conversions)) to the parameter type. +For definite-assignment rules, see [§9.2.5](variables.md#925-value-parameters). + +The corresponding argument in a method invocation shall be an expression that is implicitly convertible ([§10.2](conversions.md#102-implicit-conversions)) to the parameter type. A method is permitted to assign new values to a value parameter. Such assignments only affect the local storage location represented by the value parameter—they have no effect on the actual argument given in the method invocation. @@ -2220,7 +2222,7 @@ In a method that takes multiple by-reference parameters, it is possible for mult ##### 15.6.2.3.2 Input parameters -A parameter declared with an `in` modifier is a input parameter. The argument corresponding to an input parameter is either a variable existing at the point of the method invocation, or one created by the implementation ([§12.6.2.3](expressions.md#12623-run-time-evaluation-of-argument-lists)) in the method invocation. A variable shall be definitely assigned before it can be passed as an argument for an input parameter. Within a method, an input parameter is always considered definitely assigned. +A parameter declared with an `in` modifier is an ***input parameter***. The argument corresponding to an input parameter is either a variable existing at the point of the method invocation, or one created by the implementation ([§12.6.2.3](expressions.md#12623-run-time-evaluation-of-argument-lists)) in the method invocation. For definite-assignment rules, see [§9.2.8](variables.md#928-input-parameters). It is a compile-time error to modify the value of an input parameter. @@ -2228,7 +2230,7 @@ It is a compile-time error to modify the value of an input parameter. ##### 15.6.2.3.3 Reference parameters -A parameter declared with a `ref` modifier is a reference parameter. A variable shall be definitely assigned before it can be passed as an argument for a reference parameter. Within a method, a reference parameter is always considered definitely assigned. +A parameter declared with a `ref` modifier is a ***reference parameter***. For definite-assignment rules, see [§9.2.6](variables.md#926-reference-parameters). > *Example*: The example > @@ -2289,9 +2291,11 @@ A parameter declared with a `ref` modifier is a reference parameter. A variable > > *end example* +For a `struct` type, within an instance method, instance accessor ([§12.2.1](expressions.md#1221-general)), or instance constructor with a constructor initializer, the `this` keyword behaves exactly as a reference parameter of the struct type ([§12.8.13](expressions.md#12813-this-access)). + ##### 15.6.2.3.4 Output parameters -A parameter declared with an `out` modifier is an output parameter. Within a method, just like a local variable, an output parameter is initially considered unassigned and shall be definitely assigned before its value is used. Every output parameter of a method shall be definitely assigned before the method returns. +A parameter declared with an `out` modifier is an ***output parameter***. For definite-assignment rules, see [§9.2.7](variables.md#927-output-parameters). A method declared as a partial method ([§15.6.9](classes.md#1569-partial-methods)) shall not have output parameters. diff --git a/standard/variables.md b/standard/variables.md index 82b6c6a6f..8e65f45e2 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -71,15 +71,13 @@ For the purpose of definite-assignment checking, an array element is considered ### 9.2.5 Value parameters -A parameter declared without an `in`, `out`, or `ref` modifier is a ***value parameter***. - A value parameter comes into existence upon invocation of the function member (method, instance constructor, accessor, or operator) or anonymous function to which the parameter belongs, and is initialized with the value of the argument given in the invocation. A value parameter normally ceases to exist when execution of the function body completes. However, if the value parameter is captured by an anonymous function ([§12.19.6.2](expressions.md#121962-captured-outer-variables)), its lifetime extends at least until the delegate or expression tree created from that anonymous function is eligible for garbage collection. For the purpose of definite-assignment checking, a value parameter is considered initially assigned. -### 9.2.6 Reference parameters +Value parameters are discussed further in [§15.6.2.2](classes.md#15622-value-parameters). -A parameter declared with a `ref` modifier is a ***reference parameter***. +### 9.2.6 Reference parameters A reference parameter is a reference variable ([§9.7](variables.md#97-reference-variables-and-returns)) which comes into existence upon invocation of the function member, delegate, anonymous function, or local function and its referent is initialized to the variable given as the argument in that invocation. A reference parameter ceases to exist when execution of the function body completes. Unlike value parameters a reference parameter shall not be captured ([§9.7.2.9](variables.md#9729-limitations-on-reference-variables)). @@ -90,12 +88,10 @@ The following definite-assignment rules apply to reference parameters. - A variable shall be definitely assigned ([§9.4](variables.md#94-definite-assignment)) before it can be passed as a reference parameter in a function member or delegate invocation. - Within a function member or anonymous function, a reference parameter is considered initially assigned. -For a `struct` type, within an instance method or instance accessor ([§12.2.1](expressions.md#1221-general)) or instance constructor with a constructor initializer, the `this` keyword behaves exactly as a reference parameter of the struct type ([§12.8.13](expressions.md#12813-this-access)). +Reference parameters are discussed further in [§15.6.2.3.3](classes.md#156233-reference-parameters). ### 9.2.7 Output parameters -A parameter declared with an `out` modifier is an ***output parameter***. - An output parameter is a reference variable ([§9.7](variables.md#97-reference-variables-and-returns)) which comes into existence upon invocation of the function member, delegate, anonymous function, or local function and its referent is initialized to the variable given as the argument in that invocation. An output parameter ceases to exist when execution of the function body completes. Unlike value parameters an output parameter shall not be captured ([§9.7.2.9](variables.md#9729-limitations-on-reference-variables)). The following definite-assignment rules apply to output parameters. @@ -107,9 +103,9 @@ The following definite-assignment rules apply to output parameters. - Within a function member or anonymous function, an output parameter is considered initially unassigned. - Every output parameter of a function member, anonymous function, or local function shall be definitely assigned ([§9.4](variables.md#94-definite-assignment)) before the function member, anonymous function, or local function returns normally. -### 9.2.8 Input parameters +Output parameters are discussed further in [§15.6.2.3.4](classes.md#156234-output-parameters). -A parameter declared with an `in` modifier is an ***input parameter***. +### 9.2.8 Input parameters An input parameter is a reference variable ([§9.7](variables.md#97-reference-variables-and-returns)) which comes into existence upon invocation of the function member, delegate, anonymous function, or local function and its referent is initialized to the *variable_reference* given as the argument in that invocation. An input parameter ceases to exist when execution of the function body completes. Unlike value parameters an input parameter shall not be captured ([§9.7.2.9](variables.md#9729-limitations-on-reference-variables)). @@ -118,6 +114,8 @@ The following definite assignment rules apply to input parameters. - A variable shall be definitely assigned ([§9.4](variables.md#94-definite-assignment)) before it can be passed as an input parameter in a function member or delegate invocation. - Within a function member, anonymous function, or local function an input parameter is considered initially assigned. +Input parameters are discussed further in [§15.6.2.3.2](classes.md#156232-input-parameters). + ### 9.2.9 Local variables A ***local variable*** is declared by a *local_variable_declaration*, *declaration_expression*, *foreach_statement*, or *specific_catch_clause* of a *try_statement*. A local variable can also be declared by certain kinds of *pattern*s ([§11](patterns.md#11-patterns-and-pattern-matching)). For a *foreach_statement*, the local variable is an iteration variable ([§13.9.5](statements.md#1395-the-foreach-statement)). For a *specific_catch_clause*, the local variable is an exception variable ([§13.11](statements.md#1311-the-try-statement)). A local variable declared by a *foreach_statement* or *specific_catch_clause* is considered initially assigned. @@ -1081,8 +1079,8 @@ There are three ref-safe-contexts: - ***function-member***: Within a function a *variable_reference* to any of the following has a ref-safe-context of function-member: - - Value parameters ([§9.2.5](variables.md#925-value-parameters)) on a function member declaration, including the implicit `this` of class member functions; and - - The implicit reference parameter ([§9.2.6](variables.md#926-reference-parameters)) `this` of a struct member function, along with its fields. + - Value parameters ([§15.6.2.2](classes.md#15622-value-parameters)) on a function member declaration, including the implicit `this` of class member functions; and + - The implicit reference (`ref`) parameter ([§15.6.2.3.3](classes.md#156233-reference-parameters)) `this` of a struct member function, along with its fields. A *variable_reference* with ref-safe-context of function-member is a valid referent only if the reference variable is declared in the same function member. From 9f8d893cb34a520532fa763863b1c98265d5cd3f Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Tue, 17 Sep 2024 09:12:12 -0400 Subject: [PATCH 139/259] enhance trace-back message (#1175) Now displays the source line and the text that could not be found there. --- tools/StandardAnchorTags/ReferenceUpdateProcessor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/StandardAnchorTags/ReferenceUpdateProcessor.cs b/tools/StandardAnchorTags/ReferenceUpdateProcessor.cs index 99b84539e..4dafcc990 100644 --- a/tools/StandardAnchorTags/ReferenceUpdateProcessor.cs +++ b/tools/StandardAnchorTags/ReferenceUpdateProcessor.cs @@ -124,7 +124,7 @@ private static Range ExpandToIncludeExistingLink(string line, Range range) // Start and the end of the range, look for "](", then ']'. int endIndex = range.End.Value; - if (line.Substring(endIndex, 2) != "](") throw new InvalidOperationException("Unexpected link text"); + if (line.Substring(endIndex, 2) != "](") throw new InvalidOperationException($"Unexpected link text >{line.Substring(endIndex, 2)}< in line >{line}<"); endIndex += 2; while (line[endIndex] != ')') endIndex++; From 149297da143b563d8d4366d7f4074a3c4a475251 Mon Sep 17 00:00:00 2001 From: Julien Couvreur Date: Tue, 17 Sep 2024 11:10:18 -0700 Subject: [PATCH 140/259] Misplaced question mark for nullable value type conversion (#1176) --- standard/conversions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/conversions.md b/standard/conversions.md index ef5d4cbff..6502b94ac 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -770,7 +770,7 @@ A user-defined explicit conversion from a type `S` to a type `T` exists if a u ***Nullable conversions*** permit predefined conversions that operate on non-nullable value types to also be used with nullable forms of those types. For each of the predefined implicit or explicit conversions that convert from a non-nullable value type `S` to a non-nullable value type `T` ([§10.2.2](conversions.md#1022-identity-conversion), [§10.2.3](conversions.md#1023-implicit-numeric-conversions), [§10.2.4](conversions.md#1024-implicit-enumeration-conversions), [§10.2.11](conversions.md#10211-implicit-constant-expression-conversions), [§10.3.2](conversions.md#1032-explicit-numeric-conversions) and [§10.3.3](conversions.md#1033-explicit-enumeration-conversions)), the following nullable conversions exist: - An implicit or explicit conversion from `S?` to `T?` -- An implicit or explicit conversion from `S` to `T`? +- An implicit or explicit conversion from `S` to `T?` - An explicit conversion from `S?` to `T`. A nullable conversion is itself classified as an implicit or explicit conversion. From 874bfc95b91ddc40470378ffe50b0c87e998d19e Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 18 Sep 2024 07:51:47 -0400 Subject: [PATCH 141/259] Update antlr test harness (#1177) * Update for the latest Antlr testing * remove old grammar processor --- ... EcmaTC49.BuildGrammar.2.0.0-beta.3.nupkg} | Bin 253510 -> 261710 bytes .../workflows/dependencies/ReplaceAndAdd.md | 128 +++++++----------- .../workflows/do-not-merge-label-check.yml | 38 ++++++ .github/workflows/grammar-validator.yaml | 2 +- 4 files changed, 86 insertions(+), 82 deletions(-) rename .github/workflows/dependencies/{EcmaTC49.BuildGrammar.1.0.0-alpha.4.nupkg => EcmaTC49.BuildGrammar.2.0.0-beta.3.nupkg} (86%) create mode 100644 .github/workflows/do-not-merge-label-check.yml diff --git a/.github/workflows/dependencies/EcmaTC49.BuildGrammar.1.0.0-alpha.4.nupkg b/.github/workflows/dependencies/EcmaTC49.BuildGrammar.2.0.0-beta.3.nupkg similarity index 86% rename from .github/workflows/dependencies/EcmaTC49.BuildGrammar.1.0.0-alpha.4.nupkg rename to .github/workflows/dependencies/EcmaTC49.BuildGrammar.2.0.0-beta.3.nupkg index 00bc2cc482c98f889c0f607fd3134ea08fdc0c96..2a639302d1e80f6cc0e6867bf2118e5e707d4efe 100644 GIT binary patch delta 33124 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%0ACUj@auR zWEzjTdajS-(GGtk+WV>IDC7NvXI%UQ;nObuR>I%q;tvr1po>37_-7q_I_CKMS8#62 z$zNp}k|aMc*$pr|BG<_ElMk!@szB>oC`GfFvCPY?4dobC2gvWl*)`>j50V6rx2|uU z&+tm}9^(v+%^T6PDXMOWc&e+#8uoaP+0UY0ag`EukNtmKnX_CyyhIZLj9W~kASG`b zst*M$lh4N6GI-iE_`F=#mmTJnxDdyMXL7o4!aeC2b?CRhjv_=FAU3FY8o`;Bl&E0# zneZ8nRrcB--3oB6dze-ySJ0kpsm2r)>W%DiTFQw%xZ*MtLn3N?ge-#3QQkmA3va}e z&60_#B_4nFV6K5BBRfXp3OZz+ag=s7Y5EW@S>4kXUt5HmbfjfZT%DJbWKHxE4XCH5?=$8#!0mr= zY^K9abhzQz%rmNL^_q|GYtXl=$_(}=Jd$)G+nMty?0d5(LEgihB6BSa>)ylBfN6Nc zf%ty}x#KnDj;#x^MRfqVCV?+~JbZnE2Q0(eQib4fw2a!66}1T)Ve?QKa?ZM1iCU6Y zbkPy@=1$YY7xwc0z~|GAbU717Qg(`F;xro7z79e53^lu!EGPtJrx7ezccnz-h0P3s z>qu%akq8H~*Hf_^<&}#Yo^uKf@+C{-b3cCwgo6zxqHKOOY=wRCm6YN5&9GlAQ*`ZZ ze|z@TS501?K2zKqTAOZ18s#R!ugjIzixj>-y(xDC#j5J;jTEA2Y1%gho%H8CaZy7t z>on!+G>^BZecJ75$}w*u|HS8;$vdsva9dRPw4GR`g+2GsJ)E!{W#tWqDrh>cNaKHj zum>Ftr`Wsp+lJY+!Z4dPEupAU(;KxCA!M?`X4tytfiOlLoE^(r`-`xMofqJ=R}}n7 zivX|p#;_eN$2elIE_YHNJ^L2&GSfgW-Wk#B7RlqaZa0=YYeCn<6432#muAL2v}SZ6 zOVD_U)EnkKm@~U$`cD#THmX*=We<2cx00V2_MQ;>-Bk#3w@}kt5g7JeM0}8lx4Fb` z67gjs-cGI)e;ZZZQK+wBPgq%HcZ6Z=ftA(vAU*92!ra@5>m4Or{)pgep{IYnF)}~b zos#Qu=6d=ZTo*tYNTuqgN z>tcG^`zzy_!SVg(+yGi|NqQ(uJ?CjmV@x<=| zvFCaqfE#HQ<<9S=X=LbU7zlsr4Oa(s!?faYz72UF$H~ciWt42_4SE`ON36O{(t|BK zR^|8+EQo=X7Qwho196PY<_=xu-eIxJPoGT6R+pWGPZ~w^lbbQ9c?_00q?4&8@+iASY1_7 zQN~24{av(dxv4NHwQS(Hd{K zrW!LhwO|gc;q2-An1oapXHQmcC*MVQRor#5Rdf#{_P8&otA3#dLB40WUEFepBcM$k zrlT8prY`5FK6M2@#fkVJoru|gFfiE*YS73ZAo?NZQ89^YptI{`l&VY;#I0vXjdRZ; z<{|!qWKKMb7xwq8Ql*Va8{-nuKq`^|*6 z?#k@PsI-67TXWks-Z1K}xOZiB-Ie!dA0a!l8?^>$5qgWex+LN$WFj73c{17e${gR` zyr4i+9oin3R&Ws$;*q-%eBcX zicr!y{#WZfIiI^q?osk}hzjrhlb z&jD6LB5cjqu43MH;{9N|^A1z2k%*f81Wiq&c3wq22fljgaCOqV#PXpIgm6>P>nrLx zR$bx96X#5QD$cJxr&fzMo>TSw^h_n_sZBNTyV0Uo8dHr#Q77rq5De<}mlntiri4;8 z)g*uKG(G&i7rN85{}tLd%Ac4#5a+9!XxY|_io1kyO!7PRcANP-l(Y@s94dHZ9p zN0Nn+x`l3;3GqrKaj2xrK&{&)vBf_v%G>AZ{&KgzxO?Yo2LcoJ71|U}f~e(l+d=QB~3X6?GOY zRvJuG(Ui=k=DtqFwcxz$ zk#{G3e7xw_3yy$y?VYQI_ET`lrCXyeYQIY)yP-1y|x_WKMthz^Td3^a@ zd**zKInA}=-4yLr(?m(^L`LUTmiSs8eNQH_7}w@K{06hOt~vWnaIU$XD^NV`t^J<( zDjmyV@%(4WnSmIpNbXm%}}_DMIWR0(P5qqJbX!`=}y7laD@?3 z>w9dv=)~pu66jewb>9b_+7n&?k4HwuPOZkm!`kAbVJ-@ z{XZCLmY2L=KSLG>B!Xu)^V2v(77AEJZ<6G9NB#DtOH01!V7OnlENi6~5MKVWWmLCQ z#Ar_~m615=;dgX(_3}%fHHUeXF;OrWix!Bj$s6&8)KWi&09 zJ6oPtd{uumOZ%PA+hBN|w@7V^#6GqUKkvcm`kDA{3;$fs-w3p?U*?>)Sya6wzk3$> ze3h@4G`?2iyfWdOacHe*@qcBP6JIY9Cz|Z@2%1DjaH?IS8udoNs>W&b;wyh)v;Z#D22 z6^Qsfj`1da+1e;8uJdNUPbRA`re%LX+;Jf>`)|PCAmyg?{?p|{7ox^SVI&ueMWasA zeW&=ARG~`c>{{f-bE=Ncssh;2bMX!Z#1|Ck1=5N2P0dZ~n%A{#B#H+z2p_A#wT!9a ziduhwm(Zlkd-8UAbT~&G7S8!cFnBFL&;y^?FMdB^`9%l1I`H`v;xFOEFW-^L_PhCw za#`I2UN1SsUzBxp*-gD468BPo?#Jh#+d$CKDuD9>DKT&S`yPhy0az({OsTu@v5Ny@ zGzP5py)R_IT?`Z6n?vRB*$~l>d6)VPnDl?8%MAE}m*5P;_cQEb`lVbBbK8D~+q?wd z8@)5&gTs}L5d;1;_!G^5-vl45FrbmkzgPdL`Jm5FwSN=1Gho19P)-o4wLfBQpGK4~ zmy?`M=Ko7M!4OIg!cOD~!ghu#!fT$0GhqWx8PsoofZ!0r&-n>%@!uI(0Piq} z^Czs~`3#jHjrz7S8rMJY7(a$(AM^x?(i6H7VUSzBDM-)^QLBv=RDLQ#ZAU_lkq9gg z{ibXQEQ%2Qdn(Z<%ZOg){|#FEIQD;D1p&>ps^C7IU}puvf2<<-C5FFH30@H(`13M? z_muw>TiwkN&*eyYyFoVjI*<2`s-K{?--Na0aF11B9*OuOEltTZX_I8G9&7SPOrwWh_}n z*aq0h*x4Xqn_xTZ@~JAqw&A(igSvcN2RMw_9?_)^Mf`iCQSOa5MNo#qhr~{B9s^_Dp{uNbnwm zD1A)77GVoig)<0$5zeEuj|NU7ygz&c!hL18nhM-ob_doz61f}Um$iSrDBEaAELC<|p_-l;FSl3D#CU$^1{62HV_#li{n(Du@K1#`1N3 z)C6`!Z$S8AE^nwJ=n21o@LmtWABPB@4*nS7`%S7{Vf+-~9xe;`4e|tdSH;T+p9@m$ z=NYb!5?qLIUyRo4ov_3BGg{ykiCt}grNJP5g%jQmD+2+`gwub^8LPQ2RBHv`4#uvp zIUQPz*pCHfoem_dFa-G5_pXN->jj9y`V~S-u&l+3!eflhKr(WHRRPbf5}d!#yRF4= z*J{D}$%<)+!_QU=&VMxeta|9K7o3k`Y;A_4^+L}-7#)a>NbD}N1J}$o5?hJbT6nX> zo<(dO+$FJ}V!MC!aKFTE#<~sgh{VbfJ0G5q*xw;`0X!>ve_O?ytX8OQa4m5mv^EIN zVaOqNOk!))32QU_zQM5)MmV^uQAl|--2D!brFoMllF{kFuH%BVuLH?VrbnUq}&64gV<9W zgp>~DBi3%vFCgq)@VUSztv&GdRxuCN!N;t<@TUs}_N}t7S(n3In*}!J|FhW#&07SP zt@@Rfgy*)19zF+uum+%ayTJCV|85P!2e&(V8r~rYvI>LKrOI3zJUT8Y?mI~-dt z@@Am9UHX3~Ec1@QOuOq@S$I#o>vdW9jjUU$C%jj~s!q|aqN2rX^Y4*5GV}0D{uQd5 zNEaA~z(s=d9m+=UINZe84A$MGjl=t7-2!X7_ayAvB}Us=w$pnG^1DRcW~{pgVqJv& zR9PPE_D;e^#=Zm>`g`Ftv~{`ja2hV_5?WvGp}K!Q#%8RnCxqBBSyzE|Q!pm$>alJL zCS=_Wo)_Q@+$pi`jD4cZv2Ks|4BTK52j zp1p7bd_`jajM$CvV~Onw9rNAwZD&2?X5wo9X6=;e{<#n+{+%5pr_KMkOY+_XmGPe ztv;bqtKU^n&Udzgvg7w?lrMi?b9H#aL;Qcu2JsW8hua#=X>u!z<#@T3558p4x8H@H z#G{^5+80^c%k*^!+!u*w%KYo#tyLuRGLvM6xyP^S4pg~TV@@4+8s-l=HWAiSFoz)c za=})(uk*b8nD1-Io(kMtK`>Q8ls{MwzY0TPDhs%l`G;APL3DKp1GX)gtu4YM@=J zh2chqZ4A2@Udr$=!z8y&Bdmn089vT*DldSav&;#F;EWQ{&xf0lvIXNNQSMeW+)?jW z?uvH7L&{p*UmjJ?n!Q;2ZT}&d;E4Hl7z`dk_z^wHa2W1}h<*+3R#*C`;cysrntlg&}HnPt`Pz zVr$4$zJZ)&2sZ~p@D13e3mAVz%Hd!yDC$}(g!~U8KaIUk@v1+Io~Nw9RvQp5(e@zh z(e@)etQ|y{(JohJ;6=S(c^+OteI8fF&`NhJ6IK`eh;>uc5sTncq^I`k+@`wa5*g}$k5Mr-_3>3~oA{-Uf0CGskkU#@?AmUZ)}>v0c# z6?w=SyII<9q*SQAT<+!apOr}HMV`|TTIS{QCZxO&eGxf7>szPN*f*;vP2Z(Ht_(+C zKn=fE(E&@<@Axw65!B%=>LBZo;eIo$$q{aQ1a1seU@i5Yhmndy2>U|Msi%1cPcxn5 z|3ICAKEGf4k#auDU#)+BFc8tmTb5`oO0e<}?q|Xd_XKFB$dWgp=4-U)6_WWQWoLMU zb}ReFT`aklJ+@Z)gKxLirTQw92>(8i)NWuMP+Gv&HYzmU_W@-Ght;L}t=b2<{4m3` z`roVvw50mks*h-&Lds{D=X2U;xqLIzzrf|^7=9aQUf!<0V*P&}Id3aZ==ZC?@vPPJ ztoirYE565G@woCVj^ZWe&%^QPJCTRRGNT-i{tmqAA3Yt&e>zm5-pw=exJvZrx%@nQ zEA*)TOCIU(d8GF%zrZyzqbv_UuT%LJw$i`pcPr21+I$}NRNMrIaio9H4=d!)hZXW< zvaRZ&GI^cPOa6cSBcI>HWzQ>YC0(HzdwjeH~8Y}~K(gf}4U z@bAFrLZfJqkaTEZ4SN|{xEl=^76jlJ!VrugtNr6!3@F`a1+8f+=8%~ zTdn6-t=K9EN8k>GN8!B)2jL?KkHKdUX5e!O$KcBd^Y9mhr$8}-=yw*v&%#oKPeB91 zuS1Jz!MA_8cTh;au8@37A+178sbESCQx+-28B<8Z6$)wFz&y>&vz~ccnP)TeY-gSh zWd?P4NU^Z5#p=ZfSE{zL5+>n)nycUnc;2@fj>9Qm6Yk1)d7JRecQ3+)@L7b*;fn|p zpkeJg2qU}@mLP101j0*T2w@Mxb{K#UAv_MZ__}{s+VxDio+;Nu4nFF;4=Ja7A7J_i znEnixpW*TsxYdhHd66laLS;>%@^UUOmt~UH&Xjhh3~+gX%YzE{&Xnt!@&PPkUkqPl z_>wXSpZ00$^*Ec$8Lm*NRXdjl7+%lt26Ymi@_m5I&oKM~bH2!B&UOu4Ool z+4(Ue>7((^_$J})zWcfSw2x-_M_g9?1ef}W(#Eg@;a7c0F3)i7{S2RG_#=i&fM6TL zB*PhoHw0)b_jCDahA)*7WiUuE4kK_c{0x7734eq(i6jn>i?wwM6dL$_FV26_k7FqyyuUeGNZ!SWayajcrj!0^S$=Xft$Pz zyw!6n!d(pC;<*E12SOEdBMtf2VHT?5ncc+pZ3tC7fqJpr&eA$io{DGjGF<1MfTw>U zp}b9bm+}MUcS@PMNS#*iQtws2sD4*ntzD>fXlJxLwR^OWYhTp9rhP~Io_4K%oBo9U zjK0Xz;@R%m<@tc;NzYe2`t+bElbSpPd~@<#OHG!SqmiAW1bnsr=qCDp0HB z;NYyf)AM%NvVo{g1Np2?%?8Af+OvbHp45QoPq55x$i&W5W69CMwoJxVSCAM#J#WMF z=Ob<`HC2{NJI051q>}lReVTu(+Xe@>_V-a~IF;|~%BMyox_^9BmfEwK463~^Y3EYA z)7UbZk<-G~lBCnk(8gms+R}3FHu>!F)Mz@FI*oqOQmmX5)-ygfmbLRc)0q@aX3Oi( zNhXWL)U0Y$s^3o96Z?|+W2ae6VKP#u@^*3{Pm@8D&;niPabrn4*`I$&9Yw5jbR3;S zV(5i~B$dkKKzm0s6FoQ;hzbpgTA+Nyb|rJiPysBp*~3U5rQ+^%jvi#)7C4y9jHi0X z$FPI7a7k){@qNj(jc5;!JvG>oW<#R>NTNmpt}AZ3o=NLrGmd;bliCW$_v51tj_*m1 z;A52GaWNxpU}Ie`j=XU!?vTqwgX1U)%JJ7Kz4jI-`BRMclZ9j9S1H# zAKME(6FKaQtKb z0a{mc#sRr`sl>Z0c_KA`&FrDFkU2z0#$4{A^6_qh7yy&wnLL;2PxirONqZCx*Np>9 z4yT~gwzIZ_jL3iIaBn)FNwp^jj-{Y$^aL(wxG0tH96gb?v!mqj2a|T1)(>=1Fv{k* zd>ofja)e5wsgs5Bm{S^faWVg@(hzSpES|@MDo@3gZcY;vYwX5+-n!%?!BNDw*}v!zFI$KVoq|DM!I zF3Xt0QAU5X>Btg`TiioH1ki~wVY$7dsl9f0*2d<^vHUnaGufPQqLY%r4ArTOJdY{&D8(A0Hm3wc*nC;8d1U+H$!R zE|3W}m`mGdhe#x%XX`#xicHIWF|%lXibz6lDZzKQ=yk9FCz$QnEb4Zjlp+R9YbE z9L5?{B_sD_8K+^#csesE*ICnGCWDq6>Ca}^CTJ+!HXtV+`@|oj1t)*y`QSpDfUr1c z0YI4=ItpcQkP#jAW_u|mh3+(dk_ax&A|P3vr}C*$njOrKM)Mil#pi~%CfW#vJt=?V z5o-pgR3uiAJDwhs1M3v&CsBC|l_3vgTACVUb>>i=9NMXH{3tafGcG5Dxj7iHw-n(# z|3x^@aS@KWXb~niM|iFL+fjpZ#wK!i5I!t2>NF8HH*f9hLwAP*qsK?HCr3flrFyeG zl@yA^oU$ZF3mXk%tYu+!w2cn7XHtJj8`_T{D0Y&9zdLxrcG6~h#>od~B?2;R$+|J# z2zRmLLWcH0Sr#6*Um!Hv{RKKI#cB}dCRp9cQOuR>;+)GN(XQ^49i1IqD(9e?Qk2hs z4l+`V$T2%;Hh+xz=0p$!50<;6vpTp~Y+V>bahuD~&LoE7)JwaZo1r&*07ZYG;GB30 z3-PWeEF_CvxW4mD%kIve#3#8)j}uRA7)<3Tvw%VT@T#Mf6Lu!^xKy}Ubi5LIW&vaW z?xax7D4*~U@;t?n$6|Y1G(9u*V&p;mlJ99aJeB<_KTC16VmbNbjWcu=cb-H z;Vrzck*`n;6NoLMB*lF}7#4rAi}I!%CrNm==i3Ys%Dd6fX*|=(TqehMkjpve#9XSu zkjq~t#mzq_6A}v9IXsoE$D{SJbZ(w;H<9nP;YL4^!}_7jc`x7kXOb9WG39^GiE78Eivmy1 ziAHQnj0GaT=6FpxS1a?JMrS#l2wrHyITYdJJ!81=91?1VJAMIiE|Fl?Ee)>KTwWGw z{y1#Osl-qvy~P&!QBDLG2O*}O@c|kbrndu`@j(h&dFdWKsF6sPWipYI+Y@$}gIU*Q zT!n!=CzF@9JWUB&5B7idzX`2DYSV*{t*N{;Tz+;&fJXwH*dc!IPY)l<<2vq052y3M zwm~Tf@JNi>z+hI+{(jf*aa+gabeM~HvY98Bm;UQuMaRd&#ffurc8cxeHkSwFlWBB6 z!J9j$AtJ3G&x=z6i0dT~7hlkg_Si#zkG;t8p!4eSG=>nlR+)d~+=4humCGE?9Hfg! z&PB18x8>dP4lZ{mPl=3#5=PwNDA-a--USZQs$|!aj^X0$8ZJ7_$%iN(FPtNAiZSsY z+{ZVge7NRkp`Npd0(Bny%epbi(lb6J1j(bIz~nJ-NV4!&CQ<2U7~8}eqjJtII&px? z$MM6fctV~u=@x%Y95K0+N|xsG!8IDA8^_Hl4rNf!Z_CDcnm4VhY%*Q?F2q^ zvTYjaqd0#CA3!aAhjJ&5;Q)@H7y6(ZbtM{Ig2yiCPU!P%mrik+!<1eiN!H#1>Cx9I-Z>&dX8NMz{vmAnNKOo_aK2F(zcK z!GF}(YQ#i;r%U>p?KISn=t1;0w-+I0TVYH?Y~X)k)S9LwU&1T+N+k-XymDS@pKK-U zG=DqCR!uk(p-TesH#YXw|0!etuQ_t^GQ~`yXAPq33Li`37%#%QnN3hnOCNnwZj98;fBdN#-BN*2g(~oJ1I7%^a!Bt<}bqmf{v-v1eI_7>^1dXt-6lZMK|RlHq7!7xcoK!&F0-xf-cyF6G!3Nt7^v5}k17wo0?q{#hY?cGyxb zoL_SCjkIl_9k^-CBiN4klSN~5LSgZ2G>CtZm2GCrlKiaze$wVVQBys?HI(J;98{@Q zo}~_Q-zD~%{ysGplR-{L6Q7^QNTfOqnS@M~@aA~W7-s{}F5)`w8r*G)UGy?JsXnP{ zchLeUp7J+hQZh=O_o>olAX+9yfe)*1Ws>535PQ!PTL8llFN?sKAV4K zSEZ#P7C}-j9MMl!x`)%+wU@HA*eY`^?JTOiT*l{~71|qppmh0gFPz<<>+q$LN_XZ` zNsuVD)@;j`=%~@(W#7#*Q&`i4nyp8-bSY5hmU~KUCV6YmRS(g9Jjc0W$z{bfSXzwD zD}CX)IUsr&KGOw@a_+D=Q_yB^#sYty3xU7lTQ^oDbsoM%7JDfUq?6K5kMjm~kV9}1 zy?YCQm)6Y`$*n8hK4xzn;3r6*1di+6dcxw@(hkaJ;ij~dhI*S93J)kxW36K+r2EeY z`VLqVZh+82Ydg;}To1~y9aBurl#De8F#Sau%#p&Lcm-x=^*Bf;|8Z)TBG-Rv{#Vbm zH8MvcLr|L|D4vEd_GhYDRwQv5)*UJ0ait$Y#f8*mvfZkpcB|e%yH&Jfdt>Y(t8njL zh0hD|c?kxyJ~Ue|T*A*T+))qWa}Oq_z4+V*?fj&)y91xyoVtS9fhj!lmF>p;xDCT& zC)PvR{$kAE4J7RVIxTqjVJm+wc{<@zZnp#Z+E98Yw=2fnx=Tvx5cBM%#NRvw{Pefu zb2omlH*XKNr5?dUsWo^mBFG%w_^*w1<}vv%WqdzN??7!1Fr9ktDZx5X-*)8OM_4%p z)FE^Z3LUug%1cvu@Q!j#21|RGhF0?CIn-c|Aa4P+|p7b>++o z`qjm@a6BEQ9v1b-*}Fyd?ye6ZX+CX5zIyJqD7mf?U9-5?M&67Exo=F-%tlVBl<9lt z>p&b1XmV+FZ_Ou1lSJEJf44 z>b33Va4H_+Ql>vs>}^AHl22zHxk)HZS6r^})qETnkavGJ&PgX-l8D7+Vz|2C&u(yX z>fgjJGs-+yNDWe~Hl=Kic5V!~5@4P1ZgFMTI4d1$XU&JOYidry*;tfdHqN>#q>-dJ)+)oLHDuv&K5wT=9C@z%(gc>g zqBMVrftwKHmUrpwi{RJVqh3D*V1~JT75kV7Xtul}&2gPr(s-`dkZ)D@>n=i;xAb*0 z7E`Pt@VovG(Jt(1l&$212WV*kal_;6n8O@Aa?*cp!j{5rLK9dy|K)jcSjMbpO;1Uf zo^8LhyqXx{bvFU9@%3#!U(iEaVBY9h2DZ_Bq)YTV*FDgD(qPpNxTtUu-Nnfe<-EQ4 zq`aDP(_YHkx0N2LGx7i^E+AgtBOqLA9UR5pRRycKH#?&+-$lXe@8Fn~Y-72j}we9NK*^XL;g!AkUr$%g?l1c7s?dAgYp+DOp!6p74X?Ah*(>6r(v%@Q`<5IQ(#bjom#(Dzda#i5Ub@l;N>SZD z*5L&ALl=BXm?EMZ(LRh6x;k=OV0*udDYbvyGL{XNL_%!mAr7Th@b;8M1g`fxZ(!)P z&QHn;opf<>;M{1v)}2jGo;C)U*Uj!y(iH~_a%`qKrl(CJRk-jvaPIVN*K>aC$5k7|mKL??NPXV@`pHZXrV zfS4}IB3<1E*`1tsZjN^1=rdMyE9z?LSmce`L0pH6r7m=G?Cka;a?U3H=jztOJ&5I! zXItc?B}9^OQil07JCk$EntVfAIeGL+5HB;5Y^CuM4=A;1Kh_SH=(mF@#dDb}cu9KB zoUF&T8}YMN%Ak*1--pr;@aC}tH;I2Xd2!Lli%VQH{i&Y*U4dEgEp*20Ef^$Sba=_} zb8L?4G`yig)N;;}j-#KHkwmz;!{zKy&Wqze*3&<6*X0aA@wV$vsvF@AU8G|qMP^XHGFk4 zdlR7RFuDo`58q6e757$r3qD(u(p&I3wdJLH72o^M)w=Y)f1dj8%ea2DXgqUM=Yf*A zFJ6+0Sklj%c1CWH5Ot!7o49|`yNcO8KzXN(^|rv_J&)g{zT?R!cYb1D_KN6+_ih9| zrYM#cqkUFU!eKU!T<_L!BC>Bp5wyv#HsosoE?D;S9fg9a#(=`RKiWQk0FSqCK; z^ne-+2C=9FQ5tIB1SGyq!9H1(i` z7>;HN+3_(wqXey(x;UtXXS}2s4#ZR<+o`yy#w4MUnX-tfRfeZ;LB4_nFh|6rJ;X%Xa`M0t*}i9B{eH5 z8Y-yy6ay_C)Rvf{$zsyx?ecjuJ@LQAL2pP=kv%efo7bmEMpHh8hHqyLEvL2RG$+B~ z>31rT?nw7+(H2`RiFIC<@lMp;l-yE73pKQ2W(fUGwJdZV3+;tXf^LEdM*4x%}6_(UqsM` zgrf;96cGi>gL653FSeXntwcs>QiEbS&9oRy42rtNL3YiJqHZG*w_pR*6{}>6HjAl? zBi#lURPhK_qk5&{Hwcemi~?(Qy)OK^wa4#C}mySux)yHCD*=e>D%=AY?a zy}C}Hv#Z)_tzOl&_bEy}EWPnOU5680;FX=sPtQ zP^OXkK6d#=dA)5B9x-`{NQ^&L;ea9?Y3ah&l0D3NjuAiVa*>pittsq#o_$2>2}QiN zu_0zJ1}GD2ZyiOaG9WCt=ZAAfYBCQH<>$g_;so)I(X+&%XZK-+ z)jl)K%zkSdq`_lF6|)pxno-+JvFpOJu#p(c!#YLO?@c(P(RgRJRzXktwSF1krQh;_|T&tGtqweV_|=ojm;FIqq`}~9mBzbsgWkWOV*dkTAj4A zzT$6uKWQF1EY-DseJ@ZMInYG%Ieq29b$UL5xCNTQGTwRpWPslSMICUZijgwFSN&Gb`SZeC=Y z+=s_UW z9*X?@;$+Ma?H?D2mw11PRZg|aMrEj?&qiWXUDd_RBW6NPWq__ z9PT0Aj{jLUCXg!j3%vbP>Ce*{2H){7?G=%`U*QfffU^6L; zC_ELCa}nODETptxQ0%$fBf0Gj2AM=1=o2xN*-4}mQ-u4rkp>Ootvrp$yI&OPZDXS6 z-0zXo-NnpPvx5>p^p9bI3kEJv#v(NbR{d}Y7HLmTPhh3i<+rs}nZP^5RuWpd^ceY9 zHTlO3xu=k?his(O7AQhdjHeZi-f#W=>*4bdpU~+aiWp0bXh~!0rN?fO^x`3KvCL0p z_u{2bPy;a2JFfh1LTJ^}wD_8Gnt>|kGk%A+ry)P1-}N2Mq%3vTfeUf&MhPjp+wFHJ`m?X5=;I^!&k%^(`!f@;HghAX-Q*jgEerSC z2WZdUw|u&rbTRB?_swxKOtOw!8y?)vzzm_A4%J6{Lem<$?mM{`O@OD3*m~q-XhHbn z#Tw|;m(gnHcB<>45VZQB7G`svtY@Nqup`T4Ls}6LAoqF(rPoI8?!Zez74fR=#q?`? z<7Xy+N0iQiMMs9BU8?|K;^L` z+RBeV**L;J!{Fg(FB+^Zpz*93mxcl@E|zO;__o8MStdUk+Rl4iY(yfhaF&zU7I62M ztEHa_;Ds3z&E}|@jWw!umpm_!YU_h_7`=xRK;w0K{gouCeF#bWp1n;*@9Ntnwr_Gc z-p7Khm(NXuB5~>>Oezw!rMZO;fFT))Xmq41+DOec*;-retWKRQ8-@6tX=!RU$r!C< zwZ>X=#LKvSOya2#&4Ap1xzTv3iKm5v&5oKSZj>b||Hu`mR_LkU?{u)x$R__tc%)`g z+<}=V&~vqG`&~|rS_OGtq=PtlTsGlQ_#>(BFgnCaeV)e;TT1kOSXI#hu(DdhAtJJk zKDfRe*|3$%s?RmGN|i*2n7Oc$z@ut6$Eo3)RVd5 zE}q)i29om#2L@2Xy#%<+giH*H-nf0#>-*1mZ|z=HA@VBLVX$n1^p6ObWFS5a)<4xK zEkkoudy{`lDlSmov79E&>4bv``bGfQ<5&1RQN9)`l5l525PY&GtuDq#vAD;+W}mBur@a2*G%Oe)?PmgGvBY$Nx0h=j+Ae3X4?k*Xa}FR z{l9Gg`Jz#VHEF=%CyWk4jYVSz0{VQJQqT@R_xakypkYlLbjIvM{&euvifM+8MH|UA zkiyve^wU30Xm<@yvWVN)r;AAsZMS0*lI`I8U{^ff4x^9jit@bb+BqyB-DbU=k8N~e zGhf*zO;QcL5FQ1|6w!N*8qaRx=ugia_evwqA>+(hm7~-sTc*97_2(-uz)0kf6N$tK z8O|7cQt42-r8RH$a7!e7CiztO!Ol~j5-9^EbMaox%0avqTPZwKVVk8jlg-gUi)*;r z;c6O>9cA&bgJatB^yai`eT1eqw>zY6`@4abR^cg7j-4vEkp}ikNuDbQ)O_>ei$!9v zDVAdyApOO&a1W68P7aF)_Gj$$Con3ixS6L#c}^{Cc4@M0RncvzOl`gKkWbh zl1W*;v;4(!C}V2oQicyx+cNaevan_Yyi8%6X?ZiV4Wsn#$+xK%agX9bD@8uU&)5MS z2G{Q{&o*LT#^mn0$^{8e`mNgz?49?;yze+ISP7F`bRseF9SOz@C0GT>^u-8x>SQdU z*1FrdvC_Etr^fPk){jgk_;lfw=C+LPEw5iw^K@ErWzRIJ1ae1jDLE9QeEz&c{+}N9 zlFy)CYsrcY{x4aec1wf?C`K?aE#?1`1tJCtyj-;u7hXPw_E5VCD8Dg&qlB&zz^46b z)s5U6M$GSPCjJ$MSi@3o)$<~9Uc-L2?WD;0LfNu>u3@}Ivp(u~#{oyPAN}b=bXNO# z+kyARjn6s9g!{N-rlSyQd?H>CF}MFmS+-GcKlDhzE9eNan@qP;9T&~ualSs+R$RK{Tg8~PALg|^9!JI>en1d%T7 z#%(ZSD2|@qXIByE$dYck^#^m@b?X&kyaGPjjR_w6vnfY9W>@p)@sG}>)j*;mX}8_) z=@+%!*Gb0wTss5AXRq$N)aWB%XwwkGU&({yD09ksP|XCp1EjCbV=!~CUA;4?qnIo?J%RHpvr#g|z+DSm?fAY9kpLOXar57dw+J9MG7 z)E*PNbcj2QSw1QLN}Y|bnFN|(pH<0F&)Z2iS>!f)^r<>Ev)eO!SbZx6fHvGaO*Dg% zqnG3!7hmmcAOHKYz(vOg{T2aD=@UEdGe@3t;kO0?E=AlFR4Bw`0S312!tWlZpWN8A z6egPuek|KPJaiACR<%yul!3u8GbPL{@1N zTWvsdF?ZA8Y$Zk7m5MG-0np)Y9;c9Q*fpzlAU4Z(&*nK72!1$Sl(%#*} zI=?d`938+8RPNi+FKjTA3tpxm%e;FchCmP)Id#Boa@)MFfFmC40%PuXi{ViP1Y%$+ zcK7^vFm5=rA@XUdej6uGXl@>>X!Os)={@qkE1;+yJBUs3ijGh;j<+a083-$+nhfwp zsPxezTQNK9;sISdcKoWCTE1=gPW;GSPtf@HXJ<(J@1}I=viRVp_RrmaYeTvu^kphR zO6~bo&;g`8%keY-j8i*AzJGa&!qFk%nQ(W8cu8P7g14pU+getH#n5|p1e+z?ZEYwA zpmy*_Hbf*SuZXF}Mzl?o)f-d(tIt|es*-~JSX+AIS>9k&O)q(ocBbb(rky{|-^E3v zCBZJB(mQ8%6gn4OP(qY_H3O_@2UI~(;CP~T2yA3HGFi~TPeNflkSO6TTerL%1X!|t z6Z9<<1VP`H6=z`*{kR97X`po|uP$_ODD$t@XhUR!z<3Vs&s9)U0|9cKoPV3jB#6#) z{2Ajc*8-L~xHj;(G6#*cd31%&SwxiN=tikmXH84Shj95RH@ZmQx5&{;m3&JS%bOSC z*|4)|Ul<42QpU@K!8)+v4lxDq=PqICVi`bnz^>qvYr*};W!WpnJrTMAy7ZDExT(n$ z#d0jv5pDXyX43zV7fHWw!4P>Kj2S>+947k6-i6m0NWFi#!Of!s3+ZhM5t1x`4ZuH250jM%qg9+1jRq3ojl@-XExI5K)bI@}4^ktF1Stk{%VG zh?RKLM4o^WRsxy;vkS_j#G_f9zhjE@!#{Jbp|Jk&CNv!5A>9!c&(Y0fa1@dQ zkvbicFAf1UpR3&-P|w2C8!X7ey=9Fj^8o!?NaD~;Gl7cg6kX+-l+;_jNxskYSaUBk z4c-zfgyJm83S;i@7D+Sj+cQtQVit4G-;32ZGApQS+H>1N3mWhR;jgPSrdpG3&yALo zv&?kQC$D%c{5eB@Wy`>fy}6)St>7n3rhloe9fu#!^WnawWk9;A1l&@bdG@EC#(`YI zKg?Z=dgHSzf8sPGj11VjQ}4~b-_bI7Z_^Om8+^gm5DmKxbtdw!$7R(Me-p6y5kfFn65$7|cYnq3p)WlROb|MD3{A`=iTR1!v8 ze89w%yfJKoV-TiEq?}Ip>6VyZrS^N$Xb9bXTFJPbxm2)lhzbWMV_qzsgZVobxI+r6 z1aGWLk~sR)w3h<4--_M1BF4cmy2774c|V2Xl0@U*+!XT3i3#M&I4I=AzZp5^eq0YL zQM$pGCl}}MVN;gmv#ZjQ#<>C5c#nb4+Sl1d1DC{56ECg6y~IPbhjAu{62%2V6u`~9F4q;Y!*lWD^i8z>B)Q= zRzqY?m}26BDmFPsIH+AAM=8?RW|oIXD3@Y;S**0qyY4eWj%i|@FzrzMcCkV_owB8Y zF=bVI*kpfD0d_AQzxkH zA3;thaMI801eW*t;D_?FO@G4B?h}|96ue%bl4bGnnG~J>N2gT`@Wq!yPO=5I5@#$! zDNIly6g^!~Yi;w>XRT~%#a&Z5)5(RtLxej=ap|8VdkU1k6_u>_2yc*8bP-&v{N+VQ z6eS9$@i_R>dEbZqAr5(Ce=Ge^)+&(dLEw?M{K?W!*$n+v0YfpNwCqzf<5#&Lvd|yj z%qaSB+OmwztA?FbtGC^`plPZ-t9)!{}FB7DZN(jlkWNFVGL1FR)P>77eU?2I_5J z_Sy^YO-(9cWwoE0cGx6a*pb-0U+oWq%y;52U-7au+xYg#1O$(hVQ=uR_OoPH&TuQL zzekWyGvkVCk5$Gfi^G2LYTGL(g^kqOD~g?-G+h=eNhmEZzOd)DjMjLs@b6cGqP*U5bMo9PfdjL6V?7W4d>8?W; z@ml)4gKBrmEpi~@qAaRTt#%mbbLYyEo@*#M6d8*xg$QbP5g~je#e9~9NA0^;GbVFP zQDZWf|2u@OjTwB(+4`^s1y_anxi0vR!Pc+#FN7Vc6L;zWDeXvG{L4{hyJF&5T;Zoh z`1Iy)KsT_b!gO01obTM-jCrwo`q)w@QqIYGv%E^Ruo6mL;kur&mN$@MlcBO?eQX{p z(UV+AbYZHWCVMu1PnpSV=yDRRI$(qzq`oHpuw$7#k(u~*uDpC}AB&+yZP|%?@^yE> z)xpc;exIY&#U83QjBMP^=TWVo>G6h6UOfO4pp{O^Sf?zN=ru3?rhdq>H#(CY4UEC7 zC2^Mu9jzbPo=3@YZIJprL;)>gGF%<6?II1LpSQGDV%W6B#}R#y)z`0%Rx#N^9yx{! z(VO>&CfW!b*$s=yOTLZoC517%HmMgX(FRHMsfx2~z5Chpw;yMHRo(xwyL4D=0o*DB zFCKSd1DSZ9_NTJl9lC+MUXxeRFPSasm4%!i&URy!ZJrV;G$$_($J0j;VH17|bmA+t zx+je+LkkzX^|QCN6h1@k5+#_fANFiduS2)HOl@3G8C-v-mZ;X4&n%8BDl*R1)5*MH z+kd=g;7kNPJ)Ads)VZ$KF&RuKZ|Ld(C59@Q9LPN+A8D!AHJ%PNLD}(pLo!1p20Ars zZ06wj4M7*K%bQZKZ!_D^p$UI^uM%Olx+%Hzlsv;Zj_*?zEP=|+tQw#tH5=^FX_IGW zo7BrJ=LM={>BHr##!%UCpf-9G8p*58bTfYeF&y7Eaz&}#Fz6h;KiwBh-&F!g6;&r! z-uyv6hWYunu7O<05~jA!LanQXCGb6U8lrh!a&!DE%)&2meWH3tqkIAQ+}bj=rtdp{k$|@OdmBQeZ(!N#kMImttLG&vEE9D~)@ z>&`^~dK`D9L^>{~_wDDd&hkVTmMEU@(%kCw10U7Jt5i>uT?O8TQNONiXyJT-clAmd zzCTSox32?4v>RftL%PUr^DyJv6IuhFY! z2K9r_yjBd1JT)6jA#b?=i>+jjO9zv*a+X&*A4%_=^-SB}X(}MgQPgolt6CqOh7*dk z@QUR9I<2?40p(~2)zQ^^r^SNKl?h#f596tV!2q%+Rcj>SBI(vgy@_1&AV*2!IDgKf zF^(!To?4#4T+xPZN{Lt1wArv`zO`q&^Jkm^kbB}1#Zo(MPmwKfuDod9*_XH;;#%5x zk>PP;cQ%H}wk~VC#&c~{T)vk=rb)NQrL0+Y`1WqXMv%8cKTNEfsv0~}x=iel5JJvK z7DB7U!SS3(NhbDJ^lFz`t<=H6i~AeTPv&2!&PM!TWj*gfjMDPzHrRGI39txD2Mliyt1I?ATuHl{k}3S0<@ZdR(2ohxcL@(Mw+ZoZaPZCvmpQ~K!v^8P zpc9;i#?EjEW(&S{WPfERCy}B=IGz^4!TW{)H*ujMhYaxql;u{z=aQq;AJh=>jZ(f{ zn~kHP|43k#zY0j_%?kZ`qA+ZKKG;l+Jgt%9SrhA#Jq;xWQ7fjHt@I_{EJ#I3;qwqm zMvmwh!b3Fl`A@>nxS6`HbmUkSl*79*W<3pLG6J&9C-HH-sZ+V^8>8&@T23nIbW)Pk zTSA~Kk{=ThK=}Azr$us(pU@0b$oI}5Ui(zH0?T+Red&row&v~<_~+Ni?0wr$KorWW zyQtj_n;>ryWxgL}jf=={_*#8qzkb~WWfJ+s$Agi*DkeHPhLzB$nB4G}kz^^(IE7kU zxe=U&t6Yz(c1Gt^VZ@SL>Ip(2VzC5tC@;xCZU-wvU^zI~IwbzU(x-#DHlVc7JvTFt zD#II!P*kUk@ABdOOBmO1zp;9XG@tgw5t(A(rx(-CbAq@>2Q~Ry;TNFqBo^yn^60d* zD;kxpk%#MCzYkf*(4epmInF#WDKFKg@(oRwcH{9aWvK!x>ubP9;6EVDaPtZKb;IAPy(bB7N|LLPja2{xWiSG*^8 z8-p4REibg67XNA)f3qn8pTOMOt(djDuEtcP)o;aq=mV$t-6%oz)Y?{?-hr^UYd8!G z+gZu6RUnp`E}%bfAOCrRyIx#t&iGjN+?&j59|#or!O^%{l2ftiQjE7yyW6FHYHqS$ z6V$3>Bbj3VY$RgSUHsFe$)o$UYH{JwpwOjjwjy)SbBDE2kL;PsHi%6~oRXGyW|MoT z7}x+_65w}G?vS;&uZ9{J!Y}6Fm+rjv447t_3%-Fb+;Ae9rL8?cHr$+q_AQsrBg(fP z0Fg9KDW^`2*fuI*%(CBOM?`-h%*zfgH9`;dbUV;4zqwGFY!oHXner(|mJ#>l!g-29 zL*i|nxX?AkD}Oh7u3srqb;3bu{Mq5O7~gmex(h@t@b`=)eu!2fPrwPQj-}mS>>%1e zi8FF{leo~uERa6Fei@ElkuLppFz|yp4k+a8A3J;c5_Noxug$hTRxiE6XfO}(bU#X~PI&L?~b5kSz#}J6>1*`3>$A%AWsHyv8o`#3&v{}2C%wM;^loFcEI>mo18Wk&rUeD zuUTp@&g- z?W@5F%ZK5Ty)nD1HVM8j=i?<1UTgv25sJ+1c2^cwZ@(Q!`en7M$eh=%NyTg;v2B*p zzj>+atLZVjCKFlr75TlqJmBHA=6etCtdqG`jZIyaAV~4%y!HrK0k2Qi^M3Zd%+A+y z^+iaKuj+T$jOVtuy*_!E7s9#T0@kyYdE8hSL#lIa zm2}QV=Z)j`j^Z)+Wg_SDg-6A3DCVTMiM>wFJ<*dUi!E2aQxpwhW>gzgDaJaosO?4k z6?CEo8ILS4{^m<`fN86r8zfsAgWiLxzgTi4G4ffaDFSI^#etdZd5Gw$MirOLL<@#< zICh)JFQGFqRE5f)U37%S)mASAa!c38^5y=exV}aAn~-}4B`$;B!vKm3`s4gIaZL;6 zgwBnV!}P*?t19U9SV;DL!|g67p-e;6;-IJ_#^ zWrIy}UU3}iJR>3@b|?9<@pXHkZp>IP`ZrHzd|Cl>81))Pdy2o6II7Q(_8)30+xxTL)M-3}>Vgp1mw((3H)*Q#4`mY2Cd z^Q*&HY&KQou~`XMRI=NZd}IWaNNPiwM6W2n6=s$ub8Xj~gNC2#hHl!IO>Bp$8*Bc~ zKU3tI8^LCw;zY`WiOm1eBj{Nod&kR})e-T~p0G)z0d!a!hc}rLO8rvKF1n>ti74Qm znO|RjiH?P-wf!Uh!BH|0Z$eQ`nF1*~b>Tcx?iu^Xy)#U4*j~5KHpT14WHscWEsc~d zRn%)Nk!|q3+iNruB0jbxWHv8~#7eWkDrqg+r^@*9)~%x%EtZm6?Sgei1FiL2eX{Ow z)9T*cEI^{BaaAvwBwFH+fH`opl57uKq$HT8Q+8RWe3~8)<$gfNv#dHHnTSE9ysRW4 z5yqU=o_CO5 zYpAw7euK@zqtQseR-4myrnF*pq~pd}i|!%^8PIOxcvESfUkgeen@8I>d%);m&DiF-AJcAx_&zpUeQAi`^911GVnhE06U2 zadmpPtgklGD(EUeD1RYsxkE+mBPN#e%AGrFkJA16W*8kgFQY#?98*jZ^N7>Z;W^fS z06b=wLRq{v==@3Hw!htxpN8-PcKW#jT=Ga*vLdc*BiYyb4naSImHgV%j{~UepKq3ua37)+_ZZ(=?BCzw-1jbbblgef}Kxx$Y^^fF=IRYilkX^7 z=DxT^;H6lm>9>idrL<^Y`!HEI<9e^JcG^*!v{AYD^b(Yqk08JfKnzDjj5@2fJS3!w zWN#ZeZqTNZRG81}dw+6qZ)Ktq8vyYBptd@7e>-s_K9VvwPgT-R*3UGOb}9yZPn9cA z^fRY$EAVE<)|Y9=LSspTc*xty57PIp_wo*vX_h-=YJYpg*PTAbI7`?JgAlNOJE&(e z3sID=G}%apa|C%O_nj}BkL8QeZLrb2+Ff=t^ivzJLz`>&Ao50Lh6$-8)()tje91zKS7gms@;-TT*cj}e_CA90|EzMD z*3e2a!UH%cFsn8}6L8|hkAs9RszFUo-A0R@!3Ih$PfBbLMZ zoYpv-#;ZQOKeFN{QyRkk8aw}SGdkO7vQUW`E&FslbOk?`sIw%!?C;%_tG#x_5^gA+((CILqI zkHyLl4M9b}v~>|fW?+4uK^YemBKmC9_8RfIx~xiEk*JTjNH6itoD*x`)cu3t7d6J2 z$INiu%}SN&7`a(Gd=$GQfTXZNxU{yQb&kj4>i&`OeWr$%xuEa|OWfKSdBw%`=!JWX_=kG{Op^_Kj zWd0CEYw3IM_sT8n+7DL~!RzrS^SpbmA?=gHXUtKH;w`CNweowZwy-j-X!Ri?aHhWS zEIJf)D;kRhcu8F*uhW4xr5)Y83pT}xF;A+dJ8GAcL`$-kb2!|Uz>1Aq`?5a~JJGSm zz`U(Pce8E0DWE%MXMXn3Th)!lO8MsnuTbT4GV{CzLl&RHN zC`TTvRl?v09qIE!;Wrt{EcPwx+36J$dz8voi{bG|P+{!`Vd}CtT%(Aa>kE9dwMf1_ z-)~PCop4JVJPj>^INKTVrlCo0B<&YGLIc*`3mN;56d)zcZ=%0qk;w-j*2xu))y>*U zq)8YPQs4_2h1-G|7=qiG zl|M;FXt@Mp;z{@7%D5BDdg+6{b91~AKj%9Np70@Z6QoqJx0#*R#6;eGM zt%%&-0b}`u?dxgpt$A(++im#U4YC1g$BILpfzI~M_ivLz!UJ)`>Rr(ZbMjYAb%>cz zZv$3Vy=YXCS})zTFq%gvDGd;n@AV}NH`q*fUFlz6MAJo4Ue^*&_nH_(s0nJU^HvHE z--z35W!sJTT2bIyC@uedQ1hX+q7pV4z7x!80Q#j(*5wWGs}6Tke>IBlR!pSdJdb@h zeFzUryO@gZop5|8%T36ovBy`)c7#7QDEuPdYwI3V>>TznYUGA1T$k^N&zUjgaqN_-M5U zz($Iq0A3qyqq&Wz0f8b?MIK?^!*(Jz|34QJm1H9&4PH=N%8x3 z^77ZK_k|PHv{w(;Ct&(+_Q>0nheRHpgSkVj_4Eiz!SaIw+uDS$;Q>(CL3ba1edgw< z&re5uI#S;j+k+9xbD{IrK6W>FE&rH})%m7uRDvMnYEZYyhx=FI|3h6?%4si9nW6#(B#coI7esb={#q zzQ)qYN!OLb$SX~BA_`bYwB*T>q5u$KiqsFsfZm<$m7e2j1n`UobCkE*d6?-gx$T+sg^J#Q8)ll`A5VFoD36QR{$*GiNsUJQs}()u zn+5HVs!vv?of^iY+etlOSI;m(zD&U3aQn?it!;H5hpTEY|2$5aqx z>=5?*Xe7LpkZYqm+gQ1((sLkNG2ip=>Oy0*l4iw=hAXa?h=`(zBX? z#l`@go1}+_vlwmx8<&y;7keu-f`{$<_uItB6h9Zsr2Icyq%wHGW%z0CfbCjZXwk`s zL1X?oahEiga3TP#+5R73~qU<^5+L+>%9;dOp@ zwwBSaJt(=sd#zrY*6oxIMW{I0nOI*fIK#g$JMFe`1)!pF5Uk&_R@fP z7%pG3JxPBQl0XXR;2O2TxoADYcTBbBv=SwoE2yWk*$SjiQ@w9C_i<6b4P6#mY3!&m zd4BLiOkR52zvTV|v^Zd!S*PrpkjTCZx5jcLrbK95?g z9TiHcStEo=pM=C8dM@qWjPz5WyH}U~j=q0Iwp^a(SC9a{%GzAo-?j~IL`})QpTlDv z_Owf`R?`z-?Jo*dk1_N<27w7_F?qXVa^25dA$iqoEBTMxzqZsh+UnSIKeHWp5C1sU ziO2W+^#?j@Mn!Jz{lNCVSGnlPim=(Do1jN>rbWHsSQWRWW0>n1j&J3>%9@z>5hme$*5gXK6Uk9?Bc>9&pcqYnx$3z?%9HtnTQF#toj0BKvth6RY(L*WPEY zEby(;u)^9CCwn{aL@^N|-Xm*(_jARZR}(|5gzh=>Xy%6bH8!z8USmS9&p6RvN%oSx zt%uK#B&W&I-gX5d^3}0*KERw_Pp#+A8Ijj<@%(W>gu+cftI1HR54(ufn=(Rej5MLP zVQHpgM9r%-{z-LUf(*~6u?E=u`Oq#}_g=laA&ZUY*7S`0Cbic1@)863{n!JQnd~F3 z|1E-|?^-k;VIgZ0sn+!MuuhYgkJY7o(6}dwg{_E{1Y1LGfy&wbS=KDBb*HTVZHelu zanB4O(cY#K@z|3Ryz!NO7gOcj=`l*W`qJ;-fn>$-Y~3ig~C#dfu*$k1&hHig3@ z?P18zbUWD=E5YIIoFCJs^QzXpC%h>rR%x2dL@MYdF{Vy?1Mkg#bZ2}gpIcDjw7fhN z4U~u6i_ANuCqacehzd8I^d%)G6Mhy#&F>3vWeN!q*M}@Q{gcQf|4S)L*9A92uQvau z-c+J}db%IjsGVf}-FA_c7hy~bL^~Y~o9|LRf6fbDqmX^U0NJmS*TuFG+tXoUs?d$bL&&qMtW(pb9z}yytgYr zG+otK0WUum7z4<1am+eMpO7D5CQLmWbpnA-Yk)XEVK z!A!__7hz6^;>1Pu!hWt|_Xjs!QBhCkWAy$gF%IoO!&(R;n$IVV3QPI;oaj5w ziL;RDP{chMHcbQ6%;YgREi8E%zJc#oDM=IlLmy= z2H}JK={D_@sd!97t8kt~AZpVD#vrryMle(2Ss(e?+I`WELaibEAiyQ2_&)KM1BTi;^c$`sYCvt=Nb+0u&!U?+0OkJvW?YXhT&JRK3g_^zU&5QZqF)Ymyl6zJj0KS z@RU?l-OT=`!gi$Dd(h z#0eecv%ITxwK;*Z181q%ZvU8h<@L?;uESKn#dz^D_kf<%D(Y&oE9CA@Q9YV93zbdL z`zCK?dVH~f|k3o< zk!7A0!eCehp{ns~gH^uoB0~h2i96rrasxe_VCl6UM&OR2ms*NT0Ct=dx7s!Wr$>K} z@XbINMliy34TR_RKqqn$gK$I#mR?X&O<$#aBS}l2P#KLly(9!+-8tVP605?V6+|M) z|7YoE5=rzI;cdATflov<(25wA5*>ZVlPJ=xa*eDw&=qCj?uk;JqOs(ff^{un<$;05 z+(&FyPx)AaD4ImRhZ zL0^!1)tY&D`H)-+qf`*Ke!tsv;nQX9-(*WdM_4KGf_}WfxCTAOtzXUk`i|V>Eo@rI4sEi>``@M&8>K9x~R9 z3@76B>FZv<#n_d13x~bImIf3$j0g%+ds1}8JnCBmDQ5t7b>DiY!`@G#v7}G*Io3_V zX`qsB(DNQ(61D;K6B3~0tD&&{S*pQ}$ZExUL@e(0!ygO5hzjOStD4`x7cSQnfz{~z zPCl7QdS-_Z-dQNNox>zU2&ZBj#d?ax+tBs-RRLPtn8YM-uAe^=o}QF|RY)B*1TLT0 zw7p>z3yxkF;H~qBp$P2JS)$ROKT%m+@eAo8u{Qzgn`-=)y0HYfXTKh=bWZ1lAf}|M z<+{JAg?~)PAgQXsbul=IL#b9R>q%918lKu+1r&0|k~lKP zlvfGUh4e=q%N!Ie{tf}lvhnj{f(JT!!rTsJ)Mn~>B6f4d5PbO&+%XSf#B{HF$@hRL zYv(SNo>7<@>>mnYal2^PWkHN_VkA|JBbz_{i-+XmWR&b=Va0$Z9hkng@1Kok?W7SM zVA;t!wP7fNKTwPNI0VYdegvs!b$9A@Qd@?X2GWg(CrP>fdRU70p;wU#0_98TNtx6Y zK_+MRspqo`0zY~L!mX7N&5nXo$&i8a_p}tV*lCQg7AX3)m6P-3mCb0FE4^o7wRp93 zy7R@ot+H&Iux@9~L7XxOkDezDPkQ$fQWIea#!o^mxVYkm@ihDT`c0>gHS~x3SV{g* z^b{+(dI}2CVcFUogfo{5^zLNt@qcbv(O#Yel)t#dmlU8T;OU|ZsPG?_WzRH>faB8WS zgHWndhGGywW##sMHQg~%07V{LFM0}3_A15!hS4kpovQT-?ZYm+`Qi&tQa0NN5?FSEYr zs4DQ};bg^+9G6g@fpUs>}(Vcn=$25!=hRhob@wi!Hd;puN#q; zbDd4(QWltY7m5^YTd-KCNhj*OV^#YXv_S^}yaiuaPukEl0h_;4u||&?uN*wKg!Jm@ z;|Q)Ywv!)?IuVah-D%8lKE^BsSA8hCa6_Tw?d@AJAs@1P= znL8t@yg)Q>Lnyp!z^Xbk*O&lhPQx-0FpWB%c6z<5tOjd>J$ywCSZO5YfT!rApG0-3 zc@$#s)<1UDBYMVg0H5gqHY$?{`{!B9`*kUMu7&Wc$V0x!UsO z8G8QB>ed<0OnmIAYIxI@t6Mr$^(Bt<2$T_?8jzT7DEBEQlpc1;;U2K5jaqiz}eh!G$35nGK|GPmn#_E8i zoj(1O8NG3P8UziF_D}KpO;;)XZ~pHp2rw{tFtFtHH4qiRU_j5rYDCY@z+k}0tj}y@ zz{JAJ$il+R!a=XE&&FXuYv*WfWN2rtpdCF!kL)G3&8OyWbLv&Mbx6u_6qScG`5P7G z@_0EdGjTD>Dn#ppr=k)8^2+3FJi^qa(aSB7=NYmew){7FpF|)(!&nff%GBZVBdtgA zMh8_YYZV*d0k-o=ZC8D`f}=DS^B|aosK?BsY%JDJG#d(LSUqk#L6~XYFZRA8a56Qv zQf0K*{MTgylvWZ6#Z&X!b7Y%uezn}ZeBWmGFKpI2ntPSRi@Ig;V=Fl<@{>c9@gI<} zo8(1NagH@^DS0BiG=ik2mL|TO*2nwiPYgD!>Jm1)I_>#wvbHA$MZRag7!S>b(V6+JUi4>*I#7Lug;qV zvb>cpF}Uh_39GU$_z2#XVmmG>-Vx*^!6DGW(Eny6hX(uSQP0^?$s~Wwffx|}vHm;p zdos^Fi04yM0fTz7&pZeRA|E2Y3xb0Bf1>|!{%3mgzm@*?;s^Ryvh!r51rXBLe?tG0 zUijZ}e+zA5{|^02HvIDSAD)zdywdQ*Ux(7)SCIaHMuM?P{wp*-l@;~>IhX(BRQ*qw zlGHyaX^3Awe=h4-tKtoVWGWmi}IE4d1^H zTP^*?ahv|z82`r@iu$)fzx>xwZTPq0lLYa<(S6H*(fe!v9M%IlL4uOQ_8?gPT`?R2 z2>CC!^1l{H8c;G00*L+J&hwSOxEQ5m*ww!{TrW^Ey%y+y<7!s_x=Qkr$5%nd5F#W0 z?6H$&)bA+gYakrZ>h<6IJq<$tkGt~E6aBxs@_#k{cYk=3ytW3S=K25Z*K(4O VpZ`H){#`|&!N6|r{&GdZ{uk4u$VC7E delta 24856 zcmY(KLvY{?5anar$;7s8+jb_l&3`7Cnb^t1wr$(CZQJ|pZf))Ep$}c}($&>f{SLo3 z^?^LpfsCds2M&P&0s;a9axD{}mEB+cFAj|oSgqI7Hy23S3TI-ruv}JlB@UbG@&|9s zNet@5x9E!bwzP;qb|=MlGsN4RW8Y28!757eu{-5KNT4y8$j-Ll;}`kM^+jDtg*w+& zIE-=uZ)%9I@=GaFf`BX78BP>`bAoNSdEkjmU2?xOik^5uGdyxpK(lZ zeaEnULt0I390T>HrBK8yj12mZ8Hs91Vhu9vi}DKja@L@rryEx@#X1da`iBa}U@lF% zSW;LKs8{jhHGar$h~EHLx~wfb?s`L%E$3iav~CM-)uLM=k5EK3@{JIvXqGmyv=DF zG^yzZi>$o`oqy)zoD5+jzZD$JN(#J^u)`;v8w49tN)$XNXbh7eQCOX-^*g+>lFO00 z@dlTB_H?SQrxdGr0F9sjk`eh=tjsPdGKqW2aliMA40(U3H+&(O%>Cdlff0Gj(yaaU zD8gvjQDHWF>>|gi@>sxF)<)`Wc%zCDw4l-Ck9Cd_UQPJMR`Ut*e>ZsM9H8|#K>G(Lf2C7gogpD6K;uT0P+Qm)z4q*#OVrLuf!&U108qLDoB`_T>WY-aT@2f zLp1m4NQQ*K75>d;E68!d~g_ z9Nhq>&ObdM{@4b_4V%R_H$e5Mb6Tw088;{XFt^3l*EL3D`Q__w(>yD@zMZrf%}*w^ zINl{HL-ux&n?o$)l+TQ%rHyMu8{WuI>Ogv#4My&NLq zE-oN`xiHARk-Q0UwF_#vsYJPn3%9EeNx8B%y5g*Z`p9F6z13jDBZ*#Q;!GY-usyw> znz*G~XzG=`mC>F)y!2m8;{e|p{rgo&X;DsvR>*$Vc*v%Y`9>4U&9*f*0l^K}oJ?Dg zNCoiEd<0+VQ5r!m@q{Yfd`Y0!Lwk5w6g-7YC^vgzgnDNnUgewuzF#NFaLbO4=dZk- zsAp10LR@qUOhEZ+U8aWf&3tluTJa$1F=$wutyw2{=5e{i&pwZ37qzuw+HwU8Bsvqms?|K_Ze#&^a^UJF)p*_36h)E^nfw( z^hX3*Wm1IMSL)wqL8P__o|BqZ7hWk7^5(F1kL8I#wiP5#HqSahO4@mwwmP6$A4tekt=USDMkUf;gKo27ipv%1-t%HT=hil zYkpH=5^Z1QiSZp$_a|Jq3OD&a=7DSoe8MUG-r?B7g_1&7+ekd=&syd`ny0a5$8j>% z&^gT3-Pg8^6NdQM$t)nD!4(tf_HhBzrwsgR$sz5A0nOtP50cI@T>2ODTX@uye>PJh6@(?c2yN)9p)1GZTB#w%~5 zZFwFu9FiE?Q>f<5Rs~y;5Bv#i9~0_BJA(A)lL=9|zT85aN;nrn^vP!Nq;w2%S>s7aHW#J@Lsbmx!kc;0nRixIcx zIXi#chs$hPs669k=?rr#;w)&hkc&oFMJBf=XSx%V6U`}2A$q%XLBFKP_aZZYA+*2v z40(}_%EU3_V~goT$=-K>;an5b0pLw&oeS|5_JtmmVb8Kbikn4Gh}FR0FuMkyy7Kj4 zG6V0WKt%5bDhZbFbm#!v6FQoKAtyO+$5iaf zNhNGp!q)Ft?n8U{Fxw6~u|3^uW$BFz4Y57m>!Mig>rPH`#+xgIFvP8Pu|3i2PLkPE z0Ti^&Eiw}4xMwe6`8yz>1moYOKcxJ%jsp+*1HAmVnsoO_gTvwpgtDWDG?O_m_S|`D z7jq7ko(3$vx1Fu>vj$p*(2)!wx?2E4OzxImLHKb6MraawGm~y!ACWP505EcGeonx&0?96Tk^m)ie8$nE->=vh zXZStU$=QPgp$iCsc1%Y!xb(2Uv19hCKP^xIUS8wJyu74-I|AifjxTa{G+eRGn6hh~ z{$K*XzXS!NY~zsXB(tV>3=8Aohi~xB6txs+IIY% zP7ovJ8cHLo_a19RCm3?Fzh_yA-%G2Zk61iwYb+d(st1f*OL+NeJ|cLO@izqrrQ0uk zF1Dg=S$(SdhH;UkHLip*hRiv&gZ1`Q)?av(s2#8Qx6a1b&u}d4< z+=@4EEqJwuu%0cV*VHavlaHi_3uhyF_^4q!S`{m8dFOo0bDVSMOX5;U)%)XH-XpZ> zgm9Bqm`^C;Eh(*q_$Ctzxt2a79liA-ob5J|Aprj<{46%7e+px}*2hjoy2R5rU?1w4 z_H4G}mR0Yu8yYp7LXnC}uw>PfuurVlU|qG_JdPgPs@ZDkaI$BsBR%?RzMCY=F`^iV zW5Z=TSmwP6AVv`9UpYk9=P_k@9yT?lcpkWu*YGwg{F|?Gq4$JsDMStndsT8=Ylx51 zU;u}a+*~|Z`Ko?9kxB77_qXJxo*AWfpx&y){hY-^nT5K*tlNe^0p#PVZr81qg7DcR zy#uH>`2DG(Wq6uQ_t~xYi_iR7mzC;8*4d*&!XTNV~k5#=%c`X{L+shznS6AtwneN86J$~!61?WWL zdSb=lyIk)u4?bq%7fca!+Qp6XIr2C-T^~`Qy8qak!&IW3c@K)hG+GlrxcRWouX{arAC2>)bBw#h|St}t#$p~CY#vU zQPAA%B)8-^%Gp%nrO>lrk(K?-0ZafMknjY2jX}t6*GpDWvy73DwRrht^y&)r4tSNMX+ z*v{scpRLji@P$*>iMkW2Y)OM`NsVktg=~Ye-CKf+@LQ-C=P(q`2~uokF>c2S_kvFUhieXjWy#7MEE{>C~U z-2K5>dXX3JxwIXac>9^ElH|R2%FU|8Um@^zR6cz1L7(FK9g#Kw3qZP$%(qPK9ZRI~ z%fUWn;}YLa*;Yh$Q6DZtv|-CZ5H7hl(zd0*c}w>2Q5}@t%gai&vl*8rJ&s;h_z#ua zTqAfNmD@Hi+#igyq+n&uYf5`-fvaD|9c^@8v_HEnNbBk^?Fsx|dQWcjnZ8|oM;-5q z;R>lV+n&Axl+ZSif!M^8MGW;VIOW!u^=qoCnQXHowh6zSp@xM)526D(`wnb1n~o`5 z{w=(oF|mzem9r?e#DxUX$0V&-*7QX68>@!8_2HVX{qlpGPsPbMJX{pRsBL^fFULh_P@U)$9P<&(;Tr7 zf|S05&{N$Ukm+V5)U8P5X->a$m-+%~gA}b9O97v>Q2h&}@%V!n zwrY-j=_kig!1zv+8l(vyOlW{)XMqSz(VPbP&!%a3gF}YJMrI*l|NHSkc3`Zosq#&? zjQMry`B*oT_(RObv#m=X(f+Jxs{EBD!3T;N*_QtgVDBP?SUR@PzcWDwrlz}~JMFsb< z))_n?Lbv${vrUS^@R04`%Vz#Qky!F{H4fnpST&bDCeCnv7QDIr7AlFm+~~4)`r+WZ z7%Utx;^gM;sq|cyrO|o*51j-@BB2G=Fev^UyX6k?Homt^i#|qEdk?z=lc@h9`GTO} zxmrCtjH%V^x(7?22sBe7NVl%^0E&o&45fh%YZE)l1>^fqQ#djx;itRw8ASahi?!@CXLx=w1cicS=y z#g>aTsaVxz{8n4#%~T%{ZQc9wvWKgb3QoW&_YH>jJ>U-;?kBP8AQ=~?xpGAsI+@1S zo^0*BjS_b)>3=s<;0RK1ek+;iqmLTtaap^b+C#Z2;&55x`XoG>Q;AIvbzKwyB?4`D z`(5+K+5u{HcD_r-*bD7S;f@i`<#}x4am+FC6)+9 zCTJ`Q4K$B1k zZw9Yr(xCQG-JwN-$G|qo1(m2$!Jf7|;Ob!5hM!aVn!aL428c@iUd4 z)*;il!3T$(;~C2+DH3!JoNQax3v7Ox%6bT3;uU`<;5{O+S|NZXZ?*|I&;o%*kIB78 zR9U(q4CdG-__h@$yA@~%So}iWLBGugtqO*Uy88PKchd-#xzY{B81>2bbIv%^H1G9s z$}u;$LMK_$F=7bxo1*vTF{qpPrMgjyu7 z=N_V-KCCzB;>EShLw5myjSuZRGlgZ+YYE6je2SdUW?Bnr6h&zO> zf2OiyDnX266RA4p+2f20Y{@Z(MC!qzW@Hn+%7SOSmag+#iLzt9P|#Ap5X(?3p| z!oQAm;G?*1=RCg@FBpAtBsqSq)#+Ch{h4H$u(MWtd^g_cH#h}=w}tMZ7(KSrILzG4 z`jQ1yD;~r%8i`rKPc&Ob`wR62EtW0PwN2a=mp_nYaypl@?G>E7S8Cb$zLgYa9`8-$ zgmuaDT>du352ht#^#Z+K*^-N{*40Am1OFCfj>=~07}GjsPZv(cbGDck&NI7bV~D4O z$QN*ri+#{bq&}MfzS$))r5AhToXS642h9SdLM4xLu7VnvXM-BQ7^by569tr3y|usj zY$*)9yYT!4I<@o^GHnN0eWt#0-32$h6jg*=157FlkC*7qhL=D;P4K#fRkCjL7NxGY za!L$1SJO{lhMYd%tX)jG*8|#`b1y}59dec8?aSFt<-?VL+L#}aL~OW*_@*!a`afDJ zvnBk39ZeiLIV5VhS|6Dpy2dTMq}j>UA_2LVZ5dYlNLKZaf{{qr@8}k%j6l=B1u}mS z1#`ROy$WYrHKM*stlmp|E4PzWd|ru*qImCH7jqIvI|JxGu5}S~(iLMyPo(xD%WJ=M zE8Y^wU9->t*he6S}tC=q~vwD`l_ki5IczET}~?68JE#o^fMS#?9+*p@<{g6{wjH?f-# zFA|ptd6)23pD7FTeb!)>>93G&a_>+MT#ob6+S?G3tJ_eP6Y7dY`^xH`a}LV$HvPV%VfhK zf$>LL0~>=J z6Pph;E8Zzjus7L()5s@A3)CEWOiL}xCY2_isNCI(T@v5P9z8zA0c`ZIApzyuF71&( zK>Lboy>>wTieLQ-P_BLFp@Tg@xVL**XVYxW_Xx~fqkakO9YYUHBmd=px6ERZdjH+H z`cn1evL`YEjJ8dj%tF8a z#xv|CQ-Tq@psZh()MIn%x5>n8ce>B4SET8jKE0P=gTJPk=1Gi|>qPa!&EXLn>1##L zF?sy*sZx6TB<9=F3XQ9<&~VFQhm^%_%@ew;f^bZ$Vb`3oZclpfIBs8qevi$KWO4$MgkSu zQ&A5jP7TCzZb}+1X`A?`;*J9?DAH{0U!+Z1oy^JN#=f zEg?-{9y67JHvfMcX*fsV`;?&I_ux&>esU2j<_)%uM8=7C! z@C&3tQrg89Ec$l4SaUkjX;-*!jGwWZw#c^G%K=rmZ-xK0w4YF)>A>6cBZcIkSFm%; zZNn|%{^U`@5!2+7wEEer(TR-N7c%TeM-~)6Qb|4|*Gw0Ta&g7NR|KfLO}}?uf4hp4 z!5fG58p0*-WyurcrOKuArDFpyU-w4)+5dL@Sp4{1G#q8I54mriKRS`NdE|Wrb?-Ql z{qKnU)pNYp*0$mH2e2kb7I7eV5Y=&xZh5bnJ$N4Or!(@#0G|K9M@P{*v#Q1ZsG2|Il zzv@o<53fY-9!TmB4yCOTbj0{z&0mke?9$idu4OVxqrRBJ?mX9;BmT`0X-6~malZvy z^9Io!z+k_!8!ev*hdqb$?yV$*UmpRbq+S+Ud-cn}EpZW_8^wvUy)gcI=t>UmFh~pk zw}0pzAw9-pR3yrgQhHK$502FQi01N-aV=vI`yMwsNMPC%qIxt`3JHHDkw_4X$dLg{ z7KH{gy1Q*4Rtx`}DQ1RnITU261Rp^>rG%rs0>-ZaNvQ9q5~!SjJ~6=Y^m8uwDg;__ z*K2VcdEAO!w}g;8LkMnKp;ldYsxF&$-UXaty;xonuV_lyEn~8xANBq%YEbXP-i27W3A-F-AileB08c(Yx&&^bK4mo|KgbJV1(NUHG#qWfs7&ECJP#QP zCc+_;I_azsf{E?Mew|IF3QNQV=1vm9K6wQt83;!fVWLs@FK_m_`iDdJLB}sIQ)7br zuE{JEEAuor6Xt9_TjgS$(%kFpz&heAxq$&P0M<;81i;O8n#UBTs{)~Zyc!Z2uM&%VnM`EO)5%P>7 z`??>bF{RnQE(V2Hl_g*uISeqcXOc)~9HP5Zmf)ZSGC4so?psLvT<3^v&gm!zitGkw6{!$#MOk zZE}p7{6jS+b;3Ns^zwqU0a=f+8&mk#1hN%YCP#h!M_sP_Oe*6G=2BS3xJzQCA)Nvq7>&-H`v+lQ6LTiKrTD?4rf` z$)4+&GpVG+rGWeD$7=N*hwJBp0S@Zq*AP-`z#rKe6ndTASRfoykDGs4dZ{!zd9WMhTh#5+7dMd{)J)v+Nr9|L941e9Lt5u}@a z{y~eyj%Gm$?m%k^m#+{Br`-;1q7|E(`^{YW?j=F~-sn^Y9mI6k5R6l=_S?$`Uvbco zE5>f8oIeF|VJos0F z63(Zr*)Oz`ng&R^t(d~FC$WRB!l4d-%JOy(#yH6OBRI=XH-`sGq;WkHU zWG%@5ii$Gp_-)X&KK>HoOA$lSpA7xlMc=g#@1}c~rO0N?C4N?U0ut=hx6M~Fy8d($ z&?=Q*VxrKqbF)nFq`$?8A^TSBB8iK~0<>RoOIqg3#Kv<~!CXIO$t4_e&y?C_+f_(0 zku*@F^}_Q9X-5;ay^|#Mw>tweC!`1zVbwA6gPu}iumqavy`1`Uk63oSBaz>=c3WYj zct8#kRn6zcH3*ywfU8I=X!@;D08zi$LUpj$H)wnd7Us2mm*92(tYdc{?=?Huv`qoZbw(XYU5R1`?LR4=MY(EJFQ8fCN%&Yu8*x+yuHhu+TVtbNSCV?*? z=X)rOf0;BAIT0RokfwCn)Q;GxP)W1pY4z|iCMviu%J&Tg@J=jN!6Q@eRHsPuWXzP) zY4g)b_Q*%%K*Ss^ge{9ro>Gl&`2+t-?;p!<3aR2FaMjdr$TGJ_QaHH^dYV7O2Bs*s z4I^je+N3OGUnsaHw{HCxX{XB{nyXX^xu1l zzzz&M0EOiFh|3Q)_4{8zHc*(Y(b?t<(4DWiO>lkg|fhD3~`?}VYBbk zJ-&3Jli>#p83F`vgV!C-NLXvkecx-z%J&Y9^)+m$M`bZW^zJVCNdrnzR>jH|F<% z1~nHY0nBZY3VSA#@Vxd}xf*F9fCu`MQ=|%c?Y+=Q0JF(pX$Fe64xW2eD_(y;-FY*b zOELl}k10kPbxQ!FH6&O1qDLuvh2AyXi1C4Ni7VK1i{vGe4CB;Sa-XokN=H|=#{&)- zaE;NV$b;|sony|ljxR(WaJ*Q^{k*Mchm3nEedFJwVTTCPUozAhix+~>tPdA<*+{=0 z1*5Idu(No_I0pey;SZJn`Dli zVfVMjzlU24zaR>ycB_d#bMNc^j6<;&aFX1AVZTnYRD?I2bgBD%O-Hl~HY`c0G*|M@DLxGT& zv&q?mD1m?I+?j2$dScbTxQX-0P~;tS9aZD3jYtqV@>!eSqH%T6*LT|TUalN9pd$pwaed2Bvd&j|oVUChN-pKW2ei)hbcK&x$u6xM zbte>0RXS5;FY@L)7d@`t*a@*8)myK5>XTd^w(%hD=qA&nWc2kTx)U#xOMTD=KPHm@ zeaR?1%9-LO*T}+{9U8ouThJM(VZFc|4RoDq8h3QGu;0f)Z3a~92`JkDS@Q<6nFG>! z_UNKAI71Spvf(l(Md@)8AvJ|<>@MxC(8N5Ot-PB*<`X8B9%}KrA%(G6XMY693-x=M z2>+O~&SPfrglywLX_HX6oM?MY{LTIs987*pBui(54v%g>69CSv6~q&vUqny+ceR82 zm-{ZLJA=pewsYo4QH*>kFk6)6vCFWSLw%r|s3#eFunNMFRPhf*9N=2A7cQ!_5p6`O zveI}KhwRQfoF{d|PT%&5H8nFvy}V5`vivwA;!au2S%ER46XW zH(I4^+!NO^5|wWDs~=9482Z={=viy$I%O|I<3H93R6N@06(MUiSwQH=G(_N06#X!| zeA2@4HB1qrt(MUeyRqSH{)x?iyteq6)h48js>)RTq03#~bX`{7&^8bx*^Ncc*)ThV z^>ic7upVOT-SjmC_(E>EL~%GL_r1qps+!+M=XkZSl)hg0$#!W8K+frrh_3Fn( zRMN>O@E#0AY`1-K2ncx_AD@p-*rWxw+c1EUXIiih68Aj>{pFyWuQo?>UYBK%Hus>H z=AmIPz{1hg)C+_cM;sRU_n}Py zk#dv-Ewr6ns1VU&LpgErva_nmbhD(4lRfpZka`1LsLc(RX7H)%`_E?C?MYHuR?O>< ziXIN_M8;}3GTm`-Mr-YYqwJe5<&`MoWG2Qi8srlatjE|vr_Vv5u@nN}wK#z1zQCgdJ{r)?Xy_g_ESYf+lbWJ*PSuDl3#q1e_Vj#Y=^NG6GI*@alP||> zH`5d-_5Rh_Wl|vrtEP6QcFx$J)3C_(Gq(ZBvJ7>V69;-`JCOVfd>`kyU3<%WFX

uc@=I#XwcW;^A5)-lHIFl#TUezJ2abA|;ud#E^e{1QTCx_9dm@?v zP!3VIIH*B))nsdGye24esi}TAeCR1L*6`xn`AyUNIQtUC6RFg`KT@m|qRH^1UBx-s zywlO7bw!IYIEK-j4GdH#Tl|m$S`dNzpP0NJryZ2gK@o-KBn%5!XYf&>M|~rrwz-=a z>7*46jL`|ZW>XWQ0X+34p#+a9xwm}=Gw<$oW_u;%`pKyuiPvnaZk9f&E@0$i{L(+a zq2grwj(+co|P+6jx|NSCg4cKRAz=2*__=-ZbBjNI)AVe0kV)-cJCdM=9M~ zkIyN5okrU2*QT}}SybEP>^!w;9|U3v-4fjINra}ueY|fxMWms|cAt(Y6I-@}uG;F>EtSHV3r-~%$+=zu{Y-fG{QboC_pO&>_ zNc-<&QwuXv=c0oT;yn^o8*|#azxVzw<)nyl+r2>R@crBanVZ9BQVz*Xrj)YHh=|G< zC>hjBg}qCO6Kk6=7PI+k7Q?>F?nFFg(DHh{&2(t}esK~JR3+fOXdMP<)Asp7IBnS5 zeJ#IdESBjWqGCMXwi{Qy-0VG(F$ye}x?T=|`~;y?j}|E`G#Lc02JgqVs$4luwC`tR zU!`32k$WK#)4b;PKfqtc8LKE1gV(v2UBBnEXm?w!qd!{JG!?uJbxr|F*CT0S0_U2Q zI?Y9vhhrN3jxErk8v8~@z^IQl|LS8pw*S_y+ zVfGcK_ivxRbT=Dcrh}%hvv*(NexJ@jmp+5H!J=rPE`7{Zbv7{Y70%VME#TE3ux<1{ z9!mSMN<1$h=n@OXbgAdPg?9)2soqP3fzD@nr&j!cJk9HV;CRq{r;&e5Ktn36AQ#~iFpv5U6Qmx%zdnh%RImi zt&lb=_p?5E1>5hM{*%KaBHdXGuEaiDITpf#e}5WNLG94dO8b73yP}4>6ONe4JlLw8A4wWL7duz>m{p2zUgF`enAl<#_->8r~v z%H2uV+iebgdL_*d9Gb-P!Lu-^^p|3WaU+|pm8N|Nq?Y*a$BV0v7q9hJS+T|R67|<~ z0O&3jpj#X{(V;<5x>=Up_{-69l_W#a_{7-2J!y@{Qm*^NC|IJ zaDai@9y7-8YtNzYod-<>2BL7jeaISO&2TzR$m=rKUX%uY887eR^eI)It!d?Jo0N1Tb>X;kBbt2)xq>j8r7 zFZu#0TH`H~eg*%XOc7DA_7E|mt}V;Wa3CrFGm+e=B_!*^M$e}j9h$Ml^ zLE6cQrga6x%848Jc_&9+Pe{-xLZsl!q9 zX(CTo7N2|j;;8ptt!LWo{nB<0ETN`P(kQ<*X?uPp?#mZLr|a5(j;t+wj-ms5Way+s zZC+GrHRRZ>AG~&4o%e0$M4N*pu2qJan@TZd9`);?^XWoua?vu57&fB~*lo}$>^4!E z_eVI{n{V}_2vm>j&YAVQ`EcH8GO&xVPfw8kn`d|DAK%2<5RuQ;?epDQ8Bi34Q zd?0eC5}Yg8AA+2eJHsIx;mm&YIBzeBtHpUUhB#~Dr-6m(&RZ0XM zoY8B<;_WNs-<+Rje0sE_oBxb>-ZqQeA_$+r_Q`79c$KYCPl-)%e#_&{m(;)KNZ<+bKmUA_U<7yUqo}Z_=$l`1TXbm!>8op)9Vxd z|BuPkOUU7Z{;xpHv$*WyDkTWWKhggu5Q7LfnVE#@L+fJN(BQ1 z!eZgrM6-T~21(X84DOItI~f2Kt8+@=a?SIVkDa_b6d`x zT(ls*DwJbq)<|DH*_;ez&78zuoy#kTa6Z`(W5`j1Du3h*pl*KVE9d+efR?rVB9!x$ zm*&bE;&qGp>lRFcunR34eeYSMj4%cefJ%T4{u|!;#QCWNxnT3M3Dy1GSKS&&A_E4B z3)T(h(q0^>{frf>q8y$>of8>chb!yJ1Ued`igXB@c)A5vhcgCC9V7_G3Oh!n94+b% zQJ4@D_z>s+9Xw)0s{%MwSM@|;_Al6x@*Oxt5gEf5AQ!^KkGmJB{`SNse zsvT8QNt(m0yec{QHQO5)Ff}i@gUO=oxod5d!@|0m!>y_ZN7D`c*ouXxirknfq~y4N zDxA~r{VmE1b3(naLYF1?GcNtyEC|Yl^Jx<5d1rm(wYiBF`i8+S>g5iNXfd8aD_~ke`GMW&M{mi3CSPFUnkqs8GdN_>Z|1MUZNxAp( zA?BCbPP}mgQNjj^^6$lwGCF)Y)&*b7CZc<@A^Glz5SGFQkGiGV%^nZTf_e<)7r?Wc zKwRW!IR4Z@82oXfYPdy{r3n)C3U2-aQhAWQFCYZI7Jc&NFURbuWWxNz(TsWc_k1AQ z3~R{N@Cz5IYa}y3_MFSlkw_&TsFV-E@bO6vfCYa9(|p5`9RT9Ydf4+=DXNMOQokY4 z58_y@zEc*?T&bsjfZp-v&jl2Do|R6-HGD-Xwr$TX0hl}fYEXwe1g1Vx($_s5G8B=y zB`FP?DGgP*cXW|Ar5i955F%~tII>5(Ya8Lbd=dXUX^gs}^q=QXd8B?rTllR|L-%l8a zvc4`cPryN{gJ|IgGEN27tVjLnXMbcs2SRBsnuoGLitc|g8A5p_VX1nPSl!(7 zeD3x9Z|GfbZm$q9OvN>W z)S&dQmQ1)TPbj5cQLM`)t1PUR3Z)8$6Qp<<{bUMFPM?OAI$9}|jZL8@#o=FFJjC1xk_H#rFzH5G%)dpCte9M!YJ)Pe_lNj#1LHfov~gvL4MX|X21V5KXErv9WpOl^ zJOC>q3Z9Py4QruhCZxiQhct;(k({izbwd#&lum;twOT1h>5OTnx~`h=wzY(+a_m&n zd>KBIDTNDz)L2p(nsz{fs`;-9Wy++V$gC7;dsZ58ihr}HcNWsLQ{mo9)HU`L@)+o1 zty5@h;h{K8_$j$u}c#_pd(*YXH;-xVT{$9GsVzUBi3L1u_l7T^83D~%~ za{Z!Rbu^whxjP;n&^-0(VmEu5S!y|M$T%^Y9XL#Jh9v5|h#Vqb^s-;@1JW20`XWt8 z;z=dd=Z&_~=jVQ8>f18mqJ@gv1!i`sBJZymvdfb=mGXul5SKAo)Vs8g8krt$jR0$_ z_*gD{p335i^UM!8b#(L8tCXff%E9;Qv z;Fv?Rf=*EA8kI#zi19xJ^nx|EkP~EYWi=9L)ok4+gC}V~aX3c^PBWahJkJQ#LB%e^{Twqtjcp7rC+4( zuKymjI*W;F8e>v9>o?Bw3yJu;#)xpdrw+m|JM3IY^W$`U#rNBt?xVt2R&SSnr6XN- zv97E_|1 z#WU}94F%`O*%-H0=&Kf>oGsYUs8}7)5+R0wlq?46a)=z4OWGtY(5n@SFFz)gDY!yb zq}o$W=P;)rg~4B4^L-WAdV@Xdrknb^I!;YBl95T_Icv2jM?@aXN{)TZQtD)6B$V*v z2F-`Ozw!N$eNqUFsuCBJjsn_E|HE`0O0f-ji|We84p$R)q>z0-K6>hHwjxq9vk48J z_j{yA(~^R-r}bI%$ZvV~&eI7~$TZ7ZPU`9egN>DU^uUKi*}7(JI9ifASardDul*Pz z%Nrl$7y*ZuE|bHB8Nz0=t)=az%XHkU@4KFxQ>M!^0-)^E>muuS6>$Ba!GtPSm{f5l z$oNVC0I4ig*266AC#6CeACH4kn<^Z9Pma}LJ~hunp?gBpFc2CF`LP9sf+oY*Q+UeDh73!rkf&50& z`vJ~-4OZFs&Q2jpfTC#5HXrE+X&*Sn+>SD133Dv`Ju)>6!$S-VTolYBG6F(86gC9r zi&O|y$RYNNcdJ5%_Plw8Vp5GMNUwP;k-FfUUT;^9VK(!2Pfl!&@HWVG%|}h_-y0BX zW90x5=^P-yi<%1Y2=3#P$68prgq`0A4}S{M^)+@2Lqb;uK$RM}@}qwLd2|~$*MdkX zi{~L2TlSw#Q4LXz)=avGO{a`jUF9aooqNUjb&%5w8z)XjJ7})^*Addm`Pz+>lo)^7 z_F;CagRoC>|vuf|| z>FTPPsWl54_1gMbWa2>_v6VWMoilfk*@YgBqiy5JD5Q9#UYO~p#Ap)nrB1_Yd95qF z?(u#*F;GFkD*f*Hc&STJGk@;$77K2z+(DSgFld+3<0iG?we*qhDNb{`cRaJ{=M1iF zU{=4vnzFE)p}FB4mGg#flh4;{Z75)NwVA`Yk#EBm%`8|B2Y)Z62%%tdpidNb_+1w) z2S@+08EJcg&9s+V^TBE-tMa;hTn9vz(mj(|yk*#qKa?^+xm2BGL6YXtKO7h10c4&3Go>h;dJWh?zKX1)LH%fy%rraq2iTQJnqb*^zH2V`XnGut+) z14(~koc+c;=3dBcF-ed~iy*;=%}wp2 z-9bE}dX1IEq=r9TLh5?g1&TF*|0vUDE^EkF&d6yisPReM@M{X(Id1>dlMF$y`)uVi zM#kwHdQf=9hmOGaSPMt@CR|#^;%0!`p{Q6zYy(FZL5}Z(tZy!&QoiaLnsK9DjcC@4 zGoOISw?AQ3KgWaWl*IWY4Edf$rG*E|K3|- zmyIrQn~Iqh_=AE zn_-q{7KjyfU-PF^>vJ*sE0ett1>pr)$wL(yNQ&rm;J`ekZa)Lri{N(n zw1)ZxVTFo98RbPqYXH=cL2#eMt6`*?>R@k)i>Q1zS?d-a%aEFzO_Dpc>^3-7`vI5{qSv0`a}u!&d(){^vJd_VsX-ar1+h|DCn zz(K3C{TM~%)AoJab6i1M81sp_)Oa%`d+=>oQ_zaSqVhBax{i<3wpvxxiNWq+-^_?K zQ(ICScxMF24%2r=_rW5bi{Q6+J?<02Ce~x?-fQtto+_;fowqr)Kcd2#VL9HLtHjy; zQBs9ty3KdAIe(&hbb!CbB@8AfEN8?WAL2{zbwF>XAWPly`CzJG)9AX3OetX1yF!~3 zZ+(#(RF~p)Ik8G(c3w0)EcuJUXX?Y;<|l$!mBe?zZ|6f{IJ>dKCbIR&?%4QHbWi0% zcg$^9`zX929l5s~K?UI@PMP|vvtXKt-N?=Fqw|1O8ON~6A+qYRq|x0UC) z(dF_L=j1bTj)uA8j^wv6PXG)6AV0T}qbCQgf@yJVVi*k-BSKh2K`P`UXE!byh zyCE#=JVoyCzzb_Q`eH8^JvqS;E%GgtI6;LPa;_w=3zGj#!4bjfuSglJvuLb9eh7aU zy2;`l2}5>Lq{`2&c0u+!e(f;5qyQiZeb53{1d(#!YdcAuM_b+b~#r_ zm;GcnKPMCqvCC+YXnY?%& z1#J7tMVr!tA@|iAG>c)LD2I8;bDHFCkQAswr=TyS>M43v!)s%XhQ0J0+HealMK|kjp9VP3j3@nANhx8TcVw@gMpLZ z$O@RRapw5Vi3X-m6tSZW@qH}S5qg^q9yZ59PZ|Ik)Yv#k68TyEEn20JX?{4$Z}y`IX#zqx^HUb>NTJgYU9$mGPg2# zu=B>rWxRUcqA66!{3wybs;Gg*d*Xl#3azw5wB$geKNZY~EQ~OhoJGcPl3!|?b?A3{ zGVjJvvcyf&O99^>^8_R(2~5HIcRMwV1n&e#_#DLT@IbcwIb$1dU(_HC-q-!Uq~nIE z^=mwCEfBwHt{tvAtO868buk=Lk)n!NIvl=PcG`NMyA#wkQtxVQotn#M*N=Zr@wiPX zsz9$yVw^s>l5nA~$}^7~6o}vzkXvMTTPmOEyhQJxrX`X~igrWS!N#l!U9xLpH}i$i zvz$Myq@pu}YDbsLn^Y=f3t7Vc=urA(I0$Y|>^ag0wl-A1bOQ*vB!`PqG!p%N8G!JM zZ5_Nzl_p-ZQvIiid8q}F~Y_%J9 zaTV)FNKrh8-B&fy9Szchi(|vX8AUv^eD;ruHg1J%;ve&9zB=_M5&?{zW&w7rcq{z* z{fg(Bg`TW`Hi0Lk?^IvgG?}ax-vDicW;l^;w@W;BPg+{(HAfdeh|nAbM}3K62V_vW z)rK+Skuw3p@MMXiANi(SjTw z|5=e0J;!?|Jx!`|k>pDbq5eEEowcQVt8Eu$1fYBx6a9()(_Flh`|Rn9s1g1EgzR$N zPaacM><2lUBB8NrC5}rt6P_%Ie4ZUFO?d{$+QVie(uws(DfWk0>R*;br@13?Gfn63 zvbH8%H@c$5isZpW=urIWt+Wh>Vz2$px(-er^Sxvm3=37fL3n>X*{_1rR{Xd8q#lg5 zi~#;PXvx_l{DU`%tH-jR647WwPmO>Vy;KX&a%1o3rb|wE}RO zr$G3s&!XLKc%MTv-_#J3yCLwJD`kn*?;7%_oZ7@jPc`);@}+|@)Rse3%`Iz zRj>WtxE53_*R7K-dUy`l8|sS)dH9@q)ZgcTK6dkFv&ru4h8)|7Aut79MfwS|?@m`hJy2#J zf-501jC#rkHP@fI9GV$+ceCgqobHy2ld z?#2YlS*&lDRxeNc9);FT1~p~sRB7m^e@=vFKA=s~MUjVsdDXs>a?sd?2yiv`mp@Bk z0`12mWhYz0vvB$KR?JVQh9pu@K#uMBw`FEi8Gi!0>O!gpbj=gvl2{g%Z!|>C*Cwfj z2KM-i4>(y{L4_2v+aK!#PI-8N{?remtj4M%{1tIKE(BrXWz1!)u#V=&T5dK7_wQb> zo$dY;-3gy($7|d}^$*0wrPohRP`f(kEamIc=ecoyFIu@}ygKice*F;O8D-Wcg@bW- z28tiS?f*$}f7*iAeKw{?J`5}mdw}k@KNaBnOXyd9>*x0r<(ysvT6YR^{rPUe-@;w^ zpEF>bgBCSsVohXEUdB-&6`!_Y8@4+KV&V@~dz=I<9X|2#`i&!?X(apxw^yyO@wH`gcnovo9bn`Px#24uV zM8?A{%3Y?_$Wi)JUGQD5t72ce*l&-;$cMb=kJLHgUrb7_^SzFg-GUSrbL`r+d50N& zPu1kbf6P0K0-=D#rq?{2Z2oZUgzm)mOo7XvurHp#F6&Lkhau8awbW5|}M)IVHkRWmF) zD@1n3`hcC+^Y8D;aN6>!lo_Vn(NsR$L2XZ3bGV6I>B6Dw1q+vJZ`#^*_p(?C276B9 zC8BQN=$-M^2$?JWL{nV%lW3g2zBEsY0`D7N3n!*@iH?26<7lHOocBY4CZa4y@u*RVXeS4yyWN^4 z^tp`jz-(|V`?P(uGF(J3w#=hm<15a9q*+%-#;!(s$?0Fy71385+qcNOEBuyH1 zLqPKL`$R#z6&GuZp2ib9Pu&lSi}h?raVK|lZnYvi(la#Q?&l$*jlWZ+maV^D5H6c) zyiUJw@%&YHSzV|PUS0Ef6tEBsbWW-xOW}vjvOXhm(iu8jMHLV=q%Gf2D3LWU+k|8x z=lI5T&5<)}lLFrId-_Cku(paxb#t+)A3(c;)K&C$44NF+gytA}co%Yqw;Nq&p*_6| zKSR1N$j|*fP~gYMA%kWX**eV(-kq^#r$X4#91-LI)zBP)g&VcTQJp#Jh{^&S_2xfF#iT zHt*)M*>x@viNLa0?nZOMz0iO?!PV(t+}QY?dH-^DVw4eu+tq%ZI3UVFtWPsC`HO=x zF0fr1Dm#0dx1o+D_Ls+3ASX}RnpGratI3fA@Of693v0qhq86?ab zgEMa<R+e!~rIyc4#qVdqa#k-N^r$6Pn zy5N=3ouNx2vaYiTWuJL~_OS|0rzrjA&#~NTd?CnTEe2UoTH3OE%~P)3F04Jg<9e4X z5d$bEpgiOlIl3%)K)OKcZy&u(ZFSX|?14Q{@Bf-FDDS8Aov7EDHm7GhH_m1Tf1#=} zm7vW9iOB_jFTy|2o@);HvyAg-MR3oa9&c!C&sz#b+Z$K3(Ut;Aj2{O3%5B6L>y!1% z_vUU0kAC)ja;fm%fB1nH79o;0CNuUdaCn7pegCC$KO%EbW@3xU;sTFd0yUWxQC`9? z-@z|`(J#NuFCXrgf0=|Jo$=!rxy)Nxaq$scDcsIr-l^NWz@AhXi?}ocF+g~lh*uQ- zigmjVR?Nk=I2r)BSBi~E2C?-J9o&gs z1v!XzFR;Q~`Sp0;?f2pG;SNRHTCjLewwPDtq3j1neLdUg#--or?8rk#%SEI%3Kr6_ z6tOv zGr_|lk!`Bn{xyN%+t`b1=B+`6lZa8=bBYw0Yc;Dbi?)aDTu*nv`<-AhE0R&>o!FZ* ze{?q70HVL|9~~18_X#;A*zes$&zZRK73-!@YY=i=%s(9~6S)p-TjsZ~lK+&lLt9`` z3k&4V9sVUcfp*1$04B6ou|Ks*zu7{GbW8lr`IUf?%E>5PI`uq2506KbEV8)U6K}>_2;^>mH&iAv;$h#szHe2_C}^npr=;`l8@cn1^Oa zGSkZ9drAF{e8CZi{bM$#t08eEC7V`&I8zvu{RhnqCt+?>nu*^>D%;ufUuHch?K149 z$Ay7>)j*t98chpv48hudFSB~)pTRk4CA@}pW1TBzLm6gS>jCLX3ylyI7J?*_bI|~k z54@H1X!%Ye8NP+9|CBSm5xhS|c7 za^&y=Hl5K#_5R?6wjQ$hxg5_odxPZHs))ivp+# zlvIJ9sZVjz>l*SOtxBx3X-v;Da6e$YLhi&$vn~PipiptXTtgAXnAz0w8J$Cb_q{?! z4K;h)K@}JNg8HVy_m%PMZgU*$V{w1W9D3IQlms)sj6KvqCR*>K(6`0(^2#Fl(SpL3 ztHe09zHel|cK$eWRu7?MeRFbCx^HHQCJ48=N07&fL`fdtzYuLkr;`v+n%K^q#M7B_@%D_grLTOB_1`wM#mP=6y~GJ2oQcM)4QyXI-l) zfKj3c*K0PW%!FC!bx0aX^xPh!LLvTZW__wx0iYqb{ymD0@4o`k`6~mpzH{dcHBr$M z_Yj-C!kKNrIR9&=m?`sS;sldehZYtX&q&*98(bMg=$8gd*NHL6U%^1yv5utt>1TK! zs=^S=Cg{9}j8fqBY5iC!n4Av>SpY|f4N#rUO(Yb#cd9V7?vy4@!C8Q`xt~kQrc}Kv zMx$eo;Ml?Q+Cbf7EA{E+SrIDwC83a znJ2L{SYq^z5V^p-j@0;dKXf2D@CHVvTRoy@sVF_WlRTYYm-`I`v!$4#f(oWp0+7*f z_$TV|pW%N0657Zdxduvk-5kzfEU;4`>}o^nbWSEo+u4WP{<2STz!(Xsn{>3zjH^MB zlDz_~z&^9-r=|Q!VFy-JM<#c8giWo9)gh4R>BWPqqH1Mi=^ux%)dnYy>r~<})>63! z6&0VnD*o|OgQM$$rnHVuyiJJL`K_Myf?!`uf#J^g{fMg{3QfUhcslj~E%4H+1Nws` zfMZXSfowI9$+=H6DJCRMYN7kl^_H5c#Tc^?6g}H`F>=*bS_sM|79}snl8bE$ z-?dX8oWBpwM56y7Ymc~&)fsLa>i63r1m|s!X{geBQ7q#@WMXp6LOFxIv97H>1_mzb zG#0Sd0J9Ib*eO5rnZfry_kAeIh10QPWdPct)o^n%;`iZW88t@gP>GMqC&Yewi7dn} zbh7ugVE2%2;WNSwwP9ge^iIi=8x5~1a2R=ss|4PKf0FOdB;S{R8$x}OFG$|`)jw|M z^#>QA*DqiH({10co`Kw7f;ai**`LuNJ}V|I3SBOVSOBTiOh9v)*u4o(geE>?CX zdnX$cV|yDFdAnt1^j53|0NXn>O%c7n3sE)GI3JJC0NNq?&iQ)dmICsk$}19QL`s}H4epgLaH zL0uAg_nv?XZt#B2Op%-VZ5C*oLB?J*8|ARW`9@5%P;Nkjo_2;i(tQMhDQz6@!s~LA zj!#(1IIA=#v@?l=#rlKJQQjwg%bNYd>MSuuE!kW9gZMbiH`_DHj*f)4akT@@5{2v5 zz355>@@hg1ZGG3gj01q$1;U0w5>D&oVTr39d~&n>>-tw?CjL%%kT`XRs$ywQ0SU|( zJGKJjnD-mPIV!&UE}zxNnJ|OGffdfrFQ+NQM0a^ z{$6AuR^N2O6fey8?jF&2^zJ{(B#%vWzg;!RRAuHC+eSYQBKoMk;Kn`Igs5gVC>zIU z=QvdD{c>^iSduxX%=XPa4gP$N#4;(39-G26|Mh|0`Av}|v_1Qcz5%gd{IlBs&%qrcaRU;d{4Y!Lzs}?TKJp-0Hz3Zp|K&^m zZ^qxA9|$5sjDYu71&s|My#=Aa{V$dDf6$?<|3}A!nBRi%U;RUe0Jk7g1YOSmyMzI0 zz6DYIZ{h#YfBr`%Pp*H{NnjvGgjl`*4M22YAYp``6Oc3*$N)qRd->}Qq>oTc2{F6_ z86dDr{d2~HSeYYGLnt5q4jSeDZ|zRoe}%d4LGlQSzy1Z1{{d^Q{{oNy0PF340lf#1 zJP3{sg2W*H&Beh8qWM>@n+FgnD3~1tDN_Y;{44a)`)`fadk`uJ?<)wx?frl8rpLc! zv-}|fa1aUP^bsV7AW-rTkb3*iI*lF(I4=L4ZWO|c7kK|M?U^Y^E*wPlzpQ`uZt7n@ j{>r~B<^N!)n39nSt$w7>Wt1L@J7 diff --git a/.github/workflows/dependencies/ReplaceAndAdd.md b/.github/workflows/dependencies/ReplaceAndAdd.md index fab4bcffd..757c6bcf4 100644 --- a/.github/workflows/dependencies/ReplaceAndAdd.md +++ b/.github/workflows/dependencies/ReplaceAndAdd.md @@ -33,88 +33,14 @@ the automatic section numbering tooling, they **must** be maintained manually. # Verification-Only Replacements & Additions This set of replacements and additions is the bare minimum required to allow the grammar -to verify and run, though -it may not produce the desired parse (that requires at least the use of modes and/or -lexical predicates). +to verify and run, though it may not produce the desired lex and parse (that requires at +least the use of modes and/or lexical predicates). -This set can be used as a basic check that the grammar is a correct ANTLR grammar. +Pre-processing directives are skipped like whitespace, however lexing confirms the lexical +grammar is valid. ---- - -## Top Level Rule - -The Standard’s *compilation_unit* as is will allow garbage at the end of a file, this -rule has an EOF requirement to ensure the whole of the input must be a correct program. - -> *Note: The section number makes this the first rule in the grammar, not required but it -has to go somewhere…* - -### 0.0.0 Top Level Rule - -```ANTLR -// [ADDED] Rule added as the start point -prog: compilation_unit EOF; -``` ---- - -## Discarding Whitespace - -The following changes in §7.3.2, §7.3.3 and §7.3.4, add `-> skip` to the “whitespace” -token rules so that are not passed to the parser. This behaviour is implicit in the -Standard. - -### 6.3.2 Line terminators - -```ANTLR -// [SKIP] -New_Line - : ( New_Line_Character - | '\u000D\u000A' // carriage return, line feed - ) -> skip - ; -``` - -### 6.3.3 Comments - -```ANTLR -// [SKIP] -Comment - : ( Single_Line_Comment - | Delimited_Comment - ) -> skip - ; -``` - -### 6.3.4 White space - -```ANTLR -// [SKIP] -Whitespace - : ( [\p{Zs}] // any character with Unicode class Zs - | '\u0009' // horizontal tab - | '\u000B' // vertical tab - | '\u000C' // form feed - ) -> skip - ; - -``` - ---- - -## Pre-processing directives - -This change causes all pre-processor directives to be discarded, they don’t need to be -processed to validate the grammar (processing them would exercise the *implementation* -of the pre-processor, which is not part of the Standard). - -### 6.5.1 General +This set can be used as a basic check that the grammar is a valid ANTLR grammar. -```ANTLR -// [CHANGE] Discard pre-processor directives -PP_Directive - : (PP_Start PP_Kind PP_New_Line) -> skip - ; -``` --- @@ -139,7 +65,39 @@ As MLR is not supported by ANTLR without this change the grammar would be reject ```ANTLR // [CHANGE] This removes a mutual left-recursion group which we have (currently?) -// [CHANGE] decided to leave in the Standard. Without this change the grammar will fail. +// [CHANGE] decided to leave in the Standard. Without this change the grammar will +// [CHANGE] fail to verify. +# Expect +primary_no_array_creation_expression + : literal + | interpolated_string_expression + | simple_name + | parenthesized_expression + | tuple_expression + | member_access + | null_conditional_member_access + | invocation_expression + | element_access + | null_conditional_element_access + | this_access + | base_access + | post_increment_expression + | post_decrement_expression + | object_creation_expression + | delegate_creation_expression + | anonymous_object_creation_expression + | typeof_expression + | sizeof_expression + | checked_expression + | unchecked_expression + | default_value_expression + | nameof_expression + | anonymous_method_expression + | pointer_member_access // unsafe code support + | pointer_element_access // unsafe code support + | stackalloc_expression + ; +# ReplaceWith primary_no_array_creation_expression : literal | interpolated_string_expression @@ -194,12 +152,20 @@ primary_no_array_creation_expression ## Interpolated strings The lexical rules for interpolated strings are context-sensitive and are not ANLTR-ready in the Standard -as how such rules are handled is an implementation detail, e.g. using ANTLR modes as done in mods-base. +as how such rules are handled is an implementation detail, e.g. using ANTLR modes. Here we just define one token in terms of another to remove the overlap warnings. ### 12.8.3 Interpolated string expressions ```ANTLR +// [CHANGE] This allows the grammar to verify without warnings, it does NOT correctly +// [CHANGE] parse interpolated strings – that requires modes and/or lexical predicates. +// [CHANGE] Note: Interpolated strings are properly parsed in Base and other sets. +# Expect +Interpolated_Verbatim_String_End + : '"' + ; +# ReplaceWith Interpolated_Verbatim_String_End : Interpolated_Regular_String_End ; diff --git a/.github/workflows/do-not-merge-label-check.yml b/.github/workflows/do-not-merge-label-check.yml new file mode 100644 index 000000000..3140df500 --- /dev/null +++ b/.github/workflows/do-not-merge-label-check.yml @@ -0,0 +1,38 @@ +# This GitHub Action workflow is triggered on label changes for pull requests. +# When a pull request is labeled with "DO NOT MERGE", the workflow fails, thus +# preventing the pull request from being merged. Otherwise, the workflow will +# succeed, allowing the pull request to be merged. + +name: "Check labels that prevent merge" +on: + pull_request: + branches: [main] + types: [labeled, unlabeled] + +permissions: + contents: read + +jobs: + labels-preventing-merge-check: + runs-on: ubuntu-latest + strategy: + matrix: + label: + # Labels that prevent merging + - 'do not merge' + steps: + - name: Harden Runner + uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1 + with: + egress-policy: audit + + - name: 'Check "${{ matrix.label }}" label' + run: | + echo "::notice::Merging permission is diabled for PRs when the '${{ matrix.label }}' label is applied." + + if [ "${{ contains(github.event.pull_request.labels.*.name, matrix.label) }}" = "true" ]; then + echo "::error::Pull request is labeled as '${{ matrix.label }}'. Please remove the label before merging." + exit 1 + else + exit 0 + fi diff --git a/.github/workflows/grammar-validator.yaml b/.github/workflows/grammar-validator.yaml index 71bce314a..fd7ed298c 100644 --- a/.github/workflows/grammar-validator.yaml +++ b/.github/workflows/grammar-validator.yaml @@ -34,7 +34,7 @@ jobs: # Install build grammar global tool - name: Install BuildGrammar tool run: | - dotnet tool install --version 1.0.0-alpha.4 --global --add-source ./.github/workflows/dependencies/ EcmaTC49.BuildGrammar + dotnet tool install --version 2.0.0-beta.3 --global --add-source ./.github/workflows/dependencies/ EcmaTC49.BuildGrammar - name: run validate From cb652052e911908935ac49b80b79c9436b13019b Mon Sep 17 00:00:00 2001 From: Julien Couvreur Date: Wed, 25 Sep 2024 05:26:33 -0700 Subject: [PATCH 142/259] Remove dynamic conversion from explicit reference conversions (#1180) --- standard/conversions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/conversions.md b/standard/conversions.md index 6502b94ac..2af5d9733 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -470,7 +470,7 @@ The explicit nullable conversions are those nullable conversions ([§10.6.1](con The explicit reference conversions are: -- From object and dynamic to any other *reference_type*. +- From object to any other *reference_type*. - From any *class_type* `S` to any *class_type* `T`, provided `S` is a base class of `T`. - From any *class_type* `S` to any *interface_type* `T`, provided `S` is not sealed and provided `S` does not implement `T`. - From any *interface_type* `S` to any *class_type* `T`, provided `T` is not sealed or provided `T` implements `S`. From dbb527cc7f0a7cd5dee58c2f980b8dd92936b755 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 15:44:12 -0400 Subject: [PATCH 143/259] Bump xunit in /tools in the dotnet group across 1 directory (#1182) Bumps the dotnet group with 1 update in the /tools directory: [xunit](https://github.com/xunit/xunit). Updates `xunit` from 2.9.0 to 2.9.2 - [Commits](https://github.com/xunit/xunit/compare/v2-2.9.0...v2-2.9.2) --- updated-dependencies: - dependency-name: xunit dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj index 1c126ef5b..0cd0e114f 100644 --- a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj +++ b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj @@ -16,7 +16,7 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive all From a23bd55f3c081e4f086909cca3dd8b1741f55f67 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 3 Oct 2024 12:51:33 -0400 Subject: [PATCH 144/259] Remove explicit dynamic conversions (#1184) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove §10.3.8 on explicit dynamic conversions. §10.2.10 already defines these conversions as *implicit* dynamic conversions. Therefore, none of these conversions would apply. Remove references to the removed section. --- standard/conversions.md | 44 +---------------------------------------- 1 file changed, 1 insertion(+), 43 deletions(-) diff --git a/standard/conversions.md b/standard/conversions.md index 2af5d9733..d886586be 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -72,7 +72,7 @@ The pre-defined implicit conversions always succeed and never cause exceptions t For the purposes of conversion, the types `object` and `dynamic` are identity convertible ([§10.2.2](conversions.md#1022-identity-conversion)). -However, dynamic conversions ([§10.2.10](conversions.md#10210-implicit-dynamic-conversions) and [§10.3.8](conversions.md#1038-explicit-dynamic-conversions)) apply only to expressions of type `dynamic` ([§8.2.4](types.md#824-the-dynamic-type)). +However, dynamic conversions ([§10.2.10](conversions.md#10210-implicit-dynamic-conversions)) apply only to expressions of type `dynamic` ([§8.2.4](types.md#824-the-dynamic-type)). ### 10.2.2 Identity conversion @@ -394,7 +394,6 @@ The following conversions are classified as explicit conversions: - Explicit interface conversions - Unboxing conversions ([§10.3.7](conversions.md#1037-unboxing-conversions)) - Explicit type parameter conversions ([§10.3.9](conversions.md#1039-explicit-conversions-involving-type-parameters)) -- Explicit dynamic conversions ([§10.3.8](conversions.md#1038-explicit-dynamic-conversions)) - User-defined explicit conversions ([§10.3.10](conversions.md#10310-user-defined-explicit-conversions)) Explicit conversions can occur in cast expressions ([§12.9.7](expressions.md#1297-cast-expressions)). @@ -539,47 +538,6 @@ For an unboxing conversion to a given *non_nullable_value_type* to succeed at ru For an unboxing conversion to a given *nullable_value_type* to succeed at run-time, the value of the source operand shall be either null or a reference to a boxed value of the underlying *non_nullable_value_type* of the *nullable_value_type*. If the source operand is a reference to an incompatible object, a `System.InvalidCastException` is thrown. -### 10.3.8 Explicit dynamic conversions - -An explicit dynamic conversion exists from an expression of type `dynamic` to any type `T`. The conversion is dynamically bound ([§12.3.3](expressions.md#1233-dynamic-binding)), which means that an explicit conversion will be sought at run-time from the run-time type of the expression to `T`. If no conversion is found, a run-time exception is thrown. - -If dynamic binding of the conversion is not desired, the expression can be first converted to `object`, and then to the desired type. - -> *Example*: Assume the following class is defined: -> -> -> -> ```csharp -> class C -> { -> int i; -> -> public C(int i) -> { -> this.i = i; -> } -> -> public static explicit operator C(string s) -> { -> return new C(int.Parse(s)); -> } -> } -> ``` -> -> The following illustrates explicit dynamic conversions: -> -> -> ```csharp -> object o = "1"; -> dynamic d = "2"; -> var c1 = (C)o; // Compiles, but explicit reference conversion fails -> var c2 = (C)d; // Compiles and user defined conversion succeeds -> ``` -> -> The best conversion of `o` to `C` is found at compile-time to be an explicit reference conversion. This fails at run-time, because `"1"` is not in fact a `C`. The conversion of `d` to `C` however, as an explicit dynamic conversion, is suspended to run-time, where a user defined conversion from the run-time type of `d` (`string`) to `C` is found, and succeeds. -> -> *end example* - ### 10.3.9 Explicit conversions involving type parameters For a *type_parameter* `T` that is known to be a reference type ([§15.2.5](classes.md#1525-type-parameter-constraints)), the following explicit reference conversions ([§10.3.5](conversions.md#1035-explicit-reference-conversions)) exist: From f0957869b86c88320bce65680b69e0777f89e0f8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 3 Oct 2024 12:56:32 -0400 Subject: [PATCH 145/259] [create-pull-request] automated change (#1185) Co-authored-by: BillWagner --- standard/README.md | 5 ++--- standard/conversions.md | 12 ++++++------ standard/types.md | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/standard/README.md b/standard/README.md index f61d5a917..54bda09ba 100644 --- a/standard/README.md +++ b/standard/README.md @@ -212,9 +212,8 @@ - [§10.3.5](conversions.md#1035-explicit-reference-conversions) Explicit reference conversions - [§10.3.6](conversions.md#1036-explicit-tuple-conversions) Explicit tuple conversions - [§10.3.7](conversions.md#1037-unboxing-conversions) Unboxing conversions - - [§10.3.8](conversions.md#1038-explicit-dynamic-conversions) Explicit dynamic conversions - - [§10.3.9](conversions.md#1039-explicit-conversions-involving-type-parameters) Explicit conversions involving type parameters - - [§10.3.10](conversions.md#10310-user-defined-explicit-conversions) User-defined explicit conversions + - [§10.3.8](conversions.md#1038-explicit-conversions-involving-type-parameters) Explicit conversions involving type parameters + - [§10.3.9](conversions.md#1039-user-defined-explicit-conversions) User-defined explicit conversions - [§10.4](conversions.md#104-standard-conversions) Standard conversions - [§10.4.1](conversions.md#1041-general) General - [§10.4.2](conversions.md#1042-standard-implicit-conversions) Standard implicit conversions diff --git a/standard/conversions.md b/standard/conversions.md index d886586be..494312915 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -393,8 +393,8 @@ The following conversions are classified as explicit conversions: - Explicit reference conversions ([§10.3.5](conversions.md#1035-explicit-reference-conversions)) - Explicit interface conversions - Unboxing conversions ([§10.3.7](conversions.md#1037-unboxing-conversions)) -- Explicit type parameter conversions ([§10.3.9](conversions.md#1039-explicit-conversions-involving-type-parameters)) -- User-defined explicit conversions ([§10.3.10](conversions.md#10310-user-defined-explicit-conversions)) +- Explicit type parameter conversions ([§10.3.8](conversions.md#1038-explicit-conversions-involving-type-parameters)) +- User-defined explicit conversions ([§10.3.9](conversions.md#1039-user-defined-explicit-conversions)) Explicit conversions can occur in cast expressions ([§12.9.7](expressions.md#1297-cast-expressions)). @@ -487,7 +487,7 @@ The explicit reference conversions are: - If `Xᵢ` is invariant, then `Sᵢ` is identical to `Tᵢ`. - If `Xᵢ` is covariant, then there is an identity conversion, implicit reference conversion or explicit reference conversion from `Sᵢ` to `Tᵢ`. - If `Xᵢ` is contravariant, then `Sᵢ` and `Tᵢ` are either identical or both reference types. -- Explicit conversions involving type parameters that are known to be reference types. For more details on explicit conversions involving type parameters, see [§10.3.9](conversions.md#1039-explicit-conversions-involving-type-parameters). +- Explicit conversions involving type parameters that are known to be reference types. For more details on explicit conversions involving type parameters, see [§10.3.8](conversions.md#1038-explicit-conversions-involving-type-parameters). The explicit reference conversions are those conversions between *reference_type*s that require run-time checks to ensure they are correct. @@ -510,7 +510,7 @@ An unboxing conversion permits a *reference_type* to be explicitly converted to - From any *interface_type* `I` to any *non_nullable_value_type* where there is an unboxing conversion from an *interface_type* `I₀` to the *non_nullable_value-type* and an identity conversion from `I` to `I₀`. - From any *interface_type* `I` to any *non_nullable_value_type* where there is an unboxing conversion from an *interface_type* `I₀` to the *non_nullable_value_type* and either either `I₀` is variance_convertible to `I` or `I` is variance-convertible to `I₀` ([§18.2.3.3](interfaces.md#18233-variance-conversion)). - From any *reference_type* to any *nullable_value_type* where there is an unboxing conversion from *reference_type* to the underlying *non_nullable_value_type* of the *nullable_value_type*. -- From a type parameter which is not known to be a value type to any type such that the conversion is permitted by [§10.3.9](conversions.md#1039-explicit-conversions-involving-type-parameters). +- From a type parameter which is not known to be a value type to any type such that the conversion is permitted by [§10.3.8](conversions.md#1038-explicit-conversions-involving-type-parameters). An unboxing operation to a *non_nullable_value_type* consists of first checking that the object instance is a boxed value of the given *non_nullable_value_type*, and then copying the value out of the instance. @@ -538,7 +538,7 @@ For an unboxing conversion to a given *non_nullable_value_type* to succeed at ru For an unboxing conversion to a given *nullable_value_type* to succeed at run-time, the value of the source operand shall be either null or a reference to a boxed value of the underlying *non_nullable_value_type* of the *nullable_value_type*. If the source operand is a reference to an incompatible object, a `System.InvalidCastException` is thrown. -### 10.3.9 Explicit conversions involving type parameters +### 10.3.8 Explicit conversions involving type parameters For a *type_parameter* `T` that is known to be a reference type ([§15.2.5](classes.md#1525-type-parameter-constraints)), the following explicit reference conversions ([§10.3.5](conversions.md#1035-explicit-reference-conversions)) exist: @@ -593,7 +593,7 @@ The above rules do not permit a direct explicit conversion from an unconstrained > > *end example* -### 10.3.10 User-defined explicit conversions +### 10.3.9 User-defined explicit conversions A user-defined explicit conversion consists of an optional standard explicit conversion, followed by execution of a user-defined implicit or explicit conversion operator, followed by another optional standard explicit conversion. The exact rules for evaluating user-defined explicit conversions are described in [§10.5.5](conversions.md#1055-user-defined-explicit-conversions). diff --git a/standard/types.md b/standard/types.md index 5e860a075..ca3b6974a 100644 --- a/standard/types.md +++ b/standard/types.md @@ -609,7 +609,7 @@ Since a type parameter can be instantiated with many different type arguments, t > > - A type parameter cannot be used directly to declare a base class ([§15.2.4.2](classes.md#15242-base-classes)) or interface ([§18.2.4](interfaces.md#1824-base-interfaces)). > - The rules for member lookup on type parameters depend on the constraints, if any, applied to the type parameter. They are detailed in [§12.5](expressions.md#125-member-lookup). -> - The available conversions for a type parameter depend on the constraints, if any, applied to the type parameter. They are detailed in [§10.2.12](conversions.md#10212-implicit-conversions-involving-type-parameters) and [§10.3.9](conversions.md#1039-explicit-conversions-involving-type-parameters). +> - The available conversions for a type parameter depend on the constraints, if any, applied to the type parameter. They are detailed in [§10.2.12](conversions.md#10212-implicit-conversions-involving-type-parameters) and [§10.3.8](conversions.md#1038-explicit-conversions-involving-type-parameters). > - The literal `null` cannot be converted to a type given by a type parameter, except if the type parameter is known to be a reference type ([§10.2.12](conversions.md#10212-implicit-conversions-involving-type-parameters)). However, a default expression ([§12.8.20](expressions.md#12820-default-value-expressions)) can be used instead. In addition, a value with a type given by a type parameter *can* be compared with null using `==` and `!=` ([§12.12.7](expressions.md#12127-reference-type-equality-operators)) unless the type parameter has the value type constraint. > - A `new` expression ([§12.8.16.2](expressions.md#128162-object-creation-expressions)) can only be used with a type parameter if the type parameter is constrained by a *constructor_constraint* or the value type constraint ([§15.2.5](classes.md#1525-type-parameter-constraints)). > - A type parameter cannot be used anywhere within an attribute. From 0e44170629c5acc9456cdca3c7f6065c92fbcab3 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Fri, 4 Oct 2024 10:26:25 -0400 Subject: [PATCH 146/259] Add status checks to the test runner (#1179) * Add status checks to the test runner Contributes to #1125 Replace the existing logging code with the utility class that writes to the console, and adds a status check record. Log failures as status checks, but status is only to the output console. * Update tools/Utilities/StatusCheckLogger.cs * Apply suggestions from code review * Feedback from code review A bit of refactoring. --- .github/workflows/renumber-sections.yaml | 1 + .github/workflows/test-examples.yaml | 5 ++ .github/workflows/word-converter.yaml | 1 + .gitignore | 3 + tools/ExampleTester/ExampleTester.csproj | 1 + tools/ExampleTester/GeneratedExample.cs | 35 ++++++----- tools/ExampleTester/Program.cs | 17 +++++- tools/MarkdownConverter/Spec/Reporter.cs | 4 +- .../ReferenceUpdateProcessor.cs | 2 +- .../TocSectionNumberBuilder.cs | 2 +- tools/Utilities/StatusCheckLogger.cs | 58 ++++++++++++++++--- tools/tools.sln | 3 + 12 files changed, 98 insertions(+), 34 deletions(-) diff --git a/.github/workflows/renumber-sections.yaml b/.github/workflows/renumber-sections.yaml index 021b34881..13f4ecba7 100644 --- a/.github/workflows/renumber-sections.yaml +++ b/.github/workflows/renumber-sections.yaml @@ -16,6 +16,7 @@ jobs: runs-on: ubuntu-latest permissions: checks: write + pull-requests: write env: DOTNET_NOLOGO: true GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/test-examples.yaml b/.github/workflows/test-examples.yaml index 8ecc583b3..727e996fb 100644 --- a/.github/workflows/test-examples.yaml +++ b/.github/workflows/test-examples.yaml @@ -16,8 +16,13 @@ on: jobs: test-extraction-and-runner: runs-on: ubuntu-latest + permissions: + checks: write + pull-requests: write env: DOTNET_NOLOGO: true + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + HEAD_SHA: ${{ github.event.pull_request.head.sha }} steps: - name: Check out our repo diff --git a/.github/workflows/word-converter.yaml b/.github/workflows/word-converter.yaml index f70fad9a9..696f998fd 100644 --- a/.github/workflows/word-converter.yaml +++ b/.github/workflows/word-converter.yaml @@ -16,6 +16,7 @@ jobs: runs-on: ubuntu-latest permissions: checks: write + pull-requests: write env: DOTNET_NOLOGO: true GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index a4e559bb3..17843972a 100644 --- a/.gitignore +++ b/.gitignore @@ -360,3 +360,6 @@ test-grammar/ # don't checkin jar files: *.jar + +# don't checkin launchSettings: +**/launchSettings.json diff --git a/tools/ExampleTester/ExampleTester.csproj b/tools/ExampleTester/ExampleTester.csproj index 507659351..582e6ac54 100644 --- a/tools/ExampleTester/ExampleTester.csproj +++ b/tools/ExampleTester/ExampleTester.csproj @@ -16,6 +16,7 @@ + diff --git a/tools/ExampleTester/GeneratedExample.cs b/tools/ExampleTester/GeneratedExample.cs index cafaec18c..6c06eab33 100644 --- a/tools/ExampleTester/GeneratedExample.cs +++ b/tools/ExampleTester/GeneratedExample.cs @@ -5,6 +5,7 @@ using Newtonsoft.Json; using System.Reflection; using System.Text; +using Utilities; namespace ExampleTester; @@ -33,9 +34,9 @@ private static GeneratedExample Load(string directory) return new GeneratedExample(directory); } - internal async Task Test(TesterConfiguration configuration) + internal async Task Test(TesterConfiguration configuration, StatusCheckLogger logger) { - var outputLines = new List { $"Testing {Metadata.Name} from {Metadata.Source}" }; + logger.ConsoleOnlyLog(Metadata.Source, Metadata.StartLine, Metadata.EndLine, $"Testing {Metadata.Name} from {Metadata.Source}", "ExampleTester"); // Explicitly do a release build, to avoid implicitly defining DEBUG. var properties = new Dictionary { { "Configuration", "Release" } }; @@ -52,21 +53,16 @@ internal async Task Test(TesterConfiguration configuration) } bool ret = true; - ret &= ValidateDiagnostics("errors", DiagnosticSeverity.Error, Metadata.ExpectedErrors); - ret &= ValidateDiagnostics("warnings", DiagnosticSeverity.Warning, Metadata.ExpectedWarnings, Metadata.IgnoredWarnings); + ret &= ValidateDiagnostics("errors", DiagnosticSeverity.Error, Metadata.ExpectedErrors, logger); + ret &= ValidateDiagnostics("warnings", DiagnosticSeverity.Warning, Metadata.ExpectedWarnings, logger, Metadata.IgnoredWarnings); // Don't try to validate output if we've already failed in terms of errors and warnings, or if we expect errors. if (ret && Metadata.ExpectedErrors is null) { ret &= ValidateOutput(); } - - if (!ret || !configuration.Quiet) - { - outputLines.ForEach(Console.WriteLine); - } return ret; - bool ValidateDiagnostics(string type, DiagnosticSeverity severity, List expected, List? ignored = null) + bool ValidateDiagnostics(string type, DiagnosticSeverity severity, List expected, StatusCheckLogger logger, List? ignored = null) { expected ??= new List(); ignored ??= new List(); @@ -81,10 +77,12 @@ bool ValidateDiagnostics(string type, DiagnosticSeverity severity, List bool ret = ValidateExpectedAgainstActual(type, expected, actualIds); if (!ret) { - outputLines.Add($" Details of actual {type}:"); + logger.LogFailure(Metadata.Source, Metadata.StartLine, Metadata.EndLine, $" Details of actual {type}:", "ExampleTester"); foreach (var diagnostic in actualDiagnostics) { - outputLines.Add($" Line {diagnostic.Location.GetLineSpan().StartLinePosition.Line + 1}: {diagnostic.Id}: {diagnostic.GetMessage()}"); + logger.LogFailure(Metadata.Source, Metadata.StartLine, Metadata.EndLine, + $" Line {diagnostic.Location.GetLineSpan().StartLinePosition.Line + 1}: {diagnostic.Id}: {diagnostic.GetMessage()}", + "ExampleTester"); } } return ret; @@ -97,7 +95,7 @@ bool ValidateOutput() { if (Metadata.ExpectedOutput != null) { - outputLines.Add(" Output expected, but project has no entry point."); + logger.LogFailure(Metadata.Source, Metadata.StartLine, Metadata.EndLine, " Output expected, but project has no entry point.", "ExampleTester"); return false; } return true; @@ -114,7 +112,7 @@ bool ValidateOutput() var emitResult = compilation.Emit(ms); if (!emitResult.Success) { - outputLines.Add(" Failed to emit assembly"); + logger.LogFailure(Metadata.Source, Metadata.StartLine, Metadata.EndLine, " Failed to emit assembly", "ExampleTester"); return false; } @@ -122,13 +120,13 @@ bool ValidateOutput() var type = generatedAssembly.GetType(typeName); if (type is null) { - outputLines.Add($" Failed to find entry point type {typeName}"); + logger.LogFailure(Metadata.Source, Metadata.StartLine, Metadata.EndLine, $" Failed to find entry point type {typeName}", "ExampleTester"); return false; } var method = type.GetMethod(methodName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static); if (method is null) { - outputLines.Add($" Failed to find entry point method {typeName}.{methodName}"); + logger.LogFailure(Metadata.Source, Metadata.StartLine, Metadata.EndLine, $" Failed to find entry point method {typeName}.{methodName}", "ExampleTester"); return false; } var arguments = method.GetParameters().Any() @@ -197,7 +195,7 @@ bool MaybeReportError(bool result, string message) { if (!result) { - outputLines.Add(message); + logger.LogFailure(Metadata.Source, Metadata.StartLine, Metadata.EndLine, message, "ExampleTester"); } return result; } @@ -207,7 +205,8 @@ bool ValidateExpectedAgainstActual(string type, List expected, List ExecuteAsync(TesterConfiguration configuration) { @@ -31,7 +42,7 @@ async Task ExecuteAsync(TesterConfiguration configuration) foreach (var example in examples) { // The Run method explains any failures, we just need to count them. - if (!await example.Test(configuration)) + if (!await example.Test(configuration, logger)) { failures++; } @@ -42,4 +53,4 @@ async Task ExecuteAsync(TesterConfiguration configuration) Console.WriteLine($"Failures: {failures}"); return failures; -} \ No newline at end of file +} diff --git a/tools/MarkdownConverter/Spec/Reporter.cs b/tools/MarkdownConverter/Spec/Reporter.cs index 47aad0fac..4adaa52c8 100644 --- a/tools/MarkdownConverter/Spec/Reporter.cs +++ b/tools/MarkdownConverter/Spec/Reporter.cs @@ -59,14 +59,14 @@ public void Error(string code, string msg, SourceLocation? loc = null) { loc = loc ?? Location; IncrementErrors(); - githubLogger.LogFailure(new Diagnostic(loc.File ?? "mdspec2docx", loc.StartLine, loc.EndLine, msg, code)); + githubLogger.LogFailure(new StatusCheckMessage(loc.File ?? "mdspec2docx", loc.StartLine, loc.EndLine, msg, code)); } public void Warning(string code, string msg, SourceLocation? loc = null, int lineOffset = 0) { loc = loc ?? Location; IncrementWarnings(); - githubLogger.LogWarning(new Diagnostic(loc.File ?? "mdspec2docx", loc.StartLine+lineOffset, loc.EndLine+lineOffset, msg, code)); + githubLogger.LogWarning(new StatusCheckMessage(loc.File ?? "mdspec2docx", loc.StartLine+lineOffset, loc.EndLine+lineOffset, msg, code)); } public void Log(string code, string msg, SourceLocation? loc = null) diff --git a/tools/StandardAnchorTags/ReferenceUpdateProcessor.cs b/tools/StandardAnchorTags/ReferenceUpdateProcessor.cs index 4dafcc990..10e91490b 100644 --- a/tools/StandardAnchorTags/ReferenceUpdateProcessor.cs +++ b/tools/StandardAnchorTags/ReferenceUpdateProcessor.cs @@ -62,7 +62,7 @@ private string ProcessSectionLinks(string line, int lineNumber, string path) if ((referenceText.Length > 1) && (!linkMap.ContainsKey(referenceText))) { - var diagnostic = new Diagnostic(path, lineNumber, lineNumber, $"`{referenceText}` not found", DiagnosticIDs.TOC002); + var diagnostic = new StatusCheckMessage(path, lineNumber, lineNumber, $"`{referenceText}` not found", DiagnosticIDs.TOC002); logger.LogFailure(diagnostic); } else { diff --git a/tools/StandardAnchorTags/TocSectionNumberBuilder.cs b/tools/StandardAnchorTags/TocSectionNumberBuilder.cs index 64d0e7791..9b3b21ad4 100644 --- a/tools/StandardAnchorTags/TocSectionNumberBuilder.cs +++ b/tools/StandardAnchorTags/TocSectionNumberBuilder.cs @@ -69,7 +69,7 @@ public async Task AddFrontMatterTocEntries(string fileName) return; } // Getting here means this file doesn't have an H1. That's an error: - var diagnostic = new Diagnostic(path, 1, 1, "File doesn't have an H1 tag as its first line.", DiagnosticIDs.TOC001); + var diagnostic = new StatusCheckMessage(path, 1, 1, "File doesn't have an H1 tag as its first line.", DiagnosticIDs.TOC001); logger.LogFailure(diagnostic); } diff --git a/tools/Utilities/StatusCheckLogger.cs b/tools/Utilities/StatusCheckLogger.cs index e98ea1e57..2feaeb65c 100644 --- a/tools/Utilities/StatusCheckLogger.cs +++ b/tools/Utilities/StatusCheckLogger.cs @@ -10,7 +10,7 @@ namespace Utilities; /// The error message ID /// The start line (index from 1) /// The end line (index from 1) -public record Diagnostic(string file, int StartLine, int EndLine, string Message, string Id); +public record StatusCheckMessage(string file, int StartLine, int EndLine, string Message, string Id); ///

/// This class writes the status of the check to the console in the format GitHub supports @@ -30,7 +30,33 @@ public class StatusCheckLogger(string pathToRoot, string toolName) // Utility method to format the path to unix style, from the root of the repository. private string FormatPath(string path) => Path.GetRelativePath(pathToRoot, path).Replace(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar); - private void WriteMessageToConsole(string prefix, Diagnostic d) => Console.WriteLine($"{prefix}{toolName}-{d.Id}::file={FormatPath(d.file)},line={d.StartLine}::{d.Message}"); + private void WriteMessageToConsole(string prefix, StatusCheckMessage d) => Console.WriteLine($"{prefix}{toolName}-{d.Id}::file={FormatPath(d.file)},line={d.StartLine}::{d.Message}"); + + /// + /// Log a notice from the status check to the console only + /// + /// source file + /// start line + /// end line + /// The error message + /// The error ID + /// + /// Log the diagnostic information to console. These will only appear in the console window, not + /// as annotations on the changes in the PR. + /// + public void ConsoleOnlyLog(string source, int startLine, int endLine, string message, string id) => + ConsoleOnlyLog(source, new StatusCheckMessage(source, startLine, endLine, message, id)); + + /// + /// Log a notice from the status check to the console only + /// + /// The diagnostic + /// + /// Log the diagnostic information to console. These will only appear in the console window, not + /// as annotations on the changes in the PR. + /// + public void ConsoleOnlyLog(string source, StatusCheckMessage d) => + WriteMessageToConsole("", d); /// /// Log a notice from the status check @@ -40,7 +66,7 @@ public class StatusCheckLogger(string pathToRoot, string toolName) /// Add the diagnostic to the annotation list and /// log the diagnostic information to console. /// - public void LogNotice(Diagnostic d) + public void LogNotice(StatusCheckMessage d) { WriteMessageToConsole("", d); annotations.Add( @@ -59,7 +85,7 @@ public void LogNotice(Diagnostic d) /// log the warning notice to the console. /// Warnings are logged, but the process reports "success" to GitHub. /// - public void LogWarning(Diagnostic d) + public void LogWarning(StatusCheckMessage d) { WriteMessageToConsole("⚠️", d); annotations.Add( @@ -69,6 +95,18 @@ public void LogWarning(Diagnostic d) ); } + /// + /// Log a failure from the status check + /// + /// The source file + /// Start line in source + /// End line in source + /// The error message + /// The string ID for the error + public void LogFailure(string source, int startLine, int endLine, string message, string id) => + LogFailure(new(source, startLine, endLine, message, id)); + + /// /// Log a failure from the status check /// @@ -76,11 +114,11 @@ public void LogWarning(Diagnostic d) /// /// Add the diagnostic to the annotation list and /// log the failure notice to the console. - /// This method is distinct from in + /// This method is distinct from in /// that this method does not throw an exception. Its purpose is to log /// the failure but allow the tool to continue running further checks. /// - public void LogFailure(Diagnostic d) + public void LogFailure(StatusCheckMessage d) { WriteMessageToConsole("❌", d); annotations.Add( @@ -98,11 +136,11 @@ public void LogFailure(Diagnostic d) /// /// Add the diagnostic to the annotation list and /// log the failure notice to the console. - /// This method is distinct from in + /// This method is distinct from in /// that this method throws an exception. Its purpose is to log /// the failure and immediately exit, foregoing any further checks. /// - public void ExitOnFailure(Diagnostic d) + public void ExitOnFailure(StatusCheckMessage d) { LogFailure(d); throw new InvalidOperationException(d.Message); @@ -138,9 +176,11 @@ public async Task BuildCheckRunResult(string token, string owner, string repo, s } // If the token does not have the correct permissions, we will get a 403 // Once running on a branch on the dotnet org, this should work correctly. - catch (ForbiddenException) + catch (ForbiddenException e) { Console.WriteLine("===== WARNING: Could not create a check run.====="); + Console.WriteLine("Exception details:"); + Console.WriteLine(e); } } } diff --git a/tools/tools.sln b/tools/tools.sln index afa87f0cc..be1786ffb 100644 --- a/tools/tools.sln +++ b/tools/tools.sln @@ -14,6 +14,9 @@ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExampleExtractor", "ExampleExtractor\ExampleExtractor.csproj", "{571E69B9-07A3-4682-B692-876B016315CD}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExampleTester", "ExampleTester\ExampleTester.csproj", "{829FE7D6-B7E7-48DF-923A-73A79921E997}" + ProjectSection(ProjectDependencies) = postProject + {835C6333-BDB5-4DEC-B3BE-4300E3F948AF} = {835C6333-BDB5-4DEC-B3BE-4300E3F948AF} + EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExampleFormatter", "ExampleFormatter\ExampleFormatter.csproj", "{82D1A159-5637-48C4-845D-CC1390995CC2}" EndProject From fc1d698bc6b93a4e1f2b3cef5ba304673a1625e4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 01:21:22 +0000 Subject: [PATCH 147/259] Bump System.Text.Json from 8.0.4 to 8.0.5 in /tools/Utilities Bumps [System.Text.Json](https://github.com/dotnet/runtime) from 8.0.4 to 8.0.5. - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5) --- updated-dependencies: - dependency-name: System.Text.Json dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- tools/Utilities/Utilities.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/Utilities/Utilities.csproj b/tools/Utilities/Utilities.csproj index c03d51e45..8e8561ba9 100644 --- a/tools/Utilities/Utilities.csproj +++ b/tools/Utilities/Utilities.csproj @@ -8,7 +8,7 @@ - + From 64cfcec3b9e9d66978f908054e086c2877f80cdd Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 9 Oct 2024 10:40:32 -0400 Subject: [PATCH 148/259] Different reference types: nullable and non-nullable (#1124) * Port text from #700 The first commit ports in the text from #700 substantially without change. The only editorial change is to move the clause on "Nullable directives" in lexical-structure before the clause on Pragma directives. * fix build warnings This will likely cause new failures, as I turned on nullable annotations and warnings in one of the templates. Update code samples for the template in use to remove nullable warnings. I did this as we plan to have nullable annotations on by default in this version of the spec. * Revert "fix build warnings" This reverts commit dcb3731f0343b817a79235f0b98cd361a3a4a348. * test for nullable annotations If the samples compile cleanly in this mode, I can continue in this PR without breaking all the samples. * fix NRT grammar * revert non-type changes. * In progress draft First draft at language for variations of nullability and reference types. * Edit pass * Apply suggestions from code review Co-authored-by: Jon Skeet * remove null-oblivious type * a fair amount of cleanup * fix build issues. * fix preprocessor symbols and test messages * one more warning fix. * respond to feedback. * respond to feedback. * Apply suggestions from code review Co-authored-by: Jon Skeet * Notes for next updates * fix warnings * rebase and warnings * word converter warnings * word converter fx * fix merge issues * Updates from September meeting At our September meeting, we decided that the standard should limit its normative text to the syntax required for nullable reference types, and a basic description explaining that the purpose of the annotations is to provide diagnostics. * typo * lint issue * Add description of the `!` operator This makes sense to add to this PR logically. * null forgiveness can't be on array creation I think this may fix the left recursion error as well. Even if it doesn't, it's still correct. * Update for implicit declarations State the nullable type for implicitly typed variables * Apply suggestions from code review Co-authored-by: Jon Skeet * final updates from Oct 2nd meeting Additional edits from comments at the Oct 2 meeting. This resolves all open concerns. * Apply suggestions from code review Co-authored-by: Nigel-Ecma --------- Co-authored-by: Jon Skeet Co-authored-by: Nigel-Ecma --- standard/basic-concepts.md | 10 +- standard/conversions.md | 1 + standard/expressions.md | 42 +++++ standard/lexical-structure.md | 2 +- standard/statements.md | 2 +- standard/types.md | 173 +++++++++++++++++- .../standalone-console/Project.csproj | 2 +- 7 files changed, 219 insertions(+), 13 deletions(-) diff --git a/standard/basic-concepts.md b/standard/basic-concepts.md index de1dc08bc..197635ece 100644 --- a/standard/basic-concepts.md +++ b/standard/basic-concepts.md @@ -1030,7 +1030,7 @@ The behavior of the garbage collector can be controlled, to some degree, via sta > { > static void Main() > { -> B? b = new B(new A()); +> B b = new B(new A()); > b = null; > GC.Collect(); > GC.WaitForPendingFinalizers(); @@ -1075,19 +1075,19 @@ The behavior of the garbage collector can be controlled, to some degree, via sta > > class B > { -> public A? Ref; +> public A Ref; > > ~B() > { > Console.WriteLine("Finalize instance of B"); -> Ref?.F(); +> Ref.F(); > } > } > > class Test > { -> public static A? RefA; -> public static B? RefB; +> public static A RefA; +> public static B RefB; > > static void Main() > { diff --git a/standard/conversions.md b/standard/conversions.md index 494312915..a214efe62 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -79,6 +79,7 @@ However, dynamic conversions ([§10.2.10](conversions.md#10210-implicit-dynamic- An identity conversion converts from any type to the same type or a type that is equivalent at runtime. One reason this conversion exists is so that a type `T` or an expression of type `T` can be said to be convertible to `T` itself. The following identity conversions exist: - Between `T` and `T`, for any type `T`. +- Between `T` and `T?` for any reference type `T`. - Between `object` and `dynamic`. - Between all tuple types with the same arity, and the corresponding constructed `ValueTuple<...>` type, when an identity conversion exists between each pair of corresponding element types. - Between types constructed from the same generic type where there exists an identity conversion between each corresponding type argument. diff --git a/standard/expressions.md b/standard/expressions.md index c35146b92..539ac9e28 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -1273,6 +1273,7 @@ Primary expressions include the simplest forms of expressions. primary_expression : primary_no_array_creation_expression | array_creation_expression + | null_forgiving_expression ; primary_no_array_creation_expression @@ -1821,6 +1822,47 @@ A *null_conditional_member_access* expression `E` is of the form `P?.A`. The me A *null_conditional_projection_initializer* is a restriction of *null_conditional_member_access* and has the same semantics. It only occurs as a projection initializer in an anonymous object creation expression ([§12.8.16.7](expressions.md#128167-anonymous-object-creation-expressions)). +### §Null-Forgiving-Expressions Null-forgiving expressions + +This operator sets the null state (§Nullabilities-And-Null-States) of the operand to “not null”. + +```ANTLR +null_forgiving_expression + : primary_no_array_creation_expression suppression + ; + +suppression + : '!' + ; +``` + +This operator has no runtime effect; it evaluates to the result of its operand, and that result retains that operand’s classification. + +The null-forgiving operator is used to declare that an expression not known to be a value type is not null. + +> *Example*: Consider the following: +> +> +> +> ```csharp +> #nullable enable +> public static void M() +> { +> Person? p = Find("John"); // returns Person? +> if (IsValid(p)) +> { +> Console.WriteLine($"Found {p!.Name}"); // p can't be null +> } +> } +> +> public static bool IsValid(Person? person) => +> person != null && person.Name != null; +> ``` +> +> If `IsValid` returns `true`, `p` can safely be dereferenced to access its `Name` property, and the “dereferencing of a possibly null value” warning can be suppressed using `!`. *end example* + +The null state (§Nullabilities-And-Null-States) of a *null_forgiving_expression* is “not null.” + ### 12.8.9 Invocation expressions #### 12.8.9.1 General diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index 56cd5b530..fccf58e02 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -1078,8 +1078,8 @@ The following pre-processing directives are available: - `#line`, which is used to control line numbers emitted for errors and warnings ([§6.5.8](lexical-structure.md#658-line-directives)). - `#error`, which is used to issue errors ([§6.5.6](lexical-structure.md#656-diagnostic-directives)). - `#region` and `#endregion`, which are used to explicitly mark sections of source code ([§6.5.7](lexical-structure.md#657-region-directives)). -- `#pragma`, which is used to specify optional contextual information to a compiler ([§6.5.10](lexical-structure.md#6510-pragma-directives)). - `#nullable`, which is used to specify the nullable context ([§6.5.9](lexical-structure.md#659-nullable-directive)). +- `#pragma`, which is used to specify optional contextual information to a compiler ([§6.5.10](lexical-structure.md#6510-pragma-directives)). A pre-processing directive always occupies a separate line of source code and always begins with a `#` character and a pre-processing directive name. White space may occur before the `#` character and between the `#` character and the directive name. diff --git a/standard/statements.md b/standard/statements.md index 7767b5230..67656a3e0 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -366,7 +366,7 @@ implicitly_typed_local_variable_declarator ; ``` -An *implicity_typed_local_variable_declaration* introduces a single local variable, *identifier*. The *expression* or *variable_reference* shall have a compile-time type, `T`. The first alternative declares a variable with type `T` and an initial value of *expression*. The second alternative declares a ref variable with type `ref T` and an initial value of `ref` *variable_reference*. +An *implicity_typed_local_variable_declaration* introduces a single local variable, *identifier*. The *expression* or *variable_reference* shall have a compile-time type, `T`. The first alternative declares a variable with an initial value of *expression*; its type is `T?` when `T` is a non-nullable reference type, otherwise its type is `T`. The second alternative declares a ref variable with an initial value of `ref` *variable_reference*; its type is `ref T?` when `T` is a non-nullable reference type, otherwise its type is `ref T`. > *Example*: > diff --git a/standard/types.md b/standard/types.md index ca3b6974a..185e4c287 100644 --- a/standard/types.md +++ b/standard/types.md @@ -27,10 +27,15 @@ For convenience, throughout this specification, some library type names are writ ### 8.2.1 General -A reference type is a class type, an interface type, an array type, a delegate type, or the `dynamic` type. +A reference type is a class type, an interface type, an array type, a delegate type, or the `dynamic` type. For each non-nullable reference type, there is a corresponding nullable reference type noted by appending the `?` to the type name. ```ANTLR reference_type + : non_nullable_reference_type + | nullable_reference_type + ; + +non_nullable_reference_type : class_type | interface_type | array_type @@ -69,9 +74,13 @@ rank_specifier delegate_type : type_name ; + +nullable_reference_type + : non_nullable_reference_type '?' + ; ``` -*pointer_type* is available only in unsafe code ([§23.3](unsafe-code.md#233-pointer-types)). +*pointer_type* is available only in unsafe code ([§23.3](unsafe-code.md#233-pointer-types)). *nullable_reference_type* is discussed further in §Types-And-Nullability. A reference type value is a reference to an ***instance*** of the type, the latter known as an object. The special value `null` is compatible with all reference types and indicates the absence of an instance. @@ -431,9 +440,9 @@ Tuple elements are public fields with the names `Item1`, `Item2`, etc., and can ### 8.3.12 Nullable value types -A nullable value type can represent all values of its underlying type plus an additional null value. A nullable value type is written `T?`, where `T` is the underlying type. This syntax is shorthand for `System.Nullable`, and the two forms can be used interchangeably. +A ***nullable value type*** can represent all values of its underlying type plus an additional null value. A nullable value type is written `T?`, where `T` is the underlying type. This syntax is shorthand for `System.Nullable`, and the two forms can be used interchangeably. -Conversely, a ***non-nullable value type*** is any value type other than `System.Nullable` and its shorthand `T?` (for any `T`), plus any type parameter that is constrained to be a non-nullable value type (that is, any type parameter with a value type constraint ([§15.2.5](classes.md#1525-type-parameter-constraints))). The `System.Nullable` type specifies the value type constraint for `T`, which means that the underlying type of a nullable value type can be any non-nullable value type. The underlying type of a nullable value type cannot be a nullable value type or a reference type. For example, `int??` and `string?` are invalid types. +Conversely, a ***non-nullable value type*** is any value type other than `System.Nullable` and its shorthand `T?` (for any `T`), plus any type parameter that is constrained to be a non-nullable value type (that is, any type parameter with a value type constraint ([§15.2.5](classes.md#1525-type-parameter-constraints))). The `System.Nullable` type specifies the value type constraint for `T`, which means that the underlying type of a nullable value type can be any non-nullable value type. The underlying type of a nullable value type cannot be a nullable value type or a reference type. For example, `int??` is an invalid type. Nullable reference types are covered in §Types-And-Nullability. An instance of a nullable value type `T?` has two public read-only properties: @@ -454,7 +463,7 @@ creates a non-null instance of `T?` for which the `Value` property is `x`. The p Implicit conversions are available from the `null` literal to `T?` ([§10.2.7](conversions.md#1027-null-literal-conversions)) and from `T` to `T?` ([§10.2.6](conversions.md#1026-implicit-nullable-conversions)). -The nullable type `T?` implements no interfaces ([§18](interfaces.md#18-interfaces)). In particular, this means it does not implement any interface that the underlying type `T` does. +The nullable value type `T?` implements no interfaces ([§18](interfaces.md#18-interfaces)). In particular, this means it does not implement any interface that the underlying type `T` does. ### 8.3.13 Boxing and unboxing @@ -705,3 +714,157 @@ An *unmanaged_type* is any type that isn’t a *reference_type*, a *type_paramet - `sbyte`, `byte`, `short`, `ushort`, `int`, `uint`, `long`, `ulong`, `char`, `float`, `double`, `decimal`, or `bool`. - Any *enum_type*. - Any user-defined *struct_type* that is not a constructed type and contains instance fields of *unmanaged_type*s only. +- In unsafe code ([§23.2](unsafe-code.md#232-unsafe-contexts)), any *pointer_type* ([§23.3](unsafe-code.md#233-pointer-types)). + +## §Types-And-Nullability Reference Types and nullability + +### §Nullable-Types-General General + +A *nullable reference type* is denoted by appending a `?` to a valid non-nullable reference type name. There is no semantic difference between a non-nullable reference type and its corresponding nullable type. Both a nullable reference and a non-nullable reference can contain either a reference to an object or `null`. The presence or absence of the `?` annotation declares whether an expression is intended to permit null values or not. A compiler can provide diagnostics when an expression is not used according to that intent. The null state of an expression is defined in §Nullabilities-And-Null-States. An identity conversion exists among a nullable reference type and its corresponding non-nullable reference type (§10.2.2). + +There are two forms of nullability for reference types: + +- *nullable*: A *nullable-reference-type* can be assigned `null`. Its default null state is *maybe-null*. +- *non-nullable*" A *non-nullable reference* should not be assigned a `null` value. Its default null state is *not-null*. + +> *Note:* The types `R` and `R?` are represented by the same underlying type, `R`. A variable of that underlying type can either contain a reference to an object or be the value `null`, which indicates “no reference.” *end note* + +The syntactic distinction between a *nullable reference type* and its corresponding *non-nullable reference type* enables a compiler to generate diagnostics. A compiler must allow the `?` annotation as defined in §8.2.1. The diagnostics must be limited to warnings. Neither the presence or absence of nullable annotations, nor the state of the nullable context can change the compile time or runtime behavior of a program except for changes in any diagnostic messages generated at compile time. + +### §Non-nullable-reference-types Non-nullable reference types + +A ***non-nullable reference type*** is a reference type of the form `T`, where `T` is the name of the type. The default null-state of a non-nullable variable is *not-null*. Warnings may be generated when an expression that is *maybe-null* is used where a *not-null* value is required. + +### §Nullable-reference-types Nullable reference types + +A reference type of the form `T?` (such as `string?`) is a ***nullable reference type***. The default null-state of a nullable variable is *maybe null*. The annotation `?` indicates the intent that variables of this type are nullable. The compiler can recognize these intents to issue warnings. When the nullable annotation context is disabled, using this annotation can generate a warning. + +### §Nullable-Contexts Nullable context + +#### §Nullable-Contexts-General General + +Every line of source code has a ***nullable context***. The annotations and warnings flags for the nullable context control nullable annotations (§Nullable-Annotation-Context) and nullable warnings (§Nullable-Warning-Context), respectively. Each flag can be *enabled* or *disabled*. The compiler can use static flow analysis to determine the null state of any reference variable. A reference variable’s null state (§Nullabilities-And-Null-States) is either *not null*, *maybe null*, or *maybe default*. + +The nullable context may be specified within source code via nullable directives (§6.5.9) and/or via some implementation-specific mechanism external to the source code. If both approaches are used, nullable directives supersede the settings made via an external mechanism. + +The default state of the nullable context is implementation defined. + +Throughout this specification, all C# code that does not contain nullable directives, or about which no statement is made regarding the current nullable context state, shall be assumed to have been compiled using a nullable context where both annotations and warnings are enabled. + +> *Note:* A nullable context where both flags are disabled matches the previous standard behavior for reference types. *end note* + +#### §Nullable-Disable-Context Nullable disable + +When both the warning and annotations flags are disabled, the nullable context is *disabled*. + +When the nullable context is ***disabled***: + +- No warning shall be generated when a variable of an unannotated reference type is initialized with, or assigned a value of, `null`. +- No warning shall be generated when a variable of a reference type that possibly has the null value. +- For any reference type `T`, the annotation `?` in `T?` generates a message and the type `T?` is the same as `T`. + > *Note*: This message is characterized as “informational” rather than “warning,” so as not to confuse it with the state of the nullable warning setting, which is unrelated. *end note* +- The null-forgiving operator `!` (§Null-Forgiving-Expressions) has no effect. + +> *Example*: +> +> +> ```csharp +> #nullable disable annotations +> string? s1 = null; // Informational message; ? is ignored +> string s2 = null; // OK; null initialization of a reference +> s2 = null; // OK; null assignment to a reference +> char c1 = s2[1]; // OK; no warning on dereference of a possible null; throws NullReferenceException +> c1 = s2![1]; // OK; ! is ignored +> ``` +> +> *end example* + +#### §Nullable-Annotation-Context Nullable annotations + +When the warning flag is disabled and the annotations flag is enabled, the nullable context is *annotations*. + +When the nullable context is ***annotations***: + +- For any reference type `T`, the annotation `?` in `T?` indicates that `T?` a nullable type, whereas the unannotated `T` is non-nullable. +- No diagnostic warnings related to nullability are generated. +- The null-forgiving operator `!` (§Null-Forgiving-Expressions) sets the null state of its operand to *not null*. + +> *Example*: +> +> +> ```csharp +> #nullable disable warnings +> #nullable enable annotations +> string? s1 = null; // OK; ? makes s2 nullable +> string s2 = null; // OK; warnings are disabled +> s2 = null; // OK; warnings are disabled +> char c1 = s2[1]; // OK; warnings are disabled; throws NullReferenceException +> c1 = s2![1]; // No warnings +> ``` +> +> *end example* + +#### §Nullable-Warning-Context Nullable warnings + +When the warning flag is enabled and the annotations flag is disabled, the nullable context is *warnings*. + +When the nullable context is ***warnings***, a compiler can generate diagnostics in the following cases: + +- A reference variable that has been determined to be *maybe null*, is dereferenced. +- A reference variable of a non-nullable type is assigned to an expression that is *maybe null*. +- The `?` is used to note a nullable reference type. +- The null-forgiving operator `!` (§Null-Forgiving-Expressions) is used to set the null state of its operand to *not null*. + +> *Example*: +> +> +> ```csharp +> #nullable disable annotations +> #nullable enable warnings +> string? s1 = null; // OK; ? makes s2 nullable +> string s2 = null; // OK; null-state of s2 is "maybe null" +> s2 = null; // OK; null-state of s2 is "maybe null" +> char c1 = s2[1]; // Warning; dereference of a possible null; throws NullReferenceException +> c1 = s2![1]; // The warning is suppressed +> ``` +> +> *end example* + +#### §Nullable-enable-Context Nullable enable + +When both the warning flag and the annotations flag are enabled, the nullable context is *enabled*. + +When the nullable context is ***enabled***: + +- For any reference type `T`, the annotation `?` in `T?` makes `T?` a nullable type, whereas the unannotated `T` is non-nullable. +- The compiler can use static flow analysis to determine the null state of any reference variable. When nullable warnings are enabled, a reference variable’s null state (§Nullabilities-And-Null-States) is either *not null*, *maybe null*, or *maybe default* and +- The null-forgiving operator `!` (§Null-Forgiving-Expressions) sets the null state of its operand to *not null*. + +### §Nullabilities-And-Null-States Nullabilities and null states + +A compiler is not required to perform any static analysis nor is it required to generate any diagnostic messages related to nullability. + +**The remainder of this subclause is conditionally normative.** + +A compiler that generates diagnostic messages conforms to these rules. + +Every expression has one of three ***null state***s: + +- *maybe null*: The value of the expression may evaluate to null. +- *maybe default*: The value of the expression may evaluate to the default value for that type. +- *not null*: The value of the expression isn't null. + +The ***default null state*** of an expression is determined by its type, and the state of the annotations flag when it is declared: + +- The default null state of a nullable reference type is: + - Maybe null when its declaration is in text where the annotations flag is enabled. + - Not null when its declaration is in text where the annotations flag is disabled. +- The default null state of a non-nullable reference type is not null. + +A diagnostic can be produced when a variable (§9.2.1) of a non-nullable reference type is initialized or assigned to an expression that is maybe null when that variable is declared in text where the annotation flag is enabled. + +The compiler can update the null state of a variable as part of its analysis. + +> *Note*: The compiler can treat a property (§15.7) as either a variable with state, or as independent get and set accessors (§15.7.3). In other words, a compiler can choose if writing to a property changes the null state of reading the property. + +***End of conditionally normative text*** diff --git a/tools/example-templates/standalone-console/Project.csproj b/tools/example-templates/standalone-console/Project.csproj index 8beb2a9ed..281bd3de6 100644 --- a/tools/example-templates/standalone-console/Project.csproj +++ b/tools/example-templates/standalone-console/Project.csproj @@ -4,7 +4,7 @@ Exe net6.0 enable - annotations + disable $example-name true annotations From 98c940b961ff5d27c5121abe50cf07460bded52c Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Wed, 9 Oct 2024 10:41:05 -0400 Subject: [PATCH 149/259] move from C.2 to C.3 (#1183) --- standard/standard-library.md | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/standard/standard-library.md b/standard/standard-library.md index 0b5e0027e..0810dff78 100644 --- a/standard/standard-library.md +++ b/standard/standard-library.md @@ -322,16 +322,6 @@ namespace System.Collections.Generic void Insert(int index, T item); void RemoveAt(int index); } - - public interface IReadOnlyCollection : IEnumerable - { - int Count { get; } - } - - public interface IReadOnlyList : IReadOnlyCollection - { - T this [int index] { get; } - } } namespace System.Diagnostics @@ -487,6 +477,19 @@ namespace System } } +namespace System.Collections.Generic +{ + public interface IReadOnlyCollection : IEnumerable + { + int Count { get; } + } + + public interface IReadOnlyList : IReadOnlyCollection + { + T this [int index] { get; } + } +} + namespace System.Linq.Expressions { public sealed class Expression From 2be65314c44f3f62e08a688a3805b724b8f76d62 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 11:12:05 -0400 Subject: [PATCH 150/259] [create-pull-request] automated change (#1187) Co-authored-by: BillWagner --- standard/README.md | 70 ++++++++------- standard/arrays.md | 6 +- standard/attributes.md | 2 +- standard/basic-concepts.md | 4 +- standard/classes.md | 46 +++++----- standard/conversions.md | 12 +-- standard/delegates.md | 8 +- standard/enums.md | 2 +- standard/expressions.md | 150 ++++++++++++++++----------------- standard/grammar.md | 57 ++++++++----- standard/interfaces.md | 4 +- standard/namespaces.md | 2 +- standard/portability-issues.md | 8 +- standard/statements.md | 2 +- standard/structs.md | 2 +- standard/types.md | 70 +++++++-------- standard/unsafe-code.md | 24 +++--- standard/variables.md | 8 +- 18 files changed, 254 insertions(+), 223 deletions(-) diff --git a/standard/README.md b/standard/README.md index 54bda09ba..1525cc8da 100644 --- a/standard/README.md +++ b/standard/README.md @@ -114,6 +114,17 @@ - [§8.6](types.md#86-expression-tree-types) Expression tree types - [§8.7](types.md#87-the-dynamic-type) The dynamic type - [§8.8](types.md#88-unmanaged-types) Unmanaged types + - [§8.9](types.md#89-reference-types-and-nullability) Reference Types and nullability + - [§8.9.1](types.md#891-general) General + - [§8.9.2](types.md#892-non-nullable-reference-types) Non-nullable reference types + - [§8.9.3](types.md#893-nullable-reference-types) Nullable reference types + - [§8.9.4](types.md#894-nullable-context) Nullable context + - [§8.9.4.1](types.md#8941-general) General + - [§8.9.4.2](types.md#8942-nullable-disable) Nullable disable + - [§8.9.4.3](types.md#8943-nullable-annotations) Nullable annotations + - [§8.9.4.4](types.md#8944-nullable-warnings) Nullable warnings + - [§8.9.4.5](types.md#8945-nullable-enable) Nullable enable + - [§8.9.5](types.md#895-nullabilities-and-null-states) Nullabilities and null states - [§9](variables.md#9-variables) Variables - [§9.1](variables.md#91-general) General - [§9.2](variables.md#92-variable-categories) Variable categories @@ -313,35 +324,36 @@ - [§12.8.7.1](expressions.md#12871-general) General - [§12.8.7.2](expressions.md#12872-identical-simple-names-and-type-names) Identical simple names and type names - [§12.8.8](expressions.md#1288-null-conditional-member-access) Null Conditional Member Access - - [§12.8.9](expressions.md#1289-invocation-expressions) Invocation expressions - - [§12.8.9.1](expressions.md#12891-general) General - - [§12.8.9.2](expressions.md#12892-method-invocations) Method invocations - - [§12.8.9.3](expressions.md#12893-extension-method-invocations) Extension method invocations - - [§12.8.9.4](expressions.md#12894-delegate-invocations) Delegate invocations - - [§12.8.10](expressions.md#12810-null-conditional-invocation-expression) Null Conditional Invocation Expression - - [§12.8.11](expressions.md#12811-element-access) Element access - - [§12.8.11.1](expressions.md#128111-general) General - - [§12.8.11.2](expressions.md#128112-array-access) Array access - - [§12.8.11.3](expressions.md#128113-indexer-access) Indexer access - - [§12.8.12](expressions.md#12812-null-conditional-element-access) Null Conditional Element Access - - [§12.8.13](expressions.md#12813-this-access) This access - - [§12.8.14](expressions.md#12814-base-access) Base access - - [§12.8.15](expressions.md#12815-postfix-increment-and-decrement-operators) Postfix increment and decrement operators - - [§12.8.16](expressions.md#12816-the-new-operator) The new operator - - [§12.8.16.1](expressions.md#128161-general) General - - [§12.8.16.2](expressions.md#128162-object-creation-expressions) Object creation expressions - - [§12.8.16.3](expressions.md#128163-object-initializers) Object initializers - - [§12.8.16.4](expressions.md#128164-collection-initializers) Collection initializers - - [§12.8.16.5](expressions.md#128165-array-creation-expressions) Array creation expressions - - [§12.8.16.6](expressions.md#128166-delegate-creation-expressions) Delegate creation expressions - - [§12.8.16.7](expressions.md#128167-anonymous-object-creation-expressions) Anonymous object creation expressions - - [§12.8.17](expressions.md#12817-the-typeof-operator) The typeof operator - - [§12.8.18](expressions.md#12818-the-sizeof-operator) The sizeof operator - - [§12.8.19](expressions.md#12819-the-checked-and-unchecked-operators) The checked and unchecked operators - - [§12.8.20](expressions.md#12820-default-value-expressions) Default value expressions - - [§12.8.21](expressions.md#12821-stack-allocation) Stack allocation - - [§12.8.22](expressions.md#12822-the-nameof-operator) The nameof operator - - [§12.8.23](expressions.md#12823-anonymous-method-expressions) Anonymous method expressions + - [§12.8.9](expressions.md#1289-null-forgiving-expressions) Null-forgiving expressions + - [§12.8.10](expressions.md#12810-invocation-expressions) Invocation expressions + - [§12.8.10.1](expressions.md#128101-general) General + - [§12.8.10.2](expressions.md#128102-method-invocations) Method invocations + - [§12.8.10.3](expressions.md#128103-extension-method-invocations) Extension method invocations + - [§12.8.10.4](expressions.md#128104-delegate-invocations) Delegate invocations + - [§12.8.11](expressions.md#12811-null-conditional-invocation-expression) Null Conditional Invocation Expression + - [§12.8.12](expressions.md#12812-element-access) Element access + - [§12.8.12.1](expressions.md#128121-general) General + - [§12.8.12.2](expressions.md#128122-array-access) Array access + - [§12.8.12.3](expressions.md#128123-indexer-access) Indexer access + - [§12.8.13](expressions.md#12813-null-conditional-element-access) Null Conditional Element Access + - [§12.8.14](expressions.md#12814-this-access) This access + - [§12.8.15](expressions.md#12815-base-access) Base access + - [§12.8.16](expressions.md#12816-postfix-increment-and-decrement-operators) Postfix increment and decrement operators + - [§12.8.17](expressions.md#12817-the-new-operator) The new operator + - [§12.8.17.1](expressions.md#128171-general) General + - [§12.8.17.2](expressions.md#128172-object-creation-expressions) Object creation expressions + - [§12.8.17.3](expressions.md#128173-object-initializers) Object initializers + - [§12.8.17.4](expressions.md#128174-collection-initializers) Collection initializers + - [§12.8.17.5](expressions.md#128175-array-creation-expressions) Array creation expressions + - [§12.8.17.6](expressions.md#128176-delegate-creation-expressions) Delegate creation expressions + - [§12.8.17.7](expressions.md#128177-anonymous-object-creation-expressions) Anonymous object creation expressions + - [§12.8.18](expressions.md#12818-the-typeof-operator) The typeof operator + - [§12.8.19](expressions.md#12819-the-sizeof-operator) The sizeof operator + - [§12.8.20](expressions.md#12820-the-checked-and-unchecked-operators) The checked and unchecked operators + - [§12.8.21](expressions.md#12821-default-value-expressions) Default value expressions + - [§12.8.22](expressions.md#12822-stack-allocation) Stack allocation + - [§12.8.23](expressions.md#12823-the-nameof-operator) The nameof operator + - [§12.8.24](expressions.md#12824-anonymous-method-expressions) Anonymous method expressions - [§12.9](expressions.md#129-unary-operators) Unary operators - [§12.9.1](expressions.md#1291-general) General - [§12.9.2](expressions.md#1292-unary-plus-operator) Unary plus operator diff --git a/standard/arrays.md b/standard/arrays.md index 23985d225..90e14a46e 100644 --- a/standard/arrays.md +++ b/standard/arrays.md @@ -102,7 +102,7 @@ When an array type `S[]` implements `IList`, some of the members of the imple ## 17.3 Array creation -Array instances are created by *array_creation_expression*s ([§12.8.16.5](expressions.md#128165-array-creation-expressions)) or by field or local variable declarations that include an *array_initializer* ([§17.7](arrays.md#177-array-initializers)). Array instances can also be created implicitly as part of evaluating an argument list involving a parameter array ([§15.6.2.4](classes.md#15624-parameter-arrays)). +Array instances are created by *array_creation_expression*s ([§12.8.17.5](expressions.md#128175-array-creation-expressions)) or by field or local variable declarations that include an *array_initializer* ([§17.7](arrays.md#177-array-initializers)). Array instances can also be created implicitly as part of evaluating an argument list involving a parameter array ([§15.6.2.4](classes.md#15624-parameter-arrays)). When an array instance is created, the rank and length of each dimension are established and then remain constant for the entire lifetime of the instance. In other words, it is not possible to change the rank of an existing array instance, nor is it possible to resize its dimensions. @@ -112,7 +112,7 @@ Elements of arrays created by *array_creation_expression*s are always initialize ## 17.4 Array element access -Array elements are accessed using *element_access* expressions ([§12.8.11.2](expressions.md#128112-array-access)) of the form `A[I₁, I₂, ..., Iₓ]`, where `A` is an expression of an array type and each `Iₑ` is an expression of type `int`, `uint`, `long`, `ulong`, or can be implicitly converted to one or more of these types. The result of an array element access is a variable, namely the array element selected by the indices. +Array elements are accessed using *element_access* expressions ([§12.8.12.2](expressions.md#128122-array-access)) of the form `A[I₁, I₂, ..., Iₓ]`, where `A` is an expression of an array type and each `Iₑ` is an expression of type `int`, `uint`, `long`, `ulong`, or can be implicitly converted to one or more of these types. The result of an array element access is a variable, namely the array element selected by the indices. The elements of an array can be enumerated using a `foreach` statement ([§13.9.5](statements.md#1395-the-foreach-statement)). @@ -158,7 +158,7 @@ Array covariance specifically does not extend to arrays of *value_type*s. For ex ## 17.7 Array initializers -Array initializers may be specified in field declarations ([§15.5](classes.md#155-fields)), local variable declarations ([§13.6.2](statements.md#1362-local-variable-declarations)), and array creation expressions ([§12.8.16.5](expressions.md#128165-array-creation-expressions)): +Array initializers may be specified in field declarations ([§15.5](classes.md#155-fields)), local variable declarations ([§13.6.2](statements.md#1362-local-variable-declarations)), and array creation expressions ([§12.8.17.5](expressions.md#128175-array-creation-expressions)): ```ANTLR array_initializer diff --git a/standard/attributes.md b/standard/attributes.md index 924cece0c..57c600064 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -389,7 +389,7 @@ An expression `E` is an *attribute_argument_expression* if all of the following - The type of `E` is an attribute parameter type ([§22.2.4](attributes.md#2224-attribute-parameter-types)). - At compile-time, the value of `E` can be resolved to one of the following: - A constant value. - - A `System.Type` object obtained using a *typeof_expression* ([§12.8.17](expressions.md#12817-the-typeof-operator)) specifying a non-generic type, a closed constructed type ([§8.4.3](types.md#843-open-and-closed-types)), or an unbound generic type ([§8.4.4](types.md#844-bound-and-unbound-types)), but not an open type ([§8.4.3](types.md#843-open-and-closed-types)). + - A `System.Type` object obtained using a *typeof_expression* ([§12.8.18](expressions.md#12818-the-typeof-operator)) specifying a non-generic type, a closed constructed type ([§8.4.3](types.md#843-open-and-closed-types)), or an unbound generic type ([§8.4.4](types.md#844-bound-and-unbound-types)), but not an open type ([§8.4.3](types.md#843-open-and-closed-types)). - A single-dimensional array of *attribute_argument_expression*s. > *Example*: diff --git a/standard/basic-concepts.md b/standard/basic-concepts.md index 197635ece..3f3daa3f7 100644 --- a/standard/basic-concepts.md +++ b/standard/basic-concepts.md @@ -926,7 +926,7 @@ The meaning of a *namespace_or_type_name* is determined as follows: A *namespace_or_type_name* is permitted to reference a static class ([§15.2.2.4](classes.md#15224-static-classes)) only if - The *namespace_or_type_name* is the `T` in a *namespace_or_type_name* of the form `T.I`, or -- The *namespace_or_type_name* is the `T` in a *typeof_expression* ([§12.8.17](expressions.md#12817-the-typeof-operator)) of the form `typeof(T)` +- The *namespace_or_type_name* is the `T` in a *typeof_expression* ([§12.8.18](expressions.md#12818-the-typeof-operator)) of the form `typeof(T)` ### 7.8.2 Unqualified names @@ -934,7 +934,7 @@ Every namespace declaration and type declaration has an ***unqualified name*** d - For a namespace declaration, the unqualified name is the *qualified_identifier* specified in the declaration. - For a type declaration with no *type_parameter_list*, the unqualified name is the *identifier* specified in the declaration. -- For a type declaration with K type parameters, the unqualified name is the *identifier* specified in the declaration, followed by the *generic_dimension_specifier* ([§12.8.17](expressions.md#12817-the-typeof-operator)) for K type parameters. +- For a type declaration with K type parameters, the unqualified name is the *identifier* specified in the declaration, followed by the *generic_dimension_specifier* ([§12.8.18](expressions.md#12818-the-typeof-operator)) for K type parameters. ### 7.8.3 Fully qualified names diff --git a/standard/classes.md b/standard/classes.md index e88c3e5cb..06b1bc7f6 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -132,7 +132,7 @@ If one or more parts of a partial type declaration ([§15.2.7](classes.md#1527-p A *namespace_or_type_name* ([§7.8](basic-concepts.md#78-namespace-and-type-names)) is permitted to reference a static class if - The *namespace_or_type_name* is the `T` in a *namespace_or_type_name* of the form `T.I`, or -- The *namespace_or_type-name* is the `T` in a *typeof_expression* ([§12.8.17](expressions.md#12817-the-typeof-operator)) of the form `typeof(T)`. +- The *namespace_or_type-name* is the `T` in a *typeof_expression* ([§12.8.18](expressions.md#12818-the-typeof-operator)) of the form `typeof(T)`. A *primary_expression* ([§12.8](expressions.md#128-primary-expressions)) is permitted to reference a static class if @@ -161,7 +161,7 @@ type_parameters Each type parameter in a class declaration defines a name in the declaration space ([§7.3](basic-concepts.md#73-declarations)) of that class. Thus, it cannot have the same name as another type parameter of that class or a member declared in that class. A type parameter cannot have the same name as the type itself. -Two partial generic type declarations (in the same program) contribute to the same unbound generic type if they have the same fully qualified name (which includes a *generic_dimension_specifier* ([§12.8.17](expressions.md#12817-the-typeof-operator)) for the number of type parameters) ([§7.8.3](basic-concepts.md#783-fully-qualified-names)). Two such partial type declarations shall specify the same name for each type parameter, in order. +Two partial generic type declarations (in the same program) contribute to the same unbound generic type if they have the same fully qualified name (which includes a *generic_dimension_specifier* ([§12.8.18](expressions.md#12818-the-typeof-operator)) for the number of type parameters) ([§7.8.3](basic-concepts.md#783-fully-qualified-names)). Two such partial type declarations shall specify the same name for each type parameter, in order. ### 15.2.4 Class base specification @@ -490,7 +490,7 @@ Any constraints shall be consistent among dependent type parameters. If type par It is valid for `S` to have the value type constraint and `T` to have the reference type constraint. Effectively this limits `T` to the types `System.Object`, `System.ValueType`, `System.Enum`, and any interface type. -If the `where` clause for a type parameter includes a constructor constraint (which has the form `new()`), it is possible to use the `new` operator to create instances of the type ([§12.8.16.2](expressions.md#128162-object-creation-expressions)). Any type argument used for a type parameter with a constructor constraint shall be a value type, a non-abstract class having a public parameterless constructor, or a type parameter having the value type constraint or constructor constraint. +If the `where` clause for a type parameter includes a constructor constraint (which has the form `new()`), it is possible to use the `new` operator to create instances of the type ([§12.8.17.2](expressions.md#128172-object-creation-expressions)). Any type argument used for a type parameter with a constructor constraint shall be a value type, a non-abstract class having a public parameterless constructor, or a type parameter having the value type constraint or constructor constraint. It is a compile-time error for *type_parameter_constraints* having a *primary_constraint* of `struct` or `unmanaged` to also have a *constructor_constraint*. @@ -971,7 +971,7 @@ When a field, method, property, event, indexer, constructor, or finalizer declar - When an instance member `M` is referenced in a *member_access* ([§12.8.7](expressions.md#1287-member-access)) of the form `E.M`, `E` shall denote an instance of a type that has a member `M`. It is a binding-time error for E to denote a type. - Every instance of a class contains a separate set of all instance fields of the class. -- An instance function member (method, property, indexer, instance constructor, or finalizer) operates on a given instance of the class, and this instance can be accessed as `this` ([§12.8.13](expressions.md#12813-this-access)). +- An instance function member (method, property, indexer, instance constructor, or finalizer) operates on a given instance of the class, and this instance can be accessed as `this` ([§12.8.14](expressions.md#12814-this-access)). > *Example*: The following example illustrates the rules for accessing static and instance members: > @@ -1036,7 +1036,7 @@ A type declared within a class or struct is called a ***nested type***. A type t #### 15.3.9.2 Fully qualified name -The fully qualified name ([§7.8.3](basic-concepts.md#783-fully-qualified-names)) for a nested type declarationis `S.N` where `S` is the fully qualified name of the type declarationin which type `N` is declared and `N` is the unqualified name ([§7.8.2](basic-concepts.md#782-unqualified-names)) of the nested type declaration (including any *generic_dimension_specifier* ([§12.8.17](expressions.md#12817-the-typeof-operator))). +The fully qualified name ([§7.8.3](basic-concepts.md#783-fully-qualified-names)) for a nested type declarationis `S.N` where `S` is the fully qualified name of the type declarationin which type `N` is declared and `N` is the unqualified name ([§7.8.2](basic-concepts.md#782-unqualified-names)) of the nested type declaration (including any *generic_dimension_specifier* ([§12.8.18](expressions.md#12818-the-typeof-operator))). #### 15.3.9.3 Declared accessibility @@ -1122,7 +1122,7 @@ A nested type may hide ([§7.7.2.2](basic-concepts.md#7722-hiding-through-nestin #### 15.3.9.5 this access -A nested type and its containing type do not have a special relationship with regard to *this_access* ([§12.8.13](expressions.md#12813-this-access)). Specifically, `this` within a nested type cannot be used to refer to instance members of the containing type. In cases where a nested type needs access to the instance members of its containing type, access can be provided by providing the `this` for the instance of the containing type as a constructor argument for the nested type. +A nested type and its containing type do not have a special relationship with regard to *this_access* ([§12.8.14](expressions.md#12814-this-access)). Specifically, `this` within a nested type cannot be used to refer to instance members of the containing type. In cases where a nested type needs access to the instance members of its containing type, access can be provided by providing the `this` for the instance of the containing type as a constructor argument for the nested type. > *Example*: The following example > @@ -1578,7 +1578,7 @@ The *type* of a *field_declaration* specifies the type of the members introduced The *type* of a field shall be at least as accessible as the field itself ([§7.5.5](basic-concepts.md#755-accessibility-constraints)). -The value of a field is obtained in an expression using a *simple_name* ([§12.8.4](expressions.md#1284-simple-names)), a *member_access* ([§12.8.7](expressions.md#1287-member-access)) or a base_access ([§12.8.14](expressions.md#12814-base-access)). The value of a non-readonly field is modified using an *assignment* ([§12.21](expressions.md#1221-assignment-operators)). The value of a non-readonly field can be both obtained and modified using postfix increment and decrement operators ([§12.8.15](expressions.md#12815-postfix-increment-and-decrement-operators)) and prefix increment and decrement operators ([§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)). +The value of a field is obtained in an expression using a *simple_name* ([§12.8.4](expressions.md#1284-simple-names)), a *member_access* ([§12.8.7](expressions.md#1287-member-access)) or a base_access ([§12.8.15](expressions.md#12815-base-access)). The value of a non-readonly field is modified using an *assignment* ([§12.21](expressions.md#1221-assignment-operators)). The value of a non-readonly field can be both obtained and modified using postfix increment and decrement operators ([§12.8.16](expressions.md#12816-postfix-increment-and-decrement-operators)) and prefix increment and decrement operators ([§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)). A field declaration that declares multiple fields is equivalent to multiple declarations of single fields with the same attributes, modifiers, and type. @@ -2184,7 +2184,7 @@ A *parameter_array* may occur after an optional parameter, but cannot have a def A method declaration creates a separate declaration space ([§7.3](basic-concepts.md#73-declarations)) for parameters and type parameters. Names are introduced into this declaration space by the type parameter list and the parameter list of the method. The body of the method, if any, is considered to be nested within this declaration space. It is an error for two members of a method declaration space to have the same name. -A method invocation ([§12.8.9.2](expressions.md#12892-method-invocations)) creates a copy, specific to that invocation, of the parameters and local variables of the method, and the argument list of the invocation assigns values or variable references to the newly created parameters. Within the *block* of a method, parameters can be referenced by their identifiers in *simple_name* expressions ([§12.8.4](expressions.md#1284-simple-names)). +A method invocation ([§12.8.10.2](expressions.md#128102-method-invocations)) creates a copy, specific to that invocation, of the parameters and local variables of the method, and the argument list of the invocation assigns values or variable references to the newly created parameters. Within the *block* of a method, parameters can be referenced by their identifiers in *simple_name* expressions ([§12.8.4](expressions.md#1284-simple-names)). The following kinds of parameters exist: @@ -2291,7 +2291,7 @@ A parameter declared with a `ref` modifier is a ***reference parameter***. For d > > *end example* -For a `struct` type, within an instance method, instance accessor ([§12.2.1](expressions.md#1221-general)), or instance constructor with a constructor initializer, the `this` keyword behaves exactly as a reference parameter of the struct type ([§12.8.13](expressions.md#12813-this-access)). +For a `struct` type, within an instance method, instance accessor ([§12.2.1](expressions.md#1221-general)), or instance constructor with a constructor initializer, the `this` keyword behaves exactly as a reference parameter of the struct type ([§12.8.14](expressions.md#12814-this-access)). ##### 15.6.2.3.4 Output parameters @@ -2529,7 +2529,7 @@ When a method declaration includes a `static` modifier, that method is said to b A static method does not operate on a specific instance, and it is a compile-time error to refer to `this` in a static method. -An instance method operates on a given instance of a class, and that instance can be accessed as `this` ([§12.8.13](expressions.md#12813-this-access)). +An instance method operates on a given instance of a class, and that instance can be accessed as `this` ([§12.8.14](expressions.md#12814-this-access)). The differences between static and instance members are discussed further in [§15.3.8](classes.md#1538-static-and-instance-members). @@ -2541,7 +2541,7 @@ The implementation of a non-virtual method is invariant: The implementation is t In a virtual method invocation, the ***run-time type*** of the instance for which that invocation takes place determines the actual method implementation to invoke. In a non-virtual method invocation, the ***compile-time type*** of the instance is the determining factor. In precise terms, when a method named `N` is invoked with an argument list `A` on an instance with a compile-time type `C` and a run-time type `R` (where `R` is either `C` or a class derived from `C`), the invocation is processed as follows: -- At binding-time, overload resolution is applied to `C`, `N`, and `A`, to select a specific method `M` from the set of methods declared in and inherited by `C`. This is described in [§12.8.9.2](expressions.md#12892-method-invocations). +- At binding-time, overload resolution is applied to `C`, `N`, and `A`, to select a specific method `M` from the set of methods declared in and inherited by `C`. This is described in [§12.8.10.2](expressions.md#128102-method-invocations). - Then at run-time: - If `M` is a non-virtual method, `M` is invoked. - Otherwise, `M` is a virtual method, and the most derived implementation of `M` with respect to `R` is invoked. @@ -2694,7 +2694,7 @@ A compile-time error occurs unless all of the following are true for an override > > *end example* -An override declaration can access the overridden base method using a *base_access* ([§12.8.14](expressions.md#12814-base-access)). +An override declaration can access the overridden base method using a *base_access* ([§12.8.15](expressions.md#12815-base-access)). > *Example*: In the following code > @@ -2832,7 +2832,7 @@ Abstract method declarations are only permitted in abstract classes ([§15.2.2.2 > > *end example* -It is a compile-time error for a *base_access* ([§12.8.14](expressions.md#12814-base-access)) to reference an abstract method. +It is a compile-time error for a *base_access* ([§12.8.15](expressions.md#12815-base-access)) to reference an abstract method. > *Example*: In the following code > @@ -2960,7 +2960,7 @@ If an implementing declaration exists for a given partial method, the invocation If a defining declaration but not an implementing declaration is given for a partial method `M`, the following restrictions apply: -- It is a compile-time error to create a delegate from `M` ([§12.8.16.6](expressions.md#128166-delegate-creation-expressions)). +- It is a compile-time error to create a delegate from `M` ([§12.8.17.6](expressions.md#128176-delegate-creation-expressions)). - It is a compile-time error to refer to `M` inside an anonymous function that is converted to an expression tree type ([§8.6](types.md#86-expression-tree-types)). @@ -3082,7 +3082,7 @@ When the first parameter of a method includes the `this` modifier, that method i > > *end example* -An extension method is a regular static method. In addition, where its enclosing static class is in scope, an extension method may be invoked using instance method invocation syntax ([§12.8.9.3](expressions.md#12893-extension-method-invocations)), using the receiver expression as the first argument. +An extension method is a regular static method. In addition, where its enclosing static class is in scope, an extension method may be invoked using instance method invocation syntax ([§12.8.10.3](expressions.md#128103-extension-method-invocations)), using the receiver expression as the first argument. > *Example*: The following program uses the extension methods declared above: > @@ -3250,7 +3250,7 @@ When a property declaration includes a `static` modifier, the property is said t A static property is not associated with a specific instance, and it is a compile-time error to refer to `this` in the accessors of a static property. -An instance property is associated with a given instance of a class, and that instance can be accessed as `this` ([§12.8.13](expressions.md#12813-this-access)) in the accessors of that property. +An instance property is associated with a given instance of a class, and that instance can be accessed as `this` ([§12.8.14](expressions.md#12814-this-access)) in the accessors of that property. The differences between static and instance members are discussed further in [§15.3.8](classes.md#1538-static-and-instance-members). @@ -3356,7 +3356,7 @@ A get accessor for a ref-valued property corresponds to a parameterless method w The body of a get accessor for a ref-valued property shall conform to the rules for ref-valued methods described in [§15.6.11](classes.md#15611-method-body). -A set accessor corresponds to a method with a single value parameter of the property type and a `void` return type. The implicit parameter of a set accessor is always named `value`. When a property is referenced as the target of an assignment ([§12.21](expressions.md#1221-assignment-operators)), or as the operand of `++` or `–-` ([§12.8.15](expressions.md#12815-postfix-increment-and-decrement-operators), [§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)), the set accessor is invoked with an argument that provides the new value ([§12.21.2](expressions.md#12212-simple-assignment)). The body of a set accessor shall conform to the rules for `void` methods described in [§15.6.11](classes.md#15611-method-body). In particular, return statements in the set accessor body are not permitted to specify an expression. Since a set accessor implicitly has a parameter named `value`, it is a compile-time error for a local variable or constant declaration in a set accessor to have that name. +A set accessor corresponds to a method with a single value parameter of the property type and a `void` return type. The implicit parameter of a set accessor is always named `value`. When a property is referenced as the target of an assignment ([§12.21](expressions.md#1221-assignment-operators)), or as the operand of `++` or `–-` ([§12.8.16](expressions.md#12816-postfix-increment-and-decrement-operators), [§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)), the set accessor is invoked with an argument that provides the new value ([§12.21.2](expressions.md#12212-simple-assignment)). The body of a set accessor shall conform to the rules for `void` methods described in [§15.6.11](classes.md#15611-method-body). In particular, return statements in the set accessor body are not permitted to specify an expression. Since a set accessor implicitly has a parameter named `value`, it is a compile-time error for a local variable or constant declaration in a set accessor to have that name. Based on the presence or absence of the get and set accessors, a property is classified as follows: @@ -3730,7 +3730,7 @@ Once a particular non-ref-valued property or non-ref-valued indexer has been sel - If the usage is as a value ([§12.2.2](expressions.md#1222-values-of-expressions)), the get accessor shall exist and be accessible. - If the usage is as the target of a simple assignment ([§12.21.2](expressions.md#12212-simple-assignment)), the set accessor shall exist and be accessible. -- If the usage is as the target of compound assignment ([§12.21.4](expressions.md#12214-compound-assignment)), or as the target of the `++` or `--` operators ([§12.8.15](expressions.md#12815-postfix-increment-and-decrement-operators), [§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)), both the get accessors and the set accessor shall exist and be accessible. +- If the usage is as the target of compound assignment ([§12.21.4](expressions.md#12214-compound-assignment)), or as the target of the `++` or `--` operators ([§12.8.16](expressions.md#12816-postfix-increment-and-decrement-operators), [§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)), both the get accessors and the set accessor shall exist and be accessible. > *Example*: In the following example, the property `A.Text` is hidden by the property `B.Text`, even in contexts where only the set accessor is called. In contrast, the property `B.Count` is not accessible to class `M`, so the accessible property `A.Count` is used instead. > @@ -4066,7 +4066,7 @@ Within the program text of the class or struct that contains the declaration of > > *end example* -When compiling a field-like event, the compiler automatically creates storage to hold the delegate, and creates accessors for the event that add or remove event handlers to the delegate field. The addition and removal operations are thread safe, and may (but are not required to) be done while holding the lock ([§13.13](statements.md#1313-the-lock-statement)) on the containing object for an instance event, or the `System.Type` object ([§12.8.17](expressions.md#12817-the-typeof-operator)) for a static event. +When compiling a field-like event, the compiler automatically creates storage to hold the delegate, and creates accessors for the event that add or remove event handlers to the delegate field. The addition and removal operations are thread safe, and may (but are not required to) be done while holding the lock ([§13.13](statements.md#1313-the-lock-statement)) on the containing object for an instance event, or the `System.Type` object ([§12.8.18](expressions.md#12818-the-typeof-operator)) for a static event. > *Note*: Thus, an instance event declaration of the form: > @@ -4173,7 +4173,7 @@ When an event declaration includes a `static` modifier, the event is said to be A static event is not associated with a specific instance, and it is a compile-time error to refer to `this` in the accessors of a static event. -An instance event is associated with a given instance of a class, and this instance can be accessed as `this` ([§12.8.13](expressions.md#12813-this-access)) in the accessors of that event. +An instance event is associated with a given instance of a class, and this instance can be accessed as `this` ([§12.8.14](expressions.md#12814-this-access)) in the accessors of that event. The differences between static and instance members are discussed further in [§15.3.8](classes.md#1538-static-and-instance-members). @@ -4413,7 +4413,7 @@ When an indexer declaration includes an `extern` modifier, the indexer is said t Indexers and properties are very similar in concept, but differ in the following ways: - A property is identified by its name, whereas an indexer is identified by its signature. -- A property is accessed through a *simple_name* ([§12.8.4](expressions.md#1284-simple-names)) or a *member_access* ([§12.8.7](expressions.md#1287-member-access)), whereas an indexer element is accessed through an *element_access* ([§12.8.11.3](expressions.md#128113-indexer-access)). +- A property is accessed through a *simple_name* ([§12.8.4](expressions.md#1284-simple-names)) or a *member_access* ([§12.8.7](expressions.md#1287-member-access)), whereas an indexer element is accessed through an *element_access* ([§12.8.12.3](expressions.md#128123-indexer-access)). - A property can be a static member, whereas an indexer is always an instance member. - A get accessor of a property corresponds to a method with no parameters, whereas a get accessor of an indexer corresponds to a method with the same parameter list as the indexer. - A set accessor of a property corresponds to a method with a single parameter named `value`, whereas a set accessor of an indexer corresponds to a method with the same parameter list as the indexer, plus an additional parameter named `value`. @@ -4548,7 +4548,7 @@ The `true` and `false` unary operators require pair-wise declaration. A compile- > } > ``` > -> Note how the operator method returns the value produced by adding 1 to the operand, just like the postfix increment and decrement operators ([§12.8.15](expressions.md#12815-postfix-increment-and-decrement-operators)), and the prefix increment and decrement operators ([§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)). Unlike in C++, this method should not modify the value of its operand directly as this would violate the standard semantics of the postfix increment operator ([§12.8.15](expressions.md#12815-postfix-increment-and-decrement-operators)). +> Note how the operator method returns the value produced by adding 1 to the operand, just like the postfix increment and decrement operators ([§12.8.16](expressions.md#12816-postfix-increment-and-decrement-operators)), and the prefix increment and decrement operators ([§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)). Unlike in C++, this method should not modify the value of its operand directly as this would violate the standard semantics of the postfix increment operator ([§12.8.16](expressions.md#12816-postfix-increment-and-decrement-operators)). > > *end example* @@ -4756,7 +4756,7 @@ A *constructor_body* that is a *block* or expression body corresponds exactly to Instance constructors are not inherited. Thus, a class has no instance constructors other than those actually declared in the class, with the exception that if a class contains no instance constructor declarations, a default instance constructor is automatically provided ([§15.11.5](classes.md#15115-default-constructors)). -Instance constructors are invoked by *object_creation_expression*s ([§12.8.16.2](expressions.md#128162-object-creation-expressions)) and through *constructor_initializer*s. +Instance constructors are invoked by *object_creation_expression*s ([§12.8.17.2](expressions.md#128172-object-creation-expressions)) and through *constructor_initializer*s. ### 15.11.2 Constructor initializers diff --git a/standard/conversions.md b/standard/conversions.md index a214efe62..56c33f9f7 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -374,7 +374,7 @@ Anonymous functions and method groups do not have types in and of themselves, bu ### 10.2.16 Default literal conversions -An implicit conversion exists from a *default_literal* ([§12.8.20](expressions.md#12820-default-value-expressions)) to any type. This conversion produces the default value ([§9.3](variables.md#93-default-values)) of the inferred type. +An implicit conversion exists from a *default_literal* ([§12.8.21](expressions.md#12821-default-value-expressions)) to any type. This conversion produces the default value ([§9.3](variables.md#93-default-values)) of the inferred type. ### 10.2.17 Implicit throw conversions @@ -426,13 +426,13 @@ Because the explicit conversions include all implicit and explicit numeric conve The explicit numeric conversions possibly lose information or possibly cause exceptions to be thrown. An explicit numeric conversion is processed as follows: -- For a conversion from an integral type to another integral type, the processing depends on the overflow checking context ([§12.8.19](expressions.md#12819-the-checked-and-unchecked-operators)) in which the conversion takes place: +- For a conversion from an integral type to another integral type, the processing depends on the overflow checking context ([§12.8.20](expressions.md#12820-the-checked-and-unchecked-operators)) in which the conversion takes place: - In a `checked` context, the conversion succeeds if the value of the source operand is within the range of the destination type, but throws a `System.OverflowException` if the value of the source operand is outside the range of the destination type. - In an `unchecked` context, the conversion always succeeds, and proceeds as follows. - If the source type is larger than the destination type, then the source value is truncated by discarding its “extra” most significant bits. The result is then treated as a value of the destination type. - If the source type is the same size as the destination type, then the source value is treated as a value of the destination type - For a conversion from `decimal` to an integral type, the source value is rounded towards zero to the nearest integral value, and this integral value becomes the result of the conversion. If the resulting integral value is outside the range of the destination type, a `System.OverflowException` is thrown. -- For a conversion from `float` or `double` to an integral type, the processing depends on the overflow-checking context ([§12.8.19](expressions.md#12819-the-checked-and-unchecked-operators)) in which the conversion takes place: +- For a conversion from `float` or `double` to an integral type, the processing depends on the overflow-checking context ([§12.8.20](expressions.md#12820-the-checked-and-unchecked-operators)) in which the conversion takes place: - In a checked context, the conversion proceeds as follows: - If the value of the operand is NaN or infinite, a `System.OverflowException` is thrown. - Otherwise, the source operand is rounded towards zero to the nearest integral value. If this integral value is within the range of the destination type then this value is the result of the conversion. @@ -849,7 +849,7 @@ Anonymous functions may influence overload resolution, and participate in type i ### 10.7.2 Evaluation of anonymous function conversions to delegate types -Conversion of an anonymous function to a delegate type produces a delegate instance that references the anonymous function and the (possibly empty) set of captured outer variables that are active at the time of the evaluation. When the delegate is invoked, the body of the anonymous function is executed. The code in the body is executed using the set of captured outer variables referenced by the delegate. A *delegate_creation_expression* ([§12.8.16.6](expressions.md#128166-delegate-creation-expressions)) can be used as an alternate syntax for converting an anonymous method to a delegate type. +Conversion of an anonymous function to a delegate type produces a delegate instance that references the anonymous function and the (possibly empty) set of captured outer variables that are active at the time of the evaluation. When the delegate is invoked, the body of the anonymous function is executed. The code in the body is executed using the set of captured outer variables referenced by the delegate. A *delegate_creation_expression* ([§12.8.17.6](expressions.md#128176-delegate-creation-expressions)) can be used as an alternate syntax for converting an anonymous method to a delegate type. The invocation list of a delegate produced from an anonymous function contains a single entry. The exact target object and target method of the delegate are unspecified. In particular, it is unspecified whether the target object of the delegate is `null`, the `this` value of the enclosing function member, or some other object. @@ -904,10 +904,10 @@ An implicit conversion exists from a method group ([§12.2](expressions.md#122-e The compile-time application of the conversion from a method group `E` to a delegate type `D` is described in the following. -- A single method `M` is selected corresponding to a method invocation ([§12.8.9.2](expressions.md#12892-method-invocations)) of the form `E(A)`, with the following modifications: +- A single method `M` is selected corresponding to a method invocation ([§12.8.10.2](expressions.md#128102-method-invocations)) of the form `E(A)`, with the following modifications: - The argument list `A` is a list of expressions, each classified as a variable and with the type and modifier (`in`, `out`, or `ref`) of the corresponding parameter in the *parameter_list* of `D` — excepting parameters of type `dynamic`, where the corresponding expression has the type `object` instead of `dynamic`. - The candidate methods considered are only those methods that are applicable in their normal form and do not omit any optional parameters ([§12.6.4.2](expressions.md#12642-applicable-function-member)). Thus, candidate methods are ignored if they are applicable only in their expanded form, or if one or more of their optional parameters do not have a corresponding parameter in `D`. -- A conversion is considered to exist if the algorithm of [§12.8.9.2](expressions.md#12892-method-invocations) produces a single best method `M` which is compatible ([§20.4](delegates.md#204-delegate-compatibility)) with `D`. +- A conversion is considered to exist if the algorithm of [§12.8.10.2](expressions.md#128102-method-invocations) produces a single best method `M` which is compatible ([§20.4](delegates.md#204-delegate-compatibility)) with `D`. - If the selected method `M` is an instance method, the instance expression associated with `E` determines the target object of the delegate. - If the selected method `M` is an extension method which is denoted by means of a member access on an instance expression, that instance expression determines the target object of the delegate. - The result of the conversion is a value of type `D`, namely a delegate that refers to the selected method and target object. diff --git a/standard/delegates.md b/standard/delegates.md index 35f17d8c7..e087dee27 100644 --- a/standard/delegates.md +++ b/standard/delegates.md @@ -178,11 +178,11 @@ This definition of compatibility allows covariance in return type and contravari ## 20.5 Delegate instantiation -An instance of a delegate is created by a *delegate_creation_expression* ([§12.8.16.6](expressions.md#128166-delegate-creation-expressions)), a conversion to a delegate type, delegate combination or delegate removal. The newly created delegate instance then refers to one or more of: +An instance of a delegate is created by a *delegate_creation_expression* ([§12.8.17.6](expressions.md#128176-delegate-creation-expressions)), a conversion to a delegate type, delegate combination or delegate removal. The newly created delegate instance then refers to one or more of: - The static method referenced in the *delegate_creation_expression*, or - The target object (which cannot be `null`) and instance method referenced in the *delegate_creation_expression*, or -- Another delegate ([§12.8.16.6](expressions.md#128166-delegate-creation-expressions)). +- Another delegate ([§12.8.17.6](expressions.md#128176-delegate-creation-expressions)). > *Example*: > @@ -212,7 +212,7 @@ An instance of a delegate is created by a *delegate_creation_expression* ([§12. The set of methods encapsulated by a delegate instance is called an *invocation list*. When a delegate instance is created from a single method, it encapsulates that method, and its invocation list contains only one entry. However, when two non-`null` delegate instances are combined, their invocation lists are concatenated—in the order left operand then right operand—to form a new invocation list, which contains two or more entries. -When a new delegate is created from a single delegate the resultant invocation list has just one entry, which is the source delegate ([§12.8.16.6](expressions.md#128166-delegate-creation-expressions)). +When a new delegate is created from a single delegate the resultant invocation list has just one entry, which is the source delegate ([§12.8.17.6](expressions.md#128176-delegate-creation-expressions)). Delegates are combined using the binary `+` ([§12.10.5](expressions.md#12105-addition-operator)) and `+=` operators ([§12.21.4](expressions.md#12214-compound-assignment)). A delegate can be removed from a combination of delegates, using the binary `-` ([§12.10.6](expressions.md#12106-subtraction-operator)) and `-=` operators ([§12.21.4](expressions.md#12214-compound-assignment)). Delegates can be compared for equality ([§12.12.9](expressions.md#12129-delegate-equality-operators)). @@ -262,7 +262,7 @@ Once instantiated, a delegate instance always refers to the same invocation list ## 20.6 Delegate invocation -C# provides special syntax for invoking a delegate. When a non-`null` delegate instance whose invocation list contains one entry, is invoked, it invokes the one method with the same arguments it was given, and returns the same value as the referred to method. (See [§12.8.9.4](expressions.md#12894-delegate-invocations) for detailed information on delegate invocation.) If an exception occurs during the invocation of such a delegate, and that exception is not caught within the method that was invoked, the search for an exception catch clause continues in the method that called the delegate, as if that method had directly called the method to which that delegate referred. +C# provides special syntax for invoking a delegate. When a non-`null` delegate instance whose invocation list contains one entry, is invoked, it invokes the one method with the same arguments it was given, and returns the same value as the referred to method. (See [§12.8.10.4](expressions.md#128104-delegate-invocations) for detailed information on delegate invocation.) If an exception occurs during the invocation of such a delegate, and that exception is not caught within the method that was invoked, the search for an exception catch clause continues in the method that called the delegate, as if that method had directly called the method to which that delegate referred. Invocation of a delegate instance whose invocation list contains multiple entries, proceeds by invoking each of the methods in the invocation list, synchronously, in order. Each method so called is passed the same set of arguments as was given to the delegate instance. If such a delegate invocation includes reference parameters ([§15.6.2.3.3](classes.md#156233-reference-parameters)), each method invocation will occur with a reference to the same variable; changes to that variable by one method in the invocation list will be visible to methods further down the invocation list. If the delegate invocation includes output parameters or a return value, their final value will come from the invocation of the last delegate in the list. If an exception occurs during processing of the invocation of such a delegate, and that exception is not caught within the method that was invoked, the search for an exception catch clause continues in the method that called the delegate, and any methods further down the invocation list are not invoked. diff --git a/standard/enums.md b/standard/enums.md index 5360c7258..94d7a1d9a 100644 --- a/standard/enums.md +++ b/standard/enums.md @@ -243,7 +243,7 @@ The following operators can be used on values of enum types: - binary `-` ([§12.10.6](expressions.md#12106-subtraction-operator)) - `^`, `&`, `|` ([§12.13.3](expressions.md#12133-enumeration-logical-operators)) - `~` ([§12.9.5](expressions.md#1295-bitwise-complement-operator)) -- `++`, `--` ([§12.8.15](expressions.md#12815-postfix-increment-and-decrement-operators) and [§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)) +- `++`, `--` ([§12.8.16](expressions.md#12816-postfix-increment-and-decrement-operators) and [§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)) - `sizeof` ([§23.6.9](unsafe-code.md#2369-the-sizeof-operator)) Every enum type automatically derives from the class `System.Enum` (which, in turn, derives from `System.ValueType` and `object`). Thus, inherited methods and properties of this class can be used on values of an enum type. diff --git a/standard/expressions.md b/standard/expressions.md index 539ac9e28..2b15144b3 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -15,16 +15,16 @@ The result of an expression is classified as one of the following: - A null literal. An expression with this classification can be implicitly converted to a reference type or nullable value type. - An anonymous function. An expression with this classification can be implicitly converted to a compatible delegate type or expression tree type. - A tuple. Every tuple has a fixed number of elements, each with an expression and an optional tuple element name. -- A property access. Every property access has an associated type, namely the type of the property. Furthermore, a property access may have an associated instance expression. When an accessor of an instance property access is invoked, the result of evaluating the instance expression becomes the instance represented by `this` ([§12.8.13](expressions.md#12813-this-access)). -- An indexer access. Every indexer access has an associated type, namely the element type of the indexer. Furthermore, an indexer access has an associated instance expression and an associated argument list. When an accessor of an indexer access is invoked, the result of evaluating the instance expression becomes the instance represented by `this` ([§12.8.13](expressions.md#12813-this-access)), and the result of evaluating the argument list becomes the parameter list of the invocation. +- A property access. Every property access has an associated type, namely the type of the property. Furthermore, a property access may have an associated instance expression. When an accessor of an instance property access is invoked, the result of evaluating the instance expression becomes the instance represented by `this` ([§12.8.14](expressions.md#12814-this-access)). +- An indexer access. Every indexer access has an associated type, namely the element type of the indexer. Furthermore, an indexer access has an associated instance expression and an associated argument list. When an accessor of an indexer access is invoked, the result of evaluating the instance expression becomes the instance represented by `this` ([§12.8.14](expressions.md#12814-this-access)), and the result of evaluating the argument list becomes the parameter list of the invocation. - Nothing. This occurs when the expression is an invocation of a method with a return type of `void`. An expression classified as nothing is only valid in the context of a *statement_expression* ([§13.7](statements.md#137-expression-statements)) or as the body of a *lambda_expression* ([§12.19](expressions.md#1219-anonymous-function-expressions)). For expressions which occur as subexpressions of larger expressions, with the noted restrictions, the result can also be classified as one of the following: - A namespace. An expression with this classification can only appear as the left-hand side of a *member_access* ([§12.8.7](expressions.md#1287-member-access)). In any other context, an expression classified as a namespace causes a compile-time error. - A type. An expression with this classification can only appear as the left-hand side of a *member_access* ([§12.8.7](expressions.md#1287-member-access)). In any other context, an expression classified as a type causes a compile-time error. -- A method group, which is a set of overloaded methods resulting from a member lookup ([§12.5](expressions.md#125-member-lookup)). A method group may have an associated instance expression and an associated type argument list. When an instance method is invoked, the result of evaluating the instance expression becomes the instance represented by `this` ([§12.8.13](expressions.md#12813-this-access)). A method group is permitted in an *invocation_expression* ([§12.8.9](expressions.md#1289-invocation-expressions)) or a *delegate_creation_expression* ([§12.8.16.6](expressions.md#128166-delegate-creation-expressions)), and can be implicitly converted to a compatible delegate type ([§10.8](conversions.md#108-method-group-conversions)). In any other context, an expression classified as a method group causes a compile-time error. -- An event access. Every event access has an associated type, namely the type of the event. Furthermore, an event access may have an associated instance expression. An event access may appear as the left operand of the `+=` and `-=` operators ([§12.21.5](expressions.md#12215-event-assignment)). In any other context, an expression classified as an event access causes a compile-time error. When an accessor of an instance event access is invoked, the result of evaluating the instance expression becomes the instance represented by `this` ([§12.8.13](expressions.md#12813-this-access)). +- A method group, which is a set of overloaded methods resulting from a member lookup ([§12.5](expressions.md#125-member-lookup)). A method group may have an associated instance expression and an associated type argument list. When an instance method is invoked, the result of evaluating the instance expression becomes the instance represented by `this` ([§12.8.14](expressions.md#12814-this-access)). A method group is permitted in an *invocation_expression* ([§12.8.10](expressions.md#12810-invocation-expressions)) or a *delegate_creation_expression* ([§12.8.17.6](expressions.md#128176-delegate-creation-expressions)), and can be implicitly converted to a compatible delegate type ([§10.8](conversions.md#108-method-group-conversions)). In any other context, an expression classified as a method group causes a compile-time error. +- An event access. Every event access has an associated type, namely the type of the event. Furthermore, an event access may have an associated instance expression. An event access may appear as the left operand of the `+=` and `-=` operators ([§12.21.5](expressions.md#12215-event-assignment)). In any other context, an expression classified as an event access causes a compile-time error. When an accessor of an instance event access is invoked, the result of evaluating the instance expression becomes the instance represented by `this` ([§12.8.14](expressions.md#12814-this-access)). - A throw expression, which may be used is several contexts to throw an exception in an expression. A throw expression may be converted by an implicit conversion to any type. A property access or indexer access is always reclassified as a value by performing an invocation of the get accessor or the set accessor. The particular accessor is determined by the context of the property or indexer access: If the access is the target of an assignment, the set accessor is invoked to assign a new value ([§12.21.2](expressions.md#12212-simple-assignment)). Otherwise, the get accessor is invoked to obtain the current value ([§12.2.2](expressions.md#1222-values-of-expressions)). @@ -355,7 +355,7 @@ In both of the above cases, a cast expression can be used to explicitly convert ### 12.5.1 General -A member lookup is the process whereby the meaning of a name in the context of a type is determined. A member lookup can occur as part of evaluating a *simple_name* ([§12.8.4](expressions.md#1284-simple-names)) or a *member_access* ([§12.8.7](expressions.md#1287-member-access)) in an expression. If the *simple_name* or *member_access* occurs as the *primary_expression* of an *invocation_expression* ([§12.8.9.2](expressions.md#12892-method-invocations)), the member is said to be *invoked*. +A member lookup is the process whereby the meaning of a name in the context of a type is determined. A member lookup can occur as part of evaluating a *simple_name* ([§12.8.4](expressions.md#1284-simple-names)) or a *member_access* ([§12.8.7](expressions.md#1287-member-access)) in an expression. If the *simple_name* or *member_access* occurs as the *primary_expression* of an *invocation_expression* ([§12.8.10.2](expressions.md#128102-method-invocations)), the member is said to be *invoked*. If a member is a method or event, or if it is a constant, field or property of either a delegate type ([§20](delegates.md#20-delegates)) or the type `dynamic` ([§8.2.4](types.md#824-the-dynamic-type)), then the member is said to be *invocable.* @@ -683,7 +683,7 @@ The expressions of an argument list are always evaluated in textual order. > > *end example* -When a function member with a parameter array is invoked in its expanded form with at least one expanded argument, the invocation is processed as if an array creation expression with an array initializer ([§12.8.16.5](expressions.md#128165-array-creation-expressions)) was inserted around the expanded arguments. An empty array is passed when there are no arguments for the parameter array; it is unspecified whether the reference passed is to a newly allocated or existing empty array. +When a function member with a parameter array is invoked in its expanded form with at least one expanded argument, the invocation is processed as if an array creation expression with an array initializer ([§12.8.17.5](expressions.md#128175-array-creation-expressions)) was inserted around the expanded arguments. An empty array is passed when there are no arguments for the parameter array; it is unspecified whether the reference passed is to a newly allocated or existing empty array. > *Example*: Given the declaration > @@ -743,7 +743,7 @@ When a generic method is called without specifying type arguments, a ***type inf > > *end example* -Type inference occurs as part of the binding-time processing of a method invocation ([§12.8.9.2](expressions.md#12892-method-invocations)) and takes place before the overload resolution step of the invocation. When a particular method group is specified in a method invocation, and no type arguments are specified as part of the method invocation, type inference is applied to each generic method in the method group. If type inference succeeds, then the inferred type arguments are used to determine the types of arguments for subsequent overload resolution. If overload resolution chooses a generic method as the one to invoke, then the inferred type arguments are used as the type arguments for the invocation. If type inference for a particular method fails, that method does not participate in overload resolution. The failure of type inference, in and of itself, does not cause a binding-time error. However, it often leads to a binding-time error when overload resolution then fails to find any applicable methods. +Type inference occurs as part of the binding-time processing of a method invocation ([§12.8.10.2](expressions.md#128102-method-invocations)) and takes place before the overload resolution step of the invocation. When a particular method group is specified in a method invocation, and no type arguments are specified as part of the method invocation, type inference is applied to each generic method in the method group. If type inference succeeds, then the inferred type arguments are used to determine the types of arguments for subsequent overload resolution. If overload resolution chooses a generic method as the one to invoke, then the inferred type arguments are used as the type arguments for the invocation. If type inference for a particular method fails, that method does not participate in overload resolution. The failure of type inference, in and of itself, does not cause a binding-time error. However, it often leads to a binding-time error when overload resolution then fails to find any applicable methods. If each supplied argument does not correspond to exactly one parameter in the method ([§12.6.2.2](expressions.md#12622-corresponding-parameters)), or there is a non-optional parameter with no corresponding argument, then inference immediately fails. Otherwise, assume that the generic method has the following signature: @@ -917,7 +917,7 @@ The ***inferred return type*** is determined as follows: > IEnumerable names = customers.Select(c => c.Name); > ``` > -> The extension method invocation ([§12.8.9.3](expressions.md#12893-extension-method-invocations)) of `Select` is processed by rewriting the invocation to a static method invocation: +> The extension method invocation ([§12.8.10.3](expressions.md#128103-extension-method-invocations)) of `Select` is processed by rewriting the invocation to a static method invocation: > > ```csharp > IEnumerable names = Enumerable.Select(customers, c => c.Name); @@ -988,12 +988,12 @@ The best common type for a set of expressions `E₁...Eᵥ` is determined as fol Overload resolution is a binding-time mechanism for selecting the best function member to invoke given an argument list and a set of candidate function members. Overload resolution selects the function member to invoke in the following distinct contexts within C#: -- Invocation of a method named in an *invocation_expression* ([§12.8.9](expressions.md#1289-invocation-expressions)). -- Invocation of an instance constructor named in an *object_creation_expression* ([§12.8.16.2](expressions.md#128162-object-creation-expressions)). -- Invocation of an indexer accessor through an *element_access* ([§12.8.11](expressions.md#12811-element-access)). +- Invocation of a method named in an *invocation_expression* ([§12.8.10](expressions.md#12810-invocation-expressions)). +- Invocation of an instance constructor named in an *object_creation_expression* ([§12.8.17.2](expressions.md#128172-object-creation-expressions)). +- Invocation of an indexer accessor through an *element_access* ([§12.8.12](expressions.md#12812-element-access)). - Invocation of a predefined or user-defined operator referenced in an expression ([§12.4.4](expressions.md#1244-unary-operator-overload-resolution) and [§12.4.5](expressions.md#1245-binary-operator-overload-resolution)). -Each of these contexts defines the set of candidate function members and the list of arguments in its own unique way. For instance, the set of candidates for a method invocation does not include methods marked override ([§12.5](expressions.md#125-member-lookup)), and methods in a base class are not candidates if any method in a derived class is applicable ([§12.8.9.2](expressions.md#12892-method-invocations)). +Each of these contexts defines the set of candidate function members and the list of arguments in its own unique way. For instance, the set of candidates for a method invocation does not include methods marked override ([§12.5](expressions.md#125-member-lookup)), and methods in a base class are not candidates if any method in a derived class is applicable ([§12.8.10.2](expressions.md#128102-method-invocations)). Once the candidate function members and the argument list have been identified, the selection of the best function member is the same in all cases: @@ -1051,7 +1051,7 @@ When the implicit conversion from the argument type to the parameter type of an - A static method is only applicable if the method group results from a *simple_name* or a *member_access* through a type. - An instance method is only applicable if the method group results from a *simple_name*, a *member_access* through a variable or value, or a *base_access*. - - If the method group results from a *simple_name*, an instance method is only applicable if `this` access is permitted [§12.8.13](expressions.md#12813-this-access). + - If the method group results from a *simple_name*, an instance method is only applicable if `this` access is permitted [§12.8.14](expressions.md#12814-this-access). - When the method group results from a *member_access* which could be via either an instance or a type as described in [§12.8.7.2](expressions.md#12872-identical-simple-names-and-type-names), both instance and static methods are applicable. - A generic method whose type arguments (explicitly specified or inferred) do not all satisfy their constraints is not applicable. - In the context of a method group conversion, there shall exist an identity conversion ([§10.2.2](conversions.md#1022-identity-conversion)) or an implicit reference conversion ([§10.2.8](conversions.md#1028-implicit-reference-conversions)) from the method return type to the delegate’s return type. Otherwise, the candidate method is not applicable. @@ -1177,10 +1177,10 @@ Given two types `T₁` and `T₂`, `T₁` is a ***better conversion target*** th Even though overload resolution of a dynamically bound operation takes place at run-time, it is sometimes possible at compile-time to know the list of function members from which an overload will be chosen: -- For a delegate invocation ([§12.8.9.4](expressions.md#12894-delegate-invocations)), the list is a single function member with the same parameter list as the *delegate_type* of the invocation -- For a method invocation ([§12.8.9.2](expressions.md#12892-method-invocations)) on a type, or on a value whose static type is not dynamic, the set of accessible methods in the method group is known at compile-time. -- For an object creation expression ([§12.8.16.2](expressions.md#128162-object-creation-expressions)) the set of accessible constructors in the type is known at compile-time. -- For an indexer access ([§12.8.11.3](expressions.md#128113-indexer-access)) the set of accessible indexers in the receiver is known at compile-time. +- For a delegate invocation ([§12.8.10.4](expressions.md#128104-delegate-invocations)), the list is a single function member with the same parameter list as the *delegate_type* of the invocation +- For a method invocation ([§12.8.10.2](expressions.md#128102-method-invocations)) on a type, or on a value whose static type is not dynamic, the set of accessible methods in the method group is known at compile-time. +- For an object creation expression ([§12.8.17.2](expressions.md#128172-object-creation-expressions)) the set of accessible constructors in the type is known at compile-time. +- For an indexer access ([§12.8.12.3](expressions.md#128123-indexer-access)) the set of accessible indexers in the receiver is known at compile-time. In these cases a limited compile-time check is performed on each member in the known set of function members, to see if it can be known for certain never to be invoked at run-time. For each function member `F` a modified parameter and argument list are constructed: @@ -1206,7 +1206,7 @@ This subclause describes the process that takes place at run-time to invoke a pa For purposes of describing the invocation process, function members are divided into two categories: - Static function members. These are static methods, static property accessors, and user-defined operators. Static function members are always non-virtual. -- Instance function members. These are instance methods, instance constructors, instance property accessors, and indexer accessors. Instance function members are either non-virtual or virtual, and are always invoked on a particular instance. The instance is computed by an instance expression, and it becomes accessible within the function member as `this` ([§12.8.13](expressions.md#12813-this-access)). For an instance constructor, the instance expression is taken to be the newly allocated object. +- Instance function members. These are instance methods, instance constructors, instance property accessors, and indexer accessors. Instance function members are either non-virtual or virtual, and are always invoked on a particular instance. The instance is computed by an instance expression, and it becomes accessible within the function member as `this` ([§12.8.14](expressions.md#12814-this-access)). For an instance constructor, the instance expression is taken to be the newly allocated object. The run-time processing of a function member invocation consists of the following steps, where `M` is the function member and, if `M` is an instance member, `E` is the instance expression: @@ -1234,7 +1234,7 @@ The run-time processing of a function member invocation consists of the followin - Otherwise, `M` is a non-virtual function member, and the function member to invoke is `M` itself. - The function member implementation determined in the step above is invoked. The object referenced by `E` becomes the object referenced by this. -The result of the invocation of an instance constructor ([§12.8.16.2](expressions.md#128162-object-creation-expressions)) is the value created. The result of the invocation of any other function member is the value, if any, returned ([§13.10.5](statements.md#13105-the-return-statement)) from its body. +The result of the invocation of an instance constructor ([§12.8.17.2](expressions.md#128172-object-creation-expressions)) is the value created. The result of the invocation of any other function member is the value, if any, returned ([§13.10.5](statements.md#13105-the-return-statement)) from its body. #### 12.6.6.2 Invocations on boxed instances @@ -1554,7 +1554,7 @@ A *simple_name* is either of the form `I` or of the form `I`, - Otherwise, for each instance type `T` ([§15.3.2](classes.md#1532-the-instance-type)), starting with the instance type of the immediately enclosing type declaration and continuing with the instance type of each enclosing class or struct declaration (if any): - If `e` is zero and the declaration of `T` includes a type parameter with name `I`, then the *simple_name* refers to that type parameter. - Otherwise, if a member lookup ([§12.5](expressions.md#125-member-lookup)) of `I` in `T` with `e` type arguments produces a match: - - If `T` is the instance type of the immediately enclosing class or struct type and the lookup identifies one or more methods, the result is a method group with an associated instance expression of `this`. If a type argument list was specified, it is used in calling a generic method ([§12.8.9.2](expressions.md#12892-method-invocations)). + - If `T` is the instance type of the immediately enclosing class or struct type and the lookup identifies one or more methods, the result is a method group with an associated instance expression of `this`. If a type argument list was specified, it is used in calling a generic method ([§12.8.10.2](expressions.md#128102-method-invocations)). - Otherwise, if `T` is the instance type of the immediately enclosing class or struct type, if the lookup identifies an instance member, and if the reference occurs within the *block* of an instance constructor, an instance method, or an instance accessor ([§12.2.1](expressions.md#1221-general)), the result is the same as a member access ([§12.8.7](expressions.md#1287-member-access)) of the form `this.I`. This can only happen when `e` is zero. - Otherwise, the result is the same as a member access ([§12.8.7](expressions.md#1287-member-access)) of the form `T.I` or `T.I`. - Otherwise, for each namespace `N`, starting with the namespace in which the *simple_name* occurs, continuing with each enclosing namespace (if any), and ending with the global namespace, the following steps are evaluated until an entity is located: @@ -1707,7 +1707,7 @@ The *member_access* is evaluated and classified as follows: - If `I` identifies an instance event: - If the reference occurs within the class or struct in which the event is declared, and the event was declared without *event_accessor_declarations* ([§15.8.1](classes.md#1581-general)), and the reference does not occur as the left-hand side of `a +=` or `-=` operator, then `E.I` is processed exactly as if `I` was an instance field. - Otherwise, the result is an event access with an associated instance expression of `E`. -- Otherwise, an attempt is made to process `E.I` as an extension method invocation ([§12.8.9.3](expressions.md#12893-extension-method-invocations)). If this fails, `E.I` is an invalid member reference, and a binding-time error occurs. +- Otherwise, an attempt is made to process `E.I` as an extension method invocation ([§12.8.10.3](expressions.md#128103-extension-method-invocations)). If this fails, `E.I` is an invalid member reference, and a binding-time error occurs. #### 12.8.7.2 Identical simple names and type names @@ -1747,7 +1747,7 @@ In a member access of the form `E.I`, if `E` is a single identifier, and if the ### 12.8.8 Null Conditional Member Access -A *null_conditional_member_access* is a conditional version of *member_access* ([§12.8.7](expressions.md#1287-member-access)) and it is a binding time error if the result type is `void`. For a null conditional expression where the result type may be `void` see ([§12.8.10](expressions.md#12810-null-conditional-invocation-expression)). +A *null_conditional_member_access* is a conditional version of *member_access* ([§12.8.7](expressions.md#1287-member-access)) and it is a binding time error if the result type is `void`. For a null conditional expression where the result type may be `void` see ([§12.8.11](expressions.md#12811-null-conditional-invocation-expression)). A *null_conditional_member_access* consists of a *primary_expression* followed by the two tokens “`?`” and “`.`”, followed by an *identifier* with an optional *type_argument_list*, followed by zero or more *dependent_access*es. @@ -1816,15 +1816,15 @@ A *null_conditional_member_access* expression `E` is of the form `P?.A`. The me > P?.A₀?.A₁ > ``` > -> then if `P` evaluates to `null` neither `A₀` or `A₁` are evaluated. The same is true if an expression is a sequence of *null_conditional_member_access* or *null_conditional_element_access* [§12.8.12](expressions.md#12812-null-conditional-element-access) operations. +> then if `P` evaluates to `null` neither `A₀` or `A₁` are evaluated. The same is true if an expression is a sequence of *null_conditional_member_access* or *null_conditional_element_access* [§12.8.13](expressions.md#12813-null-conditional-element-access) operations. > > *end note* -A *null_conditional_projection_initializer* is a restriction of *null_conditional_member_access* and has the same semantics. It only occurs as a projection initializer in an anonymous object creation expression ([§12.8.16.7](expressions.md#128167-anonymous-object-creation-expressions)). +A *null_conditional_projection_initializer* is a restriction of *null_conditional_member_access* and has the same semantics. It only occurs as a projection initializer in an anonymous object creation expression ([§12.8.17.7](expressions.md#128177-anonymous-object-creation-expressions)). -### §Null-Forgiving-Expressions Null-forgiving expressions +### 12.8.9 Null-forgiving expressions -This operator sets the null state (§Nullabilities-And-Null-States) of the operand to “not null”. +This operator sets the null state ([§8.9.5](types.md#895-nullabilities-and-null-states)) of the operand to “not null”. ```ANTLR null_forgiving_expression @@ -1861,11 +1861,11 @@ The null-forgiving operator is used to declare that an expression not known to b > > If `IsValid` returns `true`, `p` can safely be dereferenced to access its `Name` property, and the “dereferencing of a possibly null value” warning can be suppressed using `!`. *end example* -The null state (§Nullabilities-And-Null-States) of a *null_forgiving_expression* is “not null.” +The null state ([§8.9.5](types.md#895-nullabilities-and-null-states)) of a *null_forgiving_expression* is “not null.” -### 12.8.9 Invocation expressions +### 12.8.10 Invocation expressions -#### 12.8.9.1 General +#### 12.8.10.1 General An *invocation_expression* is used to invoke a method. @@ -1882,7 +1882,7 @@ An *invocation_expression* is dynamically bound ([§12.3.3](expressions.md#1233- In this case, the compiler classifies the *invocation_expression* as a value of type `dynamic`. The rules below to determine the meaning of the *invocation_expression* are then applied at run-time, using the run-time type instead of the compile-time type of those of the *primary_expression* and arguments that have the compile-time type `dynamic`. If the *primary_expression* does not have compile-time type `dynamic`, then the method invocation undergoes a limited compile-time check as described in [§12.6.5](expressions.md#1265-compile-time-checking-of-dynamic-member-invocation). -The *primary_expression* of an *invocation_expression* shall be a method group or a value of a *delegate_type*. If the *primary_expression* is a method group, the *invocation_expression* is a method invocation ([§12.8.9.2](expressions.md#12892-method-invocations)). If the *primary_expression* is a value of a *delegate_type*, the *invocation_expression* is a delegate invocation ([§12.8.9.4](expressions.md#12894-delegate-invocations)). If the *primary_expression* is neither a method group nor a value of a *delegate_type*, a binding-time error occurs. +The *primary_expression* of an *invocation_expression* shall be a method group or a value of a *delegate_type*. If the *primary_expression* is a method group, the *invocation_expression* is a method invocation ([§12.8.10.2](expressions.md#128102-method-invocations)). If the *primary_expression* is a value of a *delegate_type*, the *invocation_expression* is a delegate invocation ([§12.8.10.4](expressions.md#128104-delegate-invocations)). If the *primary_expression* is neither a method group nor a value of a *delegate_type*, a binding-time error occurs. The optional *argument_list* ([§12.6.2](expressions.md#1262-argument-lists)) provides values or variable references for the parameters of the method. @@ -1892,7 +1892,7 @@ The result of evaluating an *invocation_expression* is classified as follows: - Otherwise, if the *invocation_expression* invokes a returns-by-ref method ([§15.6.1](classes.md#1561-general)) or a returns-by-ref delegate, the result is a variable with an associated type of the return type of the method or delegate. If the invocation is of an instance method, and the receiver is of a class type `T`, the associated type is picked from the first declaration or override of the method found when starting with `T` and searching through its base classes. - Otherwise, the *invocation_expression* invokes a returns-by-value method ([§15.6.1](classes.md#1561-general)) or returns-by-value delegate, and the result is a value, with an associated type of the return type of the method or delegate. If the invocation is of an instance method, and the receiver is of a class type `T`, the associated type is picked from the first declaration or override of the method found when starting with `T` and searching through its base classes. -#### 12.8.9.2 Method invocations +#### 12.8.10.2 Method invocations For a method invocation, the *primary_expression* of the *invocation_expression* shall be a method group. The method group identifies the one method to invoke or the set of overloaded methods from which to choose a specific method to invoke. In the latter case, determination of the specific method to invoke is based on the context provided by the types of the arguments in the *argument_list*. @@ -1910,14 +1910,14 @@ The binding-time processing of a method invocation of the form `M(A)`, where `M` - Once the type arguments are substituted for the corresponding method type parameters, all constructed types in the parameter list of `F` satisfy their constraints ([§8.4.5](types.md#845-satisfying-constraints)), and the parameter list of `F` is applicable with respect to `A` ([§12.6.4.2](expressions.md#12642-applicable-function-member)). - The set of candidate methods is reduced to contain only methods from the most derived types: For each method `C.F` in the set, where `C` is the type in which the method `F` is declared, all methods declared in a base type of `C` are removed from the set. Furthermore, if `C` is a class type other than `object`, all methods declared in an interface type are removed from the set. > *Note*: This latter rule only has an effect when the method group was the result of a member lookup on a type parameter having an effective base class other than `object` and a non-empty effective interface set. *end note* -- If the resulting set of candidate methods is empty, then further processing along the following steps are abandoned, and instead an attempt is made to process the invocation as an extension method invocation ([§12.8.9.3](expressions.md#12893-extension-method-invocations)). If this fails, then no applicable methods exist, and a binding-time error occurs. +- If the resulting set of candidate methods is empty, then further processing along the following steps are abandoned, and instead an attempt is made to process the invocation as an extension method invocation ([§12.8.10.3](expressions.md#128103-extension-method-invocations)). If this fails, then no applicable methods exist, and a binding-time error occurs. - The best method of the set of candidate methods is identified using the overload resolution rules of [§12.6.4](expressions.md#1264-overload-resolution). If a single best method cannot be identified, the method invocation is ambiguous, and a binding-time error occurs. When performing overload resolution, the parameters of a generic method are considered after substituting the type arguments (supplied or inferred) for the corresponding method type parameters. Once a method has been selected and validated at binding-time by the above steps, the actual run-time invocation is processed according to the rules of function member invocation described in [§12.6.6](expressions.md#1266-function-member-invocation). > *Note*: The intuitive effect of the resolution rules described above is as follows: To locate the particular method invoked by a method invocation, start with the type indicated by the method invocation and proceed up the inheritance chain until at least one applicable, accessible, non-override method declaration is found. Then perform type inference and overload resolution on the set of applicable, accessible, non-override methods declared in that type and invoke the method thus selected. If no method was found, try instead to process the invocation as an extension-method invocation. *end note* -#### 12.8.9.3 Extension method invocations +#### 12.8.10.3 Extension method invocations In a method invocation ([§12.6.6.2](expressions.md#12662-invocations-on-boxed-instances)) of one of the forms @@ -2050,7 +2050,7 @@ The preceding rules mean that instance methods take precedence over extension me > > *end example* -#### 12.8.9.4 Delegate invocations +#### 12.8.10.4 Delegate invocations For a delegate invocation, the *primary_expression* of the *invocation_expression* shall be a value of a *delegate_type*. Furthermore, considering the *delegate_type* to be a function member with the same parameter list as the *delegate_type*, the *delegate_type* shall be applicable ([§12.6.4.2](expressions.md#12642-applicable-function-member)) with respect to the *argument_list* of the *invocation_expression*. @@ -2063,9 +2063,9 @@ The run-time processing of a delegate invocation of the form `D(A)`, where `D` See [§20.6](delegates.md#206-delegate-invocation) for details of multiple invocation lists without parameters. -### 12.8.10 Null Conditional Invocation Expression +### 12.8.11 Null Conditional Invocation Expression -A *null_conditional_invocation_expression* is syntactically either a *null_conditional_member_access* ([§12.8.8](expressions.md#1288-null-conditional-member-access)) or *null_conditional_element_access* ([§12.8.12](expressions.md#12812-null-conditional-element-access)) where the final *dependent_access* is an invocation expression ([§12.8.9](expressions.md#1289-invocation-expressions)). +A *null_conditional_invocation_expression* is syntactically either a *null_conditional_member_access* ([§12.8.8](expressions.md#1288-null-conditional-member-access)) or *null_conditional_element_access* ([§12.8.13](expressions.md#12813-null-conditional-element-access)) where the final *dependent_access* is an invocation expression ([§12.8.10](expressions.md#12810-invocation-expressions)). A *null_conditional_invocation_expression* occurs within the context of a *statement_expression* ([§13.7](statements.md#137-expression-statements)), *anonymous_function_body* ([§12.19.1](expressions.md#12191-general)), or *method_body* ([§15.6.1](classes.md#1561-general)). @@ -2103,11 +2103,11 @@ When `E` occurs as a *anonymous_function_body* or *method_body* the meaning of ` { return E; } ``` - and in turn the meaning of this *block* depends on whether `E` is syntactically equivalent to a *null_conditional_member_access* ([§12.8.8](expressions.md#1288-null-conditional-member-access)) or *null_conditional_element_access* ([§12.8.12](expressions.md#12812-null-conditional-element-access)). + and in turn the meaning of this *block* depends on whether `E` is syntactically equivalent to a *null_conditional_member_access* ([§12.8.8](expressions.md#1288-null-conditional-member-access)) or *null_conditional_element_access* ([§12.8.13](expressions.md#12813-null-conditional-element-access)). -### 12.8.11 Element access +### 12.8.12 Element access -#### 12.8.11.1 General +#### 12.8.12.1 General An *element_access* consists of a *primary_no_array_creation_expression*, followed by a “`[`” token, followed by an *argument_list*, followed by a “`]`” token. The *argument_list* consists of one or more *argument*s, separated by commas. @@ -2126,9 +2126,9 @@ An *element_access* is dynamically bound ([§12.3.3](expressions.md#1233-dynamic In this case, the compiler classifies the *element_access* as a value of type `dynamic`. The rules below to determine the meaning of the *element_access* are then applied at run-time, using the run-time type instead of the compile-time type of those of the *primary_no_array_creation_expression* and *argument_list* expressions which have the compile-time type `dynamic`. If the *primary_no_array_creation_expression* does not have compile-time type `dynamic`, then the element access undergoes a limited compile-time check as described in [§12.6.5](expressions.md#1265-compile-time-checking-of-dynamic-member-invocation). -If the *primary_no_array_creation_expression* of an *element_access* is a value of an *array_type*, the *element_access* is an array access ([§12.8.11.2](expressions.md#128112-array-access)). Otherwise, the *primary_no_array_creation_expression* shall be a variable or value of a class, struct, or interface type that has one or more indexer members, in which case the *element_access* is an indexer access ([§12.8.11.3](expressions.md#128113-indexer-access)). +If the *primary_no_array_creation_expression* of an *element_access* is a value of an *array_type*, the *element_access* is an array access ([§12.8.12.2](expressions.md#128122-array-access)). Otherwise, the *primary_no_array_creation_expression* shall be a variable or value of a class, struct, or interface type that has one or more indexer members, in which case the *element_access* is an indexer access ([§12.8.12.3](expressions.md#128123-indexer-access)). -#### 12.8.11.2 Array access +#### 12.8.12.2 Array access For an array access, the *primary_no_array_creation_expression* of the *element_access* shall be a value of an *array_type*. Furthermore, the *argument_list* of an array access is not allowed to contain named arguments. The number of expressions in the *argument_list* shall be the same as the rank of the *array_type*, and each expression shall be of type `int`, `uint`, `long`, or `ulong,` or shall be implicitly convertible to one or more of these types. @@ -2142,7 +2142,7 @@ The run-time processing of an array access of the form `P[A]`, where `P` is a *p - The value of each expression in the *argument_list* is checked against the actual bounds of each dimension of the array instance referenced by `P`. If one or more values are out of range, a `System.IndexOutOfRangeException` is thrown and no further steps are executed. - The location of the array element given by the index expression(s) is computed, and this location becomes the result of the array access. -#### 12.8.11.3 Indexer access +#### 12.8.12.3 Indexer access For an indexer access, the *primary_no_array_creation_expression* of the *element_access* shall be a variable or value of a class, struct, or interface type, and this type shall implement one or more indexers that are applicable with respect to the *argument_list* of the *element_access*. @@ -2159,7 +2159,7 @@ The binding-time processing of an indexer access of the form `P[A]`, where `P` i Depending on the context in which it is used, an indexer access causes invocation of either the get accessor or the set accessor of the indexer. If the indexer access is the target of an assignment, the set accessor is invoked to assign a new value ([§12.21.2](expressions.md#12212-simple-assignment)). In all other cases, the get accessor is invoked to obtain the current value ([§12.2.2](expressions.md#1222-values-of-expressions)). -### 12.8.12 Null Conditional Element Access +### 12.8.13 Null Conditional Element Access A *null_conditional_element_access* consists of a *primary_no_array_creation_expression* followed by the two tokens “`?`” and “`[`”, followed by an *argument_list*, followed by a “`]`” token, followed by zero or more *dependent_access*es. @@ -2170,7 +2170,7 @@ null_conditional_element_access ; ``` -A *null_conditional_element_access* is a conditional version of *element_access* ([§12.8.11](expressions.md#12811-element-access)) and it is a binding time error if the result type is `void`. For a null conditional expression where the result type may be `void` see ([§12.8.10](expressions.md#12810-null-conditional-invocation-expression)). +A *null_conditional_element_access* is a conditional version of *element_access* ([§12.8.12](expressions.md#12812-element-access)) and it is a binding time error if the result type is `void`. For a null conditional expression where the result type may be `void` see ([§12.8.11](expressions.md#12811-null-conditional-invocation-expression)). A *null_conditional_element_access* expression `E` is of the form `P?[A]B`; where `B` are the *dependent_access*es, if any. The meaning of `E` is determined as follows: @@ -2224,7 +2224,7 @@ A *null_conditional_element_access* expression `E` is of the form `P?[A]B`; wher > > *end note* -### 12.8.13 This access +### 12.8.14 This access A *this_access* consists of the keyword `this`. @@ -2249,7 +2249,7 @@ A *this_access* is permitted only in the *block* of an instance constructor, an Use of `this` in a *primary_expression* in a context other than the ones listed above is a compile-time error. In particular, it is not possible to refer to `this` in a static method, a static property accessor, or in a *variable_initializer* of a field declaration. -### 12.8.14 Base access +### 12.8.15 Base access A *base_access* consists of the keyword base followed by either a “`.`” token and an identifier and optional *type_argument_list* or an *argument_list* enclosed in square brackets: @@ -2268,7 +2268,7 @@ When a *base_access* references a virtual function member (a method, property, o > *Note*: Unlike `this`, `base` is not an expression in itself. It is a keyword only used in the context of a *base_access* or a *constructor_initializer* ([§15.11.2](classes.md#15112-constructor-initializers)). *end note* -### 12.8.15 Postfix increment and decrement operators +### 12.8.16 Postfix increment and decrement operators ```ANTLR post_increment_expression @@ -2309,9 +2309,9 @@ The `++` and `--` operators also support prefix notation ([§12.9.6](expressions An operator `++` or operator `--` implementation can be invoked using either postfix or prefix notation. It is not possible to have separate operator implementations for the two notations. -### 12.8.16 The new operator +### 12.8.17 The new operator -#### 12.8.16.1 General +#### 12.8.17.1 General The `new` operator is used to create new instances of types. @@ -2325,7 +2325,7 @@ The `new` operator implies creation of an instance of a type, but does not neces > *Note*: Delegate creation expressions do not always create new instances. When the expression is processed in the same way as a method group conversion ([§10.8](conversions.md#108-method-group-conversions)) or an anonymous function conversion ([§10.7](conversions.md#107-anonymous-function-conversions)) this may result in an existing delegate instance being reused. *end note* -#### 12.8.16.2 Object creation expressions +#### 12.8.17.2 Object creation expressions An *object_creation_expression* is used to create a new instance of a *class_type* or a *value_type*. @@ -2347,7 +2347,7 @@ The optional *argument_list* ([§12.6.2](expressions.md#1262-argument-lists)) is An object creation expression can omit the constructor argument list and enclosing parentheses provided it includes an object initializer or collection initializer. Omitting the constructor argument list and enclosing parentheses is equivalent to specifying an empty argument list. -Processing of an object creation expression that includes an object initializer or collection initializer consists of first processing the instance constructor and then processing the member or element initializations specified by the object initializer ([§12.8.16.3](expressions.md#128163-object-initializers)) or collection initializer ([§12.8.16.4](expressions.md#128164-collection-initializers)). +Processing of an object creation expression that includes an object initializer or collection initializer consists of first processing the instance constructor and then processing the member or element initializations specified by the object initializer ([§12.8.17.3](expressions.md#128173-object-initializers)) or collection initializer ([§12.8.17.4](expressions.md#128174-collection-initializers)). If any of the arguments in the optional *argument_list* has the compile-time type `dynamic` then the *object_creation_expression* is dynamically bound ([§12.3.3](expressions.md#1233-dynamic-binding)) and the following rules are applied at run-time using the run-time type of those arguments of the *argument_list* that have the compile-time type `dynamic`. However, the object creation undergoes a limited compile-time check as described in [§12.6.5](expressions.md#1265-compile-time-checking-of-dynamic-member-invocation). @@ -2376,7 +2376,7 @@ The run-time processing of an *object_creation_expression* of the form new `T(A) - An instance of type `T` is created by allocating a temporary local variable. Since an instance constructor of a *struct_type* is required to definitely assign a value to each field of the instance being created, no initialization of the temporary variable is necessary. - The instance constructor is invoked according to the rules of function member invocation ([§12.6.6](expressions.md#1266-function-member-invocation)). A reference to the newly allocated instance is automatically passed to the instance constructor and the instance can be accessed from within that constructor as this. -#### 12.8.16.3 Object initializers +#### 12.8.17.3 Object initializers An ***object initializer*** specifies values for zero or more fields, properties, or indexed elements of an object. @@ -2415,7 +2415,7 @@ A member initializer that specifies an expression after the equals sign is proce A member initializer that specifies an object initializer after the equals sign is a ***nested object initializer***, i.e., an initialization of an embedded object. Instead of assigning a new value to the field or property, the assignments in the nested object initializer are treated as assignments to members of the field or property. Nested object initializers cannot be applied to properties with a value type, or to read-only fields with a value type. -A member initializer that specifies a collection initializer after the equals sign is an initialization of an embedded collection. Instead of assigning a new collection to the target field, property, or indexer, the elements given in the initializer are added to the collection referenced by the target. The target shall be of a collection type that satisfies the requirements specified in [§12.8.16.4](expressions.md#128164-collection-initializers). +A member initializer that specifies a collection initializer after the equals sign is an initialization of an embedded collection. Instead of assigning a new collection to the target field, property, or indexer, the elements given in the initializer are added to the collection referenced by the target. The target shall be of a collection type that satisfies the requirements specified in [§12.8.17.4](expressions.md#128174-collection-initializers). When an initializer target refers to an indexer, the arguments to the indexer shall always be evaluated exactly once. Thus, even if the arguments end up never getting used (e.g., because of an empty nested initializer), they are evaluated for their side effects. @@ -2525,7 +2525,7 @@ When an initializer target refers to an indexer, the arguments to the indexer sh > > *end example* -#### 12.8.16.4 Collection initializers +#### 12.8.17.4 Collection initializers A collection initializer specifies the elements of a collection. @@ -2615,7 +2615,7 @@ The collection object to which a collection initializer is applied shall be of a > > *end example* -#### 12.8.16.5 Array creation expressions +#### 12.8.17.5 Array creation expressions An *array_creation_expression* is used to create a new instance of an *array_type*. @@ -2722,7 +2722,7 @@ An array creation expression permits instantiation of an array with elements of > > *end example* -Implicitly typed array creation expressions can be combined with anonymous object initializers ([§12.8.16.7](expressions.md#128167-anonymous-object-creation-expressions)) to create anonymously typed data structures. +Implicitly typed array creation expressions can be combined with anonymous object initializers ([§12.8.17.7](expressions.md#128177-anonymous-object-creation-expressions)) to create anonymously typed data structures. > *Example*: > @@ -2745,7 +2745,7 @@ Implicitly typed array creation expressions can be combined with anonymous objec > > *end example* -#### 12.8.16.6 Delegate creation expressions +#### 12.8.17.6 Delegate creation expressions A *delegate_creation_expression* is used to obtain an instance of a *delegate_type*. @@ -2757,7 +2757,7 @@ delegate_creation_expression The argument of a delegate creation expression shall be a method group, an anonymous function, or a value of either the compile-time type `dynamic` or a *delegate_type*. If the argument is a method group, it identifies the method and, for an instance method, the object for which to create a delegate. If the argument is an anonymous function it directly defines the parameters and method body of the delegate target. If the argument is a value it identifies a delegate instance of which to create a copy. -If the *expression* has the compile-time type `dynamic`, the *delegate_creation_expression* is dynamically bound ([§12.8.16.6](expressions.md#128166-delegate-creation-expressions)), and the rules below are applied at run-time using the run-time type of the *expression*. Otherwise, the rules are applied at compile-time. +If the *expression* has the compile-time type `dynamic`, the *delegate_creation_expression* is dynamically bound ([§12.8.17.6](expressions.md#128176-delegate-creation-expressions)), and the rules below are applied at run-time using the run-time type of the *expression*. Otherwise, the rules are applied at compile-time. The binding-time processing of a *delegate_creation_expression* of the form new `D(E)`, where `D` is a *delegate_type* and `E` is an *expression*, consists of the following steps: @@ -2801,7 +2801,7 @@ It is not possible to create a delegate that refers to a property, indexer, user > > *end example* -#### 12.8.16.7 Anonymous object creation expressions +#### 12.8.17.7 Anonymous object creation expressions An *anonymous_object_creation_expression* is used to create an object of an anonymous type. @@ -2880,7 +2880,7 @@ Within the same program, two anonymous object initializers that specify a sequen The `Equals` and `GetHashcode` methods on anonymous types override the methods inherited from `object`, and are defined in terms of the `Equals` and `GetHashcode` of the properties, so that two instances of the same anonymous type are equal if and only if all their properties are equal. -A member declarator can be abbreviated to a simple name ([§12.8.4](expressions.md#1284-simple-names)), a member access ([§12.8.7](expressions.md#1287-member-access)), a null conditional projection initializer [§12.8.8](expressions.md#1288-null-conditional-member-access) or a base access ([§12.8.14](expressions.md#12814-base-access)). This is called a ***projection initializer*** and is shorthand for a declaration of and assignment to a property with the same name. Specifically, member declarators of the forms +A member declarator can be abbreviated to a simple name ([§12.8.4](expressions.md#1284-simple-names)), a member access ([§12.8.7](expressions.md#1287-member-access)), a null conditional projection initializer [§12.8.8](expressions.md#1288-null-conditional-member-access) or a base access ([§12.8.15](expressions.md#12815-base-access)). This is called a ***projection initializer*** and is shorthand for a declaration of and assignment to a property with the same name. Specifically, member declarators of the forms `«identifier»`, `«expr» . «identifier»` and `«expr» ? . «identifier»` @@ -2890,7 +2890,7 @@ are precisely equivalent to the following, respectively: Thus, in a projection initializer the identifier selects both the value and the field or property to which the value is assigned. Intuitively, a projection initializer projects not just a value, but also the name of the value. -### 12.8.17 The typeof operator +### 12.8.18 The typeof operator The `typeof` operator is used to obtain the `System.Type` object for a type. @@ -2992,7 +2992,7 @@ The `typeof` operator can be used on a type parameter. The result is the `System > > *end example* -### 12.8.18 The sizeof operator +### 12.8.19 The sizeof operator The `sizeof` operator returns the number of 8-bit bytes occupied by a variable of a given type. The type specified as an operand to sizeof shall be an *unmanaged_type* ([§8.8](types.md#88-unmanaged-types)). @@ -3022,7 +3022,7 @@ For certain predefined types the `sizeof` operator yields a constant `int` value For an enum type `T`, the result of the expression `sizeof(T)` is a constant value equal to the size of its underlying type, as given above. For all other operand types, the `sizeof` operator is specified in [§23.6.9](unsafe-code.md#2369-the-sizeof-operator). -### 12.8.19 The checked and unchecked operators +### 12.8.20 The checked and unchecked operators The `checked` and `unchecked` operators are used to control the overflow-checking context for integral-type arithmetic operations and conversions. @@ -3042,7 +3042,7 @@ The overflow checking context can also be controlled through the `checked` and ` The following operations are affected by the overflow checking context established by the checked and unchecked operators and statements: -- The predefined `++` and `--` operators ([§12.8.15](expressions.md#12815-postfix-increment-and-decrement-operators) and [§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)), when the operand is of an integral or enum type. +- The predefined `++` and `--` operators ([§12.8.16](expressions.md#12816-postfix-increment-and-decrement-operators) and [§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)), when the operand is of an integral or enum type. - The predefined `-` unary operator ([§12.9.3](expressions.md#1293-unary-minus-operator)), when the operand is of an integral type. - The predefined `+`, `-`, `*`, and `/` binary operators ([§12.10](expressions.md#1210-arithmetic-operators)), when both operands are of integral or enum types. - Explicit numeric conversions ([§10.3.2](conversions.md#1032-explicit-numeric-conversions)) from one integral or enum type to another integral or enum type, or from `float` or `double` to an integral or enum type. @@ -3137,7 +3137,7 @@ The `unchecked` operator is convenient when writing constants of the signed inte > *Note*: The `checked` and `unchecked` operators and statements allow programmers to control certain aspects of some numeric calculations. However, the behavior of some numeric operators depends on their operands’ data types. For example, multiplying two decimals always results in an exception on overflow even within an explicitly unchecked construct. Similarly, multiplying two floats never results in an exception on overflow even within an explicitly checked construct. In addition, other operators are never affected by the mode of checking, whether default or explicit. *end note* -### 12.8.20 Default value expressions +### 12.8.21 Default value expressions A default value expression is used to obtain the default value ([§9.3](variables.md#93-default-values)) of a type. @@ -3167,7 +3167,7 @@ A *default_value_expression* is a constant expression ([§12.23](expressions.md# - one of the following value types: `sbyte`, `byte`, `short`, `ushort`, `int`, `uint`, `long`, `ulong`, `char`, `float`, `double`, `decimal`, `bool,`; or - any enumeration type. -### 12.8.21 Stack allocation +### 12.8.22 Stack allocation A stack allocation expression allocates a block of memory from the execution stack. The ***execution stack*** is an area of memory where local variables are stored. The execution stack is not part of the managed heap. The memory used for local variable storage is automatically recovered when the current function returns. @@ -3267,7 +3267,7 @@ Except for the `stackalloc` operator, C# provides no predefined constructs for m > In the case of `span8`, `stackalloc` results in a `Span`, which is converted by an implicit operator to `ReadOnlySpan`. Similarly, for `span9`, the resulting `Span` is converted to the user-defined type `Widget` using the conversion, as shown. > *end example* -### 12.8.22 The nameof operator +### 12.8.23 The nameof operator A *nameof_expression* is used to obtain the name of a program entity as a constant string. @@ -3352,7 +3352,7 @@ These are the same transformations applied in [§6.4.3](lexical-structure.md#643 > Potentially surprising parts of this example are the resolution of `nameof(System.Collections.Generic)` to just “Generic” instead of the full namespace, and of `nameof(TestAlias)` to “TestAlias” rather than “String”. > *end example* -### 12.8.23 Anonymous method expressions +### 12.8.24 Anonymous method expressions An *anonymous_method_expression* is one of two ways of defining an anonymous function. These are further described in [§12.19](expressions.md#1219-anonymous-function-expressions). @@ -3465,7 +3465,7 @@ Every enumeration type `E` implicitly provides the following bitwise complement E operator ~(E x); ``` -The result of evaluating `~x`, where `X` is an expression of an enumeration type `E` with an underlying type `U`, is exactly the same as evaluating `(E)(~(U)x)`, except that the conversion to `E` is always performed as if in an `unchecked` context ([§12.8.19](expressions.md#12819-the-checked-and-unchecked-operators)). +The result of evaluating `~x`, where `X` is an expression of an enumeration type `E` with an underlying type `U`, is exactly the same as evaluating `(E)(~(U)x)`, except that the conversion to `E` is always performed as if in an `unchecked` context ([§12.8.20](expressions.md#12820-the-checked-and-unchecked-operators)). Lifted ([§12.4.8](expressions.md#1248-lifted-operators)) forms of the unlifted predefined bitwise complement operators defined above are also predefined. @@ -3503,7 +3503,7 @@ The run-time processing of a prefix increment or decrement operation of the form - The value returned by the operator is converted to the type of `x`. The set accessor of `X` is invoked with this value as its value argument. - This value also becomes the result of the operation. -The `++` and `--` operators also support postfix notation ([§12.8.15](expressions.md#12815-postfix-increment-and-decrement-operators)). Typically, the result of `x++` or `x--` is the value of `X` before the operation, whereas the result of `++x` or `--x` is the value of `X` after the operation. In either case, `x` itself has the same value after the operation. +The `++` and `--` operators also support postfix notation ([§12.8.16](expressions.md#12816-postfix-increment-and-decrement-operators)). Typically, the result of `x++` or `x--` is the value of `X` before the operation, whereas the result of `++x` or `--x` is the value of `X` after the operation. In either case, `x` itself has the same value after the operation. An operator `++` or operator `--` implementation can be invoked using either postfix or prefix notation. It is not possible to have separate operator implementations for the two notations. @@ -4078,7 +4078,7 @@ The `is` operator is described in [§12.12.12](expressions.md#121212-the-is-oper The `==`, `!=`, `<`, `>`, `<=` and `>=` operators are ***comparison operators***. -If a *default_literal* ([§12.8.20](expressions.md#12820-default-value-expressions)) is used as an operand of a `<`, `>`, `<=`, or `>=` operator, a compile-time error occurs. +If a *default_literal* ([§12.8.21](expressions.md#12821-default-value-expressions)) is used as an operand of a `<`, `>`, `<=`, or `>=` operator, a compile-time error occurs. If a *default_literal* is used as both operands of a `==` or `!=` operator, a compile-time error occurs. If a *default_literal* is used as the left operand of the `is` or `as` operator, a compile-time error occurs. If an operand of a comparison operator has the compile-time type `dynamic`, then the expression is dynamically bound ([§12.3.3](expressions.md#1233-dynamic-binding)). In this case the compile-time type of the expression is `dynamic`, and the resolution described below will take place at run-time using the run-time type of those operands that have the compile-time type `dynamic`. @@ -4960,7 +4960,7 @@ When recognising an *anonymous_function_body* if both the *null_conditional_invo -> *Note*: When treated as an *expression*, a syntactic form such as `x?.M()` would be an error if the result type of `M` is `void` ([§12.8.12](expressions.md#12812-null-conditional-element-access)). But when treated as a *null_conditional_invocation_expression*, the result type is permitted to be `void`. *end note* +> *Note*: When treated as an *expression*, a syntactic form such as `x?.M()` would be an error if the result type of `M` is `void` ([§12.8.13](expressions.md#12813-null-conditional-element-access)). But when treated as a *null_conditional_invocation_expression*, the result type is permitted to be `void`. *end note* @@ -6660,7 +6660,7 @@ A constant expression shall either have the value `null` or one of the following - `sbyte`, `byte`, `short`, `ushort`, `int`, `uint`, `long`, `ulong`, `char`, `float`, `double`, `decimal`, `bool`, `string`; - an enumeration type; or -- a default value expression ([§12.8.20](expressions.md#12820-default-value-expressions)) for a reference type. +- a default value expression ([§12.8.21](expressions.md#12821-default-value-expressions)) for a reference type. Only the following constructs are permitted in constant expressions: @@ -6709,7 +6709,7 @@ Whenever an expression fulfills the requirements listed above, the expression is The compile-time evaluation of constant expressions uses the same rules as run-time evaluation of non-constant expressions, except that where run-time evaluation would have thrown an exception, compile-time evaluation causes a compile-time error to occur. -Unless a constant expression is explicitly placed in an `unchecked` context, overflows that occur in integral-type arithmetic operations and conversions during the compile-time evaluation of the expression always cause compile-time errors ([§12.8.19](expressions.md#12819-the-checked-and-unchecked-operators)). +Unless a constant expression is explicitly placed in an `unchecked` context, overflows that occur in integral-type arithmetic operations and conversions during the compile-time evaluation of the expression always cause compile-time errors ([§12.8.20](expressions.md#12820-the-checked-and-unchecked-operators)). Constant expressions are required in the contexts listed below and this is indicated in the grammar by using *constant_expression*. In these contexts, a compile-time error occurs if an expression cannot be fully evaluated at compile-time. @@ -6718,7 +6718,7 @@ Constant expressions are required in the contexts listed below and this is indic - Default arguments of parameter lists ([§15.6.2](classes.md#1562-method-parameters)) - `case` labels of a `switch` statement ([§13.8.3](statements.md#1383-the-switch-statement)). - `goto case` statements ([§13.10.4](statements.md#13104-the-goto-statement)) -- Dimension lengths in an array creation expression ([§12.8.16.5](expressions.md#128165-array-creation-expressions)) that includes an initializer. +- Dimension lengths in an array creation expression ([§12.8.17.5](expressions.md#128175-array-creation-expressions)) that includes an initializer. - Attributes ([§22](attributes.md#22-attributes)) - In a *constant_pattern* ([§11.2.3](patterns.md#1123-constant-pattern)) diff --git a/standard/grammar.md b/standard/grammar.md index 687100ddc..058daae18 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -586,6 +586,11 @@ type // Source: §8.2.1 General reference_type + : non_nullable_reference_type + | nullable_reference_type + ; + +non_nullable_reference_type : class_type | interface_type | array_type @@ -625,6 +630,10 @@ delegate_type : type_name ; +nullable_reference_type + : non_nullable_reference_type '?' + ; + // Source: §8.3.1 General value_type : non_nullable_value_type @@ -770,6 +779,7 @@ argument_value primary_expression : primary_no_array_creation_expression | array_creation_expression + | null_forgiving_expression ; primary_no_array_creation_expression @@ -973,40 +983,49 @@ null_conditional_projection_initializer : primary_expression '?' '.' identifier type_argument_list? ; -// Source: §12.8.9.1 General +// Source: §12.8.9 Null-forgiving expressions +null_forgiving_expression + : primary_no_array_creation_expression suppression + ; + +suppression + : '!' + ; + +// Source: §12.8.10.1 General invocation_expression : primary_expression '(' argument_list? ')' ; -// Source: §12.8.10 Null Conditional Invocation Expression +// Source: §12.8.11 Null Conditional Invocation Expression null_conditional_invocation_expression : null_conditional_member_access '(' argument_list? ')' | null_conditional_element_access '(' argument_list? ')' ; -// Source: §12.8.11.1 General +// Source: §12.8.12.1 General element_access : primary_no_array_creation_expression '[' argument_list ']' ; -// Source: §12.8.12 Null Conditional Element Access +// Source: §12.8.13 Null Conditional Element Access null_conditional_element_access : primary_no_array_creation_expression '?' '[' argument_list ']' dependent_access* ; -// Source: §12.8.13 This access +// Source: §12.8.14 This access this_access : 'this' ; -// Source: §12.8.14 Base access +// Source: §12.8.15 Base access base_access : 'base' '.' identifier type_argument_list? | 'base' '[' argument_list ']' ; -// Source: §12.8.15 Postfix increment and decrement operators +// Source: §12.8.16 Postfix increment and decrement operators post_increment_expression : primary_expression '++' ; @@ -1015,7 +1034,7 @@ post_decrement_expression : primary_expression '--' ; -// Source: §12.8.16.2 Object creation expressions +// Source: §12.8.17.2 Object creation expressions object_creation_expression : 'new' type '(' argument_list? ')' object_or_collection_initializer? | 'new' type object_or_collection_initializer @@ -1026,7 +1045,7 @@ object_or_collection_initializer | collection_initializer ; -// Source: §12.8.16.3 Object initializers +// Source: §12.8.17.3 Object initializers object_initializer : '{' member_initializer_list? '}' | '{' member_initializer_list ',' '}' @@ -1050,7 +1069,7 @@ initializer_value | object_or_collection_initializer ; -// Source: §12.8.16.4 Collection initializers +// Source: §12.8.17.4 Collection initializers collection_initializer : '{' element_initializer_list '}' | '{' element_initializer_list ',' '}' @@ -1070,7 +1089,7 @@ expression_list | expression_list ',' expression ; -// Source: §12.8.16.5 Array creation expressions +// Source: §12.8.17.5 Array creation expressions array_creation_expression : 'new' non_array_type '[' expression_list ']' rank_specifier* array_initializer? @@ -1078,12 +1097,12 @@ array_creation_expression | 'new' rank_specifier array_initializer ; -// Source: §12.8.16.6 Delegate creation expressions +// Source: §12.8.17.6 Delegate creation expressions delegate_creation_expression : 'new' delegate_type '(' expression ')' ; -// Source: §12.8.16.7 Anonymous object creation expressions +// Source: §12.8.17.7 Anonymous object creation expressions anonymous_object_creation_expression : 'new' anonymous_object_initializer ; @@ -1105,7 +1124,7 @@ member_declarator | identifier '=' expression ; -// Source: §12.8.17 The typeof operator +// Source: §12.8.18 The typeof operator typeof_expression : 'typeof' '(' type ')' | 'typeof' '(' unbound_type_name ')' @@ -1127,12 +1146,12 @@ comma ; -// Source: §12.8.18 The sizeof operator +// Source: §12.8.19 The sizeof operator sizeof_expression : 'sizeof' '(' unmanaged_type ')' ; -// Source: §12.8.19 The checked and unchecked operators +// Source: §12.8.20 The checked and unchecked operators checked_expression : 'checked' '(' expression ')' ; @@ -1141,7 +1160,7 @@ unchecked_expression : 'unchecked' '(' expression ')' ; -// Source: §12.8.20 Default value expressions +// Source: §12.8.21 Default value expressions default_value_expression : explictly_typed_default | default_literal @@ -1155,7 +1174,7 @@ default_literal : 'default' ; -// Source: §12.8.21 Stack allocation +// Source: §12.8.22 Stack allocation stackalloc_expression : 'stackalloc' unmanaged_type '[' expression ']' | 'stackalloc' unmanaged_type? '[' constant_expression? ']' @@ -1174,7 +1193,7 @@ stackalloc_element_initializer : expression ; -// Source: §12.8.22 The nameof operator +// Source: §12.8.23 The nameof operator nameof_expression : 'nameof' '(' named_entity ')' ; diff --git a/standard/interfaces.md b/standard/interfaces.md index 467b25071..cb807179a 100644 --- a/standard/interfaces.md +++ b/standard/interfaces.md @@ -379,9 +379,9 @@ The type of an interface indexer shall be output-safe if there is a get accessor ### 18.4.6 Interface member access -Interface members are accessed through member access ([§12.8.7](expressions.md#1287-member-access)) and indexer access ([§12.8.11.3](expressions.md#128113-indexer-access)) expressions of the form `I.M` and `I[A]`, where `I` is an interface type, `M` is a method, property, or event of that interface type, and `A` is an indexer argument list. +Interface members are accessed through member access ([§12.8.7](expressions.md#1287-member-access)) and indexer access ([§12.8.12.3](expressions.md#128123-indexer-access)) expressions of the form `I.M` and `I[A]`, where `I` is an interface type, `M` is a method, property, or event of that interface type, and `A` is an indexer argument list. -For interfaces that are strictly single-inheritance (each interface in the inheritance chain has exactly zero or one direct base interface), the effects of the member lookup ([§12.5](expressions.md#125-member-lookup)), method invocation ([§12.8.9.2](expressions.md#12892-method-invocations)), and indexer access ([§12.8.11.3](expressions.md#128113-indexer-access)) rules are exactly the same as for classes and structs: More derived members hide less derived members with the same name or signature. However, for multiple-inheritance interfaces, ambiguities can occur when two or more unrelated base interfaces declare members with the same name or signature. This subclause shows several examples, some of which lead to ambiguities and others which don’t. In all cases, explicit casts can be used to resolve the ambiguities. +For interfaces that are strictly single-inheritance (each interface in the inheritance chain has exactly zero or one direct base interface), the effects of the member lookup ([§12.5](expressions.md#125-member-lookup)), method invocation ([§12.8.10.2](expressions.md#128102-method-invocations)), and indexer access ([§12.8.12.3](expressions.md#128123-indexer-access)) rules are exactly the same as for classes and structs: More derived members hide less derived members with the same name or signature. However, for multiple-inheritance interfaces, ambiguities can occur when two or more unrelated base interfaces declare members with the same name or signature. This subclause shows several examples, some of which lead to ambiguities and others which don’t. In all cases, explicit casts can be used to resolve the ambiguities. > *Example*: In the following code > diff --git a/standard/namespaces.md b/standard/namespaces.md index 1b89053b9..4842844d3 100644 --- a/standard/namespaces.md +++ b/standard/namespaces.md @@ -665,7 +665,7 @@ Within member declarations in a compilation unit or namespace body that contains > > *end example* -A *using_static_directive* specifically does not import extension methods directly as static methods, but makes them available for extension method invocation ([§12.8.9.3](expressions.md#12893-extension-method-invocations)). +A *using_static_directive* specifically does not import extension methods directly as static methods, but makes them available for extension method invocation ([§12.8.10.3](expressions.md#128103-extension-method-invocations)). > *Example*: > diff --git a/standard/portability-issues.md b/standard/portability-issues.md index 741482e4e..6383d4fb7 100644 --- a/standard/portability-issues.md +++ b/standard/portability-issues.md @@ -16,8 +16,8 @@ The behavior is undefined in the following circumstances: 1. When the unary `*` operator is applied to a pointer containing an invalid value ([§23.6.2](unsafe-code.md#2362-pointer-indirection)). 1. When a pointer is subscripted to access an out-of-bounds element ([§23.6.4](unsafe-code.md#2364-pointer-element-access)). 1. Modifying objects of managed type through fixed pointers ([§23.7](unsafe-code.md#237-the-fixed-statement)). -1. The content of memory newly allocated by `stackalloc` ([§12.8.21](expressions.md#12821-stack-allocation)). -1. Attempting to allocate a negative number of items using `stackalloc`([§12.8.21](expressions.md#12821-stack-allocation)). +1. The content of memory newly allocated by `stackalloc` ([§12.8.22](expressions.md#12822-stack-allocation)). +1. Attempting to allocate a negative number of items using `stackalloc`([§12.8.22](expressions.md#12822-stack-allocation)). 1. Implicit dynamic conversions ([§10.2.10](conversions.md#10210-implicit-dynamic-conversions)) of input parameters with value arguments ([§12.6.4.2](expressions.md#12642-applicable-function-member)). ## B.3 Implementation-defined behavior @@ -38,7 +38,7 @@ A conforming implementation is required to document its choice of behavior in ea 1. The API surface provided by `Expression` beyond the requirement for a `Compile` method. ([§8.6](types.md#86-expression-tree-types)) 1. The precise structure of the expression tree, as well as the exact process for creating it, when an anonymous function is converted to an expression-tree. ([§10.7.3](conversions.md#1073-evaluation-of-lambda-expression-conversions-to-expression-tree-types)) 1. The reason a conversion to a compatible delegate type may fail at compile-time. ([§10.7.3](conversions.md#1073-evaluation-of-lambda-expression-conversions-to-expression-tree-types)) -1. The value returned when a stack allocation of size zero is made. ([§12.8.21](expressions.md#12821-stack-allocation)) +1. The value returned when a stack allocation of size zero is made. ([§12.8.22](expressions.md#12822-stack-allocation)) 1. Whether a `System.ArithmeticException` (or a subclass thereof) is thrown or the overflow goes unreported with the resulting value being that of the left operand, when in an `unchecked` context and the left operand of an integer division is the maximum negative `int` or `long` value and the right operand is `–1`. ([§12.10.3](expressions.md#12103-division-operator)) 1. When a `System.ArithmeticException` (or a subclass thereof) is thrown when performing a decimal remainder operation. ([§12.10.4](expressions.md#12104-remainder-operator)) 1. The impact of thread termination when a thread has no handler for an exception, and the thread is itself terminated. ([§13.10.6](statements.md#13106-the-throw-statement)) @@ -58,7 +58,7 @@ A conforming implementation is required to document its choice of behavior in ea 1. The representation of `true` ([§8.3.9](types.md#839-the-bool-type)). 1. The value of the result when converting out-of-range values from `float` or `double` values to an integral type in an `unchecked` context ([§10.3.2](conversions.md#1032-explicit-numeric-conversions)). 1. The exact target object and target method of the delegate produced from an *anonymous_method_expression* contains ([§10.7.2](conversions.md#1072-evaluation-of-anonymous-function-conversions-to-delegate-types)). -1. The layout of arrays, except in an unsafe context ([§12.8.16.5](expressions.md#128165-array-creation-expressions)). +1. The layout of arrays, except in an unsafe context ([§12.8.17.5](expressions.md#128175-array-creation-expressions)). 1. Whether there is any way to execute the *block* of an anonymous function other than through evaluation and invocation of the *lambda_expression* or *anonymous_method-expression* ([§12.19.3](expressions.md#12193-anonymous-function-bodies)). 1. The exact timing of static field initialization ([§15.5.6.2](classes.md#15562-static-field-initialization)). 1. The result of invoking `MoveNext` when an enumerator object is running ([§15.14.5.2](classes.md#151452-the-movenext-method)). diff --git a/standard/statements.md b/standard/statements.md index 67656a3e0..a634876e3 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -1756,7 +1756,7 @@ unchecked_statement The `checked` statement causes all expressions in the *block* to be evaluated in a checked context, and the `unchecked` statement causes all expressions in the *block* to be evaluated in an unchecked context. -The `checked` and `unchecked` statements are precisely equivalent to the `checked` and `unchecked` operators ([§12.8.19](expressions.md#12819-the-checked-and-unchecked-operators)), except that they operate on blocks instead of expressions. +The `checked` and `unchecked` statements are precisely equivalent to the `checked` and `unchecked` operators ([§12.8.20](expressions.md#12820-the-checked-and-unchecked-operators)), except that they operate on blocks instead of expressions. ## 13.13 The lock statement diff --git a/standard/structs.md b/standard/structs.md index 19ead1b7b..a44e713e6 100644 --- a/standard/structs.md +++ b/standard/structs.md @@ -295,7 +295,7 @@ For further details on boxing and unboxing, see [§10.2.9](conversions.md#1029-b ### 16.4.7 Meaning of this -The meaning of `this` in a struct differs from the meaning of `this` in a class, as described in [§12.8.13](expressions.md#12813-this-access). When a struct type overrides a virtual method inherited from `System.ValueType` (such as `Equals`, `GetHashCode`, or `ToString`), invocation of the virtual method through an instance of the struct type does not cause boxing to occur. This is true even when the struct is used as a type parameter and the invocation occurs through an instance of the type parameter type. +The meaning of `this` in a struct differs from the meaning of `this` in a class, as described in [§12.8.14](expressions.md#12814-this-access). When a struct type overrides a virtual method inherited from `System.ValueType` (such as `Equals`, `GetHashCode`, or `ToString`), invocation of the virtual method through an instance of the struct type does not cause boxing to occur. This is true even when the struct is used as a type parameter and the invocation occurs through an instance of the type parameter type. > *Example*: > diff --git a/standard/types.md b/standard/types.md index 185e4c287..806589bb8 100644 --- a/standard/types.md +++ b/standard/types.md @@ -80,13 +80,13 @@ nullable_reference_type ; ``` -*pointer_type* is available only in unsafe code ([§23.3](unsafe-code.md#233-pointer-types)). *nullable_reference_type* is discussed further in §Types-And-Nullability. +*pointer_type* is available only in unsafe code ([§23.3](unsafe-code.md#233-pointer-types)). *nullable_reference_type* is discussed further in [§8.9](types.md#89-reference-types-and-nullability). A reference type value is a reference to an ***instance*** of the type, the latter known as an object. The special value `null` is compatible with all reference types and indicates the absence of an instance. ### 8.2.2 Class types -A class type defines a data structure that contains ***data members*** (constants and fields), ***function members*** (methods, properties, events, indexers, operators, instance constructors, finalizers, and static constructors), and nested types. Class types support inheritance, a mechanism whereby derived classes can extend and specialize base classes. Instances of class types are created using *object_creation_expression*s ([§12.8.16.2](expressions.md#128162-object-creation-expressions)). +A class type defines a data structure that contains ***data members*** (constants and fields), ***function members*** (methods, properties, events, indexers, operators, instance constructors, finalizers, and static constructors), and nested types. Class types support inheritance, a mechanism whereby derived classes can extend and specialize base classes. Instances of class types are created using *object_creation_expression*s ([§12.8.17.2](expressions.md#128172-object-creation-expressions)). Class types are described in [§15](classes.md#15-classes). @@ -237,7 +237,7 @@ All value types implicitly declare a public parameterless instance constructor c Like any other instance constructor, the default constructor of a value type is invoked using the `new` operator. -> *Note*: For efficiency reasons, this requirement is not intended to actually have the implementation generate a constructor call. For value types, the default value expression ([§12.8.20](expressions.md#12820-default-value-expressions)) produces the same result as using the default constructor. *end note* +> *Note*: For efficiency reasons, this requirement is not intended to actually have the implementation generate a constructor call. For value types, the default value expression ([§12.8.21](expressions.md#12821-default-value-expressions)) produces the same result as using the default constructor. *end note* @@ -336,7 +336,7 @@ The `char` type is classified as an integral type, but it differs from the other > `(char)10` is the same as `'\x000A'`. > *end example* -The `checked` and `unchecked` operators and statements are used to control overflow checking for integral-type arithmetic operations and conversions ([§12.8.19](expressions.md#12819-the-checked-and-unchecked-operators)). In a `checked` context, an overflow produces a compile-time error or causes a `System.OverflowException` to be thrown. In an `unchecked` context, overflows are ignored and any high-order bits that do not fit in the destination type are discarded. +The `checked` and `unchecked` operators and statements are used to control overflow checking for integral-type arithmetic operations and conversions ([§12.8.20](expressions.md#12820-the-checked-and-unchecked-operators)). In a `checked` context, an overflow produces a compile-time error or causes a `System.OverflowException` to be thrown. In an `unchecked` context, overflows are ignored and any high-order bits that do not fit in the destination type are discarded. ### 8.3.7 Floating-point types @@ -407,7 +407,7 @@ Element names within a tuple type shall be distinct. A tuple element name of the The optional element names are not represented in the `ValueTuple<...>` types, and are not stored in the runtime representation of a tuple value. Identity conversions ([§10.2.2](conversions.md#1022-identity-conversion)) exist between tuples with identity-convertible sequences of element types. -The `new` operator [§12.8.16.2](expressions.md#128162-object-creation-expressions) cannot be applied with the tuple type syntax `new (T1, ..., Tn)`. Tuple values can be created from tuple expressions ([§12.8.6](expressions.md#1286-tuple-expressions)), or by applying the `new` operator directly to a type constructed from `ValueTuple<...>`. +The `new` operator [§12.8.17.2](expressions.md#128172-object-creation-expressions) cannot be applied with the tuple type syntax `new (T1, ..., Tn)`. Tuple values can be created from tuple expressions ([§12.8.6](expressions.md#1286-tuple-expressions)), or by applying the `new` operator directly to a type constructed from `ValueTuple<...>`. Tuple elements are public fields with the names `Item1`, `Item2`, etc., and can be accessed via a member access on a tuple value ([§12.8.7](expressions.md#1287-member-access). Additionally, if the tuple type has a name for a given element, that name can be used to access the element in question. @@ -442,7 +442,7 @@ Tuple elements are public fields with the names `Item1`, `Item2`, etc., and can A ***nullable value type*** can represent all values of its underlying type plus an additional null value. A nullable value type is written `T?`, where `T` is the underlying type. This syntax is shorthand for `System.Nullable`, and the two forms can be used interchangeably. -Conversely, a ***non-nullable value type*** is any value type other than `System.Nullable` and its shorthand `T?` (for any `T`), plus any type parameter that is constrained to be a non-nullable value type (that is, any type parameter with a value type constraint ([§15.2.5](classes.md#1525-type-parameter-constraints))). The `System.Nullable` type specifies the value type constraint for `T`, which means that the underlying type of a nullable value type can be any non-nullable value type. The underlying type of a nullable value type cannot be a nullable value type or a reference type. For example, `int??` is an invalid type. Nullable reference types are covered in §Types-And-Nullability. +Conversely, a ***non-nullable value type*** is any value type other than `System.Nullable` and its shorthand `T?` (for any `T`), plus any type parameter that is constrained to be a non-nullable value type (that is, any type parameter with a value type constraint ([§15.2.5](classes.md#1525-type-parameter-constraints))). The `System.Nullable` type specifies the value type constraint for `T`, which means that the underlying type of a nullable value type can be any non-nullable value type. The underlying type of a nullable value type cannot be a nullable value type or a reference type. For example, `int??` is an invalid type. Nullable reference types are covered in [§8.9](types.md#89-reference-types-and-nullability). An instance of a nullable value type `T?` has two public read-only properties: @@ -475,7 +475,7 @@ Boxing is described in more detail in [§10.2.9](conversions.md#1029-boxing-conv ### 8.4.1 General -A generic type declaration, by itself, denotes an ***unbound generic type*** that is used as a “blueprint” to form many different types, by way of applying ***type arguments***. The type arguments are written within angle brackets (`<` and `>`) immediately following the name of the generic type. A type that includes at least one type argument is called a ***constructed type***. A constructed type can be used in most places in the language in which a type name can appear. An unbound generic type can only be used within a *typeof_expression* ([§12.8.17](expressions.md#12817-the-typeof-operator)). +A generic type declaration, by itself, denotes an ***unbound generic type*** that is used as a “blueprint” to form many different types, by way of applying ***type arguments***. The type arguments are written within angle brackets (`<` and `>`) immediately following the name of the generic type. A type that includes at least one type argument is called a ***constructed type***. A constructed type can be used in most places in the language in which a type name can appear. An unbound generic type can only be used within a *typeof_expression* ([§12.8.18](expressions.md#12818-the-typeof-operator)). Constructed types can also be used in expressions as simple names ([§12.8.4](expressions.md#1284-simple-names)) or when accessing a member ([§12.8.7](expressions.md#1287-member-access)). @@ -561,7 +561,7 @@ Two closed constructed types are identity convertible ([§10.2.2](conversions.md The term ***unbound type*** refers to a non-generic type or an unbound generic type. The term ***bound type*** refers to a non-generic type or a constructed type. -An unbound type refers to the entity declared by a type declaration. An unbound generic type is not itself a type, and cannot be used as the type of a variable, argument or return value, or as a base type. The only construct in which an unbound generic type can be referenced is the `typeof` expression ([§12.8.17](expressions.md#12817-the-typeof-operator)). +An unbound type refers to the entity declared by a type declaration. An unbound generic type is not itself a type, and cannot be used as the type of a variable, argument or return value, or as a base type. The only construct in which an unbound generic type can be referenced is the `typeof` expression ([§12.8.18](expressions.md#12818-the-typeof-operator)). ### 8.4.5 Satisfying constraints @@ -619,8 +619,8 @@ Since a type parameter can be instantiated with many different type arguments, t > - A type parameter cannot be used directly to declare a base class ([§15.2.4.2](classes.md#15242-base-classes)) or interface ([§18.2.4](interfaces.md#1824-base-interfaces)). > - The rules for member lookup on type parameters depend on the constraints, if any, applied to the type parameter. They are detailed in [§12.5](expressions.md#125-member-lookup). > - The available conversions for a type parameter depend on the constraints, if any, applied to the type parameter. They are detailed in [§10.2.12](conversions.md#10212-implicit-conversions-involving-type-parameters) and [§10.3.8](conversions.md#1038-explicit-conversions-involving-type-parameters). -> - The literal `null` cannot be converted to a type given by a type parameter, except if the type parameter is known to be a reference type ([§10.2.12](conversions.md#10212-implicit-conversions-involving-type-parameters)). However, a default expression ([§12.8.20](expressions.md#12820-default-value-expressions)) can be used instead. In addition, a value with a type given by a type parameter *can* be compared with null using `==` and `!=` ([§12.12.7](expressions.md#12127-reference-type-equality-operators)) unless the type parameter has the value type constraint. -> - A `new` expression ([§12.8.16.2](expressions.md#128162-object-creation-expressions)) can only be used with a type parameter if the type parameter is constrained by a *constructor_constraint* or the value type constraint ([§15.2.5](classes.md#1525-type-parameter-constraints)). +> - The literal `null` cannot be converted to a type given by a type parameter, except if the type parameter is known to be a reference type ([§10.2.12](conversions.md#10212-implicit-conversions-involving-type-parameters)). However, a default expression ([§12.8.21](expressions.md#12821-default-value-expressions)) can be used instead. In addition, a value with a type given by a type parameter *can* be compared with null using `==` and `!=` ([§12.12.7](expressions.md#12127-reference-type-equality-operators)) unless the type parameter has the value type constraint. +> - A `new` expression ([§12.8.17.2](expressions.md#128172-object-creation-expressions)) can only be used with a type parameter if the type parameter is constrained by a *constructor_constraint* or the value type constraint ([§15.2.5](classes.md#1525-type-parameter-constraints)). > - A type parameter cannot be used anywhere within an attribute. > - A type parameter cannot be used in a member access ([§12.8.7](expressions.md#1287-member-access)) or type name ([§7.8](basic-concepts.md#78-namespace-and-type-names)) to identify a static member or a nested type. > - A type parameter cannot be used as an *unmanaged_type* ([§8.8](types.md#88-unmanaged-types)). @@ -680,7 +680,7 @@ The type `dynamic` is considered identical to `object` except in the following r - Operations on expressions of type `dynamic` can be dynamically bound ([§12.3.3](expressions.md#1233-dynamic-binding)). - Type inference ([§12.6.3](expressions.md#1263-type-inference)) will prefer `dynamic` over `object` if both are candidates. - `dynamic` cannot be used as - - the type in an *object_creation_expression* ([§12.8.16.2](expressions.md#128162-object-creation-expressions)) + - the type in an *object_creation_expression* ([§12.8.17.2](expressions.md#128172-object-creation-expressions)) - a *class_base* ([§15.2.4](classes.md#1524-class-base-specification)) - a *predefined_type* in a *member_access* ([§12.8.7.1](expressions.md#12871-general)) - the operand of the `typeof` operator @@ -716,36 +716,36 @@ An *unmanaged_type* is any type that isn’t a *reference_type*, a *type_paramet - Any user-defined *struct_type* that is not a constructed type and contains instance fields of *unmanaged_type*s only. - In unsafe code ([§23.2](unsafe-code.md#232-unsafe-contexts)), any *pointer_type* ([§23.3](unsafe-code.md#233-pointer-types)). -## §Types-And-Nullability Reference Types and nullability +## 8.9 Reference Types and nullability -### §Nullable-Types-General General +### 8.9.1 General -A *nullable reference type* is denoted by appending a `?` to a valid non-nullable reference type name. There is no semantic difference between a non-nullable reference type and its corresponding nullable type. Both a nullable reference and a non-nullable reference can contain either a reference to an object or `null`. The presence or absence of the `?` annotation declares whether an expression is intended to permit null values or not. A compiler can provide diagnostics when an expression is not used according to that intent. The null state of an expression is defined in §Nullabilities-And-Null-States. An identity conversion exists among a nullable reference type and its corresponding non-nullable reference type (§10.2.2). +A *nullable reference type* is denoted by appending a `?` to a valid non-nullable reference type name. There is no semantic difference between a non-nullable reference type and its corresponding nullable type. Both a nullable reference and a non-nullable reference can contain either a reference to an object or `null`. The presence or absence of the `?` annotation declares whether an expression is intended to permit null values or not. A compiler can provide diagnostics when an expression is not used according to that intent. The null state of an expression is defined in [§8.9.5](types.md#895-nullabilities-and-null-states). An identity conversion exists among a nullable reference type and its corresponding non-nullable reference type ([§10.2.2](conversions.md#1022-identity-conversion)). There are two forms of nullability for reference types: - *nullable*: A *nullable-reference-type* can be assigned `null`. Its default null state is *maybe-null*. -- *non-nullable*" A *non-nullable reference* should not be assigned a `null` value. Its default null state is *not-null*. +- *non-nullable*” A *non-nullable reference* should not be assigned a `null` value. Its default null state is *not-null*. > *Note:* The types `R` and `R?` are represented by the same underlying type, `R`. A variable of that underlying type can either contain a reference to an object or be the value `null`, which indicates “no reference.” *end note* -The syntactic distinction between a *nullable reference type* and its corresponding *non-nullable reference type* enables a compiler to generate diagnostics. A compiler must allow the `?` annotation as defined in §8.2.1. The diagnostics must be limited to warnings. Neither the presence or absence of nullable annotations, nor the state of the nullable context can change the compile time or runtime behavior of a program except for changes in any diagnostic messages generated at compile time. +The syntactic distinction between a *nullable reference type* and its corresponding *non-nullable reference type* enables a compiler to generate diagnostics. A compiler must allow the `?` annotation as defined in [§8.2.1](types.md#821-general). The diagnostics must be limited to warnings. Neither the presence or absence of nullable annotations, nor the state of the nullable context can change the compile time or runtime behavior of a program except for changes in any diagnostic messages generated at compile time. -### §Non-nullable-reference-types Non-nullable reference types +### 8.9.2 Non-nullable reference types A ***non-nullable reference type*** is a reference type of the form `T`, where `T` is the name of the type. The default null-state of a non-nullable variable is *not-null*. Warnings may be generated when an expression that is *maybe-null* is used where a *not-null* value is required. -### §Nullable-reference-types Nullable reference types +### 8.9.3 Nullable reference types A reference type of the form `T?` (such as `string?`) is a ***nullable reference type***. The default null-state of a nullable variable is *maybe null*. The annotation `?` indicates the intent that variables of this type are nullable. The compiler can recognize these intents to issue warnings. When the nullable annotation context is disabled, using this annotation can generate a warning. -### §Nullable-Contexts Nullable context +### 8.9.4 Nullable context -#### §Nullable-Contexts-General General +#### 8.9.4.1 General -Every line of source code has a ***nullable context***. The annotations and warnings flags for the nullable context control nullable annotations (§Nullable-Annotation-Context) and nullable warnings (§Nullable-Warning-Context), respectively. Each flag can be *enabled* or *disabled*. The compiler can use static flow analysis to determine the null state of any reference variable. A reference variable’s null state (§Nullabilities-And-Null-States) is either *not null*, *maybe null*, or *maybe default*. +Every line of source code has a ***nullable context***. The annotations and warnings flags for the nullable context control nullable annotations ([§8.9.4.3](types.md#8943-nullable-annotations)) and nullable warnings ([§8.9.4.4](types.md#8944-nullable-warnings)), respectively. Each flag can be *enabled* or *disabled*. The compiler can use static flow analysis to determine the null state of any reference variable. A reference variable’s null state ([§8.9.5](types.md#895-nullabilities-and-null-states)) is either *not null*, *maybe null*, or *maybe default*. -The nullable context may be specified within source code via nullable directives (§6.5.9) and/or via some implementation-specific mechanism external to the source code. If both approaches are used, nullable directives supersede the settings made via an external mechanism. +The nullable context may be specified within source code via nullable directives ([§6.5.9](lexical-structure.md#659-nullable-directive)) and/or via some implementation-specific mechanism external to the source code. If both approaches are used, nullable directives supersede the settings made via an external mechanism. The default state of the nullable context is implementation defined. @@ -753,7 +753,7 @@ Throughout this specification, all C# code that does not contain nullable direct > *Note:* A nullable context where both flags are disabled matches the previous standard behavior for reference types. *end note* -#### §Nullable-Disable-Context Nullable disable +#### 8.9.4.2 Nullable disable When both the warning and annotations flags are disabled, the nullable context is *disabled*. @@ -763,7 +763,7 @@ When the nullable context is ***disabled***: - No warning shall be generated when a variable of a reference type that possibly has the null value. - For any reference type `T`, the annotation `?` in `T?` generates a message and the type `T?` is the same as `T`. > *Note*: This message is characterized as “informational” rather than “warning,” so as not to confuse it with the state of the nullable warning setting, which is unrelated. *end note* -- The null-forgiving operator `!` (§Null-Forgiving-Expressions) has no effect. +- The null-forgiving operator `!` ([§12.8.9](expressions.md#1289-null-forgiving-expressions)) has no effect. > *Example*: > @@ -779,7 +779,7 @@ When the nullable context is ***disabled***: > > *end example* -#### §Nullable-Annotation-Context Nullable annotations +#### 8.9.4.3 Nullable annotations When the warning flag is disabled and the annotations flag is enabled, the nullable context is *annotations*. @@ -787,7 +787,7 @@ When the nullable context is ***annotations***: - For any reference type `T`, the annotation `?` in `T?` indicates that `T?` a nullable type, whereas the unannotated `T` is non-nullable. - No diagnostic warnings related to nullability are generated. -- The null-forgiving operator `!` (§Null-Forgiving-Expressions) sets the null state of its operand to *not null*. +- The null-forgiving operator `!` ([§12.8.9](expressions.md#1289-null-forgiving-expressions)) sets the null state of its operand to *not null*. > *Example*: > @@ -804,7 +804,7 @@ When the nullable context is ***annotations***: > > *end example* -#### §Nullable-Warning-Context Nullable warnings +#### 8.9.4.4 Nullable warnings When the warning flag is enabled and the annotations flag is disabled, the nullable context is *warnings*. @@ -813,7 +813,7 @@ When the nullable context is ***warnings***, a compiler can generate diagnostics - A reference variable that has been determined to be *maybe null*, is dereferenced. - A reference variable of a non-nullable type is assigned to an expression that is *maybe null*. - The `?` is used to note a nullable reference type. -- The null-forgiving operator `!` (§Null-Forgiving-Expressions) is used to set the null state of its operand to *not null*. +- The null-forgiving operator `!` ([§12.8.9](expressions.md#1289-null-forgiving-expressions)) is used to set the null state of its operand to *not null*. > *Example*: > @@ -830,17 +830,17 @@ When the nullable context is ***warnings***, a compiler can generate diagnostics > > *end example* -#### §Nullable-enable-Context Nullable enable +#### 8.9.4.5 Nullable enable When both the warning flag and the annotations flag are enabled, the nullable context is *enabled*. When the nullable context is ***enabled***: - For any reference type `T`, the annotation `?` in `T?` makes `T?` a nullable type, whereas the unannotated `T` is non-nullable. -- The compiler can use static flow analysis to determine the null state of any reference variable. When nullable warnings are enabled, a reference variable’s null state (§Nullabilities-And-Null-States) is either *not null*, *maybe null*, or *maybe default* and -- The null-forgiving operator `!` (§Null-Forgiving-Expressions) sets the null state of its operand to *not null*. +- The compiler can use static flow analysis to determine the null state of any reference variable. When nullable warnings are enabled, a reference variable’s null state ([§8.9.5](types.md#895-nullabilities-and-null-states)) is either *not null*, *maybe null*, or *maybe default* and +- The null-forgiving operator `!` ([§12.8.9](expressions.md#1289-null-forgiving-expressions)) sets the null state of its operand to *not null*. -### §Nullabilities-And-Null-States Nullabilities and null states +### 8.9.5 Nullabilities and null states A compiler is not required to perform any static analysis nor is it required to generate any diagnostic messages related to nullability. @@ -852,7 +852,7 @@ Every expression has one of three ***null state***s: - *maybe null*: The value of the expression may evaluate to null. - *maybe default*: The value of the expression may evaluate to the default value for that type. -- *not null*: The value of the expression isn't null. +- *not null*: The value of the expression isn’t null. The ***default null state*** of an expression is determined by its type, and the state of the annotations flag when it is declared: @@ -861,10 +861,10 @@ The ***default null state*** of an expression is determined by its type, and the - Not null when its declaration is in text where the annotations flag is disabled. - The default null state of a non-nullable reference type is not null. -A diagnostic can be produced when a variable (§9.2.1) of a non-nullable reference type is initialized or assigned to an expression that is maybe null when that variable is declared in text where the annotation flag is enabled. +A diagnostic can be produced when a variable ([§9.2.1](variables.md#921-general)) of a non-nullable reference type is initialized or assigned to an expression that is maybe null when that variable is declared in text where the annotation flag is enabled. The compiler can update the null state of a variable as part of its analysis. -> *Note*: The compiler can treat a property (§15.7) as either a variable with state, or as independent get and set accessors (§15.7.3). In other words, a compiler can choose if writing to a property changes the null state of reading the property. +> *Note*: The compiler can treat a property ([§15.7](classes.md#157-properties)) as either a variable with state, or as independent get and set accessors ([§15.7.3](classes.md#1573-accessors)). In other words, a compiler can choose if writing to a property changes the null state of reading the property. ***End of conditionally normative text*** diff --git a/standard/unsafe-code.md b/standard/unsafe-code.md index e18fff08a..b18ec8b51 100644 --- a/standard/unsafe-code.md +++ b/standard/unsafe-code.md @@ -115,7 +115,7 @@ When the `unsafe` modifier is used on a partial type declaration ([§15.2.7](cla ## 23.3 Pointer types -In an unsafe context, a *type* ([§8.1](types.md#81-general)) can be a *pointer_type* as well as a *value_type*, a *reference_type*, or a *type_parameter*. In an unsafe context a *pointer_type* may also be the element type of an array ([§17](arrays.md#17-arrays)). A *pointer_type* may also be used in a typeof expression ([§12.8.17](expressions.md#12817-the-typeof-operator)) outside of an unsafe context (as such usage is not unsafe). +In an unsafe context, a *type* ([§8.1](types.md#81-general)) can be a *pointer_type* as well as a *value_type*, a *reference_type*, or a *type_parameter*. In an unsafe context a *pointer_type* may also be the element type of an array ([§17](arrays.md#17-arrays)). A *pointer_type* may also be used in a typeof expression ([§12.8.18](expressions.md#12818-the-typeof-operator)) outside of an unsafe context (as such usage is not unsafe). A *pointer_type* is written as an *unmanaged_type* ([§8.8](types.md#88-unmanaged-types)) or the keyword `void`, followed by a `*` token: @@ -176,7 +176,7 @@ A *pointer_type* may be used as the type of a volatile field ([§15.5.4](classes The *dynamic erasure* of a type `E*` is the pointer type with referent type of the dynamic erasure of `E`. -An expression with a pointer type cannot be used to provide the value in a *member_declarator* within an *anonymous_object_creation_expression* ([§12.8.16.7](expressions.md#128167-anonymous-object-creation-expressions)). +An expression with a pointer type cannot be used to provide the value in a *member_declarator* within an *anonymous_object_creation_expression* ([§12.8.17.7](expressions.md#128177-anonymous-object-creation-expressions)). The default value ([§9.3](variables.md#93-default-values)) for any pointer type is `null`. @@ -345,7 +345,7 @@ Mappings between pointers and integers are implementation-defined. ### 23.5.2 Pointer arrays -Arrays of pointers can be constructed using *array_creation_expression* ([§12.8.16.5](expressions.md#128165-array-creation-expressions)) in an unsafe context. Only some of the conversions that apply to other array types are allowed on pointer arrays: +Arrays of pointers can be constructed using *array_creation_expression* ([§12.8.17.5](expressions.md#128175-array-creation-expressions)) in an unsafe context. Only some of the conversions that apply to other array types are allowed on pointer arrays: - The implicit reference conversion ([§10.2.8](conversions.md#1028-implicit-reference-conversions)) from any *array_type* to `System.Array` and the interfaces it implements also applies to pointer arrays. However, any attempt to access the array elements through `System.Array` or the interfaces it implements may result in an exception at run-time, as pointer types are not convertible to `object`. - The implicit and explicit reference conversions ([§10.2.8](conversions.md#1028-implicit-reference-conversions), [§10.3.5](conversions.md#1035-explicit-reference-conversions)) from a single-dimensional array type `S[]` to `System.Collections.Generic.IList` and its generic base interfaces never apply to pointer arrays. @@ -384,7 +384,7 @@ The variables `a`, `i0`, `i1`, … `in` are not visible to or accessible to `x` ### 23.6.1 General -In an unsafe context, an expression may yield a result of a pointer type, but outside an unsafe context, it is a compile-time error for an expression to be of a pointer type. In precise terms, outside an unsafe context a compile-time error occurs if any *simple_name* ([§12.8.4](expressions.md#1284-simple-names)), *member_access* ([§12.8.7](expressions.md#1287-member-access)), *invocation_expression* ([§12.8.9](expressions.md#1289-invocation-expressions)), or *element_access* ([§12.8.11](expressions.md#12811-element-access)) is of a pointer type. +In an unsafe context, an expression may yield a result of a pointer type, but outside an unsafe context, it is a compile-time error for an expression to be of a pointer type. In precise terms, outside an unsafe context a compile-time error occurs if any *simple_name* ([§12.8.4](expressions.md#1284-simple-names)), *member_access* ([§12.8.7](expressions.md#1287-member-access)), *invocation_expression* ([§12.8.10](expressions.md#12810-invocation-expressions)), or *element_access* ([§12.8.12](expressions.md#12812-element-access)) is of a pointer type. In an unsafe context, the *primary_no_array_creation_expression* ([§12.8](expressions.md#128-primary-expressions)) and *unary_expression* ([§12.9](expressions.md#129-unary-operators)) productions permit additional constructs, which are described in the following subclauses. @@ -579,11 +579,11 @@ The `&` operator does not require its argument to be definitely assigned, but fo -> *Note*: When a local variable, value parameter, or parameter array is captured by an anonymous function ([§12.8.23](expressions.md#12823-anonymous-method-expressions)), that local variable, parameter, or parameter array is no longer considered to be a fixed variable ([§23.7](unsafe-code.md#237-the-fixed-statement)), but is instead considered to be a moveable variable. Thus it is an error for any unsafe code to take the address of a local variable, value parameter, or parameter array that has been captured by an anonymous function. *end note* +> *Note*: When a local variable, value parameter, or parameter array is captured by an anonymous function ([§12.8.24](expressions.md#12824-anonymous-method-expressions)), that local variable, parameter, or parameter array is no longer considered to be a fixed variable ([§23.7](unsafe-code.md#237-the-fixed-statement)), but is instead considered to be a moveable variable. Thus it is an error for any unsafe code to take the address of a local variable, value parameter, or parameter array that has been captured by an anonymous function. *end note* ### 23.6.6 Pointer increment and decrement -In an unsafe context, the `++` and `--` operators ([§12.8.15](expressions.md#12815-postfix-increment-and-decrement-operators) and [§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)) can be applied to pointer variables of all types except `void*`. Thus, for every pointer type `T*`, the following operators are implicitly defined: +In an unsafe context, the `++` and `--` operators ([§12.8.16](expressions.md#12816-postfix-increment-and-decrement-operators) and [§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)) can be applied to pointer variables of all types except `void*`. Thus, for every pointer type `T*`, the following operators are implicitly defined: ```csharp T* operator ++(T* x); @@ -666,7 +666,7 @@ Because an implicit conversion exists from any pointer type to the `void*` type, ### 23.6.9 The sizeof operator -For certain predefined types ([§12.8.18](expressions.md#12818-the-sizeof-operator)), the `sizeof` operator yields a constant `int` value. For all other types, the result of the `sizeof` operator is implementation-defined and is classified as a value, not a constant. +For certain predefined types ([§12.8.19](expressions.md#12819-the-sizeof-operator)), the `sizeof` operator yields a constant `int` value. For all other types, the result of the `sizeof` operator is implementation-defined and is classified as a value, not a constant. The order in which members are packed into a struct is unspecified. @@ -983,7 +983,7 @@ A fixed-size buffer declaration that declares multiple fixed-size buffers is equ Member lookup ([§12.5](expressions.md#125-member-lookup)) of a fixed-size buffer member proceeds exactly like member lookup of a field. -A fixed-size buffer can be referenced in an expression using a *simple_name* ([§12.8.4](expressions.md#1284-simple-names)), a *member_access* ([§12.8.7](expressions.md#1287-member-access)), or an *element_access* ([§12.8.11](expressions.md#12811-element-access)). +A fixed-size buffer can be referenced in an expression using a *simple_name* ([§12.8.4](expressions.md#1284-simple-names)), a *member_access* ([§12.8.7](expressions.md#1287-member-access)), or an *element_access* ([§12.8.12](expressions.md#12812-element-access)). When a fixed-size buffer member is referenced as a simple name, the effect is the same as a member access of the form `this.I`, where `I` is the fixed-size buffer member. @@ -993,7 +993,7 @@ In a member access of the form `E.I` where `E.` may be the implicit `this.`, if - If `E` is classified as a value, a compile-time error occurs. - Otherwise, if `E` is a moveable variable ([§23.4](unsafe-code.md#234-fixed-and-moveable-variables)) then: - If the expression `E.I` is a *fixed_pointer_initializer* ([§23.7](unsafe-code.md#237-the-fixed-statement)), then the result of the expression is a pointer to the first element of the fixed size buffer member `I` in `E`. - - Otherwise if the expression `E.I` is a *primary_no_array_creation_expression* ([§12.8.11.1](expressions.md#128111-general)) within an *element_access* ([§12.8.11](expressions.md#12811-element-access)) of the form `E.I[J]`, then the result of `E.I` is a pointer, `P`, to the first element of the fixed size buffer member `I` in `E`, and the enclosing *element_access* is then evaluated as the *pointer_element_access* ([§23.6.4](unsafe-code.md#2364-pointer-element-access)) `P[J]`. + - Otherwise if the expression `E.I` is a *primary_no_array_creation_expression* ([§12.8.12.1](expressions.md#128121-general)) within an *element_access* ([§12.8.12](expressions.md#12812-element-access)) of the form `E.I[J]`, then the result of `E.I` is a pointer, `P`, to the first element of the fixed size buffer member `I` in `E`, and the enclosing *element_access* is then evaluated as the *pointer_element_access* ([§23.6.4](unsafe-code.md#2364-pointer-element-access)) `P[J]`. - Otherwise a compile-time error occurs. - Otherwise, `E` references a fixed variable and the result of the expression is a pointer to the first element of the fixed-size buffer member `I` in `E`. The result is of type `S*`, where S is the element type of `I`, and is classified as a value. @@ -1047,11 +1047,11 @@ When the outermost containing struct variable of a fixed-size buffer member is a ## 23.9 Stack allocation -See [§12.8.21](expressions.md#12821-stack-allocation) for general information about the operator `stackalloc`. Here, the ability of that operator to result in a pointer is discussed. +See [§12.8.22](expressions.md#12822-stack-allocation) for general information about the operator `stackalloc`. Here, the ability of that operator to result in a pointer is discussed. -In an unsafe context if a *stackalloc_expression* ([§12.8.21](expressions.md#12821-stack-allocation)) occurs as the initializing expression of a *local_variable_declaration* ([§13.6.2](statements.md#1362-local-variable-declarations)), where the *local_variable_type* is either a pointer type ([§23.3](unsafe-code.md#233-pointer-types)) or inferred (`var`), then the result of the *stackalloc_expression* is a pointer of type `T *` to be beginning of the allocated block, where `T` is the *unmanaged_type* of the *stackalloc_expression*. +In an unsafe context if a *stackalloc_expression* ([§12.8.22](expressions.md#12822-stack-allocation)) occurs as the initializing expression of a *local_variable_declaration* ([§13.6.2](statements.md#1362-local-variable-declarations)), where the *local_variable_type* is either a pointer type ([§23.3](unsafe-code.md#233-pointer-types)) or inferred (`var`), then the result of the *stackalloc_expression* is a pointer of type `T *` to be beginning of the allocated block, where `T` is the *unmanaged_type* of the *stackalloc_expression*. -In all other respects the semantics of *local_variable_declaration*s ([§13.6.2](statements.md#1362-local-variable-declarations)) and *stackalloc_expression*s ([§12.8.21](expressions.md#12821-stack-allocation)) in unsafe contexts follow those defined for safe contexts. +In all other respects the semantics of *local_variable_declaration*s ([§13.6.2](statements.md#1362-local-variable-declarations)) and *stackalloc_expression*s ([§12.8.22](expressions.md#12822-stack-allocation)) in unsafe contexts follow those defined for safe contexts. > *Example*: > diff --git a/standard/variables.md b/standard/variables.md index 8e65f45e2..7d7aa9002 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -209,7 +209,7 @@ At a given location in the executable code of a function member or an anonymous > - An initially assigned variable ([§9.4.2](variables.md#942-initially-assigned-variables)) is always considered definitely assigned. > - An initially unassigned variable ([§9.4.3](variables.md#943-initially-unassigned-variables)) is considered definitely assigned at a given location if all possible execution paths leading to that location contain at least one of the following: > - A simple assignment ([§12.21.2](expressions.md#12212-simple-assignment)) in which the variable is the left operand. -> - An invocation expression ([§12.8.9](expressions.md#1289-invocation-expressions)) or object creation expression ([§12.8.16.2](expressions.md#128162-object-creation-expressions)) that passes the variable as an output parameter. +> - An invocation expression ([§12.8.10](expressions.md#12810-invocation-expressions)) or object creation expression ([§12.8.17.2](expressions.md#128172-object-creation-expressions)) that passes the variable as an output parameter. > - For a local variable, a local variable declaration for the variable ([§13.6.2](statements.md#1362-local-variable-declarations)) that includes a variable initializer. > > The formal specification underlying the above informal rules is described in [§9.4.2](variables.md#942-initially-assigned-variables), [§9.4.3](variables.md#943-initially-unassigned-variables), and [§9.4.4](variables.md#944-precise-rules-for-determining-definite-assignment). @@ -655,13 +655,13 @@ For all other constant expressions, the definite-assignment state of *v* after t #### 9.4.4.22 General rules for simple expressions -The following rule applies to these kinds of expressions: literals ([§12.8.2](expressions.md#1282-literals)), simple names ([§12.8.4](expressions.md#1284-simple-names)), member access expressions ([§12.8.7](expressions.md#1287-member-access)), non-indexed base access expressions ([§12.8.14](expressions.md#12814-base-access)), `typeof` expressions ([§12.8.17](expressions.md#12817-the-typeof-operator)), default value expressions ([§12.8.20](expressions.md#12820-default-value-expressions)), `nameof` expressions ([§12.8.22](expressions.md#12822-the-nameof-operator)), and declaration expressions ([§12.17](expressions.md#1217-declaration-expressions)). +The following rule applies to these kinds of expressions: literals ([§12.8.2](expressions.md#1282-literals)), simple names ([§12.8.4](expressions.md#1284-simple-names)), member access expressions ([§12.8.7](expressions.md#1287-member-access)), non-indexed base access expressions ([§12.8.15](expressions.md#12815-base-access)), `typeof` expressions ([§12.8.18](expressions.md#12818-the-typeof-operator)), default value expressions ([§12.8.21](expressions.md#12821-default-value-expressions)), `nameof` expressions ([§12.8.23](expressions.md#12823-the-nameof-operator)), and declaration expressions ([§12.17](expressions.md#1217-declaration-expressions)). - The definite-assignment state of *v* at the end of such an expression is the same as the definite-assignment state of *v* at the beginning of the expression. #### 9.4.4.23 General rules for expressions with embedded expressions -The following rules apply to these kinds of expressions: parenthesized expressions ([§12.8.5](expressions.md#1285-parenthesized-expressions)), tuple expressions ([§12.8.6](expressions.md#1286-tuple-expressions)), element access expressions ([§12.8.11](expressions.md#12811-element-access)), base access expressions with indexing ([§12.8.14](expressions.md#12814-base-access)), increment and decrement expressions ([§12.8.15](expressions.md#12815-postfix-increment-and-decrement-operators), [§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)), cast expressions ([§12.9.7](expressions.md#1297-cast-expressions)), unary `+`, `-`, `~`, `*` expressions, binary `+`, `-`, `*`, `/`, `%`, `<<`, `>>`, `<`, `<=`, `>`, `>=`, `==`, `!=`, `is`, `as`, `&`, `|`, `^` expressions ([§12.10](expressions.md#1210-arithmetic-operators), [§12.11](expressions.md#1211-shift-operators), [§12.12](expressions.md#1212-relational-and-type-testing-operators), [§12.13](expressions.md#1213-logical-operators)), compound assignment expressions ([§12.21.4](expressions.md#12214-compound-assignment)), `checked` and `unchecked` expressions ([§12.8.19](expressions.md#12819-the-checked-and-unchecked-operators)), array and delegate creation expressions ([§12.8.16](expressions.md#12816-the-new-operator)) , and `await` expressions ([§12.9.8](expressions.md#1298-await-expressions)). +The following rules apply to these kinds of expressions: parenthesized expressions ([§12.8.5](expressions.md#1285-parenthesized-expressions)), tuple expressions ([§12.8.6](expressions.md#1286-tuple-expressions)), element access expressions ([§12.8.12](expressions.md#12812-element-access)), base access expressions with indexing ([§12.8.15](expressions.md#12815-base-access)), increment and decrement expressions ([§12.8.16](expressions.md#12816-postfix-increment-and-decrement-operators), [§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)), cast expressions ([§12.9.7](expressions.md#1297-cast-expressions)), unary `+`, `-`, `~`, `*` expressions, binary `+`, `-`, `*`, `/`, `%`, `<<`, `>>`, `<`, `<=`, `>`, `>=`, `==`, `!=`, `is`, `as`, `&`, `|`, `^` expressions ([§12.10](expressions.md#1210-arithmetic-operators), [§12.11](expressions.md#1211-shift-operators), [§12.12](expressions.md#1212-relational-and-type-testing-operators), [§12.13](expressions.md#1213-logical-operators)), compound assignment expressions ([§12.21.4](expressions.md#12214-compound-assignment)), `checked` and `unchecked` expressions ([§12.8.20](expressions.md#12820-the-checked-and-unchecked-operators)), array and delegate creation expressions ([§12.8.17](expressions.md#12817-the-new-operator)) , and `await` expressions ([§12.9.8](expressions.md#1298-await-expressions)). Each of these expressions has one or more subexpressions that are unconditionally evaluated in a fixed order. @@ -695,7 +695,7 @@ new «type» ( «arg₁», «arg₂», … , «argₓ» ) - For each argument *argᵢ*, the definite assignment state of *v* after *argᵢ* is determined by the normal expression rules, ignoring any `in`, `out`, or `ref` modifiers. - For each argument *argᵢ* for any *i* greater than one, the definite assignment state of *v* before *argᵢ* is the same as the state of *v* after *argᵢ₋₁*. - If the variable *v* is passed as an `out` argument (i.e., an argument of the form “out *v*”) in any of the arguments, then the state of *v* after *expr* is definitely assigned. Otherwise, the state of *v* after *expr* is the same as the state of *v* after *argₓ*. -- For array initializers ([§12.8.16.5](expressions.md#128165-array-creation-expressions)), object initializers ([§12.8.16.3](expressions.md#128163-object-initializers)), collection initializers ([§12.8.16.4](expressions.md#128164-collection-initializers)) and anonymous object initializers ([§12.8.16.7](expressions.md#128167-anonymous-object-creation-expressions)), the definite-assignment state is determined by the expansion that these constructs are defined in terms of. +- For array initializers ([§12.8.17.5](expressions.md#128175-array-creation-expressions)), object initializers ([§12.8.17.3](expressions.md#128173-object-initializers)), collection initializers ([§12.8.17.4](expressions.md#128174-collection-initializers)) and anonymous object initializers ([§12.8.17.7](expressions.md#128177-anonymous-object-creation-expressions)), the definite-assignment state is determined by the expansion that these constructs are defined in terms of. #### 9.4.4.25 Simple assignment expressions From 56f724df910f0629d330cc72cf38f9c2d0c74223 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Thu, 31 Oct 2024 14:40:08 +1300 Subject: [PATCH 151/259] Null-forgiving operator - Fix grammar - Specify semantic restrictions - Add to precedence table - Add to MLR group --- standard/expressions.md | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index 2b15144b3..3e00d31da 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -147,7 +147,7 @@ The precedence of an operator is established by the definition of its associated > > | **Subclause** | **Category** | **Operators** | > | ----------------- | ------------------------------- | -------------------------------------------------------| -> | [§12.8](expressions.md#128-primary-expressions) | Primary | `x.y` `x?.y` `f(x)` `a[x]` `a?[x]` `x++` `x--` `new` `typeof` `default` `checked` `unchecked` `delegate` `stackalloc` | +> | [§12.8](expressions.md#128-primary-expressions) | Primary | `x.y` `x?.y` `f(x)` `a[x]` `a?[x]` `x++` `x--` `x!` `new` `typeof` `default` `checked` `unchecked` `delegate` `stackalloc` | > | [§12.9](expressions.md#129-unary-operators) | Unary | `+` `-` `!` `~` `++x` `--x` `(T)x` `await x` | > | [§12.10](expressions.md#1210-arithmetic-operators) | Multiplicative | `*` `/` `%` | > | [§12.10](expressions.md#1210-arithmetic-operators) | Additive | `+` `-` | @@ -1273,7 +1273,6 @@ Primary expressions include the simplest forms of expressions. primary_expression : primary_no_array_creation_expression | array_creation_expression - | null_forgiving_expression ; primary_no_array_creation_expression @@ -1291,6 +1290,7 @@ primary_no_array_creation_expression | base_access | post_increment_expression | post_decrement_expression + | null_forgiving_expression | object_creation_expression | delegate_creation_expression | anonymous_object_creation_expression @@ -1307,7 +1307,7 @@ primary_no_array_creation_expression ; ``` -> *Note*: These grammar rules are not ANTLR-ready as they are part of a set of mutually left-recursive rules (`primary_expression`, `primary_no_array_creation_expression`, `member_access`, `invocation_expression`, `element_access`, `post_increment_expression`, `post_decrement_expression`, `pointer_member_access` and `pointer_element_access`) which ANTLR does not handle. Standard techniques can be used to transform the grammar to remove the mutual left-recursion. This has not been done as not all parsing strategies require it (e.g. an LALR parser would not) and doing so would obfuscate the structure and description. *end note* +> *Note*: These grammar rules are not ANTLR-ready as they are part of a set of mutually left-recursive rules (`primary_expression`, `primary_no_array_creation_expression`, `member_access`, `invocation_expression`, `element_access`, `post_increment_expression`, `post_decrement_expression`, `null_forgiving_expression`, `pointer_member_access` and `pointer_element_access`) which ANTLR does not handle. Standard techniques can be used to transform the grammar to remove the mutual left-recursion. This has not been done as not all parsing strategies require it (e.g. an LALR parser would not) and doing so would obfuscate the structure and description. *end note* *pointer_member_access* ([§23.6.3](unsafe-code.md#2363-pointer-member-access)) and *pointer_element_access* ([§23.6.4](unsafe-code.md#2364-pointer-element-access)) are only available in unsafe code ([§23](unsafe-code.md#23-unsafe-code)). @@ -1824,18 +1824,29 @@ A *null_conditional_projection_initializer* is a restriction of *null_conditiona ### 12.8.9 Null-forgiving expressions -This operator sets the null state ([§8.9.5](types.md#895-nullabilities-and-null-states)) of the operand to “not null”. +The null-forgiving operator sets the null state ([§8.9.5](types.md#895-nullabilities-and-null-states)) of the operand to “not null”. ```ANTLR null_forgiving_expression - : primary_no_array_creation_expression suppression + : primary_expression null_forgiving_operator ; -suppression +null_forgiving_operator : '!' ; ``` +The *primary_expression* must not be known to have a value type. + +It is an error to apply the null-forgiving operator more than once to the same expression, intervening parenetheses notwithstanding. + +> *Example*: the following are all invalid: +> +> ```csharp +> var p = q!!; // error: cannot apply the null_forgiving_operator more than once +> var s = ( ( m(t) ! ) )! // error: null_forgiving_operator applied twice to m(t) +> ``` + This operator has no runtime effect; it evaluates to the result of its operand, and that result retains that operand’s classification. The null-forgiving operator is used to declare that an expression not known to be a value type is not null. From dcd7eed12c4e0e3f5158b5c838f0ff4ab2b90a8d Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Thu, 31 Oct 2024 14:45:07 +1300 Subject: [PATCH 152/259] Null-forgiving operator - Fix grammar - Specify semantic restrictions - Add to precedence table - Add to MLR group --- standard/expressions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/expressions.md b/standard/expressions.md index 3e00d31da..55d1996b7 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -1843,7 +1843,7 @@ It is an error to apply the null-forgiving operator more than once to the same e > *Example*: the following are all invalid: > > ```csharp -> var p = q!!; // error: cannot apply the null_forgiving_operator more than once +> var p = q!!; // error: cannot apply the null_forgiving_operator more than once > var s = ( ( m(t) ! ) )! // error: null_forgiving_operator applied twice to m(t) > ``` From 6d08166de27bf5a2a1afa4e49484ab2849850214 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Fri, 8 Nov 2024 17:00:31 -0500 Subject: [PATCH 153/259] Delete link verifier (#1198) Because we renumber sections, this isn't as useful as it once was. And, it's not working correctly on our default branches. So, let's remove it. --- .github/workflows/markdown-links-verifier.yaml | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 .github/workflows/markdown-links-verifier.yaml diff --git a/.github/workflows/markdown-links-verifier.yaml b/.github/workflows/markdown-links-verifier.yaml deleted file mode 100644 index fe09fb1b0..000000000 --- a/.github/workflows/markdown-links-verifier.yaml +++ /dev/null @@ -1,14 +0,0 @@ -name: Markdown links verifier -on: pull_request - -jobs: - validate_links: - name: Markdown links verifier - runs-on: ubuntu-latest - - steps: - - name: Checkout the repository - uses: actions/checkout@v1 - - - name: Validate links - uses: Youssef1313/markdown-links-verifier@v0.1.3 From 6b8ec802c30a9e59b90c0154953b07902655e3b9 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Sat, 9 Nov 2024 14:51:46 +1300 Subject: [PATCH 154/259] Updated & extended spec for null-forgiving expressions: - Added null conditional support - Distinguished uses of logical negation, `!x`, from null-forgiving, `x!`, throughout the Standard. Null-forgiving is a non-overloadable psuedo op. - Added placeholders in places where what the spec is has yet to be decided as the details were not obtained from the LDM notes or other design documents but from the source of one particular compiler. These will be replaced in a PR review posted immediately after this commit, each placeholder will have at least to suggested options to vote on. - Some typos were fixed or wording changes made, some in areas not directly related to null-forgiving, as they were found during work on this PR. --- standard/classes.md | 10 ++- standard/expressions.md | 136 +++++++++++++++++++++++++--------- standard/lexical-structure.md | 2 +- standard/types.md | 6 +- standard/unsafe-code.md | 4 +- 5 files changed, 117 insertions(+), 41 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index 06b1bc7f6..59d5f43c2 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -4453,8 +4453,12 @@ unary_operator_declarator : type 'operator' overloadable_unary_operator '(' fixed_parameter ')' ; +logical_negation_operator + : '!' + ; + overloadable_unary_operator - : '+' | '-' | '!' | '~' | '++' | '--' | 'true' | 'false' + : '+' | '-' | logical_negation_operator | '~' | '++' | '--' | 'true' | 'false' ; binary_operator_declarator @@ -4481,6 +4485,8 @@ operator_body *unsafe_modifier* ([§23.2](unsafe-code.md#232-unsafe-contexts)) is only available in unsafe code ([§23](unsafe-code.md#23-unsafe-code)). +*Note*: The prefix logical negation ([§12.9.4](expressions.md#1294-logical-negation-operator)) and postfix null-forgiving operators ([§12.8.9](expressions.md#1289-null-forgiving-expressions)), while represented by the same lexical token (`!`), are distinct. The latter is not an overloadable operator. *end note* + There are three categories of overloadable operators: Unary operators ([§15.10.2](classes.md#15102-unary-operators)), binary operators ([§15.10.3](classes.md#15103-binary-operators)), and conversion operators ([§15.10.4](classes.md#15104-conversion-operators)). The *operator_body* is either a semicolon, a block body ([§15.6.1](classes.md#1561-general)) or an expression body ([§15.6.1](classes.md#1561-general)). A block body consists of a *block*, which specifies the statements to execute when the operator is invoked. The *block* shall conform to the rules for value-returning methods described in [§15.6.11](classes.md#15611-method-body). An expression body consists of `=>` followed by an expression and a semicolon, and denotes a single expression to perform when the operator is invoked. @@ -4507,7 +4513,7 @@ Additional information on conversion operators can be found in [§10.5](convers The following rules apply to unary operator declarations, where `T` denotes the instance type of the class or struct that contains the operator declaration: -- A unary `+`, `-`, `!`, or `~` operator shall take a single parameter of type `T` or `T?` and can return any type. +- A unary `+`, `-`, `!` (logical negation only), or `~` operator shall take a single parameter of type `T` or `T?` and can return any type. - A unary `++` or `--` operator shall take a single parameter of type `T` or `T?` and shall return that same type or a type derived from it. - A unary `true` or `false` operator shall take a single parameter of type `T` or `T?` and shall return type `bool`. diff --git a/standard/expressions.md b/standard/expressions.md index 55d1996b7..188d22876 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -59,7 +59,7 @@ The following operations in C# are subject to binding: - Delegate invocation: `e(e₁,...,eᵥ)` - Element access: `e[e₁,...,eᵥ]` - Object creation: new `C(e₁,...,eᵥ)` -- Overloaded unary operators: `+`, `-`, `!`, `~`, `++`, `--`, `true`, `false` +- Overloaded unary operators: `+`, `-`, `!` (logical negation only), `~`, `++`, `--`, `true`, `false` - Overloaded binary operators: `+`, `-`, `*`, `/`, `%`, `&`, `&&`, `|`, `||`, `??`, `^`, `<<`, `>>`, `==`, `!=`, `>`, `<`, `>=`, `<=` - Assignment operators: `=`, `= ref`, `+=`, `-=`, `*=`, `/=`, `%=`, `&=`, `|=`, `^=`, `<<=`, `>>=` - Implicit and explicit conversions @@ -148,7 +148,7 @@ The precedence of an operator is established by the definition of its associated > | **Subclause** | **Category** | **Operators** | > | ----------------- | ------------------------------- | -------------------------------------------------------| > | [§12.8](expressions.md#128-primary-expressions) | Primary | `x.y` `x?.y` `f(x)` `a[x]` `a?[x]` `x++` `x--` `x!` `new` `typeof` `default` `checked` `unchecked` `delegate` `stackalloc` | -> | [§12.9](expressions.md#129-unary-operators) | Unary | `+` `-` `!` `~` `++x` `--x` `(T)x` `await x` | +> | [§12.9](expressions.md#129-unary-operators) | Unary | `+` `-` `!x` `~` `++x` `--x` `(T)x` `await x` | > | [§12.10](expressions.md#1210-arithmetic-operators) | Multiplicative | `*` `/` `%` | > | [§12.10](expressions.md#1210-arithmetic-operators) | Additive | `+` `-` | > | [§12.11](expressions.md#1211-shift-operators) | Shift | `<<` `>>` | @@ -182,12 +182,12 @@ All unary and binary operators have predefined implementations. In addition, use The ***overloadable unary operators*** are: -```csharp -+ - ! ~ ++ -- true false -``` +`+ - ! `(logical negation only)` ~ ++ -- true false` > *Note*: Although `true` and `false` are not used explicitly in expressions (and therefore are not included in the precedence table in [§12.4.2](expressions.md#1242-operator-precedence-and-associativity)), they are considered operators because they are invoked in several expression contexts: Boolean expressions ([§12.24](expressions.md#1224-boolean-expressions)) and expressions involving the conditional ([§12.18](expressions.md#1218-conditional-operator)) and conditional logical operators ([§12.14](expressions.md#1214-conditional-logical-operators)). *end note* +> *Note*: The null-forgiving operator (postfix `!`, [§12.8.9](expressions.md#1289-null-forgiving-expressions)) is not an overloadable operator. *end note* + The ***overloadable binary operators*** are: ```csharp @@ -295,7 +295,7 @@ When overload resolution rules ([§12.6.4](expressions.md#1264-overload-resoluti **This subclause is informative.** -Unary numeric promotion occurs for the operands of the predefined `+`, `–`, and `~` unary operators. Unary numeric promotion simply consists of converting operands of type `sbyte`, `byte`, `short`, `ushort`, or `char` to type `int`. Additionally, for the unary – operator, unary numeric promotion converts operands of type `uint` to type `long`. +Unary numeric promotion occurs for the operands of the predefined `+`, `-`, and `~` unary operators. Unary numeric promotion simply consists of converting operands of type `sbyte`, `byte`, `short`, `ushort`, or `char` to type `int`. Additionally, for the unary – operator, unary numeric promotion converts operands of type `uint` to type `long`. **End of informative text.** @@ -303,7 +303,7 @@ Unary numeric promotion occurs for the operands of the predefined `+`, `–`, an **This subclause is informative.** -Binary numeric promotion occurs for the operands of the predefined `+`, `–`, `*`, `/`, `%`, `&`, `|`, `^`, `==`, `!=`, `>`, `<`, `>=`, and `<=` binary operators. Binary numeric promotion implicitly converts both operands to a common type which, in case of the non-relational operators, also becomes the result type of the operation. Binary numeric promotion consists of applying the following rules, in the order they appear here: +Binary numeric promotion occurs for the operands of the predefined `+`, `-`, `*`, `/`, `%`, `&`, `|`, `^`, `==`, `!=`, `>`, `<`, `>=`, and `<=` binary operators. Binary numeric promotion implicitly converts both operands to a common type which, in case of the non-relational operators, also becomes the result type of the operation. Binary numeric promotion consists of applying the following rules, in the order they appear here: - If either operand is of type `decimal`, the other operand is converted to type `decimal`, or a binding-time error occurs if the other operand is of type `float` or `double`. - Otherwise, if either operand is of type `double`, the other operand is converted to type `double`. @@ -346,7 +346,7 @@ In both of the above cases, a cast expression can be used to explicitly convert ***Lifted operators*** permit predefined and user-defined operators that operate on non-nullable value types to also be used with nullable forms of those types. Lifted operators are constructed from predefined and user-defined operators that meet certain requirements, as described in the following: -- For the unary operators `+`, `++`, `-`, `--`, `!`, and `~`, a lifted form of an operator exists if the operand and result types are both non-nullable value types. The lifted form is constructed by adding a single `?` modifier to the operand and result types. The lifted operator produces a `null` value if the operand is `null`. Otherwise, the lifted operator unwraps the operand, applies the underlying operator, and wraps the result. +- For the unary operators `+`, `++`, `-`, `--`, `!`(logical negation), and `~`, a lifted form of an operator exists if the operand and result types are both non-nullable value types. The lifted form is constructed by adding a single `?` modifier to the operand and result types. The lifted operator produces a `null` value if the operand is `null`. Otherwise, the lifted operator unwraps the operand, applies the underlying operator, and wraps the result. - For the binary operators `+`, `-`, `*`, `/`, `%`, `&`, `|`, `^`, `<<`, and `>>`, a lifted form of an operator exists if the operand and result types are all non-nullable value types. The lifted form is constructed by adding a single `?` modifier to each operand and result type. The lifted operator produces a `null` value if one or both operands are `null` (an exception being the `&` and `|` operators of the `bool?` type, as described in [§12.13.5](expressions.md#12135-nullable-boolean--and--operators)). Otherwise, the lifted operator unwraps the operands, applies the underlying operator, and wraps the result. - For the equality operators `==` and `!=`, a lifted form of an operator exists if the operand types are both non-nullable value types and if the result type is `bool`. The lifted form is constructed by adding a single `?` modifier to each operand type. The lifted operator considers two `null` values equal, and a `null` value unequal to any non-`null` value. If both operands are non-`null`, the lifted operator unwraps the operands and applies the underlying operator to produce the `bool` result. - For the relational operators `<`, `>`, `<=`, and `>=`, a lifted form of an operator exists if the operand types are both non-nullable value types and if the result type is `bool`. The lifted form is constructed by adding a single `?` modifier to each operand type. The lifted operator produces the value `false` if one or both operands are `null`. Otherwise, the lifted operator unwraps the operands and applies the underlying operator to produce the `bool` result. @@ -1749,12 +1749,12 @@ In a member access of the form `E.I`, if `E` is a single identifier, and if the A *null_conditional_member_access* is a conditional version of *member_access* ([§12.8.7](expressions.md#1287-member-access)) and it is a binding time error if the result type is `void`. For a null conditional expression where the result type may be `void` see ([§12.8.11](expressions.md#12811-null-conditional-invocation-expression)). -A *null_conditional_member_access* consists of a *primary_expression* followed by the two tokens “`?`” and “`.`”, followed by an *identifier* with an optional *type_argument_list*, followed by zero or more *dependent_access*es. +A *null_conditional_member_access* consists of a *primary_expression* followed by the two tokens “`?`” and “`.`”, followed by an *identifier* with an optional *type_argument_list*, followed by zero or more *dependent_access*es any of which can be preceeded by a *null_forgiving_operator*. ```ANTLR null_conditional_member_access : primary_expression '?' '.' identifier type_argument_list? - dependent_access* + (null_forgiving_operator? dependent_access)* ; dependent_access @@ -1824,7 +1824,9 @@ A *null_conditional_projection_initializer* is a restriction of *null_conditiona ### 12.8.9 Null-forgiving expressions -The null-forgiving operator sets the null state ([§8.9.5](types.md#895-nullabilities-and-null-states)) of the operand to “not null”. +A null-forgiving expression’s value, type, classification ([§12.2](expressions.md#122-expression-classifications)) +and safe-context ([§16.4.12](structs.md#16412-safe-context-constraint)) is the value, type, classification and safe-context of its *primary_expression*. + ```ANTLR null_forgiving_expression @@ -1836,20 +1838,26 @@ null_forgiving_operator ; ``` -The *primary_expression* must not be known to have a value type. +*Note*: The postfix null-forgiving and prefix logical negation operators ([§12.9.4](expressions.md#1294-logical-negation-operator)), while represented by the same lexical token (`!`), are distinct. Only the latter may be overriden ([§15.10](classes.md#1510-operators)), the definition of the null-forgiving operator is fixed. *end note* -It is an error to apply the null-forgiving operator more than once to the same expression, intervening parenetheses notwithstanding. + + +**The remainder of this subclause, including all of its subclauses, is conditionally normative.** -> *Example*: the following are all invalid: -> -> ```csharp -> var p = q!!; // error: cannot apply the null_forgiving_operator more than once -> var s = ( ( m(t) ! ) )! // error: null_forgiving_operator applied twice to m(t) -> ``` +A compiler which performs static null state analysis ([§8.9.5](types.md#895-nullabilities-and-null-states)) must conform to the following specification. + +The null-forgiving operator is a compile time pseudo-operation that is used to inform a compiler’s static null state analysis. It has two uses: to override a compiler’s determination that an expression *maybe null*; and to override a compiler issuing a warning related to nullability. + +Applying the null-forgiving operator to an expression for which a compiler’s static null state analysis +does not produce any warnings is not an error. -This operator has no runtime effect; it evaluates to the result of its operand, and that result retains that operand’s classification. +#### 12.8.9.1 Overriding a *maybe null* determination -The null-forgiving operator is used to declare that an expression not known to be a value type is not null. +Under some circumstances a compiler’s static null state analysis may determine that an expression +has the null state *maybe null* and issue a warning when other information indicates that the +expression cannot be null. Applying the null-forgiving operator to such an expression informs the +compiler’s static null state analysis that the null state is in *not null*; which both prevents the warning +message and informs any ongoing analysis. > *Example*: Consider the following: > @@ -1870,9 +1878,58 @@ The null-forgiving operator is used to declare that an expression not known to b > person != null && person.Name != null; > ``` > -> If `IsValid` returns `true`, `p` can safely be dereferenced to access its `Name` property, and the “dereferencing of a possibly null value” warning can be suppressed using `!`. *end example* +> If `IsValid` returns `true`, `p` can safely be dereferenced to access its `Name` property, and the “dereferencing of a possibly null value” warning can be suppressed using `!`. +> +> *end example* + +> *Example:* The null-forgiving operator should be used with caution, consider: + +> ```csharp +> #nullable enable +> int B(int? x) +> { +> int y = (int)x!; // quash warning, throw at runtime if x is null +> return y; +> } +> ``` +> +> Here the null-forgiving operator is applied to a value type and quashes any warning on +> `x`. However if `x` is `null` at runtime an exception will be thrown as `null` cannot +> be cast to `int`. + +#### 12.8.9.2 Overriding other null analysis warnings + +In addition to overriding *maybe null* determinations as above there may be other circumstances +where it is desired to override a compiler’s static null state analysis determination that an +expression requires one or more warnings. Applying the +null-forgiving operator to such an expression requests that the compiler +does not issue any warnings for the expression. In response a compiler may choose not +to issue warnings and may also modify its further analysis. + +> *Example*: Consider the following: +> +> ```csharp +> #nullable enable +> public static void Assign(out string? lv, string? rv) { lv = rv; } +> +> public string M(string? t) +> { +> string s; +> Assign(out s!, t ?? "«argument was null»"); +> return s; +> } +> ``` +> +> The types of method `Assign`’s parameters, `lv` & `rv`, are `string?`, with `lv` being +> an output parameter, and it performs a simple assignment. +> +> Method `M` passes the variable `s`, of type `string`, as `Assign`’s output parameter, the +> compiler used issues a warning as `s` is not a nullable variable. Given that `Assign`’s +> second argument cannot be null the null-forgiving operator is used to quash the warning. -The null state ([§8.9.5](types.md#895-nullabilities-and-null-states)) of a *null_forgiving_expression* is “not null.” +> *end example* + +**End of conditionally normative text.** ### 12.8.10 Invocation expressions @@ -1886,6 +1943,8 @@ invocation_expression ; ``` + + An *invocation_expression* is dynamically bound ([§12.3.3](expressions.md#1233-dynamic-binding)) if at least one of the following holds: - The *primary_expression* has compile-time type `dynamic`. @@ -2084,11 +2143,13 @@ Unlike the syntactically equivalent *null_conditional_member_access* or *null_co ```ANTLR null_conditional_invocation_expression - : null_conditional_member_access '(' argument_list? ')' - | null_conditional_element_access '(' argument_list? ')' + : null_conditional_member_access null_forgiving_operator? '(' argument_list? ')' + | null_conditional_element_access null_forgiving_operator? '(' argument_list? ')' ; ``` + + A *null_conditional_invocation_expression* expression `E` is of the form `P?A`; where `A` is the remainder of the syntactically equivalent *null_conditional_member_access* or *null_conditional_element_access*, `A` will therefore start with `.` or `[`. Let `PA` signify the concatention of `P` and `A`. When `E` occurs as a *statement_expression* the meaning of `E` is the same as the meaning of the *statement*: @@ -2172,12 +2233,12 @@ Depending on the context in which it is used, an indexer access causes invocatio ### 12.8.13 Null Conditional Element Access -A *null_conditional_element_access* consists of a *primary_no_array_creation_expression* followed by the two tokens “`?`” and “`[`”, followed by an *argument_list*, followed by a “`]`” token, followed by zero or more *dependent_access*es. +A *null_conditional_element_access* consists of a *primary_no_array_creation_expression* followed by the two tokens “`?`” and “`[`”, followed by an *argument_list*, followed by a “`]`” token, followed by zero or more *dependent_access*es any of which can be preceeded by a *null_forgiving_operator*. ```ANTLR null_conditional_element_access : primary_no_array_creation_expression '?' '[' argument_list ']' - dependent_access* + (null_forgiving_operator? dependent_access)* ; ``` @@ -3371,14 +3432,16 @@ An *anonymous_method_expression* is one of two ways of defining an anonymous fun ### 12.9.1 General -The `+`, `-`, `!`, `~`, `++`, `--`, cast, and `await` operators are called the unary operators. +The `+`, `-`, `!` (logical negation [§12.9.4](expressions.md#1294-logical-negation-operator) only), `~`, `++`, `--`, cast, and `await` operators are called the unary operators. + +> *Note*: The postfix null-forgiving operator ([§12.8.9](expressions.md#1289-null-forgiving-expressions)), `!`, due to its compile-time and non-overloadable only nature, is excluded from the above list. *end note* ```ANTLR unary_expression : primary_expression | '+' unary_expression | '-' unary_expression - | '!' unary_expression + | logical_negation_operator unary_expression | '~' unary_expression | pre_increment_expression | pre_decrement_expression @@ -3457,6 +3520,8 @@ This operator computes the logical negation of the operand: If the operand is `t Lifted ([§12.4.8](expressions.md#1248-lifted-operators)) forms of the unlifted predefined logical negation operator defined above are also predefined. +*Note*: The prefix logical negation and postfix null-forgiving operators ([§12.8.9](expressions.md#1289-null-forgiving-expressions)), while represented by the same lexical token (`!`), are distinct. *end note* + ### 12.9.5 Bitwise complement operator For an operation of the form `~x`, unary operator overload resolution ([§12.4.4](expressions.md#1244-unary-operator-overload-resolution)) is applied to select a specific operator implementation. The operand is converted to the parameter type of the selected operator, and the type of the result is the return type of the operator. The predefined bitwise complement operators are: @@ -3616,7 +3681,7 @@ An awaiter’s implementation of the interface methods `INotifyCompletion.OnComp ### 12.10.1 General -The `*`, `/`, `%`, `+`, and `–` operators are called the arithmetic operators. +The `*`, `/`, `%`, `+`, and `-` operators are called the arithmetic operators. ```ANTLR multiplicative_expression @@ -4423,9 +4488,9 @@ The tuple equality operator `x == y` is evaluated as follows: - For each pair of elements `xi` and `yi` in lexical order: - The operator `xi == yi` is evaluated, and a result of type `bool` is obtained in the following way: - If the comparison yielded a `bool` then that is the result. - - Otherwise if the comparison yielded a `dynamic` then the operator `false` is dynamically invoked on it, and the resulting `bool` value is negated with the `!` operator. + - Otherwise if the comparison yielded a `dynamic` then the operator `false` is dynamically invoked on it, and the resulting `bool` value is negated with the logical negation operator (`!`). - Otherwise, if the type of the comparison has an implicit conversion to `bool`, that conversion is applied. - - Otherwise, if the type of the comparison has an operator `false`, that operator is invoked and the resulting `bool` value is negated with the `!` operator. + - Otherwise, if the type of the comparison has an operator `false`, that operator is invoked and the resulting `bool` value is negated with the logical negation operator (`!`). - If the resulting `bool` is `false`, then no further evaluation occurs, and the result of the tuple equality operator is `false`. - If all element comparisons yielded `true`, the result of the tuple equality operator is `true`. @@ -6388,6 +6453,8 @@ assignment_operator ; ``` + + The left operand of an assignment shall be an expression classified as a variable, or, except for `= ref`, a property access, an indexer access, an event access or a tuple. A declaration expression is not directly permitted as a left operand, but may occur as a step in the evaluation of a deconstructing assignment. The `=` operator is called the ***simple assignment operator***. It assigns the value or values of the right operand to the variable, property, indexer element or tuple elements given by the left operand. The left operand of the simple assignment operator shall not be an event access (except as described in [§15.8.2](classes.md#1582-field-like-events)). The simple assignment operator is described in [§12.21.2](expressions.md#12212-simple-assignment). @@ -6683,9 +6750,10 @@ Only the following constructs are permitted in constant expressions: - Cast expressions. - `checked` and `unchecked` expressions. - `nameof` expressions. -- The predefined `+`, `–`, `!`, and `~` unary operators. -- The predefined `+`, `–`, `*`, `/`, `%`, `<<`, `>>`, `&`, `|`, `^`, `&&`, `||`, `==`, `!=`, `<`, `>`, `<=`, and `>=` binary operators. +- The predefined `+`, `-`, `!` (logical negation) and `~` unary operators. +- The predefined `+`, `-`, `*`, `/`, `%`, `<<`, `>>`, `&`, `|`, `^`, `&&`, `||`, `==`, `!=`, `<`, `>`, `<=`, and `>=` binary operators. - The `?:` conditional operator. +- The `!` null-forgiving operator ([§12.9.4](expressions.md#1289-null-forgiving-expressions)). - `sizeof` expressions, provided the unmanaged-type is one of the types specified in [§23.6.9](unsafe-code.md#2369-the-sizeof-operator) for which `sizeof` returns a constant value. - Default value expressions, provided the type is one of the types listed above. diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index fccf58e02..79d336bbd 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -1149,7 +1149,7 @@ The namespace for conditional compilation symbols is distinct and separate from ### 6.5.3 Pre-processing expressions -Pre-processing expressions can occur in `#if` and `#elif` directives. The operators `!`, `==`, `!=`, `&&`, and `||` are permitted in pre-processing expressions, and parentheses may be used for grouping. +Pre-processing expressions can occur in `#if` and `#elif` directives. The operators `!` (prefix logical negation only), `==`, `!=`, `&&`, and `||` are permitted in pre-processing expressions, and parentheses may be used for grouping. ```ANTLR fragment PP_Expression diff --git a/standard/types.md b/standard/types.md index 806589bb8..730b62600 100644 --- a/standard/types.md +++ b/standard/types.md @@ -720,12 +720,12 @@ An *unmanaged_type* is any type that isn’t a *reference_type*, a *type_paramet ### 8.9.1 General -A *nullable reference type* is denoted by appending a `?` to a valid non-nullable reference type name. There is no semantic difference between a non-nullable reference type and its corresponding nullable type. Both a nullable reference and a non-nullable reference can contain either a reference to an object or `null`. The presence or absence of the `?` annotation declares whether an expression is intended to permit null values or not. A compiler can provide diagnostics when an expression is not used according to that intent. The null state of an expression is defined in [§8.9.5](types.md#895-nullabilities-and-null-states). An identity conversion exists among a nullable reference type and its corresponding non-nullable reference type ([§10.2.2](conversions.md#1022-identity-conversion)). +A *nullable reference type* is denoted by appending a *nullable_type_attribute* (`?`) to a non-nullable reference type. There is no semantic difference between a non-nullable reference type and its corresponding nullable type, both can either be a reference to an object or `null`. The presence or absence of the *nullable_type_attribute* declares whether an expression is intended to permit null values or not. A compiler may provide diagnostics when an expression is not used according to that intent. The null state of an expression is defined in [§8.9.5](types.md#895-nullabilities-and-null-states). An identity conversion exists among a nullable reference type and its corresponding non-nullable reference type ([§10.2.2](conversions.md#1022-identity-conversion)). There are two forms of nullability for reference types: - *nullable*: A *nullable-reference-type* can be assigned `null`. Its default null state is *maybe-null*. -- *non-nullable*” A *non-nullable reference* should not be assigned a `null` value. Its default null state is *not-null*. +- *non-nullable*: A *non-nullable reference* should not be assigned a `null` value. Its default null state is *not-null*. > *Note:* The types `R` and `R?` are represented by the same underlying type, `R`. A variable of that underlying type can either contain a reference to an object or be the value `null`, which indicates “no reference.” *end note* @@ -787,7 +787,7 @@ When the nullable context is ***annotations***: - For any reference type `T`, the annotation `?` in `T?` indicates that `T?` a nullable type, whereas the unannotated `T` is non-nullable. - No diagnostic warnings related to nullability are generated. -- The null-forgiving operator `!` ([§12.8.9](expressions.md#1289-null-forgiving-expressions)) sets the null state of its operand to *not null*. +- The null-forgiving operator `!` ([§12.8.9](expressions.md#1289-null-forgiving-expressions)) may alter the analyzed null state of its operand and what compile time informative messages are produced. > *Example*: > diff --git a/standard/unsafe-code.md b/standard/unsafe-code.md index b18ec8b51..82214fdd0 100644 --- a/standard/unsafe-code.md +++ b/standard/unsafe-code.md @@ -544,6 +544,8 @@ addressof_expression ; ``` + + Given an expression `E` which is of a type `T` and is classified as a fixed variable ([§23.4](unsafe-code.md#234-fixed-and-moveable-variables)), the construct `&E` computes the address of the variable given by `E`. The type of the result is `T*` and is classified as a value. A compile-time error occurs if `E` is not classified as a variable, if `E` is classified as a read-only local variable, or if `E` denotes a moveable variable. In the last case, a fixed statement ([§23.7](unsafe-code.md#237-the-fixed-statement)) can be used to temporarily “fix” the variable before obtaining its address. > *Note*: As stated in [§12.8.7](expressions.md#1287-member-access), outside an instance constructor or static constructor for a struct or class that defines a `readonly` field, that field is considered a value, not a variable. As such, its address cannot be taken. Similarly, the address of a constant cannot be taken. @@ -596,7 +598,7 @@ If a pointer increment or decrement operation overflows the domain of the pointe ### 23.6.7 Pointer arithmetic -In an unsafe context, the `+` operator ([§12.10.5](expressions.md#12105-addition-operator)) and `–` operator ([§12.10.6](expressions.md#12106-subtraction-operator)) can be applied to values of all pointer types except `void*`. Thus, for every pointer type `T*`, the following operators are implicitly defined: +In an unsafe context, the `+` operator ([§12.10.5](expressions.md#12105-addition-operator)) and `-` operator ([§12.10.6](expressions.md#12106-subtraction-operator)) can be applied to values of all pointer types except `void*`. Thus, for every pointer type `T*`, the following operators are implicitly defined: ```csharp T* operator +(T* x, int y); From 94c967e7c4cb49d9c4c1eec887b65793a2368c11 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Sat, 9 Nov 2024 16:03:00 +1300 Subject: [PATCH 155/259] Fixed MD lint issues --- standard/expressions.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index 188d22876..aa24fc0b3 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -182,10 +182,10 @@ All unary and binary operators have predefined implementations. In addition, use The ***overloadable unary operators*** are: -`+ - ! `(logical negation only)` ~ ++ -- true false` +`+ - !` (logical negation only) `~ ++ -- true false` > *Note*: Although `true` and `false` are not used explicitly in expressions (and therefore are not included in the precedence table in [§12.4.2](expressions.md#1242-operator-precedence-and-associativity)), they are considered operators because they are invoked in several expression contexts: Boolean expressions ([§12.24](expressions.md#1224-boolean-expressions)) and expressions involving the conditional ([§12.18](expressions.md#1218-conditional-operator)) and conditional logical operators ([§12.14](expressions.md#1214-conditional-logical-operators)). *end note* - +> > *Note*: The null-forgiving operator (postfix `!`, [§12.8.9](expressions.md#1289-null-forgiving-expressions)) is not an overloadable operator. *end note* The ***overloadable binary operators*** are: @@ -1827,7 +1827,6 @@ A *null_conditional_projection_initializer* is a restriction of *null_conditiona A null-forgiving expression’s value, type, classification ([§12.2](expressions.md#122-expression-classifications)) and safe-context ([§16.4.12](structs.md#16412-safe-context-constraint)) is the value, type, classification and safe-context of its *primary_expression*. - ```ANTLR null_forgiving_expression : primary_expression null_forgiving_operator @@ -1878,12 +1877,12 @@ message and informs any ongoing analysis. > person != null && person.Name != null; > ``` > -> If `IsValid` returns `true`, `p` can safely be dereferenced to access its `Name` property, and the “dereferencing of a possibly null value” warning can be suppressed using `!`. +> If `IsValid` returns `true`, `p` can safely be dereferenced to access its `Name` property, and the “dereferencing of a possibly null value” warning can be suppressed using `!`. > > *end example* - +> > *Example:* The null-forgiving operator should be used with caution, consider: - +> > ```csharp > #nullable enable > int B(int? x) @@ -1896,6 +1895,8 @@ message and informs any ongoing analysis. > Here the null-forgiving operator is applied to a value type and quashes any warning on > `x`. However if `x` is `null` at runtime an exception will be thrown as `null` cannot > be cast to `int`. +> +> *end example* #### 12.8.9.2 Overriding other null analysis warnings @@ -1926,7 +1927,7 @@ to issue warnings and may also modify its further analysis. > Method `M` passes the variable `s`, of type `string`, as `Assign`’s output parameter, the > compiler used issues a warning as `s` is not a nullable variable. Given that `Assign`’s > second argument cannot be null the null-forgiving operator is used to quash the warning. - +> > *end example* **End of conditionally normative text.** From 6a248ad8807ec540e419a6b308c4eba154dd24c3 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Sun, 10 Nov 2024 18:41:08 +1300 Subject: [PATCH 156/259] =?UTF-8?q?Undoing=20changes=20made=20assuming=20P?= =?UTF-8?q?R=20#1178=20was=20merged,=20it=20isn=E2=80=99t.=20Changes=20wil?= =?UTF-8?q?l=20be=20submitted=20to=20#1178=20instead.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- standard/types.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/standard/types.md b/standard/types.md index 730b62600..25f8449b8 100644 --- a/standard/types.md +++ b/standard/types.md @@ -720,12 +720,12 @@ An *unmanaged_type* is any type that isn’t a *reference_type*, a *type_paramet ### 8.9.1 General -A *nullable reference type* is denoted by appending a *nullable_type_attribute* (`?`) to a non-nullable reference type. There is no semantic difference between a non-nullable reference type and its corresponding nullable type, both can either be a reference to an object or `null`. The presence or absence of the *nullable_type_attribute* declares whether an expression is intended to permit null values or not. A compiler may provide diagnostics when an expression is not used according to that intent. The null state of an expression is defined in [§8.9.5](types.md#895-nullabilities-and-null-states). An identity conversion exists among a nullable reference type and its corresponding non-nullable reference type ([§10.2.2](conversions.md#1022-identity-conversion)). +A *nullable reference type* is denoted by appending a `?` to a valid non-nullable reference type name. There is no semantic difference between a non-nullable reference type and its corresponding nullable type. Both a nullable reference and a non-nullable reference can contain either a reference to an object or `null`. The presence or absence of the `?` annotation declares whether an expression is intended to permit null values or not. A compiler can provide diagnostics when an expression is not used according to that intent. The null state of an expression is defined in [§8.9.5](types.md#895-nullabilities-and-null-states). An identity conversion exists among a nullable reference type and its corresponding non-nullable reference type ([§10.2.2](conversions.md#1022-identity-conversion)). There are two forms of nullability for reference types: - *nullable*: A *nullable-reference-type* can be assigned `null`. Its default null state is *maybe-null*. -- *non-nullable*: A *non-nullable reference* should not be assigned a `null` value. Its default null state is *not-null*. +- *non-nullable*” A *non-nullable reference* should not be assigned a `null` value. Its default null state is *not-null*. > *Note:* The types `R` and `R?` are represented by the same underlying type, `R`. A variable of that underlying type can either contain a reference to an object or be the value `null`, which indicates “no reference.” *end note* From 636c182ee13d54e0822fcee2d4e3c1a43160b58a Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Mon, 11 Nov 2024 06:09:15 +1300 Subject: [PATCH 157/259] Update types.md (#1199) Fix typo --- standard/types.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/types.md b/standard/types.md index 806589bb8..280384356 100644 --- a/standard/types.md +++ b/standard/types.md @@ -725,7 +725,7 @@ A *nullable reference type* is denoted by appending a `?` to a valid non-nullabl There are two forms of nullability for reference types: - *nullable*: A *nullable-reference-type* can be assigned `null`. Its default null state is *maybe-null*. -- *non-nullable*” A *non-nullable reference* should not be assigned a `null` value. Its default null state is *not-null*. +- *non-nullable*: A *non-nullable reference* should not be assigned a `null` value. Its default null state is *not-null*. > *Note:* The types `R` and `R?` are represented by the same underlying type, `R`. A variable of that underlying type can either contain a reference to an object or be the value `null`, which indicates “no reference.” *end note* From f433b939c203c26a501d470d4faef59563dec259 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Sun, 10 Nov 2024 15:29:52 -0500 Subject: [PATCH 158/259] Some formatting and editorial nits (#1200) * typo * must-to-shall * formatting nit * formatting nit --- standard/classes.md | 2 +- standard/conversions.md | 2 +- standard/structs.md | 2 +- standard/types.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index 06b1bc7f6..6252dfe25 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -2299,7 +2299,7 @@ A parameter declared with an `out` modifier is an ***output parameter***. For de A method declared as a partial method ([§15.6.9](classes.md#1569-partial-methods)) shall not have output parameters. -> *Note: Output parameters are typically used in methods that produce multiple return values. *end note* +> *Note*: Output parameters are typically used in methods that produce multiple return values. *end note* diff --git a/standard/conversions.md b/standard/conversions.md index 56c33f9f7..952727243 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -507,7 +507,7 @@ An unboxing conversion permits a *reference_type* to be explicitly converted to - From the type `object` to any *value_type*. - From the type `System.ValueType` to any *value_type*. - From the type `System.Enum` to any *enum_type*. -- From any *interface_type* to any *non-nullable_value_type* that implements the *interface_type*. +- From any *interface_type* to any *non_nullable_value_type* that implements the *interface_type*. - From any *interface_type* `I` to any *non_nullable_value_type* where there is an unboxing conversion from an *interface_type* `I₀` to the *non_nullable_value-type* and an identity conversion from `I` to `I₀`. - From any *interface_type* `I` to any *non_nullable_value_type* where there is an unboxing conversion from an *interface_type* `I₀` to the *non_nullable_value_type* and either either `I₀` is variance_convertible to `I` or `I` is variance-convertible to `I₀` ([§18.2.3.3](interfaces.md#18233-variance-conversion)). - From any *reference_type* to any *nullable_value_type* where there is an unboxing conversion from *reference_type* to the underlying *non_nullable_value_type* of the *nullable_value_type*. diff --git a/standard/structs.md b/standard/structs.md index a44e713e6..a7d3d0208 100644 --- a/standard/structs.md +++ b/standard/structs.md @@ -238,7 +238,7 @@ Assignment to a variable of a struct type creates a *copy* of the value being as Similar to an assignment, when a struct is passed as a value parameter or returned as the result of a function member, a copy of the struct is created. A struct may be passed by reference to a function member using a by-reference parameter. -When a property or indexer of a struct is the target of an assignment, the instance expression associated with the property or indexer access shall be classified as a variable. If the `instance` expression is classified as a value, a compile-time error occurs. This is described in further detail in [§12.21.2](expressions.md#12212-simple-assignment). +When a property or indexer of a struct is the target of an assignment, the instance expression associated with the property or indexer access shall be classified as a variable. If the instance expression is classified as a value, a compile-time error occurs. This is described in further detail in [§12.21.2](expressions.md#12212-simple-assignment). ### 16.4.5 Default values diff --git a/standard/types.md b/standard/types.md index 280384356..08e554d00 100644 --- a/standard/types.md +++ b/standard/types.md @@ -729,7 +729,7 @@ There are two forms of nullability for reference types: > *Note:* The types `R` and `R?` are represented by the same underlying type, `R`. A variable of that underlying type can either contain a reference to an object or be the value `null`, which indicates “no reference.” *end note* -The syntactic distinction between a *nullable reference type* and its corresponding *non-nullable reference type* enables a compiler to generate diagnostics. A compiler must allow the `?` annotation as defined in [§8.2.1](types.md#821-general). The diagnostics must be limited to warnings. Neither the presence or absence of nullable annotations, nor the state of the nullable context can change the compile time or runtime behavior of a program except for changes in any diagnostic messages generated at compile time. +The syntactic distinction between a *nullable reference type* and its corresponding *non-nullable reference type* enables a compiler to generate diagnostics. A compiler shall allow the `?` annotation as defined in [§8.2.1](types.md#821-general). The diagnostics shall be limited to warnings. Neither the presence or absence of nullable annotations, nor the state of the nullable context can change the compile time or runtime behavior of a program except for changes in any diagnostic messages generated at compile time. ### 8.9.2 Non-nullable reference types From 0a611d07aaa16cb1fc5f85726ec091bd59d5798d Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Sun, 10 Nov 2024 15:30:13 -0500 Subject: [PATCH 159/259] Update v8-feature-tracker.md (#1201) --- admin/v8-feature-tracker.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/admin/v8-feature-tracker.md b/admin/v8-feature-tracker.md index e2e9fa223..13138db9f 100644 --- a/admin/v8-feature-tracker.md +++ b/admin/v8-feature-tracker.md @@ -15,11 +15,11 @@ default interface methods ([MS Proposal](https://github.com/dotnet/csharplang/bl permit `stackalloc` in nested contexts ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/nested-stackalloc.md)) | [1056](https://github.com/dotnet/csharpstandard/pull/1056) | Completed | small | N/A | `notnull` constraint ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/notnull-constraint.md)) | [830](https://github.com/dotnet/csharpstandard/pull/830) | Completed | small | Done | null coalescing assignment ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/null-coalescing-assignment.md)) | [609](https://github.com/dotnet/csharpstandard/pull/609) | HELP NEEDED | small | N/A | See Issue [#737](https://github.com/dotnet/csharpstandard/issues/737) -nullable reference types ([MS Proposal (from V9)](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/nullable-reference-types-specification.md) which supercedes ([MS Proposal (from V8)](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/nullable-reference-types.md)) |[700](https://github.com/dotnet/csharpstandard/pull/700) | Completed | large | Done | related to V8 "notnull" feature +nullable reference types ([MS Proposal (from V9)](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/nullable-reference-types-specification.md) which supercedes ([MS Proposal (from V8)](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/nullable-reference-types.md)) |[700](https://github.com/dotnet/csharpstandard/pull/700), [1195](https://github.com/dotnet/csharpstandard/pull/1195) | Completed | large | Done | related to V8 "notnull" feature Obsolete on property accessor ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/obsolete-accessor.md)) | **no change needed** | Postponed | | N/A | See Issue [#375](https://github.com/dotnet/csharpstandard/issues/375) New kinds of pattern matching ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/patterns.md)) | [873](https://github.com/dotnet/csharpstandard/pull/873) | Completed | medium | Done | precedence table assumes "ranges and indices" has been merged ranges and indices ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/ranges.md)) | [605](https://github.com/dotnet/csharpstandard/pull/605) | Completed | medium | Done | readonly instance members ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/readonly-instance-members.md)) | [673](https://github.com/dotnet/csharpstandard/pull/673) | Completed | small | N/A | -name shadowing in nested functions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/shadowing-in-nested-functions.md)) | [608](https://github.com/dotnet/csharpstandard/pull/608) | Completed | small | N/A | -static local functions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/static-local-functions.md)) | [869](https://github.com/dotnet/csharpstandard/pull/869)| Completed | small | N/A | +name shadowing in nested functions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/shadowing-in-nested-functions.md)) | [608](https://github.com/dotnet/csharpstandard/pull/608) | Merged | small | N/A | +static local functions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/static-local-functions.md)) | [869](https://github.com/dotnet/csharpstandard/pull/869)| Merged | small | N/A | Disposable ref structs [672](https://github.com/dotnet/csharpstandard/pull/672) | | **???** | | | Included in PR [606](https://github.com/dotnet/csharpstandard/pull/606); **Check this** From 773fdb81f5fc3391d1a279ac0222f5edef77065e Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Mon, 11 Nov 2024 13:04:00 -0500 Subject: [PATCH 160/259] Fix typos (#1202) 7 times change `X` to `x`; 2 times remove "typically" --- standard/expressions.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index 2b15144b3..d756d1920 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -2296,7 +2296,7 @@ The run-time processing of a postfix increment or decrement operation of the for - `x` is evaluated to produce the variable. - The value of `x` is saved. - The saved value of `x` is converted to the operand type of the selected operator and the operator is invoked with this value as its argument. - - The value returned by the operator is converted to the type of `X` and stored in the location given by the earlier evaluation of `x`. + - The value returned by the operator is converted to the type of `x` and stored in the location given by the earlier evaluation of `x`. - The saved value of `x` becomes the result of the operation. - If `x` is classified as a property or indexer access: - The instance expression (if `x` is not `static`) and the argument list (if `x` is an indexer access) associated with `x` are evaluated, and the results are used in the subsequent get and set accessor invocations. @@ -2305,7 +2305,7 @@ The run-time processing of a postfix increment or decrement operation of the for - The value returned by the operator is converted to the type of `x` and the set accessor of `x` is invoked with this value as its value argument. - The saved value of `x` becomes the result of the operation. -The `++` and `--` operators also support prefix notation ([§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)). Typically, the result of `x++` or `x--` is the value of `X` *before* the operation, whereas the result of `++x` or `--x` is the value of `X` *after* the operation. In either case, `x` itself has the same value after the operation. +The `++` and `--` operators also support prefix notation ([§12.9.6](expressions.md#1296-prefix-increment-and-decrement-operators)). The result of `x++` or `x--` is the value of `x` *before* the operation, whereas the result of `++x` or `--x` is the value of `x` *after* the operation. In either case, `x` itself has the same value after the operation. An operator `++` or operator `--` implementation can be invoked using either postfix or prefix notation. It is not possible to have separate operator implementations for the two notations. @@ -3498,12 +3498,12 @@ The run-time processing of a prefix increment or decrement operation of the form - and becomes the result of the operation. - If `x` is classified as a property or indexer access: - The instance expression (if `x` is not `static`) and the argument list (if `x` is an indexer access) associated with `x` are evaluated, and the results are used in the subsequent get and set accessor invocations. - - The get accessor of `X` is invoked. + - The get accessor of `x` is invoked. - The value returned by the get accessor is converted to the operand type of the selected operator and operator is invoked with this value as its argument. - - The value returned by the operator is converted to the type of `x`. The set accessor of `X` is invoked with this value as its value argument. + - The value returned by the operator is converted to the type of `x`. The set accessor of `x` is invoked with this value as its value argument. - This value also becomes the result of the operation. -The `++` and `--` operators also support postfix notation ([§12.8.16](expressions.md#12816-postfix-increment-and-decrement-operators)). Typically, the result of `x++` or `x--` is the value of `X` before the operation, whereas the result of `++x` or `--x` is the value of `X` after the operation. In either case, `x` itself has the same value after the operation. +The `++` and `--` operators also support postfix notation ([§12.8.16](expressions.md#12816-postfix-increment-and-decrement-operators)). The result of `x++` or `x--` is the value of `x` before the operation, whereas the result of `++x` or `--x` is the value of `x` after the operation. In either case, `x` itself has the same value after the operation. An operator `++` or operator `--` implementation can be invoked using either postfix or prefix notation. It is not possible to have separate operator implementations for the two notations. From bd54cdb2c6f7208e511326a604a4e48f8cf33713 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Thu, 14 Nov 2024 11:05:43 -0500 Subject: [PATCH 161/259] Update Foreword for V8 (#1204) * Update Foreword for V8 * fix md --- standard/foreword.md | 44 ++++++++++++++++---------------------------- 1 file changed, 16 insertions(+), 28 deletions(-) diff --git a/standard/foreword.md b/standard/foreword.md index 4e0f9616c..fa5feecec 100644 --- a/standard/foreword.md +++ b/standard/foreword.md @@ -1,31 +1,19 @@ # Foreword -This specification replaces ECMA-334:2022. Changes from the previous edition include the addition of the following: +This specification replaces ECMA-334:2023. Changes from the previous edition include the addition of the following: -- Binary integer literals -- Embedded digit separators in numeric literals -- Leading-digit separators in binary and hexadecimal integer literals -- `out` variables -- Discards -- Tuple types -- Pattern Matching -- `ref` locals and returns, conditional `ref` expressions, `ref` with `this` in extension methods, and reassignment of `ref` local variables -- Local Functions -- More expression-bodied members -- `throw` Expressions -- Generalized `async` return types -- `async Main` method -- `default` literal expressions -- Non-trailing named arguments -- `private protected` access modifier -- `in` parameter modifier -- `readonly` structs -- `ref` structs -- Indexing movable fixed buffer without pinning -- Initializers on `stackalloc` arrays -- Pattern-based `fixed` statements -- `System.Delegate` and `System.Enum` as *class_type* constraints. -- Additional generic constraints -- Allow expression variables in more locations -- Attach attributes to the backing field of auto-implemented properties -- Reduce ambiguity of overload resolution +- enhanced interpolated verbatim strings +- asynchronous streams +- `using` declarations and `async using` +- generic method override with constraints +- unmanaged constructed types +- default member implementations in interfaces +- permit `stackalloc` in nested contexts +- `notnull` constraint +- null coalescing assignment +- nullable reference types +- ranges and indexes +- readonly instance members +- name shadowing in nested functions +- static local functions +- ?? Disposable ref structs From 3372a0882d6670ef1493ec3e9ac3c729fb3c63e3 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 14 Nov 2024 11:31:25 -0500 Subject: [PATCH 162/259] Remove old version --- .../EcmaTC49.BuildGrammar.2.0.0-beta.3.nupkg | Bin 261710 -> 0 bytes .../workflows/dependencies/ReplaceAndAdd.md | 172 ------------------ 2 files changed, 172 deletions(-) delete mode 100644 .github/workflows/dependencies/EcmaTC49.BuildGrammar.2.0.0-beta.3.nupkg delete mode 100644 .github/workflows/dependencies/ReplaceAndAdd.md diff --git a/.github/workflows/dependencies/EcmaTC49.BuildGrammar.2.0.0-beta.3.nupkg b/.github/workflows/dependencies/EcmaTC49.BuildGrammar.2.0.0-beta.3.nupkg deleted file mode 100644 index 2a639302d1e80f6cc0e6867bf2118e5e707d4efe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 261710 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 z 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 z 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

tq!S9>8L$u;$v-XH+7a*6VnC_H?4M_b%Tp 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 Vn7=4Uk+)ZOQBaOfkY9}`{{!qEYNh}H diff --git a/.github/workflows/dependencies/ReplaceAndAdd.md b/.github/workflows/dependencies/ReplaceAndAdd.md deleted file mode 100644 index 757c6bcf4..000000000 --- a/.github/workflows/dependencies/ReplaceAndAdd.md +++ /dev/null @@ -1,172 +0,0 @@ -# Replacements & Additions - -A “replacement & additions” file can be passed to `BuildGrammar`’s `--modification-file`/`-m` -option and contains replacement and additional rules to be added to: verify/test a grammar, -explore/test new language features, etc. It is a markdown (`.md`) file which follows the same -conventions as those used for the Standard. - -The file is processed by `BuildGrammar` similarly to other markdown files; clauses are -noted and text in ```` ```ANTLR ... ``` ```` code blocks is “parsed” (being generous here); -as ANTLR rules, mode commands, and comments (and nothing else, don’t go trying to set options -or other stuff); and added to the corresponding section in the produced grammar (`.g4`) file. - -The rules add to, or replace, existing rules in the corresponding clause; new rules are added -to the end of the clause’s rule list, replacements occur in-place. Further in the replacement -case the previous rule is kept as a comment, and this happens regardless of the previous rules -clause i.e. a replacement can move a rule to a different clause. - -A rule is only a replacement if it changes the rule’s definition or clause. -Rules with are neither additions or replacements are ignored. - -> *Note:* This means that a -replacement & additions file can actually be a complete Standard section markdown file -and only the changed rules will be extracted to update the grammar. So while working, say, -on a PR if the original Standard’s section files are passed to `BuildGrammar` as input files, -the section files changed by the PR are passed as modification files, then the resultant grammar will -reflect the PR’s changes with the old rules as comments. - -> **Important:** section numbers in replacement & additions files are not maintained by -the automatic section numbering tooling, they **must** be maintained manually. - ---- - -# Verification-Only Replacements & Additions - -This set of replacements and additions is the bare minimum required to allow the grammar -to verify and run, though it may not produce the desired lex and parse (that requires at -least the use of modes and/or lexical predicates). - -Pre-processing directives are skipped like whitespace, however lexing confirms the lexical -grammar is valid. - -This set can be used as a basic check that the grammar is a valid ANTLR grammar. - - ---- - -## Mutual Left Recursion Removal - -All but one mutual left recursive (MLR) group has been removed from the grammar (and we should -strive not to introduce any new ones). - -This change resolves the one remaining MLR group by inlining some of the non-terminal -alternatives in *primary_no_array_creation_expression*. - -Non-terminals that are inlined -are commented out and the inlined body is indented. - -This change has not been made to the Standard itself as it makes *primary_no_array_creation_expression* -“uglier” and would obfuscate somewhat the description in the Standard – both -subjective reasons of course... - -As MLR is not supported by ANTLR without this change the grammar would be rejected. - -### 12.8.1 General - -```ANTLR -// [CHANGE] This removes a mutual left-recursion group which we have (currently?) -// [CHANGE] decided to leave in the Standard. Without this change the grammar will -// [CHANGE] fail to verify. -# Expect -primary_no_array_creation_expression - : literal - | interpolated_string_expression - | simple_name - | parenthesized_expression - | tuple_expression - | member_access - | null_conditional_member_access - | invocation_expression - | element_access - | null_conditional_element_access - | this_access - | base_access - | post_increment_expression - | post_decrement_expression - | object_creation_expression - | delegate_creation_expression - | anonymous_object_creation_expression - | typeof_expression - | sizeof_expression - | checked_expression - | unchecked_expression - | default_value_expression - | nameof_expression - | anonymous_method_expression - | pointer_member_access // unsafe code support - | pointer_element_access // unsafe code support - | stackalloc_expression - ; -# ReplaceWith -primary_no_array_creation_expression - : literal - | interpolated_string_expression - | simple_name - | parenthesized_expression - | tuple_expression - // | member_access - | primary_no_array_creation_expression '.' identifier type_argument_list? - | array_creation_expression '.' identifier type_argument_list? - | predefined_type '.' identifier type_argument_list? - | qualified_alias_member '.' identifier type_argument_list? - // | null_conditional_member_access - | primary_no_array_creation_expression '?' '.' identifier type_argument_list? dependent_access* - | array_creation_expression '?' '.' identifier type_argument_list? dependent_access* - // | invocation_expression - | primary_no_array_creation_expression '(' argument_list? ')' - | array_creation_expression '(' argument_list? ')' - // | element_access and pointer_element_access (unsafe code support) - | primary_no_array_creation_expression '[' argument_list ']' - // | null_conditional_element_access - | primary_no_array_creation_expression '?' '[' argument_list ']' dependent_access* - | this_access - | base_access - // | post_increment_expression - | primary_no_array_creation_expression '++' - | array_creation_expression '++' - // | post_decrement_expression - | primary_no_array_creation_expression '--' - | array_creation_expression '--' - | object_creation_expression - | delegate_creation_expression - | anonymous_object_creation_expression - | typeof_expression - | sizeof_expression - | checked_expression - | unchecked_expression - | default_value_expression - | nameof_expression - | anonymous_method_expression - // | pointer_member_access // unsafe code support - | primary_no_array_creation_expression '->' identifier type_argument_list? - | array_creation_expression '->' identifier type_argument_list? - // | pointer_element_access // unsafe code support - // covered by element_access replacement above - | stackalloc_expression - ; -``` - - ---- - -## Interpolated strings - -The lexical rules for interpolated strings are context-sensitive and are not ANLTR-ready in the Standard -as how such rules are handled is an implementation detail, e.g. using ANTLR modes. -Here we just define one token in terms of another to remove the overlap warnings. - -### 12.8.3 Interpolated string expressions - -```ANTLR -// [CHANGE] This allows the grammar to verify without warnings, it does NOT correctly -// [CHANGE] parse interpolated strings – that requires modes and/or lexical predicates. -// [CHANGE] Note: Interpolated strings are properly parsed in Base and other sets. -# Expect -Interpolated_Verbatim_String_End - : '"' - ; -# ReplaceWith -Interpolated_Verbatim_String_End - : Interpolated_Regular_String_End - ; -``` From 2d105ef1cad865ca6716d4160ec5fa58cb7aba2c Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 14 Nov 2024 11:34:49 -0500 Subject: [PATCH 163/259] add new version This installs the version 2.0.0 From the antlr-testing repo as of 11/14 --- .../EcmaTC49.BuildGrammar.2.0.0.nupkg | Bin 0 -> 261663 bytes .../workflows/dependencies/ReplaceAndAdd.md | 176 ++++++++++++++++++ .github/workflows/grammar-validator.yaml | 2 +- 3 files changed, 177 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/dependencies/EcmaTC49.BuildGrammar.2.0.0.nupkg create mode 100644 .github/workflows/dependencies/ReplaceAndAdd.md diff --git a/.github/workflows/dependencies/EcmaTC49.BuildGrammar.2.0.0.nupkg b/.github/workflows/dependencies/EcmaTC49.BuildGrammar.2.0.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..06c6d7508e27a771ca4386175230d1de50a6bdd5 GIT binary patch literal 261663 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

i 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 Lnvc*wjTrv}kKEgl literal 0 HcmV?d00001 diff --git a/.github/workflows/dependencies/ReplaceAndAdd.md b/.github/workflows/dependencies/ReplaceAndAdd.md new file mode 100644 index 000000000..455c9a016 --- /dev/null +++ b/.github/workflows/dependencies/ReplaceAndAdd.md @@ -0,0 +1,176 @@ +# Replacements & Additions + +A “replacement & additions” file can be passed to `BuildGrammar`’s `--modification-file`/`-m` +option and contains replacement and additional rules to be added to: verify/test a grammar, +explore/test new language features, etc. It is a markdown (`.md`) file which follows the same +conventions as those used for the Standard. + +The file is processed by `BuildGrammar` similarly to other markdown files; clauses are +noted and text in ```` ```ANTLR ... ``` ```` code blocks is “parsed” (being generous here); +as ANTLR rules, mode commands, and comments (and nothing else, don’t go trying to set options +or other stuff); and added to the corresponding section in the produced grammar (`.g4`) file. + +The rules add to, or replace, existing rules in the corresponding clause; new rules are added +to the end of the clause’s rule list, replacements occur in-place. Further in the replacement +case the previous rule is kept as a comment, and this happens regardless of the previous rules +clause i.e. a replacement can move a rule to a different clause. + +A rule is only a replacement if it changes the rule’s definition or clause. +Rules with are neither additions or replacements are ignored. + +> *Note:* This means that a +replacement & additions file can actually be a complete Standard section markdown file +and only the changed rules will be extracted to update the grammar. So while working, say, +on a PR if the original Standard’s section files are passed to `BuildGrammar` as input files, +the section files changed by the PR are passed as modification files, then the resultant grammar will +reflect the PR’s changes with the old rules as comments. + +> **Important:** section numbers in replacement & additions files are not maintained by +the automatic section numbering tooling, they **must** be maintained manually. + +--- + +# Verification-Only Replacements & Additions + +This set of replacements and additions is the bare minimum required to allow the grammar +to verify and run, though it may not produce the desired lex and parse (that requires at +least the use of modes and/or lexical predicates). + +Pre-processing directives are skipped like whitespace, however lexing confirms the lexical +grammar is valid. + +This set can be used as a basic check that the grammar is a valid ANTLR grammar. + + +--- + +## Mutual Left Recursion Removal + +All but one mutual left recursive (MLR) group has been removed from the grammar (and we should +strive not to introduce any new ones). + +This change resolves the one remaining MLR group by inlining some of the non-terminal +alternatives in *primary_no_array_creation_expression*. + +Non-terminals that are inlined +are commented out and the inlined body is indented. + +This change has not been made to the Standard itself as it makes *primary_no_array_creation_expression* +“uglier” and would obfuscate somewhat the description in the Standard – both +subjective reasons of course... + +As MLR is not supported by ANTLR without this change the grammar would be rejected. + +### 12.8.1 General + +```ANTLR +// [CHANGE] This removes a mutual left-recursion group which we have (currently?) +// [CHANGE] decided to leave in the Standard. Without this change the grammar will +// [CHANGE] fail to verify. +# Expect +primary_no_array_creation_expression + : literal + | interpolated_string_expression + | simple_name + | parenthesized_expression + | tuple_expression + | member_access + | null_conditional_member_access + | invocation_expression + | element_access + | null_conditional_element_access + | this_access + | base_access + | post_increment_expression + | post_decrement_expression + | null_forgiving_expression + | object_creation_expression + | delegate_creation_expression + | anonymous_object_creation_expression + | typeof_expression + | sizeof_expression + | checked_expression + | unchecked_expression + | default_value_expression + | nameof_expression + | anonymous_method_expression + | pointer_member_access // unsafe code support + | pointer_element_access // unsafe code support + | stackalloc_expression + ; +# ReplaceWith +primary_no_array_creation_expression + : literal + | interpolated_string_expression + | simple_name + | parenthesized_expression + | tuple_expression + // | member_access + | primary_no_array_creation_expression '.' identifier type_argument_list? + | array_creation_expression '.' identifier type_argument_list? + | predefined_type '.' identifier type_argument_list? + | qualified_alias_member '.' identifier type_argument_list? + // | null_conditional_member_access + | primary_no_array_creation_expression '?' '.' identifier type_argument_list? dependent_access* + | array_creation_expression '?' '.' identifier type_argument_list? dependent_access* + // | invocation_expression + | primary_no_array_creation_expression '(' argument_list? ')' + | array_creation_expression '(' argument_list? ')' + // | element_access and pointer_element_access (unsafe code support) + | primary_no_array_creation_expression '[' argument_list ']' + // | null_conditional_element_access + | primary_no_array_creation_expression '?' '[' argument_list ']' dependent_access* + | this_access + | base_access + // | post_increment_expression + | primary_no_array_creation_expression '++' + | array_creation_expression '++' + // | post_decrement_expression + | primary_no_array_creation_expression '--' + | array_creation_expression '--' + // | null_forgiving_expression + | primary_no_array_creation_expression null_forgiving_operator + | array_creation_expression null_forgiving_operator + | object_creation_expression + | delegate_creation_expression + | anonymous_object_creation_expression + | typeof_expression + | sizeof_expression + | checked_expression + | unchecked_expression + | default_value_expression + | nameof_expression + | anonymous_method_expression + // | pointer_member_access // unsafe code support + | primary_no_array_creation_expression '->' identifier type_argument_list? + | array_creation_expression '->' identifier type_argument_list? + // | pointer_element_access // unsafe code support + // covered by element_access replacement above + | stackalloc_expression + ; +``` + + +--- + +## Interpolated strings + +The lexical rules for interpolated strings are context-sensitive and are not ANLTR-ready in the Standard +as how such rules are handled is an implementation detail, e.g. using ANTLR modes. +Here we just define one token in terms of another to remove the overlap warnings. + +### 12.8.3 Interpolated string expressions + +```ANTLR +// [CHANGE] This allows the grammar to verify without warnings, it does NOT correctly +// [CHANGE] parse interpolated strings – that requires modes and/or lexical predicates. +// [CHANGE] Note: Interpolated strings are properly parsed in Base and other sets. +# Expect +Interpolated_Verbatim_String_End + : '"' + ; +# ReplaceWith +Interpolated_Verbatim_String_End + : Interpolated_Regular_String_End + ; +``` diff --git a/.github/workflows/grammar-validator.yaml b/.github/workflows/grammar-validator.yaml index fd7ed298c..5b9016dae 100644 --- a/.github/workflows/grammar-validator.yaml +++ b/.github/workflows/grammar-validator.yaml @@ -34,7 +34,7 @@ jobs: # Install build grammar global tool - name: Install BuildGrammar tool run: | - dotnet tool install --version 2.0.0-beta.3 --global --add-source ./.github/workflows/dependencies/ EcmaTC49.BuildGrammar + dotnet tool install --version 2.0.0 --global --add-source ./.github/workflows/dependencies/ EcmaTC49.BuildGrammar - name: run validate From 5d74d239e5e6cea0a4cac41b07264e547741a9e0 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Fri, 15 Nov 2024 12:59:55 -0500 Subject: [PATCH 164/259] indent final 2-entry bullet 1 level (#1206) --- standard/conversions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/standard/conversions.md b/standard/conversions.md index 952727243..3cb4557bf 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -1001,5 +1001,5 @@ the target object of the delegate is determined from the instance expression ass - If the instance expression is of a *value_type*, a boxing operation ([§10.2.9](conversions.md#1029-boxing-conversions)) is performed to convert the value to an object, and this object becomes the target object. - Otherwise, the selected method is part of a static method call, and the target object of the delegate is `null`. - A delegate instance of delegate type `D` is obtained with a reference to the method that was determined at compile-time and a reference to the target object computed above, as follows: -- The conversion is permitted (but not required) to use an existing delegate instance that already contains these references. -- If an existing instance was not reused, a new one is created ([§20.5](delegates.md#205-delegate-instantiation)). If there is not enough memory available to allocate the new instance, a `System.OutOfMemoryException` is thrown. Otherwise the instance is initialized with the given references. + - The conversion is permitted (but not required) to use an existing delegate instance that already contains these references. + - If an existing instance was not reused, a new one is created ([§20.5](delegates.md#205-delegate-instantiation)). If there is not enough memory available to allocate the new instance, a `System.OutOfMemoryException` is thrown. Otherwise the instance is initialized with the given references. From 000309e4828501cf521a409f088dc5f1f77025c7 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Sun, 17 Nov 2024 12:34:09 -0500 Subject: [PATCH 165/259] Small tweaks to "Local variable declarations" (#1208) * improved text and rule names * change section heading * fix grammar edit error * Update standard/statements.md Co-authored-by: Nigel-Ecma * Update standard/statements.md Co-authored-by: Nigel-Ecma * Update standard/statements.md Co-authored-by: Kalle Olavi Niemitalo --------- Co-authored-by: Nigel-Ecma Co-authored-by: Kalle Olavi Niemitalo --- standard/README.md | 2 +- standard/statements.md | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/standard/README.md b/standard/README.md index 1525cc8da..c82b7d153 100644 --- a/standard/README.md +++ b/standard/README.md @@ -453,7 +453,7 @@ - [§13.6.2.1](statements.md#13621-general) General - [§13.6.2.2](statements.md#13622-implicitly-typed-local-variable-declarations) Implicitly typed local variable declarations - [§13.6.2.3](statements.md#13623-explicitly-typed-local-variable-declarations) Explicitly typed local variable declarations - - [§13.6.2.4](statements.md#13624-ref-local-variable-declarations) Ref local variable declarations + - [§13.6.2.4](statements.md#13624-explicitly-typed-ref-local-variable-declarations) Explicitly typed ref local variable declarations - [§13.6.3](statements.md#1363-local-constant-declarations) Local constant declarations - [§13.6.4](statements.md#1364-local-function-declarations) Local function declarations - [§13.7](statements.md#137-expression-statements) Expression statements diff --git a/standard/statements.md b/standard/statements.md index a634876e3..245bb6d55 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -302,12 +302,10 @@ A *local_variable_declaration* declares one or more local variables. local_variable_declaration : implicitly_typed_local_variable_declaration | explicitly_typed_local_variable_declaration - | ref_local_variable_declaration + | explicitly_typed_ref_local_variable_declaration ; ``` -Local variable declarations fall into one of the three categories: implicitly typed, explicitly typed, and ref local. - Implicitly typed declarations contain the contextual keyword ([§6.4.4](lexical-structure.md#644-keywords)) `var` resulting in a syntactic ambiguity between the three categories which is resolved as follows: - If there is no type named `var` in scope and the input matches *implicitly_typed_local_variable_declaration* then it is chosen; @@ -366,7 +364,7 @@ implicitly_typed_local_variable_declarator ; ``` -An *implicity_typed_local_variable_declaration* introduces a single local variable, *identifier*. The *expression* or *variable_reference* shall have a compile-time type, `T`. The first alternative declares a variable with an initial value of *expression*; its type is `T?` when `T` is a non-nullable reference type, otherwise its type is `T`. The second alternative declares a ref variable with an initial value of `ref` *variable_reference*; its type is `ref T?` when `T` is a non-nullable reference type, otherwise its type is `ref T`. +An *implicitly_typed_local_variable_declaration* introduces a single local variable, *identifier*. The *expression* or *variable_reference* shall have a compile-time type, `T`. The first alternative declares a variable with an initial value of *expression*; its type is `T?` when `T` is a non-nullable reference type, otherwise its type is `T`. The second alternative declares a ref variable with an initial value of `ref` *variable_reference*; its type is `ref T?` when `T` is a non-nullable reference type, otherwise its type is `ref T`. (*ref_kind* is described in [§15.6.1](classes.md#1561-general).) > *Example*: > @@ -433,10 +431,10 @@ An *explicity_typed_local_variable_declaration* introduces one or more local var If a *local_variable_initializer* is present then its type shall be appropriate according to the rules of simple assignment ([§12.21.2](expressions.md#12212-simple-assignment)) or array initialization ([§17.7](arrays.md#177-array-initializers)) and its value is assigned as the initial value of the variable. -#### 13.6.2.4 Ref local variable declarations +#### 13.6.2.4 Explicitly typed ref local variable declarations ```ANTLR -ref_local_variable_declaration +explicitly_typed_ref_local_variable_declaration : ref_kind type ref_local_variable_declarators ; From f4ebeb4070fdb312c46c7aad810f416a406892fa Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 20 Nov 2024 15:37:19 -0500 Subject: [PATCH 166/259] Add the list of attributes that support nullable analysis. (#1191) * Include attribute related text from #700 Include all the nullable analysis attributes in the spec. This will be edited heavily and shrunk down to a smaller set of normative text. * update the section links * First set of text updates * fix first test run * Update samples and descriptions * fix final build warning * Apply suggestions from code review Co-authored-by: Nigel-Ecma Co-authored-by: Jon Skeet * Apply suggestions from code review Co-authored-by: Jon Skeet * respond to feedback. * Respond to feedback. * fix tests * Update attributes.md * Apply suggestions from code review Co-authored-by: Nigel-Ecma * Don't imply unreachable code When the `DoesNotReturn` attribute is parsed by a compiler that provides nullable diagnostics, that attribute can't impact reachable code analysis. * Apply suggestions from code review Co-authored-by: Neal Gafter Co-authored-by: Joseph Musser --------- Co-authored-by: Nigel-Ecma Co-authored-by: Jon Skeet Co-authored-by: Neal Gafter Co-authored-by: Joseph Musser --- standard/attributes.md | 275 +++++++++++++++++- standard/standard-library.md | 80 +++++ .../ExtractorAndTesterUsersGuide.md | 2 +- .../code-in-class-lib/Library.cs | 1 + .../standalone-lib/Library.cs | 1 + 5 files changed, 357 insertions(+), 2 deletions(-) diff --git a/standard/attributes.md b/standard/attributes.md index 57c600064..ddf0167f7 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -519,7 +519,7 @@ Using the terms defined in [§22.4.2](attributes.md#2242-compilation-of-an-attri ### 22.5.1 General -A small number of attributes affect the language in some way. These attributes include: +A number of attributes affect the language in some way. These attributes include: - `System.AttributeUsageAttribute` ([§22.5.2](attributes.md#2252-the-attributeusage-attribute)), which is used to describe the ways in which an attribute class can be used. - `System.Diagnostics.ConditionalAttribute` ([§22.5.3](attributes.md#2253-the-conditional-attribute)), is a multi-use attribute class which is used to define conditional methods and conditional attribute classes. This attribute indicates a condition by testing a conditional compilation symbol. @@ -527,6 +527,8 @@ A small number of attributes affect the language in some way. These attributes i - `System.Runtime.CompilerServices.AsyncMethodBuilderAttribute` ([§22.5.5](attributes.md#2255-the-asyncmethodbuilder-attribute)), which is used to establish a task builder for an async method. - `System.Runtime.CompilerServices.CallerLineNumberAttribute` ([§22.5.6.2](attributes.md#22562-the-callerlinenumber-attribute)), `System.Runtime.CompilerServices.CallerFilePathAttribute` ([§22.5.6.3](attributes.md#22563-the-callerfilepath-attribute)), and `System.Runtime.CompilerServices.CallerMemberNameAttribute` ([§22.5.6.4](attributes.md#22564-the-callermembername-attribute)), which are used to supply information about the calling context to optional parameters. +The Nullable static analysis attributes (§Nullable-Analysis-Attributes) can improve the correctness of warnings generated for nullabilities and null states (§8.9.5). + An execution environment may provide additional implementation-defined attributes that affect the execution of a C# program. ### 22.5.2 The AttributeUsage attribute @@ -858,6 +860,277 @@ For invocations that occur within field or event initializers, the member name u For invocations that occur within declarations of instance constructors, static constructors, finalizers and operators the member name used is implementation-dependent. +### §Nullable-Analysis-Attributes Code analysis attributes + +#### §Nullable-Analysis-Attributes-General General + +The attributes in this section are used to provide additional information to support a compiler that provides nullability and null-state diagnostics (§8.9.5). A compiler isn't required to perform any null-state diagnostics. The presence or absence of these attributes do not affect the language nor the behavior of a program. A compiler that doesn't provide null-state diagnostics shall read and ignore the presence of these attributes. A compiler that provides null-state diagnostics shall use the meaning defined in this section for any of these attributes which it uses to inform its diagnostics. + +The code-analysis attributes are declared in namespace `System.Diagnostics.CodeAnalysis`. + +**Attribute** | **Meaning** +------------------ | ------------------ +`AllowNull` (§The-AllowNull-Attribute) | A non-nullable argument may be null. +`DisallowNull` (§The-DisallowNull-Attribute) | A nullable argument should never be null. +`MaybeNull` (§The-MaybeNull-Attribute) | A non-nullable return value may be null. +`NotNull` (§The-NotNull-Attribute) | A nullable return value will never be null. +`MaybeNullWhen` (§The-MaybeNullWhen-Attribute) | A non-nullable argument may be null when the method returns the specified `bool` value. +`NotNullWhen` (§The-NotNullWhen-Attribute) | A nullable argument won't be null when the method returns the specified `bool` value. +`NotNullIfNotNull` (§The-NotNullIfNotNull-Attribute) | A return value isn't null if the argument for the specified parameter isn't null. +`MemberNotNull` (§The-MemberNotNull-Attribute) | The listed member won't be null when the method returns. +`MemberNotNullWhen` (§The-MemberNotNullWhen-Attribute) | The listed member won't be null when the method returns the specified `bool` value. +`DoesNotReturn` (§The-DoesNotReturn-Attribute) | This method never returns. +`DoesNotReturnIf` (§The-DoesNotReturnIf-Attribute) | This method never returns if the associated `bool` parameter has the specified value. + +The following sections in §Nullable-Analysis-Attributes-General are conditionally normative. + +#### §The-AllowNull-Attribute The AllowNull attribute + +Specifies that a null value is allowed as an input even if the corresponding type disallows it. + +> *Example*: Consider the following read/write property that never returns `null` because it has a reasonable default value. However, a user can give null to the set accessor to set the property to that default value. +> +> +> ```csharp +> #nullable enable +> public class X +> { +> [AllowNull] +> public string ScreenName +> { +> get => _screenName; +> set => _screenName = value ?? GenerateRandomScreenName(); +> } +> private string _screenName = GenerateRandomScreenName(); +> private static string GenerateRandomScreenName() => ...; +> } +> ``` +> +> Given the following use of that property’s set accessor +> +> ```csharp +> var v = new X(); +> v.ScreenName = null; // may warn without attribute AllowNull +> ``` +> +> without the attribute, the compiler may generate a warning because the non-nullable-typed property appears to be set to a null value. The presence of the attribute suppresses that warning. *end example* + +#### §The-DisallowNull-Attribute The DisallowNull attribute + +Specifies that a null value is disallowed as an input even if the corresponding type allows it. + +> *Example*: Consider the following property in which null is the default value, but clients can only set it to a non-null value. +> +> +> ```csharp +> #nullable enable +> public class X +> { +> [DisallowNull] +> public string? ReviewComment +> { +> get => _comment; +> set => _comment = value ?? throw new ArgumentNullException(nameof(value), +> "Cannot set to null"); +> } +> private string? _comment = default; +> } +> ``` +> +> The get accessor could return the default value of `null`, so the compiler may warn that it must be checked before access. Furthermore, it warns callers that, even though it could be null, callers shouldn't explicitly set it to null. *end example* + +#### §The-DoesNotReturn-Attribute The DoesNotReturn attribute + +Specifies that a given method never returns. + +> *Example*: Consider the following: +> +> +> ```csharp +> public class X +> { +> [DoesNotReturn] +> private void FailFast() => +> throw new InvalidOperationException(); +> +> public void SetState(object? containedField) +> { +> if ((!isInitialized) || (containedField == null)) +> { +> FailFast(); +> } +> // null check not needed. +> _field = containedField; +> } +> +> private bool isInitialized = false; +> private object _field; +> } +> ``` +> +> The presence of the attribute helps the compiler in a number of ways. First, the compiler can issue a warning if there's a path where the method can exit without throwing an exception. Second, the compiler can suppress nullable warnings in any code after a call to that method, until an appropriate catch clause is found. Third, the unreachable code won't affect any null states. +> +> The attribute does not change reachability (§13.2) or definite assignment (§9.4) analysis based on the presence of this attribute. It is used only to impact nullability warnings. *end example* + +#### §The-DoesNotReturnIf-Attribute The DoesNotReturnIf attribute + +Specifies that a given method never returns if the associated `bool` parameter has the specified value. + +> *Example*: Consider the following: +> +> +> ```csharp +> #nullable enable +> public class X +> { +> private void ThrowIfNull([DoesNotReturnIf(true)] bool isNull, string argumentName) +> { +> if (!isNull) +> { +> throw new ArgumentException(argumentName, $"argument {argumentName} can't be null"); +> } +> } +> +> public void SetFieldState(object containedField) +> { +> ThrowIfNull(containedField == null, nameof(containedField)); +> // unreachable code when "isInitialized" is false: +> _field = containedField; +> } +> +> private bool isInitialized = false; +> private object _field = default!; +> } +> ``` +> +> *end example* + +#### §The-MaybeNull-Attribute The MaybeNull attribute + +Specifies that a non-nullable return value may be null. + +> *Example*: Consider the following generic method: +> +> +> ```csharp +> #nullable enable +> public T? Find(IEnumerable sequence, Func predicate) { ... } +> ``` +> +> The idea of this code is that if `T` is replaced by `string`, `T?` becomes a nullable annotation. However, this code is not legal because `T` is not constrained to be a reference type. However, adding this attribute solves the problem: +> +> +> ```csharp +> #nullable enable +> [return: MaybeNull] +> public T Find(IEnumerable sequence, Func predicate) { ... } +> ``` +> +> The attribute informs callers that the contract implies a non-nullable type, but the return value may actually be `null`. *end example* + +#### §The-MaybeNullWhen-Attribute The MaybeNullWhen attribute + +Specifies that a non-nullable argument may be `null` when the method returns the specified `bool` value. This is similar to the `MaybeNull` attribute (§The-MaybeNull-Attribute), but includes a parameter for the specified return value. + +#### §The-MemberNotNull-Attribute The MemberNotNull attribute + +Specifies that the given member won't be `null` when the method returns. + +> *Example*: A helper method may include the `MemberNotNull` attribute to list any fields that are assigned to a non-null value in that method. A compiler that analyzes constructors to determine whether all non-nullable reference fields have been initialized may then use this attribute to discover which fields have been set by those helper methods. Consider the following example: +> +> +> ```csharp +> #nullable enable +> public class Container +> { +> private string _uniqueIdentifier; // must be initialized. +> private string? _optionalMessage; +> +> public Container() +> { +> Helper(); +> } +> +> public Container(string message) +> { +> Helper(); +> _optionalMessage = message; +> } +> +> [MemberNotNull(nameof(_uniqueIdentifier))] +> private void Helper() +> { +> _uniqueIdentifier = DateTime.Now.Ticks.ToString(); +> } +> } +> ``` +> +> Multiple field names may be given as arguments to the attribute’s constructor. *end example* + +#### §The-MemberNotNullWhen-Attribute The MemberNotNullWhen attribute + +Specifies that the listed member won't be `null` when the method returns the specified `bool` value. + +> *Example*: This attribute is like `MemberNotNull` (§The-MemberNotNull-Attribute) except that `MemberNotNullWhen` takes a `bool` argument. `MemberNotNullWhen` is intended for use in situations in which a helper method returns a `bool` indicating whether it initialized fields. *end example* + +#### §The-NotNull-Attribute The NotNull attribute + +Specifies that a nullable value will never be `null` if the method returns (rather than throwing). + +> *Example*: Consider the following: +> +> +> ```csharp +> #nullable enable +> public static void ThrowWhenNull([NotNull] object? value, string valueExpression = "") => +> _ = value ?? throw new ArgumentNullException(valueExpression); +> +> public static void LogMessage(string? message) +> { +> ThrowWhenNull(message, nameof(message)); +> Console.WriteLine(message.Length); +> } +> ``` +> +> When null reference types are enabled, method `ThrowWhenNull` compiles without warnings. When that method returns, the `value` argument is guaranteed to be not `null`. However, it's acceptable to call `ThrowWhenNull` with a null reference. *end example* + +#### §The-NotNullIfNotNull-Attribute The NotNullIfNotNull attribute + +Specifies that a return value isn't `null` if the argument for the specified parameter isn't `null`. + +> *Example*: The null state of a return value could depend on the null state of one or more arguments. To assist the compiler’s analysis when a method always returns a non-null value when certain arguments are not `null` the `NotNullIfNotNull` attribute may be used. Consider the following method: +> +> +> ```csharp +> #nullable enable +> string GetTopLevelDomainFromFullUrl(string url) { ... } +> ``` +> +> If the `url` argument isn't `null`, `null` isn’t returned. When nullable references are enabled, that signature works correctly, provided the API never accepts a null argument. However, if the argument could be null, then the return value could also be null. To express that contract correctly, annotate this method as follows: +> +> +> ```csharp +> #nullable enable +> [return: NotNullIfNotNull("url")] +> string? GetTopLevelDomainFromFullUrl(string? url) { ... } +> ``` +> +> *end example* + +#### §The-NotNullWhen-Attribute The NotNullWhen attribute + +Specifies that a nullable argument won't be `null` when the method returns the specified `bool` value. + +> *Example*: The library method `String.IsNullOrEmpty(String)` returns `true` when the argument is `null` or an empty string. It's a form of null-check: Callers don't need to null-check the argument if the method returns `false`. To make a method like this nullable aware, make the parameter type a nullable reference type, and add the NotNullWhen attribute: +> +> +> ```csharp +> #nullable enable +> bool IsNullOrEmpty([NotNullWhen(false)] string? value) { ... } +> ``` +> +> *end example* + ## 22.6 Attributes for interoperation For interoperation with other languages, an indexer may be implemented using indexed properties. If no `IndexerName` attribute is present for an indexer, then the name `Item` is used by default. The `IndexerName` attribute enables a developer to override this default and specify a different name. diff --git a/standard/standard-library.md b/standard/standard-library.md index 0810dff78..fbc808b37 100644 --- a/standard/standard-library.md +++ b/standard/standard-library.md @@ -571,6 +571,86 @@ namespace System.Runtime.CompilerServices public bool IsCompleted { get; } public TResult GetResult(); } + + [System.AttributeUsage(System.AttributeTargets.Field | + System.AttributeTargets.Parameter | System.AttributeTargets.Property, + Inherited=false)] + public sealed class AllowNullAttribute : Attribute + { + public AllowNullAttribute() { } + } + + [System.AttributeUsage(System.AttributeTargets.Field | + System.AttributeTargets.Parameter | System.AttributeTargets.Property, + Inherited=false)] + public sealed class DisallowNullAttribute : Attribute + { + public DisallowNullAttribute() {} + } + + [System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)] + public sealed class DoesNotReturnAttribute : Attribute + { + public DoesNotReturnAttribute() {} + } + + [System.AttributeUsage(System.AttributeTargets.Parameter, Inherited=false)] + public sealed class DoesNotReturnIfAttribute : Attribute + { + public DoesNotReturnIfAttribute(bool parameterValue) {} + } + + [System.AttributeUsage(System.AttributeTargets.Field | + System.AttributeTargets.Parameter | System.AttributeTargets.Property | + System.AttributeTargets.ReturnValue, Inherited=false)] + public sealed class MaybeNullAttribute : Attribute + { + public MaybeNullAttribute() {} + } + + [System.AttributeUsage(System.AttributeTargets.Parameter, Inherited=false)] + public sealed class MaybeNullWhenAttribute : Attribute + { + public MaybeNullWhenAttribute(bool returnValue) {} + } + + [System.AttributeUsage(System.AttributeTargets.Method | + System.AttributeTargets.Property, AllowMultiple=true, Inherited=false)] + public sealed class MemberNotNullAttribute : Attribute + { + public MemberNotNullAttribute(string member) {} + public MemberNotNullAttribute(params string[] members) {} + } + + [System.AttributeUsage(System.AttributeTargets.Method | + System.AttributeTargets.Property, AllowMultiple=true, Inherited=false)] + public sealed class MemberNotNullWhenAttribute : Attribute + { + public MemberNotNullWhenAttribute(bool returnValue, string member) {} + public MemberNotNullWhenAttribute(bool returnValue, params string[] members) {} + } + + [System.AttributeUsage(System.AttributeTargets.Field | + System.AttributeTargets.Parameter | System.AttributeTargets.Property | + System.AttributeTargets.ReturnValue, Inherited=false)] + public sealed class NotNullAttribute : Attribute + { + public NotNullAttribute() {} + } + + [System.AttributeUsage(System.AttributeTargets.Parameter | + System.AttributeTargets.Property | System.AttributeTargets.ReturnValue, + AllowMultiple=true, Inherited=false)] + public sealed class NotNullIfNotNullAttribute : Attribute + { + public NotNullIfNotNullAttribute(string parameterName) {} + } + + [System.AttributeUsage(System.AttributeTargets.Parameter, Inherited=false)] + public sealed class NotNullWhenAttribute : Attribute + { + public NotNullWhenAttribute(bool returnValue) {} + } } namespace System.Threading.Tasks diff --git a/tools/ExampleExtractor/ExtractorAndTesterUsersGuide.md b/tools/ExampleExtractor/ExtractorAndTesterUsersGuide.md index 0c684d447..4c3b5471c 100644 --- a/tools/ExampleExtractor/ExtractorAndTesterUsersGuide.md +++ b/tools/ExampleExtractor/ExtractorAndTesterUsersGuide.md @@ -108,7 +108,7 @@ template_name ; ``` -The unsuffixed and suffixed versions are identical, *except* that the unsuffixed ones have using directioves for all namespaces used by examples, while the suffixed ones do not. The unsuffixed versions are used by those few examples that begin with `#undef` or `#define`, which *must* precede using directives, and which might then have explicit using directives. +The unsuffixed and suffixed versions are identical, *except* that the unsuffixed ones have using directives for all namespaces used by examples, while the suffixed ones do not. The unsuffixed versions are used by those few examples that begin with `#undef` or `#define`, which *must* precede using directives, and which might then have explicit using directives. #### standalone-console diff --git a/tools/example-templates/code-in-class-lib/Library.cs b/tools/example-templates/code-in-class-lib/Library.cs index a657e9fe5..3bd998186 100644 --- a/tools/example-templates/code-in-class-lib/Library.cs +++ b/tools/example-templates/code-in-class-lib/Library.cs @@ -10,6 +10,7 @@ using System.Security.Permissions; using System.Text; using System.Threading; +using System.Diagnostics.CodeAnalysis; partial class Class1 { diff --git a/tools/example-templates/standalone-lib/Library.cs b/tools/example-templates/standalone-lib/Library.cs index 01ee290e0..9574295b6 100644 --- a/tools/example-templates/standalone-lib/Library.cs +++ b/tools/example-templates/standalone-lib/Library.cs @@ -10,5 +10,6 @@ using System.Security.Permissions; using System.Text; using System.Threading; +using System.Diagnostics.CodeAnalysis; $example-code From f378225d74c8423cf1261b6e125fa768494b8718 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 20 Nov 2024 15:37:59 -0500 Subject: [PATCH 167/259] Bump the dotnet group across 1 directory with 3 updates (#1212) Bumps the dotnet group with 3 updates in the /tools directory: [System.Text.Json](https://github.com/dotnet/runtime), [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) and [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest). Updates `System.Text.Json` from 8.0.5 to 9.0.0 - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](https://github.com/dotnet/runtime/compare/v8.0.5...v9.0.0) Updates `Newtonsoft.Json` from 13.0.3 to 13.0.1 - [Release notes](https://github.com/JamesNK/Newtonsoft.Json/releases) - [Commits](https://github.com/JamesNK/Newtonsoft.Json/compare/13.0.3...13.0.1) Updates `Microsoft.NET.Test.Sdk` from 17.11.1 to 17.12.0 - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](https://github.com/microsoft/vstest/compare/v17.11.1...v17.12.0) --- updated-dependencies: - dependency-name: System.Text.Json dependency-type: direct:production update-type: version-update:semver-major dependency-group: dotnet - dependency-name: Newtonsoft.Json dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj | 2 +- tools/Utilities/Utilities.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj index 0cd0e114f..440b0e60f 100644 --- a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj +++ b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj @@ -13,7 +13,7 @@ - + diff --git a/tools/Utilities/Utilities.csproj b/tools/Utilities/Utilities.csproj index 8e8561ba9..195a51a2a 100644 --- a/tools/Utilities/Utilities.csproj +++ b/tools/Utilities/Utilities.csproj @@ -8,7 +8,7 @@ - + From 2f9cbbc48c94d02e06eacb82d41726d8c6c0b53d Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 20 Nov 2024 16:08:06 -0500 Subject: [PATCH 168/259] Add examples for nullability and null states (#1192) * first pass at null-state examples. * build warning * Fix test build issues * Respond to initial feedback * warnings, not errors * one more error tester fix * Apply suggestions from code review * Apply suggestions from code review Co-authored-by: Neal Gafter --------- Co-authored-by: Neal Gafter --- standard/types.md | 97 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 96 insertions(+), 1 deletion(-) diff --git a/standard/types.md b/standard/types.md index 08e554d00..5396c28b0 100644 --- a/standard/types.md +++ b/standard/types.md @@ -863,8 +863,103 @@ The ***default null state*** of an expression is determined by its type, and the A diagnostic can be produced when a variable ([§9.2.1](variables.md#921-general)) of a non-nullable reference type is initialized or assigned to an expression that is maybe null when that variable is declared in text where the annotation flag is enabled. +> *Example*: Consider the following method where a parameter is nullable and that value is assigned to a non-nullable type: +> +> +> ```csharp +> #nullable enable +> public class C +> { +> public void M(string? p) +> { +> // Assignment of maybe null value to non-nullable variable +> string s = p; +> } +> } +> ``` +> +> The compiler may issue a warning where the parameter that might be null is assigned to a variable that should not be null. If the parameter is null-checked before assignment, the compiler may use that in its nullable state analysis and not issue a warning: +> +> +> ```csharp +> #nullable enable +> public class C +> { +> public void M(string? p) +> { +> if (p != null) +> { +> string s = p; +> // Use s +> } +> } +> } +> ``` +> +> *end example* + The compiler can update the null state of a variable as part of its analysis. -> *Note*: The compiler can treat a property ([§15.7](classes.md#157-properties)) as either a variable with state, or as independent get and set accessors ([§15.7.3](classes.md#1573-accessors)). In other words, a compiler can choose if writing to a property changes the null state of reading the property. +> *Example*: The compiler may choose to update the state based on any statements in your program: +> +> +> ```csharp +> #nullable enable +> public void M(string? p) +> { +> // p is maybe-null +> int length = p.Length; +> +> // p is not null. +> string s = p; +> +> if (s != null) +> { +> int l2 = s.Length; +> } +> // s is maybe null +> int l3 = s.Length; +> } +> ``` +> +> In the previous example, the compiler may decide that after the statement `int length = p.Length;`, the null-state of `p` is not-null. If it were null, that statement would have thrown a `NullReferenceException`. This is similar to the behavior if the code had been preceded by `if (p == null) throw NullReferenceException();` except that the code as written may produce a warning, the purpose of which is to warn that an exception may be thrown implicitly. + +Later in the method, the code checks that `s` is not a null reference. The null-state of `s` can change to maybe null after the null-checked block closes. The compiler can infer that `s` is maybe null because the code was written to assume that it might have been null. Generally, when the code contains a null check, the compiler may infer that the value might have been null.*end example* + + + +> *Example*: The compiler can treat a property ([§15.7](classes.md#157-properties)) as either a variable with state, or as independent get and set accessors ([§15.7.3](classes.md#1573-accessors)). In other words, a compiler can choose whether writing to a property changes the null state of reading the property, or if reading a property changes the null state of that property. +> +> +> ```csharp +> class Test +> { +> private string? _field; +> public string? DisappearingProperty +> { +> get +> { +> string tmp = _field; +> _field = null; +> return tmp; +> } +> set +> { +> _field = value; +> } +> } +> +> static void Main() +> { +> var t = new Test(); +> if (t.DisappearingProperty != null) +> { +> int len = t.DisappearingProperty.Length; +> } +> } +> } +> ``` +> +> In the previous example, the backing field for the `DisappearingProperty` is set to null when it is read. However, a compiler may assume that reading a property doesn't change the null state of that expression. *end example* ***End of conditionally normative text*** From c10ff18b2e1c08925b759ea2ff7daedc5e8c4ef8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 20 Nov 2024 16:24:25 -0500 Subject: [PATCH 169/259] [create-pull-request] automated change (#1210) Co-authored-by: BillWagner --- standard/README.md | 13 +++++++ standard/attributes.md | 82 +++++++++++++++++++++--------------------- standard/grammar.md | 6 ++-- standard/types.md | 2 +- 4 files changed, 58 insertions(+), 45 deletions(-) diff --git a/standard/README.md b/standard/README.md index c82b7d153..4363ab22a 100644 --- a/standard/README.md +++ b/standard/README.md @@ -734,6 +734,19 @@ - [§22.5.6.2](attributes.md#22562-the-callerlinenumber-attribute) The CallerLineNumber attribute - [§22.5.6.3](attributes.md#22563-the-callerfilepath-attribute) The CallerFilePath attribute - [§22.5.6.4](attributes.md#22564-the-callermembername-attribute) The CallerMemberName attribute + - [§22.5.7](attributes.md#2257-code-analysis-attributes) Code analysis attributes + - [§22.5.7.1](attributes.md#22571-general) General + - [§22.5.7.2](attributes.md#22572-the-allownull-attribute) The AllowNull attribute + - [§22.5.7.3](attributes.md#22573-the-disallownull-attribute) The DisallowNull attribute + - [§22.5.7.4](attributes.md#22574-the-doesnotreturn-attribute) The DoesNotReturn attribute + - [§22.5.7.5](attributes.md#22575-the-doesnotreturnif-attribute) The DoesNotReturnIf attribute + - [§22.5.7.6](attributes.md#22576-the-maybenull-attribute) The MaybeNull attribute + - [§22.5.7.7](attributes.md#22577-the-maybenullwhen-attribute) The MaybeNullWhen attribute + - [§22.5.7.8](attributes.md#22578-the-membernotnull-attribute) The MemberNotNull attribute + - [§22.5.7.9](attributes.md#22579-the-membernotnullwhen-attribute) The MemberNotNullWhen attribute + - [§22.5.7.10](attributes.md#225710-the-notnull-attribute) The NotNull attribute + - [§22.5.7.11](attributes.md#225711-the-notnullifnotnull-attribute) The NotNullIfNotNull attribute + - [§22.5.7.12](attributes.md#225712-the-notnullwhen-attribute) The NotNullWhen attribute - [§22.6](attributes.md#226-attributes-for-interoperation) Attributes for interoperation - [§23](unsafe-code.md#23-unsafe-code) Unsafe code - [§23.1](unsafe-code.md#231-general) General diff --git a/standard/attributes.md b/standard/attributes.md index ddf0167f7..829044673 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -527,7 +527,7 @@ A number of attributes affect the language in some way. These attributes include - `System.Runtime.CompilerServices.AsyncMethodBuilderAttribute` ([§22.5.5](attributes.md#2255-the-asyncmethodbuilder-attribute)), which is used to establish a task builder for an async method. - `System.Runtime.CompilerServices.CallerLineNumberAttribute` ([§22.5.6.2](attributes.md#22562-the-callerlinenumber-attribute)), `System.Runtime.CompilerServices.CallerFilePathAttribute` ([§22.5.6.3](attributes.md#22563-the-callerfilepath-attribute)), and `System.Runtime.CompilerServices.CallerMemberNameAttribute` ([§22.5.6.4](attributes.md#22564-the-callermembername-attribute)), which are used to supply information about the calling context to optional parameters. -The Nullable static analysis attributes (§Nullable-Analysis-Attributes) can improve the correctness of warnings generated for nullabilities and null states (§8.9.5). +The Nullable static analysis attributes ([§22.5.7](attributes.md#2257-code-analysis-attributes)) can improve the correctness of warnings generated for nullabilities and null states ([§8.9.5](types.md#895-nullabilities-and-null-states)). An execution environment may provide additional implementation-defined attributes that affect the execution of a C# program. @@ -860,31 +860,31 @@ For invocations that occur within field or event initializers, the member name u For invocations that occur within declarations of instance constructors, static constructors, finalizers and operators the member name used is implementation-dependent. -### §Nullable-Analysis-Attributes Code analysis attributes +### 22.5.7 Code analysis attributes -#### §Nullable-Analysis-Attributes-General General +#### 22.5.7.1 General -The attributes in this section are used to provide additional information to support a compiler that provides nullability and null-state diagnostics (§8.9.5). A compiler isn't required to perform any null-state diagnostics. The presence or absence of these attributes do not affect the language nor the behavior of a program. A compiler that doesn't provide null-state diagnostics shall read and ignore the presence of these attributes. A compiler that provides null-state diagnostics shall use the meaning defined in this section for any of these attributes which it uses to inform its diagnostics. +The attributes in this section are used to provide additional information to support a compiler that provides nullability and null-state diagnostics ([§8.9.5](types.md#895-nullabilities-and-null-states)). A compiler isn’t required to perform any null-state diagnostics. The presence or absence of these attributes do not affect the language nor the behavior of a program. A compiler that doesn’t provide null-state diagnostics shall read and ignore the presence of these attributes. A compiler that provides null-state diagnostics shall use the meaning defined in this section for any of these attributes which it uses to inform its diagnostics. The code-analysis attributes are declared in namespace `System.Diagnostics.CodeAnalysis`. **Attribute** | **Meaning** ------------------ | ------------------ -`AllowNull` (§The-AllowNull-Attribute) | A non-nullable argument may be null. -`DisallowNull` (§The-DisallowNull-Attribute) | A nullable argument should never be null. -`MaybeNull` (§The-MaybeNull-Attribute) | A non-nullable return value may be null. -`NotNull` (§The-NotNull-Attribute) | A nullable return value will never be null. -`MaybeNullWhen` (§The-MaybeNullWhen-Attribute) | A non-nullable argument may be null when the method returns the specified `bool` value. -`NotNullWhen` (§The-NotNullWhen-Attribute) | A nullable argument won't be null when the method returns the specified `bool` value. -`NotNullIfNotNull` (§The-NotNullIfNotNull-Attribute) | A return value isn't null if the argument for the specified parameter isn't null. -`MemberNotNull` (§The-MemberNotNull-Attribute) | The listed member won't be null when the method returns. -`MemberNotNullWhen` (§The-MemberNotNullWhen-Attribute) | The listed member won't be null when the method returns the specified `bool` value. -`DoesNotReturn` (§The-DoesNotReturn-Attribute) | This method never returns. -`DoesNotReturnIf` (§The-DoesNotReturnIf-Attribute) | This method never returns if the associated `bool` parameter has the specified value. - -The following sections in §Nullable-Analysis-Attributes-General are conditionally normative. - -#### §The-AllowNull-Attribute The AllowNull attribute +`AllowNull` ([§22.5.7.2](attributes.md#22572-the-allownull-attribute)) | A non-nullable argument may be null. +`DisallowNull` ([§22.5.7.3](attributes.md#22573-the-disallownull-attribute)) | A nullable argument should never be null. +`MaybeNull` ([§22.5.7.6](attributes.md#22576-the-maybenull-attribute)) | A non-nullable return value may be null. +`NotNull` ([§22.5.7.10](attributes.md#225710-the-notnull-attribute)) | A nullable return value will never be null. +`MaybeNullWhen` ([§22.5.7.7](attributes.md#22577-the-maybenullwhen-attribute)) | A non-nullable argument may be null when the method returns the specified `bool` value. +`NotNullWhen` ([§22.5.7.12](attributes.md#225712-the-notnullwhen-attribute)) | A nullable argument won’t be null when the method returns the specified `bool` value. +`NotNullIfNotNull` ([§22.5.7.11](attributes.md#225711-the-notnullifnotnull-attribute)) | A return value isn’t null if the argument for the specified parameter isn’t null. +`MemberNotNull` ([§22.5.7.8](attributes.md#22578-the-membernotnull-attribute)) | The listed member won’t be null when the method returns. +`MemberNotNullWhen` ([§22.5.7.9](attributes.md#22579-the-membernotnullwhen-attribute)) | The listed member won’t be null when the method returns the specified `bool` value. +`DoesNotReturn` ([§22.5.7.4](attributes.md#22574-the-doesnotreturn-attribute)) | This method never returns. +`DoesNotReturnIf` ([§22.5.7.5](attributes.md#22575-the-doesnotreturnif-attribute)) | This method never returns if the associated `bool` parameter has the specified value. + +The following sections in [§22.5.7.1](attributes.md#22571-general) are conditionally normative. + +#### 22.5.7.2 The AllowNull attribute Specifies that a null value is allowed as an input even if the corresponding type disallows it. @@ -915,7 +915,7 @@ Specifies that a null value is allowed as an input even if the corresponding typ > > without the attribute, the compiler may generate a warning because the non-nullable-typed property appears to be set to a null value. The presence of the attribute suppresses that warning. *end example* -#### §The-DisallowNull-Attribute The DisallowNull attribute +#### 22.5.7.3 The DisallowNull attribute Specifies that a null value is disallowed as an input even if the corresponding type allows it. @@ -937,9 +937,9 @@ Specifies that a null value is disallowed as an input even if the corresponding > } > ``` > -> The get accessor could return the default value of `null`, so the compiler may warn that it must be checked before access. Furthermore, it warns callers that, even though it could be null, callers shouldn't explicitly set it to null. *end example* +> The get accessor could return the default value of `null`, so the compiler may warn that it must be checked before access. Furthermore, it warns callers that, even though it could be null, callers shouldn’t explicitly set it to null. *end example* -#### §The-DoesNotReturn-Attribute The DoesNotReturn attribute +#### 22.5.7.4 The DoesNotReturn attribute Specifies that a given method never returns. @@ -968,11 +968,11 @@ Specifies that a given method never returns. > } > ``` > -> The presence of the attribute helps the compiler in a number of ways. First, the compiler can issue a warning if there's a path where the method can exit without throwing an exception. Second, the compiler can suppress nullable warnings in any code after a call to that method, until an appropriate catch clause is found. Third, the unreachable code won't affect any null states. +> The presence of the attribute helps the compiler in a number of ways. First, the compiler can issue a warning if there’s a path where the method can exit without throwing an exception. Second, the compiler can suppress nullable warnings in any code after a call to that method, until an appropriate catch clause is found. Third, the unreachable code won’t affect any null states. > -> The attribute does not change reachability (§13.2) or definite assignment (§9.4) analysis based on the presence of this attribute. It is used only to impact nullability warnings. *end example* +> The attribute does not change reachability ([§13.2](statements.md#132-end-points-and-reachability)) or definite assignment ([§9.4](variables.md#94-definite-assignment)) analysis based on the presence of this attribute. It is used only to impact nullability warnings. *end example* -#### §The-DoesNotReturnIf-Attribute The DoesNotReturnIf attribute +#### 22.5.7.5 The DoesNotReturnIf attribute Specifies that a given method never returns if the associated `bool` parameter has the specified value. @@ -1005,7 +1005,7 @@ Specifies that a given method never returns if the associated `bool` parameter h > > *end example* -#### §The-MaybeNull-Attribute The MaybeNull attribute +#### 22.5.7.6 The MaybeNull attribute Specifies that a non-nullable return value may be null. @@ -1028,13 +1028,13 @@ Specifies that a non-nullable return value may be null. > > The attribute informs callers that the contract implies a non-nullable type, but the return value may actually be `null`. *end example* -#### §The-MaybeNullWhen-Attribute The MaybeNullWhen attribute +#### 22.5.7.7 The MaybeNullWhen attribute -Specifies that a non-nullable argument may be `null` when the method returns the specified `bool` value. This is similar to the `MaybeNull` attribute (§The-MaybeNull-Attribute), but includes a parameter for the specified return value. +Specifies that a non-nullable argument may be `null` when the method returns the specified `bool` value. This is similar to the `MaybeNull` attribute ([§22.5.7.6](attributes.md#22576-the-maybenull-attribute)), but includes a parameter for the specified return value. -#### §The-MemberNotNull-Attribute The MemberNotNull attribute +#### 22.5.7.8 The MemberNotNull attribute -Specifies that the given member won't be `null` when the method returns. +Specifies that the given member won’t be `null` when the method returns. > *Example*: A helper method may include the `MemberNotNull` attribute to list any fields that are assigned to a non-null value in that method. A compiler that analyzes constructors to determine whether all non-nullable reference fields have been initialized may then use this attribute to discover which fields have been set by those helper methods. Consider the following example: > @@ -1067,13 +1067,13 @@ Specifies that the given member won't be `null` when the method returns. > > Multiple field names may be given as arguments to the attribute’s constructor. *end example* -#### §The-MemberNotNullWhen-Attribute The MemberNotNullWhen attribute +#### 22.5.7.9 The MemberNotNullWhen attribute -Specifies that the listed member won't be `null` when the method returns the specified `bool` value. +Specifies that the listed member won’t be `null` when the method returns the specified `bool` value. -> *Example*: This attribute is like `MemberNotNull` (§The-MemberNotNull-Attribute) except that `MemberNotNullWhen` takes a `bool` argument. `MemberNotNullWhen` is intended for use in situations in which a helper method returns a `bool` indicating whether it initialized fields. *end example* +> *Example*: This attribute is like `MemberNotNull` ([§22.5.7.8](attributes.md#22578-the-membernotnull-attribute)) except that `MemberNotNullWhen` takes a `bool` argument. `MemberNotNullWhen` is intended for use in situations in which a helper method returns a `bool` indicating whether it initialized fields. *end example* -#### §The-NotNull-Attribute The NotNull attribute +#### 22.5.7.10 The NotNull attribute Specifies that a nullable value will never be `null` if the method returns (rather than throwing). @@ -1092,11 +1092,11 @@ Specifies that a nullable value will never be `null` if the method returns (rath > } > ``` > -> When null reference types are enabled, method `ThrowWhenNull` compiles without warnings. When that method returns, the `value` argument is guaranteed to be not `null`. However, it's acceptable to call `ThrowWhenNull` with a null reference. *end example* +> When null reference types are enabled, method `ThrowWhenNull` compiles without warnings. When that method returns, the `value` argument is guaranteed to be not `null`. However, it’s acceptable to call `ThrowWhenNull` with a null reference. *end example* -#### §The-NotNullIfNotNull-Attribute The NotNullIfNotNull attribute +#### 22.5.7.11 The NotNullIfNotNull attribute -Specifies that a return value isn't `null` if the argument for the specified parameter isn't `null`. +Specifies that a return value isn’t `null` if the argument for the specified parameter isn’t `null`. > *Example*: The null state of a return value could depend on the null state of one or more arguments. To assist the compiler’s analysis when a method always returns a non-null value when certain arguments are not `null` the `NotNullIfNotNull` attribute may be used. Consider the following method: > @@ -1106,7 +1106,7 @@ Specifies that a return value isn't `null` if the argument for the specified par > string GetTopLevelDomainFromFullUrl(string url) { ... } > ``` > -> If the `url` argument isn't `null`, `null` isn’t returned. When nullable references are enabled, that signature works correctly, provided the API never accepts a null argument. However, if the argument could be null, then the return value could also be null. To express that contract correctly, annotate this method as follows: +> If the `url` argument isn’t `null`, `null` isn’t returned. When nullable references are enabled, that signature works correctly, provided the API never accepts a null argument. However, if the argument could be null, then the return value could also be null. To express that contract correctly, annotate this method as follows: > > > ```csharp @@ -1117,11 +1117,11 @@ Specifies that a return value isn't `null` if the argument for the specified par > > *end example* -#### §The-NotNullWhen-Attribute The NotNullWhen attribute +#### 22.5.7.12 The NotNullWhen attribute -Specifies that a nullable argument won't be `null` when the method returns the specified `bool` value. +Specifies that a nullable argument won’t be `null` when the method returns the specified `bool` value. -> *Example*: The library method `String.IsNullOrEmpty(String)` returns `true` when the argument is `null` or an empty string. It's a form of null-check: Callers don't need to null-check the argument if the method returns `false`. To make a method like this nullable aware, make the parameter type a nullable reference type, and add the NotNullWhen attribute: +> *Example*: The library method `String.IsNullOrEmpty(String)` returns `true` when the argument is `null` or an empty string. It’s a form of null-check: Callers don’t need to null-check the argument if the method returns `false`. To make a method like this nullable aware, make the parameter type a nullable reference type, and add the NotNullWhen attribute: > > > ```csharp diff --git a/standard/grammar.md b/standard/grammar.md index 058daae18..1dbb125c0 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -1561,7 +1561,7 @@ declaration_statement local_variable_declaration : implicitly_typed_local_variable_declaration | explicitly_typed_local_variable_declaration - | ref_local_variable_declaration + | explicitly_typed_ref_local_variable_declaration ; // Source: §13.6.2.2 Implicitly typed local variable declarations @@ -1593,8 +1593,8 @@ local_variable_initializer | array_initializer ; -// Source: §13.6.2.4 Ref local variable declarations -ref_local_variable_declaration +// Source: §13.6.2.4 Explicitly typed ref local variable declarations +explicitly_typed_ref_local_variable_declaration : ref_kind type ref_local_variable_declarators ; diff --git a/standard/types.md b/standard/types.md index 5396c28b0..7579559bc 100644 --- a/standard/types.md +++ b/standard/types.md @@ -960,6 +960,6 @@ Later in the method, the code checks that `s` is not a null reference. The null- > } > ``` > -> In the previous example, the backing field for the `DisappearingProperty` is set to null when it is read. However, a compiler may assume that reading a property doesn't change the null state of that expression. *end example* +> In the previous example, the backing field for the `DisappearingProperty` is set to null when it is read. However, a compiler may assume that reading a property doesn’t change the null state of that expression. *end example* ***End of conditionally normative text*** From a7525ff62c69a8a25ae7306956b6f17846eefa6c Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 20 Nov 2024 17:01:00 -0500 Subject: [PATCH 170/259] Specify generic constraints added to support nullable reference types in C# 8 (#1178) * Incorporate some text from #700 Bring in the normative text from #700. Some text is removed because of the decision on normative language in our September meeting. * fix build issues * Edit pass * Respond to feedback. * port grammar, part 1 * Update standard/types.md Co-authored-by: Nigel-Ecma * fix merge / rebase mishap * Edits based on meeting feedback. * Apply suggestions from code review Co-authored-by: Nigel-Ecma * Apply suggestions from code review Co-authored-by: Nigel-Ecma * grammar fixes * Apply suggestions from code review Co-authored-by: Nigel-Ecma * one last minor fix * Rework description based on last meeting Rework the description of nullable annotations on generic type parameters and generic type arguments. We decided that these annotations should be specified in terms of only generating warnings, but never changing the semantics of a program. * Use `nullable_type_attribute` in all type grammar We'd used `'?'` and `nullable_type_attribute` in different places for the `?` annotation. Define `nullable_type_attribute` at first use, and use that consistently. * Apply suggestions from code review Co-authored-by: Jon Skeet * small grammar fix Offline comment from @Nigel-Ecma * updates from 10/30 meeting This covers part 1, the comments in the files tab * address comments in converstation tab This commit addresses the comments in the conversation tab from the 10/30 meeting. * additional feedback This commit incorporates the comments on the conversation tab. * Apply suggestions from code review Co-authored-by: Nigel-Ecma * Replace nullable_type_attribute with nullable_type_annotation * typos --------- Co-authored-by: Nigel-Ecma Co-authored-by: Jon Skeet --- standard/classes.md | 97 +++++++++++++++++++++++++++++++---------- standard/expressions.md | 4 +- standard/types.md | 22 +++++++--- 3 files changed, 95 insertions(+), 28 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index 6252dfe25..049e4f1cb 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -396,33 +396,32 @@ type_parameter_constraints_clauses : type_parameter_constraints_clause | type_parameter_constraints_clauses type_parameter_constraints_clause ; - + type_parameter_constraints_clause : 'where' type_parameter ':' type_parameter_constraints ; type_parameter_constraints - : primary_constraint - | secondary_constraints + : primary_constraint (',' secondary_constraints)? (',' constructor_constraint)? + | secondary_constraints (',' constructor_constraint)? | constructor_constraint - | primary_constraint ',' secondary_constraints - | primary_constraint ',' constructor_constraint - | secondary_constraints ',' constructor_constraint - | primary_constraint ',' secondary_constraints ',' constructor_constraint ; primary_constraint - : class_type - | 'class' + : class_type nullable_type_annotation? + | 'class' nullable_type_annotation? | 'struct' + | 'notnull' | 'unmanaged' ; +secondary_constraint + : interface_type nullable_type_annotation? + | type_parameter nullable_type_annotation? + ; + secondary_constraints - : interface_type - | type_parameter - | secondary_constraints ',' interface_type - | secondary_constraints ',' type_parameter + : secondary_constraint (',' secondary_constraint)* ; constructor_constraint @@ -434,12 +433,66 @@ Each *type_parameter_constraints_clause* consists of the token `where`, followed The list of constraints given in a `where` clause can include any of the following components, in this order: a single primary constraint, one or more secondary constraints, and the constructor constraint, `new()`. -A primary constraint can be a class type, the ***reference type constraint*** `class`, the ***value type constraint*** `struct`, or the ***unmanaged type constraint*** `unmanaged`. +A primary constraint can be a class type, the ***reference type constraint*** `class`, the ***value type constraint*** `struct`, the ***not null constraint*** `notnull` or the ***unmanaged type constraint*** `unmanaged`. The class type and the reference type constraint can include the *nullable_type_annotation*. -A secondary constraint can be a *type_parameter* or *interface_type*. +A secondary constraint can be an *interface_type* or *type_parameter*, optionally followed by a *nullable_type_annotation*. The presence of the nullable_type_annotatione* indicates that the type argument is allowed to be the nullable reference type that corresponds to a non-nullable reference type that satisfies the constraint. The reference type constraint specifies that a type argument used for the type parameter shall be a reference type. All class types, interface types, delegate types, array types, and type parameters known to be a reference type (as defined below) satisfy this constraint. +The class type, reference type constraint, and secondary constraints can include the nullable type annotation. The presence or absence of this annotation on the type parameter indicates the nullability expectations for the type argument: + +- If the constraint does not include the nullable type annotation, the type argument is expected to be a non-nullable reference type. A compiler may issue a warning if the type argument is a nullable reference type. +- If the constraint includes the nullable type annotation, the constraint is satisfied by both a non-nullable reference type and a nullable reference type. + +The nullability of the type argument need not match the nullability of the type parameter. The compiler may issue a warning if the nullability of the type parameter doesn't match the nullability of the type argument. + +> *Note*: To specify that a type argument is a nullable reference type, don't add the nullable type annotation as a constraint (use `T : class` or `T : BaseClass`), but use `T?` throughout the generic declaration to indicate the corresponding nullable reference type for the type argument. *end note* + + +The nullable type annotation, `?`, can't be used on an unconstrained type argument. + +For a type parameter `T` when the type argument is a nullable reference type `C?`, instances of `T?` are interpreted as `C?`, not `C??`. + +> *Example*: The following examples show how the nullability of a type argument impacts the nullability of a declaration of its type parameter: +> +> +> ```csharp +> public class C +> { +> } +> +> public static class Extensions +> { +> public static void M(this T? arg) where T : notnull +> { +> +> } +> } +> +> public class Test +> { +> public void M() +> { +> C? mightBeNull = new C(); +> C notNull = new C(); +> +> int number = 5; +> int? missing = null; +> +> mightBeNull.M(); // arg is C? +> notNull.M(); // arg is C? +> number.M(); // arg is int? +> missing.M(); // arg is int? +> } +> } +> ``` +> +> When the type argument is a non-nullable type, the `?` type annotation indicates that the parameter is the corresponding nullable type. When the type argument is already a nullable reference type, the parameter is that same nullable type. +> +> *end example* + +The ***not null*** constraint specifies that a type argument used for the type parameter should be a non-nullable value type or a non-nullable reference type. A type argument that isn't a non-nullable value type or a non-nullable reference type is allowed, but the compiler may produce a diagnostic warning. + The value type constraint specifies that a type argument used for the type parameter shall be a non-nullable value type. All non-nullable struct types, enum types, and type parameters having the value type constraint satisfy this constraint. Note that although classified as a value type, a nullable value type ([§8.3.12](types.md#8312-nullable-value-types)) does not satisfy the value type constraint. A type parameter having the value type constraint shall not also have the *constructor_constraint*, although it may be used as a type argument for another type parameter with a *constructor_constraint*. > *Note*: The `System.Nullable` type specifies the non-nullable value type constraint for `T`. Thus, recursively constructed types of the forms `T??` and `Nullable>` are prohibited. *end note* @@ -604,7 +657,7 @@ The ***effective interface set*** of a type parameter `T` is defined as follows - If `T` has no *interface_type* constraints but has *type_parameter* constraints, its effective interface set is the union of the effective interface sets of its *type_parameter* constraints. - If `T` has both *interface_type* constraints and *type_parameter* constraints, its effective interface set is the union of the set of dynamic erasures of its *interface_type* constraints and the effective interface sets of its *type_parameter* constraints. -A type parameter is *known to be a reference type* if it has the reference type constraint or its effective base class is not `object` or `System.ValueType`. +A type parameter is *known to be a reference type* if it has the reference type constraint or its effective base class is not `object` or `System.ValueType`. A type parameter is *known to be a non-nullable reference type* if it is known to be a reference type and has the non-nullable reference type constraint. Values of a constrained type parameter type can be used to access the instance members implied by the constraints. @@ -671,7 +724,7 @@ class_body The modifier `partial` is used when defining a class, struct, or interface type in multiple parts. The `partial` modifier is a contextual keyword ([§6.4.4](lexical-structure.md#644-keywords)) and only has special meaning immediately before one of the keywords `class`, `struct`, or `interface`. -Each part of a ***partial type*** declaration shall include a `partial` modifier and shall be declared in the same namespace or containing type as the other parts. The `partial` modifier indicates that additional parts of the type declaration might exist elsewhere, but the existence of such additional parts is not a requirement; it is valid for the only declaration of a type to include the `partial` modifier. +Each part of a ***partial type*** declaration shall include a `partial` modifier and shall be declared in the same namespace or containing type as the other parts. The `partial` modifier indicates that additional parts of the type declaration might exist elsewhere, but the existence of such additional parts is not a requirement; it is valid for the only declaration of a type to include the `partial` modifier. It is valid for only one declaration of a partial type to include the base class or implemented interfaces. However, all declarations of a base class or implemented interfaces must match, including the nullability of any specified type arguments. All parts of a partial type shall be compiled together such that the parts can be merged at compile-time. Partial types specifically do not allow already compiled types to be extended. @@ -878,7 +931,7 @@ All members of a generic class can use type parameters from any enclosing class, > class C > { > public V f1; -> public C f2 = null; +> public C f2; > > public C(V x) > { @@ -1055,17 +1108,17 @@ Non-nested types can have `public` or `internal` declared accessibility and have > private class Node > { > public object Data; -> public Node Next; +> public Node? Next; > -> public Node(object data, Node next) +> public Node(object data, Node? next) > { > this.Data = data; > this.Next = next; > } > } > -> private Node first = null; -> private Node last = null; +> private Node? first = null; +> private Node? last = null; > > // Public interface > public void AddToFront(object o) {...} diff --git a/standard/expressions.md b/standard/expressions.md index d756d1920..94e258f15 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -2929,13 +2929,15 @@ When the operand of a *typeof_expression* is a sequence of tokens that satisfies - Evaluate the resulting *type_name*, while ignoring all type parameter constraints. - The *unbound_type_name* resolves to the unbound generic type associated with the resulting constructed type ([§8.4](types.md#84-constructed-types)). +It is an error for the type name to be a nullable reference type. + The result of the *typeof_expression* is the `System.Type` object for the resulting unbound generic type. The third form of *typeof_expression* consists of a `typeof` keyword followed by a parenthesized `void` keyword. The result of an expression of this form is the `System.Type` object that represents the absence of a type. The type object returned by `typeof(void)` is distinct from the type object returned for any type. > *Note*: This special `System.Type` object is useful in class libraries that allow reflection onto methods in the language, where those methods wish to have a way to represent the return type of any method, including `void` methods, with an instance of `System.Type`. *end note* -The `typeof` operator can be used on a type parameter. The result is the `System.Type` object for the run-time type that was bound to the type parameter. The `typeof` operator can also be used on a constructed type or an unbound generic type ([§8.4.4](types.md#844-bound-and-unbound-types)). The `System.Type` object for an unbound generic type is not the same as the `System.Type` object of the instance type ([§15.3.2](classes.md#1532-the-instance-type)). The instance type is always a closed constructed type at run-time so its `System.Type` object depends on the run-time type arguments in use. The unbound generic type, on the other hand, has no type arguments, and yields the same `System.Type` object regardless of runtime type arguments. +The `typeof` operator can be used on a type parameter. It is a compile time error if the type name is known to be a nullable reference type. The result is the `System.Type` object for the run-time type that was bound to the type parameter. If the run-time type is a nullable reference type, the result is the corresponding non-nullable reference type. The `typeof` operator can also be used on a constructed type or an unbound generic type ([§8.4.4](types.md#844-bound-and-unbound-types)). The `System.Type` object for an unbound generic type is not the same as the `System.Type` object of the instance type ([§15.3.2](classes.md#1532-the-instance-type)). The instance type is always a closed constructed type at run-time so its `System.Type` object depends on the run-time type arguments in use. The unbound generic type, on the other hand, has no type arguments, and yields the same `System.Type` object regardless of runtime type arguments. > *Example*: The example > diff --git a/standard/types.md b/standard/types.md index 7579559bc..777ea377d 100644 --- a/standard/types.md +++ b/standard/types.md @@ -76,8 +76,13 @@ delegate_type ; nullable_reference_type - : non_nullable_reference_type '?' + : non_nullable_reference_type nullable_type_annotation ; + +nullable_type_annotation + : '?' + ; + ``` *pointer_type* is available only in unsafe code ([§23.3](unsafe-code.md#233-pointer-types)). *nullable_reference_type* is discussed further in [§8.9](types.md#89-reference-types-and-nullability). @@ -206,7 +211,7 @@ enum_type ; nullable_value_type - : non_nullable_value_type '?' + : non_nullable_value_type nullable_type_annotation ; ``` @@ -538,10 +543,11 @@ type_arguments type_argument : type + | type_parameter nullable_type_annotation? ; ``` -Each type argument shall satisfy any constraints on the corresponding type parameter ([§15.2.5](classes.md#1525-type-parameter-constraints)). +Each type argument shall satisfy any constraints on the corresponding type parameter ([§15.2.5](classes.md#1525-type-parameter-constraints)). A reference type argument whose nullability doesn’t match the nullability of the type parameter satisfies the constraint; however a warning may be issued. ### 8.4.3 Open and closed types @@ -720,7 +726,7 @@ An *unmanaged_type* is any type that isn’t a *reference_type*, a *type_paramet ### 8.9.1 General -A *nullable reference type* is denoted by appending a `?` to a valid non-nullable reference type name. There is no semantic difference between a non-nullable reference type and its corresponding nullable type. Both a nullable reference and a non-nullable reference can contain either a reference to an object or `null`. The presence or absence of the `?` annotation declares whether an expression is intended to permit null values or not. A compiler can provide diagnostics when an expression is not used according to that intent. The null state of an expression is defined in [§8.9.5](types.md#895-nullabilities-and-null-states). An identity conversion exists among a nullable reference type and its corresponding non-nullable reference type ([§10.2.2](conversions.md#1022-identity-conversion)). +A *nullable reference type* is denoted by appending a *nullable_type_annotation* (`?`) to a non-nullable reference type. There is no semantic difference between a non-nullable reference type and its corresponding nullable type, both can either be a reference to an object or `null`. The presence or absence of the *nullable_type_annotation* declares whether an expression is intended to permit null values or not. A compiler may provide diagnostics when an expression is not used according to that intent. The null state of an expression is defined in [§8.9.5](types.md#895-nullabilities-and-null-states). An identity conversion exists among a nullable reference type and its corresponding non-nullable reference type ([§10.2.2](conversions.md#1022-identity-conversion)). There are two forms of nullability for reference types: @@ -729,7 +735,7 @@ There are two forms of nullability for reference types: > *Note:* The types `R` and `R?` are represented by the same underlying type, `R`. A variable of that underlying type can either contain a reference to an object or be the value `null`, which indicates “no reference.” *end note* -The syntactic distinction between a *nullable reference type* and its corresponding *non-nullable reference type* enables a compiler to generate diagnostics. A compiler shall allow the `?` annotation as defined in [§8.2.1](types.md#821-general). The diagnostics shall be limited to warnings. Neither the presence or absence of nullable annotations, nor the state of the nullable context can change the compile time or runtime behavior of a program except for changes in any diagnostic messages generated at compile time. +The syntactic distinction between a *nullable reference type* and its corresponding *non-nullable reference type* enables a compiler to generate diagnostics. A compiler must allow the *nullable_type_annotation* as defined in [§8.2.1](types.md#821-general). The diagnostics must be limited to warnings. Neither the presence or absence of nullable annotations, nor the state of the nullable context can change the compile time or runtime behavior of a program except for changes in any diagnostic messages generated at compile time. ### 8.9.2 Non-nullable reference types @@ -762,6 +768,9 @@ When the nullable context is ***disabled***: - No warning shall be generated when a variable of an unannotated reference type is initialized with, or assigned a value of, `null`. - No warning shall be generated when a variable of a reference type that possibly has the null value. - For any reference type `T`, the annotation `?` in `T?` generates a message and the type `T?` is the same as `T`. +- For any type parameter constraint `where T : C?`, the annotation `?` in `C?` generates a message and the type `C?` is the same as `C`. +- For any type parameter constraint `where T : U?`, the annotation `?` in `U?` generates a message and the type `U?` is the same as `U`. +- The generic constraint `class?` generates a warning message. The type parameter must be a reference type. > *Note*: This message is characterized as “informational” rather than “warning,” so as not to confuse it with the state of the nullable warning setting, which is unrelated. *end note* - The null-forgiving operator `!` ([§12.8.9](expressions.md#1289-null-forgiving-expressions)) has no effect. @@ -839,6 +848,7 @@ When the nullable context is ***enabled***: - For any reference type `T`, the annotation `?` in `T?` makes `T?` a nullable type, whereas the unannotated `T` is non-nullable. - The compiler can use static flow analysis to determine the null state of any reference variable. When nullable warnings are enabled, a reference variable’s null state ([§8.9.5](types.md#895-nullabilities-and-null-states)) is either *not null*, *maybe null*, or *maybe default* and - The null-forgiving operator `!` ([§12.8.9](expressions.md#1289-null-forgiving-expressions)) sets the null state of its operand to *not null*. +- The compiler can issue a warning if the nullability of a type parameter doesn't match the nullability of its corresponding type argument. ### 8.9.5 Nullabilities and null states @@ -861,6 +871,8 @@ The ***default null state*** of an expression is determined by its type, and the - Not null when its declaration is in text where the annotations flag is disabled. - The default null state of a non-nullable reference type is not null. +> *Note:* The *maybe default* state is used with unconstrained type parameters when the type is a non-nullable type, such as `string` and the expression `default(T)` is the null value. Because null is not in the domain for the non-nullable type, the state is maybe default. *end note* + A diagnostic can be produced when a variable ([§9.2.1](variables.md#921-general)) of a non-nullable reference type is initialized or assigned to an expression that is maybe null when that variable is declared in text where the annotation flag is enabled. > *Example*: Consider the following method where a parameter is nullable and that value is assigned to a non-nullable type: From 2f5f317d8bba8f1d8bba11c3bf5f34b4018016de Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 20 Nov 2024 17:16:08 -0500 Subject: [PATCH 171/259] [create-pull-request] automated change (#1216) Co-authored-by: BillWagner --- standard/classes.md | 8 ++++---- standard/grammar.md | 35 ++++++++++++++++++++--------------- standard/types.md | 2 +- 3 files changed, 25 insertions(+), 20 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index 049e4f1cb..589f8f331 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -444,12 +444,12 @@ The class type, reference type constraint, and secondary constraints can include - If the constraint does not include the nullable type annotation, the type argument is expected to be a non-nullable reference type. A compiler may issue a warning if the type argument is a nullable reference type. - If the constraint includes the nullable type annotation, the constraint is satisfied by both a non-nullable reference type and a nullable reference type. -The nullability of the type argument need not match the nullability of the type parameter. The compiler may issue a warning if the nullability of the type parameter doesn't match the nullability of the type argument. +The nullability of the type argument need not match the nullability of the type parameter. The compiler may issue a warning if the nullability of the type parameter doesn’t match the nullability of the type argument. -> *Note*: To specify that a type argument is a nullable reference type, don't add the nullable type annotation as a constraint (use `T : class` or `T : BaseClass`), but use `T?` throughout the generic declaration to indicate the corresponding nullable reference type for the type argument. *end note* +> *Note*: To specify that a type argument is a nullable reference type, don’t add the nullable type annotation as a constraint (use `T : class` or `T : BaseClass`), but use `T?` throughout the generic declaration to indicate the corresponding nullable reference type for the type argument. *end note* -The nullable type annotation, `?`, can't be used on an unconstrained type argument. +The nullable type annotation, `?`, can’t be used on an unconstrained type argument. For a type parameter `T` when the type argument is a nullable reference type `C?`, instances of `T?` are interpreted as `C?`, not `C??`. @@ -491,7 +491,7 @@ For a type parameter `T` when the type argument is a nullable reference type `C? > > *end example* -The ***not null*** constraint specifies that a type argument used for the type parameter should be a non-nullable value type or a non-nullable reference type. A type argument that isn't a non-nullable value type or a non-nullable reference type is allowed, but the compiler may produce a diagnostic warning. +The ***not null*** constraint specifies that a type argument used for the type parameter should be a non-nullable value type or a non-nullable reference type. A type argument that isn’t a non-nullable value type or a non-nullable reference type is allowed, but the compiler may produce a diagnostic warning. The value type constraint specifies that a type argument used for the type parameter shall be a non-nullable value type. All non-nullable struct types, enum types, and type parameters having the value type constraint satisfy this constraint. Note that although classified as a value type, a nullable value type ([§8.3.12](types.md#8312-nullable-value-types)) does not satisfy the value type constraint. A type parameter having the value type constraint shall not also have the *constructor_constraint*, although it may be used as a type argument for another type parameter with a *constructor_constraint*. diff --git a/standard/grammar.md b/standard/grammar.md index 1dbb125c0..328989335 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -631,9 +631,14 @@ delegate_type ; nullable_reference_type - : non_nullable_reference_type '?' + : non_nullable_reference_type nullable_type_annotation ; +nullable_type_annotation + : '?' + ; + + // Source: §8.3.1 General value_type : non_nullable_value_type @@ -692,7 +697,7 @@ enum_type ; nullable_value_type - : non_nullable_value_type '?' + : non_nullable_value_type nullable_type_annotation ; // Source: §8.4.2 Type arguments @@ -706,6 +711,7 @@ type_arguments type_argument : type + | type_parameter nullable_type_annotation? ; // Source: §8.5 Type parameters @@ -1966,33 +1972,32 @@ type_parameter_constraints_clauses : type_parameter_constraints_clause | type_parameter_constraints_clauses type_parameter_constraints_clause ; - + type_parameter_constraints_clause : 'where' type_parameter ':' type_parameter_constraints ; type_parameter_constraints - : primary_constraint - | secondary_constraints + : primary_constraint (',' secondary_constraints)? (',' constructor_constraint)? + | secondary_constraints (',' constructor_constraint)? | constructor_constraint - | primary_constraint ',' secondary_constraints - | primary_constraint ',' constructor_constraint - | secondary_constraints ',' constructor_constraint - | primary_constraint ',' secondary_constraints ',' constructor_constraint ; primary_constraint - : class_type - | 'class' + : class_type nullable_type_annotation? + | 'class' nullable_type_annotation? | 'struct' + | 'notnull' | 'unmanaged' ; +secondary_constraint + : interface_type nullable_type_annotation? + | type_parameter nullable_type_annotation? + ; + secondary_constraints - : interface_type - | type_parameter - | secondary_constraints ',' interface_type - | secondary_constraints ',' type_parameter + : secondary_constraint (',' secondary_constraint)* ; constructor_constraint diff --git a/standard/types.md b/standard/types.md index 777ea377d..93b1c8ffd 100644 --- a/standard/types.md +++ b/standard/types.md @@ -848,7 +848,7 @@ When the nullable context is ***enabled***: - For any reference type `T`, the annotation `?` in `T?` makes `T?` a nullable type, whereas the unannotated `T` is non-nullable. - The compiler can use static flow analysis to determine the null state of any reference variable. When nullable warnings are enabled, a reference variable’s null state ([§8.9.5](types.md#895-nullabilities-and-null-states)) is either *not null*, *maybe null*, or *maybe default* and - The null-forgiving operator `!` ([§12.8.9](expressions.md#1289-null-forgiving-expressions)) sets the null state of its operand to *not null*. -- The compiler can issue a warning if the nullability of a type parameter doesn't match the nullability of its corresponding type argument. +- The compiler can issue a warning if the nullability of a type parameter doesn’t match the nullability of its corresponding type argument. ### 8.9.5 Nullabilities and null states From 7a021a9f545c3c5e7658e0c69bc1bdbcbfab0edb Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 21 Nov 2024 12:57:11 -0500 Subject: [PATCH 172/259] Remove attributes that aren't yet available in C# 8 (#1218) * Remove attributes The `MemberNotNull` and `MemberNotNullWhen` attributes weren't available in C# 8. They were added in C# 9. * fix build warnings Missed two notes on these attributes --- standard/attributes.md | 43 ------------------------------------ standard/standard-library.md | 16 -------------- 2 files changed, 59 deletions(-) diff --git a/standard/attributes.md b/standard/attributes.md index 829044673..a408c0e72 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -877,8 +877,6 @@ The code-analysis attributes are declared in namespace `System.Diagnostics.CodeA `MaybeNullWhen` ([§22.5.7.7](attributes.md#22577-the-maybenullwhen-attribute)) | A non-nullable argument may be null when the method returns the specified `bool` value. `NotNullWhen` ([§22.5.7.12](attributes.md#225712-the-notnullwhen-attribute)) | A nullable argument won’t be null when the method returns the specified `bool` value. `NotNullIfNotNull` ([§22.5.7.11](attributes.md#225711-the-notnullifnotnull-attribute)) | A return value isn’t null if the argument for the specified parameter isn’t null. -`MemberNotNull` ([§22.5.7.8](attributes.md#22578-the-membernotnull-attribute)) | The listed member won’t be null when the method returns. -`MemberNotNullWhen` ([§22.5.7.9](attributes.md#22579-the-membernotnullwhen-attribute)) | The listed member won’t be null when the method returns the specified `bool` value. `DoesNotReturn` ([§22.5.7.4](attributes.md#22574-the-doesnotreturn-attribute)) | This method never returns. `DoesNotReturnIf` ([§22.5.7.5](attributes.md#22575-the-doesnotreturnif-attribute)) | This method never returns if the associated `bool` parameter has the specified value. @@ -1032,47 +1030,6 @@ Specifies that a non-nullable return value may be null. Specifies that a non-nullable argument may be `null` when the method returns the specified `bool` value. This is similar to the `MaybeNull` attribute ([§22.5.7.6](attributes.md#22576-the-maybenull-attribute)), but includes a parameter for the specified return value. -#### 22.5.7.8 The MemberNotNull attribute - -Specifies that the given member won’t be `null` when the method returns. - -> *Example*: A helper method may include the `MemberNotNull` attribute to list any fields that are assigned to a non-null value in that method. A compiler that analyzes constructors to determine whether all non-nullable reference fields have been initialized may then use this attribute to discover which fields have been set by those helper methods. Consider the following example: -> -> -> ```csharp -> #nullable enable -> public class Container -> { -> private string _uniqueIdentifier; // must be initialized. -> private string? _optionalMessage; -> -> public Container() -> { -> Helper(); -> } -> -> public Container(string message) -> { -> Helper(); -> _optionalMessage = message; -> } -> -> [MemberNotNull(nameof(_uniqueIdentifier))] -> private void Helper() -> { -> _uniqueIdentifier = DateTime.Now.Ticks.ToString(); -> } -> } -> ``` -> -> Multiple field names may be given as arguments to the attribute’s constructor. *end example* - -#### 22.5.7.9 The MemberNotNullWhen attribute - -Specifies that the listed member won’t be `null` when the method returns the specified `bool` value. - -> *Example*: This attribute is like `MemberNotNull` ([§22.5.7.8](attributes.md#22578-the-membernotnull-attribute)) except that `MemberNotNullWhen` takes a `bool` argument. `MemberNotNullWhen` is intended for use in situations in which a helper method returns a `bool` indicating whether it initialized fields. *end example* - #### 22.5.7.10 The NotNull attribute Specifies that a nullable value will never be `null` if the method returns (rather than throwing). diff --git a/standard/standard-library.md b/standard/standard-library.md index fbc808b37..29d0279cf 100644 --- a/standard/standard-library.md +++ b/standard/standard-library.md @@ -614,22 +614,6 @@ namespace System.Runtime.CompilerServices public MaybeNullWhenAttribute(bool returnValue) {} } - [System.AttributeUsage(System.AttributeTargets.Method | - System.AttributeTargets.Property, AllowMultiple=true, Inherited=false)] - public sealed class MemberNotNullAttribute : Attribute - { - public MemberNotNullAttribute(string member) {} - public MemberNotNullAttribute(params string[] members) {} - } - - [System.AttributeUsage(System.AttributeTargets.Method | - System.AttributeTargets.Property, AllowMultiple=true, Inherited=false)] - public sealed class MemberNotNullWhenAttribute : Attribute - { - public MemberNotNullWhenAttribute(bool returnValue, string member) {} - public MemberNotNullWhenAttribute(bool returnValue, params string[] members) {} - } - [System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.Property | System.AttributeTargets.ReturnValue, Inherited=false)] From 975eeedad9b13078f5b31fe31f437c0f1627e8e3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 21 Nov 2024 13:04:07 -0500 Subject: [PATCH 173/259] [create-pull-request] automated change (#1219) Co-authored-by: BillWagner --- standard/README.md | 8 +++----- standard/attributes.md | 12 ++++++------ 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/standard/README.md b/standard/README.md index 4363ab22a..ab0e4d964 100644 --- a/standard/README.md +++ b/standard/README.md @@ -742,11 +742,9 @@ - [§22.5.7.5](attributes.md#22575-the-doesnotreturnif-attribute) The DoesNotReturnIf attribute - [§22.5.7.6](attributes.md#22576-the-maybenull-attribute) The MaybeNull attribute - [§22.5.7.7](attributes.md#22577-the-maybenullwhen-attribute) The MaybeNullWhen attribute - - [§22.5.7.8](attributes.md#22578-the-membernotnull-attribute) The MemberNotNull attribute - - [§22.5.7.9](attributes.md#22579-the-membernotnullwhen-attribute) The MemberNotNullWhen attribute - - [§22.5.7.10](attributes.md#225710-the-notnull-attribute) The NotNull attribute - - [§22.5.7.11](attributes.md#225711-the-notnullifnotnull-attribute) The NotNullIfNotNull attribute - - [§22.5.7.12](attributes.md#225712-the-notnullwhen-attribute) The NotNullWhen attribute + - [§22.5.7.8](attributes.md#22578-the-notnull-attribute) The NotNull attribute + - [§22.5.7.9](attributes.md#22579-the-notnullifnotnull-attribute) The NotNullIfNotNull attribute + - [§22.5.7.10](attributes.md#225710-the-notnullwhen-attribute) The NotNullWhen attribute - [§22.6](attributes.md#226-attributes-for-interoperation) Attributes for interoperation - [§23](unsafe-code.md#23-unsafe-code) Unsafe code - [§23.1](unsafe-code.md#231-general) General diff --git a/standard/attributes.md b/standard/attributes.md index a408c0e72..21d681e30 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -873,10 +873,10 @@ The code-analysis attributes are declared in namespace `System.Diagnostics.CodeA `AllowNull` ([§22.5.7.2](attributes.md#22572-the-allownull-attribute)) | A non-nullable argument may be null. `DisallowNull` ([§22.5.7.3](attributes.md#22573-the-disallownull-attribute)) | A nullable argument should never be null. `MaybeNull` ([§22.5.7.6](attributes.md#22576-the-maybenull-attribute)) | A non-nullable return value may be null. -`NotNull` ([§22.5.7.10](attributes.md#225710-the-notnull-attribute)) | A nullable return value will never be null. +`NotNull` ([§22.5.7.8](attributes.md#22578-the-notnull-attribute)) | A nullable return value will never be null. `MaybeNullWhen` ([§22.5.7.7](attributes.md#22577-the-maybenullwhen-attribute)) | A non-nullable argument may be null when the method returns the specified `bool` value. -`NotNullWhen` ([§22.5.7.12](attributes.md#225712-the-notnullwhen-attribute)) | A nullable argument won’t be null when the method returns the specified `bool` value. -`NotNullIfNotNull` ([§22.5.7.11](attributes.md#225711-the-notnullifnotnull-attribute)) | A return value isn’t null if the argument for the specified parameter isn’t null. +`NotNullWhen` ([§22.5.7.10](attributes.md#225710-the-notnullwhen-attribute)) | A nullable argument won’t be null when the method returns the specified `bool` value. +`NotNullIfNotNull` ([§22.5.7.9](attributes.md#22579-the-notnullifnotnull-attribute)) | A return value isn’t null if the argument for the specified parameter isn’t null. `DoesNotReturn` ([§22.5.7.4](attributes.md#22574-the-doesnotreturn-attribute)) | This method never returns. `DoesNotReturnIf` ([§22.5.7.5](attributes.md#22575-the-doesnotreturnif-attribute)) | This method never returns if the associated `bool` parameter has the specified value. @@ -1030,7 +1030,7 @@ Specifies that a non-nullable return value may be null. Specifies that a non-nullable argument may be `null` when the method returns the specified `bool` value. This is similar to the `MaybeNull` attribute ([§22.5.7.6](attributes.md#22576-the-maybenull-attribute)), but includes a parameter for the specified return value. -#### 22.5.7.10 The NotNull attribute +#### 22.5.7.8 The NotNull attribute Specifies that a nullable value will never be `null` if the method returns (rather than throwing). @@ -1051,7 +1051,7 @@ Specifies that a nullable value will never be `null` if the method returns (rath > > When null reference types are enabled, method `ThrowWhenNull` compiles without warnings. When that method returns, the `value` argument is guaranteed to be not `null`. However, it’s acceptable to call `ThrowWhenNull` with a null reference. *end example* -#### 22.5.7.11 The NotNullIfNotNull attribute +#### 22.5.7.9 The NotNullIfNotNull attribute Specifies that a return value isn’t `null` if the argument for the specified parameter isn’t `null`. @@ -1074,7 +1074,7 @@ Specifies that a return value isn’t `null` if the argument for the specified p > > *end example* -#### 22.5.7.12 The NotNullWhen attribute +#### 22.5.7.10 The NotNullWhen attribute Specifies that a nullable argument won’t be `null` when the method returns the specified `bool` value. From 4ac9f8daf6738f54cb3a59a37c7837150cfbb5ed Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Fri, 22 Nov 2024 09:49:02 +1300 Subject: [PATCH 174/259] [Milestone] - Replace placeholders as chosen by meeting - Make opening text into General subclause, renumber subclauses, reword conditionally normative to match revised structure - Silence the MD2Word convertor - Ready to merge --- standard/expressions.md | 52 ++++++++++++++++++++++++----------- standard/lexical-structure.md | 3 +- standard/types.md | 12 ++++---- standard/unsafe-code.md | 4 +-- 4 files changed, 46 insertions(+), 25 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index aa24fc0b3..43e543c8c 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -185,7 +185,9 @@ The ***overloadable unary operators*** are: `+ - !` (logical negation only) `~ ++ -- true false` > *Note*: Although `true` and `false` are not used explicitly in expressions (and therefore are not included in the precedence table in [§12.4.2](expressions.md#1242-operator-precedence-and-associativity)), they are considered operators because they are invoked in several expression contexts: Boolean expressions ([§12.24](expressions.md#1224-boolean-expressions)) and expressions involving the conditional ([§12.18](expressions.md#1218-conditional-operator)) and conditional logical operators ([§12.14](expressions.md#1214-conditional-logical-operators)). *end note* -> + + + > *Note*: The null-forgiving operator (postfix `!`, [§12.8.9](expressions.md#1289-null-forgiving-expressions)) is not an overloadable operator. *end note* The ***overloadable binary operators*** are: @@ -1824,6 +1826,8 @@ A *null_conditional_projection_initializer* is a restriction of *null_conditiona ### 12.8.9 Null-forgiving expressions +#### 12.8.9.1 General + A null-forgiving expression’s value, type, classification ([§12.2](expressions.md#122-expression-classifications)) and safe-context ([§16.4.12](structs.md#16412-safe-context-constraint)) is the value, type, classification and safe-context of its *primary_expression*. @@ -1839,9 +1843,18 @@ null_forgiving_operator *Note*: The postfix null-forgiving and prefix logical negation operators ([§12.9.4](expressions.md#1294-logical-negation-operator)), while represented by the same lexical token (`!`), are distinct. Only the latter may be overriden ([§15.10](classes.md#1510-operators)), the definition of the null-forgiving operator is fixed. *end note* - - -**The remainder of this subclause, including all of its subclauses, is conditionally normative.** +It is a compile-time error to apply the null-forgiving operator more than once to the same expression, intervening parentheses notwithstanding. + +> *Example*: the following are all invalid: +> +> ```csharp +> var p = q!!; // error: cannot apply the null_forgiving_operator more than once +> var s = ( ( m(t) ! ) )! // error: null_forgiving_operator applied twice to m(t) +> ``` +> +> *end example* + +**The remainder of this subclause and the following sibling subclauses are conditionally normative.** A compiler which performs static null state analysis ([§8.9.5](types.md#895-nullabilities-and-null-states)) must conform to the following specification. @@ -1850,13 +1863,13 @@ The null-forgiving operator is a compile time pseudo-operation that is used to i Applying the null-forgiving operator to an expression for which a compiler’s static null state analysis does not produce any warnings is not an error. -#### 12.8.9.1 Overriding a *maybe null* determination +#### 12.8.9.2 Overriding a “maybe null” determination Under some circumstances a compiler’s static null state analysis may determine that an expression -has the null state *maybe null* and issue a warning when other information indicates that the +has the null state *maybe null* and issue a diagnostic warning when other information indicates that the expression cannot be null. Applying the null-forgiving operator to such an expression informs the -compiler’s static null state analysis that the null state is in *not null*; which both prevents the warning -message and informs any ongoing analysis. +compiler’s static null state analysis that the null state is in *not null*; which both prevents the diagnostic +warning and may inform any ongoing analysis. > *Example*: Consider the following: > @@ -1880,7 +1893,9 @@ message and informs any ongoing analysis. > If `IsValid` returns `true`, `p` can safely be dereferenced to access its `Name` property, and the “dereferencing of a possibly null value” warning can be suppressed using `!`. > > *end example* -> + + + > *Example:* The null-forgiving operator should be used with caution, consider: > > ```csharp @@ -1898,7 +1913,7 @@ message and informs any ongoing analysis. > > *end example* -#### 12.8.9.2 Overriding other null analysis warnings +#### 12.8.9.3 Overriding other null analysis warnings In addition to overriding *maybe null* determinations as above there may be other circumstances where it is desired to override a compiler’s static null state analysis determination that an @@ -1944,8 +1959,11 @@ invocation_expression ; ``` - - + +The *primary_expression* may be a *null_forgiving_expression* if and only if it has a *delegate_type*. + An *invocation_expression* is dynamically bound ([§12.3.3](expressions.md#1233-dynamic-binding)) if at least one of the following holds: - The *primary_expression* has compile-time type `dynamic`. @@ -2149,8 +2167,12 @@ null_conditional_invocation_expression ; ``` - - + +The optional *null_forgiving_operator* may be included if and only if the *null_conditional_member_access* or +*null_conditional_element_access* has a *delegate_type*. + A *null_conditional_invocation_expression* expression `E` is of the form `P?A`; where `A` is the remainder of the syntactically equivalent *null_conditional_member_access* or *null_conditional_element_access*, `A` will therefore start with `.` or `[`. Let `PA` signify the concatention of `P` and `A`. When `E` occurs as a *statement_expression* the meaning of `E` is the same as the meaning of the *statement*: @@ -6454,8 +6476,6 @@ assignment_operator ; ``` - - The left operand of an assignment shall be an expression classified as a variable, or, except for `= ref`, a property access, an indexer access, an event access or a tuple. A declaration expression is not directly permitted as a left operand, but may occur as a step in the evaluation of a deconstructing assignment. The `=` operator is called the ***simple assignment operator***. It assigns the value or values of the right operand to the variable, property, indexer element or tuple elements given by the left operand. The left operand of the simple assignment operator shall not be an event access (except as described in [§15.8.2](classes.md#1582-field-like-events)). The simple assignment operator is described in [§12.21.2](expressions.md#12212-simple-assignment). diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index 79d336bbd..0225db2f2 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -1515,7 +1515,8 @@ The nullable directive controls the nullable context, as described below. ```ANTLR fragment PP_Nullable - : 'nullable' PP_Whitespace PP_Nullable_Action (PP_Whitespace PP_Nullable_Target)? + : 'nullable' PP_Whitespace PP_Nullable_Action + (PP_Whitespace PP_Nullable_Target)? ; fragment PP_Nullable_Action : 'disable' diff --git a/standard/types.md b/standard/types.md index 25f8449b8..46efae53c 100644 --- a/standard/types.md +++ b/standard/types.md @@ -773,7 +773,8 @@ When the nullable context is ***disabled***: > string? s1 = null; // Informational message; ? is ignored > string s2 = null; // OK; null initialization of a reference > s2 = null; // OK; null assignment to a reference -> char c1 = s2[1]; // OK; no warning on dereference of a possible null; throws NullReferenceException +> char c1 = s2[1]; // OK; no warning on dereference of a possible null; +> // throws NullReferenceException > c1 = s2![1]; // OK; ! is ignored > ``` > @@ -787,7 +788,7 @@ When the nullable context is ***annotations***: - For any reference type `T`, the annotation `?` in `T?` indicates that `T?` a nullable type, whereas the unannotated `T` is non-nullable. - No diagnostic warnings related to nullability are generated. -- The null-forgiving operator `!` ([§12.8.9](expressions.md#1289-null-forgiving-expressions)) may alter the analyzed null state of its operand and what compile time informative messages are produced. +- The null-forgiving operator `!` ([§12.8.9](expressions.md#1289-null-forgiving-expressions)) may alter the analyzed null state of its operand and what compile time diagnostic warnings are produced. > *Example*: > @@ -824,7 +825,8 @@ When the nullable context is ***warnings***, a compiler can generate diagnostics > string? s1 = null; // OK; ? makes s2 nullable > string s2 = null; // OK; null-state of s2 is "maybe null" > s2 = null; // OK; null-state of s2 is "maybe null" -> char c1 = s2[1]; // Warning; dereference of a possible null; throws NullReferenceException +> char c1 = s2[1]; // Warning; dereference of a possible null; +> // throws NullReferenceException > c1 = s2![1]; // The warning is suppressed > ``` > @@ -842,11 +844,11 @@ When the nullable context is ***enabled***: ### 8.9.5 Nullabilities and null states -A compiler is not required to perform any static analysis nor is it required to generate any diagnostic messages related to nullability. +A compiler is not required to perform any static analysis nor is it required to generate any diagnostic warnings related to nullability. **The remainder of this subclause is conditionally normative.** -A compiler that generates diagnostic messages conforms to these rules. +A compiler that generates diagnostic warnings conforms to these rules. Every expression has one of three ***null state***s: diff --git a/standard/unsafe-code.md b/standard/unsafe-code.md index 82214fdd0..e4a048952 100644 --- a/standard/unsafe-code.md +++ b/standard/unsafe-code.md @@ -544,11 +544,9 @@ addressof_expression ; ``` - - Given an expression `E` which is of a type `T` and is classified as a fixed variable ([§23.4](unsafe-code.md#234-fixed-and-moveable-variables)), the construct `&E` computes the address of the variable given by `E`. The type of the result is `T*` and is classified as a value. A compile-time error occurs if `E` is not classified as a variable, if `E` is classified as a read-only local variable, or if `E` denotes a moveable variable. In the last case, a fixed statement ([§23.7](unsafe-code.md#237-the-fixed-statement)) can be used to temporarily “fix” the variable before obtaining its address. -> *Note*: As stated in [§12.8.7](expressions.md#1287-member-access), outside an instance constructor or static constructor for a struct or class that defines a `readonly` field, that field is considered a value, not a variable. As such, its address cannot be taken. Similarly, the address of a constant cannot be taken. +> *Note*: As stated in [§12.8.7](expressions.md#1287-member-access), outside an instance constructor or static constructor for a struct or class that defines a `readonly` field, that field is considered a value, not a variable. As such, its address cannot be taken. Similarly, the address of a constant cannot be taken. *end note* The `&` operator does not require its argument to be definitely assigned, but following an `&` operation, the variable to which the operator is applied is considered definitely assigned in the execution path in which the operation occurs. It is the responsibility of the programmer to ensure that correct initialization of the variable actually does take place in this situation. From 1e71c2144779e818f54e540d7f0d5b1c5499ee50 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Fri, 22 Nov 2024 12:40:30 +1300 Subject: [PATCH 175/259] [FLW] - The WordConverter objected to the block comment format, fixed - Now should be ready to merge... --- standard/expressions.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index 43e543c8c..f1850d7a6 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -1848,7 +1848,7 @@ It is a compile-time error to apply the null-forgiving operator more than once t > *Example*: the following are all invalid: > > ```csharp -> var p = q!!; // error: cannot apply the null_forgiving_operator more than once +> var p = q!!; // error: applying null_forgiving_operator more than once > var s = ( ( m(t) ! ) )! // error: null_forgiving_operator applied twice to m(t) > ``` > @@ -1959,8 +1959,9 @@ invocation_expression ; ``` - The *primary_expression* may be a *null_forgiving_expression* if and only if it has a *delegate_type*. @@ -2167,8 +2168,9 @@ null_conditional_invocation_expression ; ``` - The optional *null_forgiving_operator* may be included if and only if the *null_conditional_member_access* or *null_conditional_element_access* has a *delegate_type*. @@ -2256,7 +2258,7 @@ Depending on the context in which it is used, an indexer access causes invocatio ### 12.8.13 Null Conditional Element Access -A *null_conditional_element_access* consists of a *primary_no_array_creation_expression* followed by the two tokens “`?`” and “`[`”, followed by an *argument_list*, followed by a “`]`” token, followed by zero or more *dependent_access*es any of which can be preceeded by a *null_forgiving_operator*. +A *null_conditional_element_access* consists of a *primary_no_array_creation_expression* followed by the two tokens “`?`” and “`[`”, followed by an *argument_list*, followed by a “`]`” token, followed by zero or more *dependent_access*es any of which can be preceded by a *null_forgiving_operator*. ```ANTLR null_conditional_element_access @@ -6774,7 +6776,7 @@ Only the following constructs are permitted in constant expressions: - The predefined `+`, `-`, `!` (logical negation) and `~` unary operators. - The predefined `+`, `-`, `*`, `/`, `%`, `<<`, `>>`, `&`, `|`, `^`, `&&`, `||`, `==`, `!=`, `<`, `>`, `<=`, and `>=` binary operators. - The `?:` conditional operator. -- The `!` null-forgiving operator ([§12.9.4](expressions.md#1289-null-forgiving-expressions)). +- The `!` null-forgiving operator ([§12.8.9](expressions.md#1289-null-forgiving-expressions)). - `sizeof` expressions, provided the unmanaged-type is one of the types specified in [§23.6.9](unsafe-code.md#2369-the-sizeof-operator) for which `sizeof` returns a constant value. - Default value expressions, provided the type is one of the types listed above. From d1e4c20fcd36145eba3c59019b8b9d870b4104e1 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Thu, 21 Nov 2024 11:12:07 +0000 Subject: [PATCH 176/259] Remove accidentally-nested template directory --- .../standalone-lib/standalone-lib-without-using/Library.cs | 1 - 1 file changed, 1 deletion(-) delete mode 100644 tools/example-templates/standalone-lib/standalone-lib-without-using/Library.cs diff --git a/tools/example-templates/standalone-lib/standalone-lib-without-using/Library.cs b/tools/example-templates/standalone-lib/standalone-lib-without-using/Library.cs deleted file mode 100644 index bb8d3f010..000000000 --- a/tools/example-templates/standalone-lib/standalone-lib-without-using/Library.cs +++ /dev/null @@ -1 +0,0 @@ -$example-code From 74b8e03d6554c0ee1b5e77d68234a08df204ab72 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Thu, 21 Nov 2024 11:13:24 +0000 Subject: [PATCH 177/259] Use LangVersion=8 where feasible in testing This should allow us to avoid accidentally using C# 9+ features, at least in most cases. The standalone-console and standalone-console-without-using templates are unchanged, as many examples using them expect to use top-level statements. (Once we've got as far as C# 10, we should be able to use LangVersion for all projects.) --- standard/attributes.md | 7 +++++-- standard/conversions.md | 2 +- standard/statements.md | 2 +- tools/example-templates/additional-files/Attr1Attribute.cs | 2 ++ tools/example-templates/additional-files/Attr2Attribute.cs | 3 ++- tools/example-templates/additional-files/Attr3Attribute.cs | 2 ++ tools/example-templates/additional-files/Extensions.cs | 2 ++ .../example-templates/additional-files/SimpleAttribute.cs | 2 ++ .../code-in-class-lib-without-using/Project.csproj | 2 +- tools/example-templates/code-in-class-lib/Project.csproj | 2 +- .../code-in-main-without-using/Project.csproj | 2 +- tools/example-templates/code-in-main/Project.csproj | 2 +- .../example-templates/code-in-partial-class/Project.csproj | 2 +- tools/example-templates/extern-lib/ExampleProject.csproj | 1 + tools/example-templates/extern-lib/ExternN2.csproj | 1 + tools/example-templates/extern-lib/ExternR1.csproj | 1 + tools/example-templates/extern-lib/ExternX.csproj | 1 + tools/example-templates/extern-lib/ExternY.csproj | 1 + tools/example-templates/standalone-lib/Project.csproj | 2 +- 19 files changed, 28 insertions(+), 11 deletions(-) diff --git a/standard/attributes.md b/standard/attributes.md index 21d681e30..2a60a3a4a 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -20,7 +20,7 @@ A generic class declaration shall not use `System.Attribute` as a direct or indi > *Example*: > -> +> > ```csharp > public class B : Attribute {} > public class C : B {} // Error – generic cannot be an attribute @@ -617,6 +617,7 @@ It is important to understand that the inclusion or exclusion of a call to a con > > ```csharp > // File Class1.cs: +> using System; > using System.Diagnostics; > class Class1 > { @@ -659,6 +660,7 @@ The use of conditional methods in an inheritance chain can be confusing. Calls m > > ```csharp > // File Class1.cs +> using System; > using System.Diagnostics; > class Class1 > { @@ -718,6 +720,7 @@ It is important to note that the inclusion or exclusion of an attribute specific > > ```csharp > // File Test.cs: +> using System; > using System.Diagnostics; > [Conditional("DEBUG")] > public class TestAttribute : Attribute {} @@ -1009,7 +1012,7 @@ Specifies that a non-nullable return value may be null. > *Example*: Consider the following generic method: > -> +> > ```csharp > #nullable enable > public T? Find(IEnumerable sequence, Func predicate) { ... } diff --git a/standard/conversions.md b/standard/conversions.md index 3cb4557bf..0b2cf680b 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -21,7 +21,7 @@ Some conversions in the language are defined from expressions to types, others f > *Example*: > -> +> > ```csharp > enum Color { Red, Blue, Green } > diff --git a/standard/statements.md b/standard/statements.md index 245bb6d55..6d7ce6bb5 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -1960,7 +1960,7 @@ There are several restrictions on where a `yield` statement can appear, as descr > *Example*: The following example shows some valid and invalid uses of `yield` statements. > -> +> > ```csharp > delegate IEnumerable D(); > diff --git a/tools/example-templates/additional-files/Attr1Attribute.cs b/tools/example-templates/additional-files/Attr1Attribute.cs index 7dc9f8de3..0bafe99b0 100644 --- a/tools/example-templates/additional-files/Attr1Attribute.cs +++ b/tools/example-templates/additional-files/Attr1Attribute.cs @@ -1,3 +1,5 @@ +using System; + [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] public class Attr1Attribute : Attribute { diff --git a/tools/example-templates/additional-files/Attr2Attribute.cs b/tools/example-templates/additional-files/Attr2Attribute.cs index f8e9893d6..564b7d7e0 100644 --- a/tools/example-templates/additional-files/Attr2Attribute.cs +++ b/tools/example-templates/additional-files/Attr2Attribute.cs @@ -1,3 +1,5 @@ +using System; + [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] public class Attr2Attribute : Attribute { @@ -11,4 +13,3 @@ public Attr2Attribute(string name) // get { return name; } // } } - diff --git a/tools/example-templates/additional-files/Attr3Attribute.cs b/tools/example-templates/additional-files/Attr3Attribute.cs index 94a078814..55cf6c47b 100644 --- a/tools/example-templates/additional-files/Attr3Attribute.cs +++ b/tools/example-templates/additional-files/Attr3Attribute.cs @@ -1,3 +1,5 @@ +using System; + [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] public class Attr3Attribute : Attribute { diff --git a/tools/example-templates/additional-files/Extensions.cs b/tools/example-templates/additional-files/Extensions.cs index 6535f1e3b..0ff912aed 100644 --- a/tools/example-templates/additional-files/Extensions.cs +++ b/tools/example-templates/additional-files/Extensions.cs @@ -1,3 +1,5 @@ +using System; + public static class Extensions { public static int ToInt32(this string s) => Int32.Parse(s); diff --git a/tools/example-templates/additional-files/SimpleAttribute.cs b/tools/example-templates/additional-files/SimpleAttribute.cs index 3c0ea5d99..fba4e008d 100644 --- a/tools/example-templates/additional-files/SimpleAttribute.cs +++ b/tools/example-templates/additional-files/SimpleAttribute.cs @@ -1,3 +1,5 @@ +using System; + [AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface)] public class SimpleAttribute : Attribute { diff --git a/tools/example-templates/code-in-class-lib-without-using/Project.csproj b/tools/example-templates/code-in-class-lib-without-using/Project.csproj index 19e60edae..722c71426 100644 --- a/tools/example-templates/code-in-class-lib-without-using/Project.csproj +++ b/tools/example-templates/code-in-class-lib-without-using/Project.csproj @@ -2,10 +2,10 @@ net6.0 - enable $example-name true annotations + 8 diff --git a/tools/example-templates/code-in-class-lib/Project.csproj b/tools/example-templates/code-in-class-lib/Project.csproj index 19e60edae..722c71426 100644 --- a/tools/example-templates/code-in-class-lib/Project.csproj +++ b/tools/example-templates/code-in-class-lib/Project.csproj @@ -2,10 +2,10 @@ net6.0 - enable $example-name true annotations + 8 diff --git a/tools/example-templates/code-in-main-without-using/Project.csproj b/tools/example-templates/code-in-main-without-using/Project.csproj index b6e934c80..3b12870e9 100644 --- a/tools/example-templates/code-in-main-without-using/Project.csproj +++ b/tools/example-templates/code-in-main-without-using/Project.csproj @@ -3,10 +3,10 @@ Exe net6.0 - enable annotations $example-name true + 8 diff --git a/tools/example-templates/code-in-main/Project.csproj b/tools/example-templates/code-in-main/Project.csproj index b6e934c80..3b12870e9 100644 --- a/tools/example-templates/code-in-main/Project.csproj +++ b/tools/example-templates/code-in-main/Project.csproj @@ -3,10 +3,10 @@ Exe net6.0 - enable annotations $example-name true + 8 diff --git a/tools/example-templates/code-in-partial-class/Project.csproj b/tools/example-templates/code-in-partial-class/Project.csproj index f329dbdd9..a11586be9 100644 --- a/tools/example-templates/code-in-partial-class/Project.csproj +++ b/tools/example-templates/code-in-partial-class/Project.csproj @@ -3,10 +3,10 @@ Exe net6.0 - enable $example-name true annotations + 8 diff --git a/tools/example-templates/extern-lib/ExampleProject.csproj b/tools/example-templates/extern-lib/ExampleProject.csproj index cc9bba375..eb01f5963 100644 --- a/tools/example-templates/extern-lib/ExampleProject.csproj +++ b/tools/example-templates/extern-lib/ExampleProject.csproj @@ -5,6 +5,7 @@ false CS0169 annotations + 8 diff --git a/tools/example-templates/extern-lib/ExternN2.csproj b/tools/example-templates/extern-lib/ExternN2.csproj index c310d27de..4604791c8 100644 --- a/tools/example-templates/extern-lib/ExternN2.csproj +++ b/tools/example-templates/extern-lib/ExternN2.csproj @@ -4,6 +4,7 @@ net6.0 false annotations + 8 diff --git a/tools/example-templates/extern-lib/ExternR1.csproj b/tools/example-templates/extern-lib/ExternR1.csproj index 40ef94d27..f3524c968 100644 --- a/tools/example-templates/extern-lib/ExternR1.csproj +++ b/tools/example-templates/extern-lib/ExternR1.csproj @@ -4,6 +4,7 @@ net6.0 false annotations + 8 diff --git a/tools/example-templates/extern-lib/ExternX.csproj b/tools/example-templates/extern-lib/ExternX.csproj index 296993cc6..0e11dd005 100644 --- a/tools/example-templates/extern-lib/ExternX.csproj +++ b/tools/example-templates/extern-lib/ExternX.csproj @@ -4,6 +4,7 @@ net6.0 false annotations + 8 diff --git a/tools/example-templates/extern-lib/ExternY.csproj b/tools/example-templates/extern-lib/ExternY.csproj index e7ea5519d..351eb409b 100644 --- a/tools/example-templates/extern-lib/ExternY.csproj +++ b/tools/example-templates/extern-lib/ExternY.csproj @@ -4,6 +4,7 @@ net6.0 false annotations + 8 diff --git a/tools/example-templates/standalone-lib/Project.csproj b/tools/example-templates/standalone-lib/Project.csproj index 19e60edae..722c71426 100644 --- a/tools/example-templates/standalone-lib/Project.csproj +++ b/tools/example-templates/standalone-lib/Project.csproj @@ -2,10 +2,10 @@ net6.0 - enable $example-name true annotations + 8 From 4e5e0a67f17b6fcb32b20b9f3bba7f089cc48baf Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Fri, 22 Nov 2024 15:48:04 +0000 Subject: [PATCH 178/259] Expect an error for an unconstrained use of T? Co-authored-by: Bill Wagner --- standard/attributes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/attributes.md b/standard/attributes.md index 2a60a3a4a..2995471f1 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -1012,7 +1012,7 @@ Specifies that a non-nullable return value may be null. > *Example*: Consider the following generic method: > -> +> > ```csharp > #nullable enable > public T? Find(IEnumerable sequence, Func predicate) { ... } From 60cb5dc1e93deb9584e4c920a4632cb4ee0951c7 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Fri, 22 Nov 2024 16:36:29 +0000 Subject: [PATCH 179/259] Fix typo in example specification --- standard/attributes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/attributes.md b/standard/attributes.md index 2995471f1..3d9d4737e 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -1012,7 +1012,7 @@ Specifies that a non-nullable return value may be null. > *Example*: Consider the following generic method: > -> +> > ```csharp > #nullable enable > public T? Find(IEnumerable sequence, Func predicate) { ... } From 4320310badbf8c859b982b5a1eda9adcd849b628 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2024 16:23:43 -0500 Subject: [PATCH 180/259] [create-pull-request] automated change (#1222) Co-authored-by: jskeet --- standard/README.md | 3 +++ standard/grammar.md | 27 ++++++++++++++++----------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/standard/README.md b/standard/README.md index ab0e4d964..7a7178160 100644 --- a/standard/README.md +++ b/standard/README.md @@ -325,6 +325,9 @@ - [§12.8.7.2](expressions.md#12872-identical-simple-names-and-type-names) Identical simple names and type names - [§12.8.8](expressions.md#1288-null-conditional-member-access) Null Conditional Member Access - [§12.8.9](expressions.md#1289-null-forgiving-expressions) Null-forgiving expressions + - [§12.8.9.1](expressions.md#12891-general) General + - [§12.8.9.2](expressions.md#12892-overriding-a-maybe-null-determination) Overriding a “maybe null” determination + - [§12.8.9.3](expressions.md#12893-overriding-other-null-analysis-warnings) Overriding other null analysis warnings - [§12.8.10](expressions.md#12810-invocation-expressions) Invocation expressions - [§12.8.10.1](expressions.md#128101-general) General - [§12.8.10.2](expressions.md#128102-method-invocations) Method invocations diff --git a/standard/grammar.md b/standard/grammar.md index 328989335..878138dd4 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -535,7 +535,8 @@ fragment PP_Compilation_Unit_Name_Character // Source: §6.5.9 Nullable directive fragment PP_Nullable - : 'nullable' PP_Whitespace PP_Nullable_Action (PP_Whitespace PP_Nullable_Target)? + : 'nullable' PP_Whitespace PP_Nullable_Action + (PP_Whitespace PP_Nullable_Target)? ; fragment PP_Nullable_Action : 'disable' @@ -785,7 +786,6 @@ argument_value primary_expression : primary_no_array_creation_expression | array_creation_expression - | null_forgiving_expression ; primary_no_array_creation_expression @@ -803,6 +803,7 @@ primary_no_array_creation_expression | base_access | post_increment_expression | post_decrement_expression + | null_forgiving_expression | object_creation_expression | delegate_creation_expression | anonymous_object_creation_expression @@ -976,7 +977,7 @@ predefined_type // Source: §12.8.8 Null Conditional Member Access null_conditional_member_access : primary_expression '?' '.' identifier type_argument_list? - dependent_access* + (null_forgiving_operator? dependent_access)* ; dependent_access @@ -989,12 +990,12 @@ null_conditional_projection_initializer : primary_expression '?' '.' identifier type_argument_list? ; -// Source: §12.8.9 Null-forgiving expressions +// Source: §12.8.9.1 General null_forgiving_expression - : primary_no_array_creation_expression suppression + : primary_expression null_forgiving_operator ; -suppression +null_forgiving_operator : '!' ; @@ -1005,8 +1006,8 @@ invocation_expression // Source: §12.8.11 Null Conditional Invocation Expression null_conditional_invocation_expression - : null_conditional_member_access '(' argument_list? ')' - | null_conditional_element_access '(' argument_list? ')' + : null_conditional_member_access null_forgiving_operator? '(' argument_list? ')' + | null_conditional_element_access null_forgiving_operator? '(' argument_list? ')' ; // Source: §12.8.12.1 General @@ -1017,7 +1018,7 @@ element_access // Source: §12.8.13 Null Conditional Element Access null_conditional_element_access : primary_no_array_creation_expression '?' '[' argument_list ']' - dependent_access* + (null_forgiving_operator? dependent_access)* ; // Source: §12.8.14 This access @@ -1221,7 +1222,7 @@ unary_expression : primary_expression | '+' unary_expression | '-' unary_expression - | '!' unary_expression + | logical_negation_operator unary_expression | '~' unary_expression | pre_increment_expression | pre_decrement_expression @@ -2336,8 +2337,12 @@ unary_operator_declarator : type 'operator' overloadable_unary_operator '(' fixed_parameter ')' ; +logical_negation_operator + : '!' + ; + overloadable_unary_operator - : '+' | '-' | '!' | '~' | '++' | '--' | 'true' | 'false' + : '+' | '-' | logical_negation_operator | '~' | '++' | '--' | 'true' | 'false' ; binary_operator_declarator From f4debe3bbdaa16469d1549b9e2d703441210624a Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Mon, 2 Dec 2024 10:14:26 -0500 Subject: [PATCH 181/259] Add Missing Subsection, General, to 9.2.9 "Local variables" (#1223) * Add new subsection, General * Added new subsection, General * Added new subsection, General --- standard/expressions.md | 2 +- standard/patterns.md | 4 ++-- standard/variables.md | 4 +++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index b37adec07..6acfed748 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -5227,7 +5227,7 @@ Any local variable, value parameter, or parameter array whose scope includes the #### 12.19.6.2 Captured outer variables -When an outer variable is referenced by an anonymous function, the outer variable is said to have been ***captured*** by the anonymous function. Ordinarily, the lifetime of a local variable is limited to execution of the block or statement with which it is associated ([§9.2.9](variables.md#929-local-variables)). However, the lifetime of a captured outer variable is extended at least until the delegate or expression tree created from the anonymous function becomes eligible for garbage collection. +When an outer variable is referenced by an anonymous function, the outer variable is said to have been ***captured*** by the anonymous function. Ordinarily, the lifetime of a local variable is limited to execution of the block or statement with which it is associated (§local-var-general). However, the lifetime of a captured outer variable is extended at least until the delegate or expression tree created from the anonymous function becomes eligible for garbage collection. > *Example*: In the example > diff --git a/standard/patterns.md b/standard/patterns.md index 2a825a282..cc172439e 100644 --- a/standard/patterns.md +++ b/standard/patterns.md @@ -68,7 +68,7 @@ The runtime type of the value is tested against the *type* in the pattern using > *Note*: The is-type expression `e is T` and the declaration pattern `e is T _` are equivalent when `T` isn’t a nullable type. *end note* -Given a pattern input value ([§11.1](patterns.md#111-general)) *e*, if the *simple_designation* is the *identifier* `_`, it denotes a discard ([§9.2.9.1](variables.md#9291-discards)) and the value of *e* is not bound to anything. (Although a declared variable with the name `_` may be in scope at that point, that named variable is not seen in this context.) If *simple_designation* is any other identifier, a local variable ([§9.2.9](variables.md#929-local-variables)) of the given type named by the given identifier is introduced. That local variable is assigned the value of the pattern input value when the pattern *matches* the value. +Given a pattern input value ([§11.1](patterns.md#111-general)) *e*, if the *simple_designation* is the *identifier* `_`, it denotes a discard ([§9.2.9.1](variables.md#9291-discards)) and the value of *e* is not bound to anything. (Although a declared variable with the name `_` may be in scope at that point, that named variable is not seen in this context.) If *simple_designation* is any other identifier, a local variable (§local-var-general) of the given type named by the given identifier is introduced. That local variable is assigned the value of the pattern input value when the pattern *matches* the value. Certain combinations of static type of the pattern input value and the given type are considered incompatible and result in a compile-time error. A value of static type `E` is said to be ***pattern compatible*** with the type `T` if there exists an identity conversion, an implicit or explicit reference conversion, a boxing conversion, or an unboxing conversion from `E` to `T`, or if either `E` or `T` is an open type ([§8.4.3](types.md#843-open-and-closed-types)). A declaration pattern naming a type `T` is *applicable to* every type `E` for which `E` is pattern compatible with `T`. @@ -160,7 +160,7 @@ designation ; ``` -Given a pattern input value ([§11.1](patterns.md#111-general)) *e*, if *designation* is the *identifier* `_`, it denotes a discard ([§9.2.9.1](variables.md#9291-discards)), and the value of *e* is not bound to anything. (Although a declared variable with that name may be in scope at that point, that named variable is not seen in this context.) If *designation* is any other identifier, at runtime the value of *e* is bound to a newly introduced local variable ([§9.2.9](variables.md#929-local-variables)) of that name whose type is the static type of *e*, and the pattern input value is assigned to that local variable. +Given a pattern input value ([§11.1](patterns.md#111-general)) *e*, if *designation* is the *identifier* `_`, it denotes a discard ([§9.2.9.1](variables.md#9291-discards)), and the value of *e* is not bound to anything. (Although a declared variable with that name may be in scope at that point, that named variable is not seen in this context.) If *designation* is any other identifier, at runtime the value of *e* is bound to a newly introduced local variable (§local-var-general) of that name whose type is the static type of *e*, and the pattern input value is assigned to that local variable. It is an error if the name `var` would bind to a type where a *var_pattern* is used. diff --git a/standard/variables.md b/standard/variables.md index 7d7aa9002..18424df9a 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -118,6 +118,8 @@ Input parameters are discussed further in [§15.6.2.3.2](classes.md#156232-input ### 9.2.9 Local variables +#### §local-var-general General + A ***local variable*** is declared by a *local_variable_declaration*, *declaration_expression*, *foreach_statement*, or *specific_catch_clause* of a *try_statement*. A local variable can also be declared by certain kinds of *pattern*s ([§11](patterns.md#11-patterns-and-pattern-matching)). For a *foreach_statement*, the local variable is an iteration variable ([§13.9.5](statements.md#1395-the-foreach-statement)). For a *specific_catch_clause*, the local variable is an exception variable ([§13.11](statements.md#1311-the-try-statement)). A local variable declared by a *foreach_statement* or *specific_catch_clause* is considered initially assigned. A *local_variable_declaration* can occur in a *block*, a *for_statement*, a *switch_block*, or a *using_statement*. A *declaration_expression* can occur as an `out` *argument_value*, and as a *tuple_element* that is the target of a deconstructing assignment ([§12.21.2](expressions.md#12212-simple-assignment)). @@ -1073,7 +1075,7 @@ For any variable, the ***ref-safe-context*** of that variable is the context whe There are three ref-safe-contexts: -- ***declaration-block***: The ref-safe-context of a *variable_reference* to a local variable ([§9.2.9](variables.md#929-local-variables)) is that local variable’s scope ([§13.6.2](statements.md#1362-local-variable-declarations)), including any nested *embedded-statement*s in that scope. +- ***declaration-block***: The ref-safe-context of a *variable_reference* to a local variable (§local-var-general) is that local variable’s scope ([§13.6.2](statements.md#1362-local-variable-declarations)), including any nested *embedded-statement*s in that scope. A *variable_reference* to a local variable is a valid referent for a reference variable only if the reference variable is declared within the ref-safe-context of that variable. From 4e64ae0f6af8ba95f65ed95f66699c4209402e85 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 10:41:51 -0500 Subject: [PATCH 182/259] [create-pull-request] automated change (#1224) Co-authored-by: BillWagner --- standard/README.md | 3 ++- standard/expressions.md | 4 ++-- standard/lexical-structure.md | 2 +- standard/patterns.md | 4 ++-- standard/variables.md | 6 +++--- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/standard/README.md b/standard/README.md index 7a7178160..477c99a20 100644 --- a/standard/README.md +++ b/standard/README.md @@ -140,7 +140,8 @@ - [§9.2.7](variables.md#927-output-parameters) Output parameters - [§9.2.8](variables.md#928-input-parameters) Input parameters - [§9.2.9](variables.md#929-local-variables) Local variables - - [§9.2.9.1](variables.md#9291-discards) Discards + - [§9.2.9.1](variables.md#9291-general) General + - [§9.2.9.2](variables.md#9292-discards) Discards - [§9.3](variables.md#93-default-values) Default values - [§9.4](variables.md#94-definite-assignment) Definite assignment - [§9.4.1](variables.md#941-general) General diff --git a/standard/expressions.md b/standard/expressions.md index 6acfed748..de660e78b 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -4892,7 +4892,7 @@ A declaration expression that is a simple discard or where the *local_variable_t Otherwise, the declaration expression is classified as an *explicitly typed* variable, and the type of the expression as well as the declared variable shall be that given by the *local_variable_type*. -A declaration expression with the identifier `_` is a discard ([§9.2.9.1](variables.md#9291-discards)), and does not introduce a name for the variable. A declaration expression with an identifier other than `_` introduces that name into the nearest enclosing local variable declaration space ([§7.3](basic-concepts.md#73-declarations)). +A declaration expression with the identifier `_` is a discard ([§9.2.9.2](variables.md#9292-discards)), and does not introduce a name for the variable. A declaration expression with an identifier other than `_` introduces that name into the nearest enclosing local variable declaration space ([§7.3](basic-concepts.md#73-declarations)). > *Example*: > @@ -5227,7 +5227,7 @@ Any local variable, value parameter, or parameter array whose scope includes the #### 12.19.6.2 Captured outer variables -When an outer variable is referenced by an anonymous function, the outer variable is said to have been ***captured*** by the anonymous function. Ordinarily, the lifetime of a local variable is limited to execution of the block or statement with which it is associated (§local-var-general). However, the lifetime of a captured outer variable is extended at least until the delegate or expression tree created from the anonymous function becomes eligible for garbage collection. +When an outer variable is referenced by an anonymous function, the outer variable is said to have been ***captured*** by the anonymous function. Ordinarily, the lifetime of a local variable is limited to execution of the block or statement with which it is associated ([§9.2.9.1](variables.md#9291-general)). However, the lifetime of a captured outer variable is extended at least until the delegate or expression tree created from the anonymous function becomes eligible for garbage collection. > *Example*: In the example > diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index 0225db2f2..0bc300025 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -556,7 +556,7 @@ Two identifiers are considered the same if they are identical after the followin The semantics of an identifier named `_` depends on the context in which it appears: - It can denote a named program element, such as a variable, class, or method, or -- It can denote a discard ([§9.2.9.1](variables.md#9291-discards)). +- It can denote a discard ([§9.2.9.2](variables.md#9292-discards)). Identifiers containing two consecutive underscore characters (`U+005F`) are reserved for use by the implementation; however, no diagnostic is required if such an identifier is defined. diff --git a/standard/patterns.md b/standard/patterns.md index cc172439e..68a2ea216 100644 --- a/standard/patterns.md +++ b/standard/patterns.md @@ -68,7 +68,7 @@ The runtime type of the value is tested against the *type* in the pattern using > *Note*: The is-type expression `e is T` and the declaration pattern `e is T _` are equivalent when `T` isn’t a nullable type. *end note* -Given a pattern input value ([§11.1](patterns.md#111-general)) *e*, if the *simple_designation* is the *identifier* `_`, it denotes a discard ([§9.2.9.1](variables.md#9291-discards)) and the value of *e* is not bound to anything. (Although a declared variable with the name `_` may be in scope at that point, that named variable is not seen in this context.) If *simple_designation* is any other identifier, a local variable (§local-var-general) of the given type named by the given identifier is introduced. That local variable is assigned the value of the pattern input value when the pattern *matches* the value. +Given a pattern input value ([§11.1](patterns.md#111-general)) *e*, if the *simple_designation* is the *identifier* `_`, it denotes a discard ([§9.2.9.2](variables.md#9292-discards)) and the value of *e* is not bound to anything. (Although a declared variable with the name `_` may be in scope at that point, that named variable is not seen in this context.) If *simple_designation* is any other identifier, a local variable ([§9.2.9.1](variables.md#9291-general)) of the given type named by the given identifier is introduced. That local variable is assigned the value of the pattern input value when the pattern *matches* the value. Certain combinations of static type of the pattern input value and the given type are considered incompatible and result in a compile-time error. A value of static type `E` is said to be ***pattern compatible*** with the type `T` if there exists an identity conversion, an implicit or explicit reference conversion, a boxing conversion, or an unboxing conversion from `E` to `T`, or if either `E` or `T` is an open type ([§8.4.3](types.md#843-open-and-closed-types)). A declaration pattern naming a type `T` is *applicable to* every type `E` for which `E` is pattern compatible with `T`. @@ -160,7 +160,7 @@ designation ; ``` -Given a pattern input value ([§11.1](patterns.md#111-general)) *e*, if *designation* is the *identifier* `_`, it denotes a discard ([§9.2.9.1](variables.md#9291-discards)), and the value of *e* is not bound to anything. (Although a declared variable with that name may be in scope at that point, that named variable is not seen in this context.) If *designation* is any other identifier, at runtime the value of *e* is bound to a newly introduced local variable (§local-var-general) of that name whose type is the static type of *e*, and the pattern input value is assigned to that local variable. +Given a pattern input value ([§11.1](patterns.md#111-general)) *e*, if *designation* is the *identifier* `_`, it denotes a discard ([§9.2.9.2](variables.md#9292-discards)), and the value of *e* is not bound to anything. (Although a declared variable with that name may be in scope at that point, that named variable is not seen in this context.) If *designation* is any other identifier, at runtime the value of *e* is bound to a newly introduced local variable ([§9.2.9.1](variables.md#9291-general)) of that name whose type is the static type of *e*, and the pattern input value is assigned to that local variable. It is an error if the name `var` would bind to a type where a *var_pattern* is used. diff --git a/standard/variables.md b/standard/variables.md index 18424df9a..bfef4fe9f 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -118,7 +118,7 @@ Input parameters are discussed further in [§15.6.2.3.2](classes.md#156232-input ### 9.2.9 Local variables -#### §local-var-general General +#### 9.2.9.1 General A ***local variable*** is declared by a *local_variable_declaration*, *declaration_expression*, *foreach_statement*, or *specific_catch_clause* of a *try_statement*. A local variable can also be declared by certain kinds of *pattern*s ([§11](patterns.md#11-patterns-and-pattern-matching)). For a *foreach_statement*, the local variable is an iteration variable ([§13.9.5](statements.md#1395-the-foreach-statement)). For a *specific_catch_clause*, the local variable is an exception variable ([§13.11](statements.md#1311-the-try-statement)). A local variable declared by a *foreach_statement* or *specific_catch_clause* is considered initially assigned. @@ -157,7 +157,7 @@ A local variable introduced by a *local_variable_declaration* or *declaration_ex > > *end note* -#### 9.2.9.1 Discards +#### 9.2.9.2 Discards A ***discard*** is a local variable that has no name. A discard is introduced by a declaration expression ([§12.17](expressions.md#1217-declaration-expressions)) with the identifier `_`; and is either implicitly typed (`_` or `var _`) or explicitly typed (`T _`). @@ -1075,7 +1075,7 @@ For any variable, the ***ref-safe-context*** of that variable is the context whe There are three ref-safe-contexts: -- ***declaration-block***: The ref-safe-context of a *variable_reference* to a local variable (§local-var-general) is that local variable’s scope ([§13.6.2](statements.md#1362-local-variable-declarations)), including any nested *embedded-statement*s in that scope. +- ***declaration-block***: The ref-safe-context of a *variable_reference* to a local variable ([§9.2.9.1](variables.md#9291-general)) is that local variable’s scope ([§13.6.2](statements.md#1362-local-variable-declarations)), including any nested *embedded-statement*s in that scope. A *variable_reference* to a local variable is a valid referent for a reference variable only if the reference variable is declared within the ref-safe-context of that variable. From edd2ca9c7bb003ba43b32578692b13fd8913ae5e Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 11 Dec 2024 15:15:53 -0500 Subject: [PATCH 183/259] Add more NRT examples (#1225) * Add more NRT examples Fixes #1214 Add examples as noted in the referenced comments. * fix grammar note * Fix examples * update expected exception * Replace "the compiler" with "a compiler", part 1. Replace instances of "the compiler" with "a compiler" as it relates to what actions a compiler might take while performing static nullable analysis. * Apply suggestions from code review Co-authored-by: Jon Skeet * Respond to reviews * respond to feedback 2. * fix expected warnings. * Update standard/types.md Co-authored-by: Jon Skeet * respond to feedback. * Update standard/types.md Co-authored-by: Joseph Musser --------- Co-authored-by: Jon Skeet Co-authored-by: Joseph Musser --- standard/types.md | 117 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 91 insertions(+), 26 deletions(-) diff --git a/standard/types.md b/standard/types.md index 0b6364d2e..2a1d6d859 100644 --- a/standard/types.md +++ b/standard/types.md @@ -307,7 +307,7 @@ Because a simple type aliases a struct type, every simple type has members. > *Note*: The simple types differ from other struct types in that they permit certain additional operations: > > - Most simple types permit values to be created by writing *literals* ([§6.4.5](lexical-structure.md#645-literals)), although C# makes no provision for literals of struct types in general. *Example*: `123` is a literal of type `int` and `'a'` is a literal of type `char`. *end example* -> - When the operands of an expression are all simple type constants, it is possible for the compiler to evaluate the expression at compile-time. Such an expression is known as a *constant_expression* ([§12.23](expressions.md#1223-constant-expressions)). Expressions involving operators defined by other struct types are not considered to be constant expressions +> - When the operands of an expression are all simple type constants, it is possible for a compiler to evaluate the expression at compile-time. Such an expression is known as a *constant_expression* ([§12.23](expressions.md#1223-constant-expressions)). Expressions involving operators defined by other struct types are not considered to be constant expressions > - Through `const` declarations, it is possible to declare constants of the simple types ([§15.4](classes.md#154-constants)). It is not possible to have constants of other struct types, but a similar effect is provided by static readonly fields. > - Conversions involving simple types can participate in evaluation of conversion operators defined by other struct types, but a user-defined conversion operator can never participate in evaluation of another user-defined conversion operator ([§10.5.3](conversions.md#1053-evaluation-of-user-defined-conversions)). > @@ -743,13 +743,13 @@ A ***non-nullable reference type*** is a reference type of the form `T`, where ` ### 8.9.3 Nullable reference types -A reference type of the form `T?` (such as `string?`) is a ***nullable reference type***. The default null-state of a nullable variable is *maybe null*. The annotation `?` indicates the intent that variables of this type are nullable. The compiler can recognize these intents to issue warnings. When the nullable annotation context is disabled, using this annotation can generate a warning. +A reference type of the form `T?` (such as `string?`) is a ***nullable reference type***. The default null-state of a nullable variable is *maybe null*. The annotation `?` indicates the intent that variables of this type are nullable. A compiler can recognize these intents to issue warnings. When the nullable annotation context is disabled, using this annotation can generate a warning. ### 8.9.4 Nullable context #### 8.9.4.1 General -Every line of source code has a ***nullable context***. The annotations and warnings flags for the nullable context control nullable annotations ([§8.9.4.3](types.md#8943-nullable-annotations)) and nullable warnings ([§8.9.4.4](types.md#8944-nullable-warnings)), respectively. Each flag can be *enabled* or *disabled*. The compiler can use static flow analysis to determine the null state of any reference variable. A reference variable’s null state ([§8.9.5](types.md#895-nullabilities-and-null-states)) is either *not null*, *maybe null*, or *maybe default*. +Every line of source code has a ***nullable context***. The annotations and warnings flags for the nullable context control nullable annotations ([§8.9.4.3](types.md#8943-nullable-annotations)) and nullable warnings ([§8.9.4.4](types.md#8944-nullable-warnings)), respectively. Each flag can be *enabled* or *disabled*. A compiler can use static flow analysis to determine the null state of any reference variable. A reference variable’s null state ([§8.9.5](types.md#895-nullabilities-and-null-states)) is either *not null*, *maybe null*, or *maybe default*. The nullable context may be specified within source code via nullable directives ([§6.5.9](lexical-structure.md#659-nullable-directive)) and/or via some implementation-specific mechanism external to the source code. If both approaches are used, nullable directives supersede the settings made via an external mechanism. @@ -848,9 +848,9 @@ When both the warning flag and the annotations flag are enabled, the nullable co When the nullable context is ***enabled***: - For any reference type `T`, the annotation `?` in `T?` makes `T?` a nullable type, whereas the unannotated `T` is non-nullable. -- The compiler can use static flow analysis to determine the null state of any reference variable. When nullable warnings are enabled, a reference variable’s null state ([§8.9.5](types.md#895-nullabilities-and-null-states)) is either *not null*, *maybe null*, or *maybe default* and +- A compiler can use static flow analysis to determine the null state of any reference variable. When nullable warnings are enabled, a reference variable’s null state ([§8.9.5](types.md#895-nullabilities-and-null-states)) is either *not null*, *maybe null*, or *maybe default* and - The null-forgiving operator `!` ([§12.8.9](expressions.md#1289-null-forgiving-expressions)) sets the null state of its operand to *not null*. -- The compiler can issue a warning if the nullability of a type parameter doesn’t match the nullability of its corresponding type argument. +- A compiler can issue a warning if the nullability of a type parameter doesn’t match the nullability of its corresponding type argument. ### 8.9.5 Nullabilities and null states @@ -886,14 +886,14 @@ A diagnostic can be produced when a variable ([§9.2.1](variables.md#921-general > { > public void M(string? p) > { -> // Assignment of maybe null value to non-nullable variable +> // Warning: Assignment of maybe null value to non-nullable variable > string s = p; > } > } > ``` -> -> The compiler may issue a warning where the parameter that might be null is assigned to a variable that should not be null. If the parameter is null-checked before assignment, the compiler may use that in its nullable state analysis and not issue a warning: -> + +A compiler may issue a warning where the parameter that might be null is assigned to a variable that should not be null. If the parameter is null-checked before assignment, a compiler may use that in its nullable state analysis and not issue a warning: + > > ```csharp > #nullable enable @@ -903,7 +903,7 @@ A diagnostic can be produced when a variable ([§9.2.1](variables.md#921-general > { > if (p != null) > { -> string s = p; +> string s = p; // No warning > // Use s > } > } @@ -912,39 +912,83 @@ A diagnostic can be produced when a variable ([§9.2.1](variables.md#921-general > > *end example* -The compiler can update the null state of a variable as part of its analysis. +A compiler can update the null state of a variable as part of its analysis. -> *Example*: The compiler may choose to update the state based on any statements in your program: +> *Example*: A compiler may choose to update the state based on any statements in your program: > > > ```csharp > #nullable enable > public void M(string? p) > { -> // p is maybe-null -> int length = p.Length; +> int length = p.Length; // Warning: p is maybe null > -> // p is not null. -> string s = p; +> string s = p; // No warning. p is not null > > if (s != null) > { -> int l2 = s.Length; +> int l2 = s.Length; // No warning. s is not null > } -> // s is maybe null -> int l3 = s.Length; +> int l3 = s.Length; // Warning. s is maybe null > } > ``` > -> In the previous example, the compiler may decide that after the statement `int length = p.Length;`, the null-state of `p` is not-null. If it were null, that statement would have thrown a `NullReferenceException`. This is similar to the behavior if the code had been preceded by `if (p == null) throw NullReferenceException();` except that the code as written may produce a warning, the purpose of which is to warn that an exception may be thrown implicitly. +> In the previous example, a compiler may decide that after the statement `int length = p.Length;`, the null-state of `p` is not-null. If it were null, that statement would have thrown a `NullReferenceException`. This is similar to the behavior if the code had been preceded by `if (p == null) throw NullReferenceException();` except that the code as written may produce a warning, the purpose of which is to warn that an exception may be thrown implicitly. *end example* -Later in the method, the code checks that `s` is not a null reference. The null-state of `s` can change to maybe null after the null-checked block closes. The compiler can infer that `s` is maybe null because the code was written to assume that it might have been null. Generally, when the code contains a null check, the compiler may infer that the value might have been null.*end example* - +Later in the method, the code checks that `s` is not a null reference. The null-state of `s` can change to maybe null after the null-checked block closes. A compiler can infer that `s` is maybe null because the code was written to assume that it might have been null. Generally, when the code contains a null check, a compiler may infer that the value might have been null: - -> *Example*: The compiler can treat a property ([§15.7](classes.md#157-properties)) as either a variable with state, or as independent get and set accessors ([§15.7.3](classes.md#1573-accessors)). In other words, a compiler can choose whether writing to a property changes the null state of reading the property, or if reading a property changes the null state of that property. +> *Example*: Each of the following expressions include some form of a null check. The null-state of `o` can change from not null to maybe null after each of these statements: > -> +> +> ```csharp +> #nullable enable +> public void M(string s) +> { +> int length = s.Length; // No warning. s is not null +> +> _ = s == null; // Null check by testing equality. The null state of s is maybe null +> length = s.Length; // Warning, and changes the null state of s to not null +> +> _ = s?.Length; // The ?. is a null check and changes the null state of s to maybe null +> if (s.Length > 4) // Warning. Changes null state of s to not null +> { +> _ = s?[4]; // ?[] is a null check and changes the null state of s to maybe null +> _ = s.Length; // Warning. s is maybe null +> } +> } +> ``` + +Both auto-property and field-like event declarations make use of a compiler-generated backing field. Null state analysis may infer that assignment to the event or property is an assignment to a compiler generated backing field. + +> *Example*: A compiler can determine that writing an auto-property or field-like event writes the corresponding compiler generated backing field. The null state of the property matches that of the backing field. +> +> +> ```csharp +> class Test +> { +> public string P +> { +> get; +> set; +> } +> +> public Test() {} // Warning. "P" not set to a non-null value. +> +> static void Main() +> { +> var t = new Test(); +> int len = t.P.Length; // No warning. Null state is not null. +> } +> } +> ``` +> +> In the previous example, the constructor doesn't set `P` to a not null value, and a compiler may issue a warning. There's no warning when the `P` property is accessed, because the type of the property is a non nullable reference type. *end example* + +A compiler can treat a property ([§15.7](classes.md#157-properties)) as either a variable with state, or as independent get and set accessors ([§15.7.3](classes.md#1573-accessors)). + +> *Example*: A compiler can choose whether writing to a property changes the null state of reading the property, or if reading a property changes the null state of that property. +> +> > ```csharp > class Test > { @@ -968,7 +1012,7 @@ Later in the method, the code checks that `s` is not a null reference. The null- > var t = new Test(); > if (t.DisappearingProperty != null) > { -> int len = t.DisappearingProperty.Length; +> int len = t.DisappearingProperty.Length; // No warning. A compiler can assume property is stateful > } > } > } @@ -976,4 +1020,25 @@ Later in the method, the code checks that `s` is not a null reference. The null- > > In the previous example, the backing field for the `DisappearingProperty` is set to null when it is read. However, a compiler may assume that reading a property doesn’t change the null state of that expression. *end example* +A compiler may use any expression that dereferences a variable, property, or event to set the null state to not null. If it were null, the dereference expression would have thrown a `NullReferenceException`: + +> *Example*: +> +> +> ```csharp +> +> public class C +> { +> private C? child; +> +> public void M() +> { +> _ = child.child.child; // Warning. Dereference possible null value +> var greatGrandChild = child.child.child; // No warning. +> } +> } +> ``` +> +> *end example* + ***End of conditionally normative text*** From 80ffac8bd393afebc9b72223e16d38299d5674ee Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 11 Dec 2024 15:25:29 -0500 Subject: [PATCH 184/259] The compiler -> a compiler (#1226) * The compiler -> a compiler Search for instances of "the compiler" and where the text describes what a compliant compiler is is required or allowed to do, replace "the compiler" with "a compiler". Where necessary, include "shall" or "may", as appropriate. There are still instances of "the compiler" in the standard. Some are in types.md. Those are addressed in #1125. Others are where the text describes "the compiler generated" backing field, class, or method. * fix typo * respond to feedback. * Update standard/classes.md Co-authored-by: Nigel-Ecma <6654683+Nigel-Ecma@users.noreply.github.com> * Update standard/classes.md Co-authored-by: Bill Wagner --------- Co-authored-by: Rex Jaeschke Co-authored-by: Jon Skeet Co-authored-by: Nigel-Ecma <6654683+Nigel-Ecma@users.noreply.github.com> --- standard/attributes.md | 10 +++++----- standard/basic-concepts.md | 2 +- standard/classes.md | 20 ++++++++++---------- standard/conversions.md | 2 +- standard/expressions.md | 12 ++++++------ standard/interfaces.md | 2 +- standard/lexical-structure.md | 8 ++++---- standard/standard-library.md | 2 +- standard/statements.md | 6 +++--- standard/variables.md | 14 +++++++------- 10 files changed, 39 insertions(+), 39 deletions(-) diff --git a/standard/attributes.md b/standard/attributes.md index 3d9d4737e..4083101c0 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -744,7 +744,7 @@ It is important to note that the inclusion or exclusion of an attribute specific The attribute `Obsolete` is used to mark types and members of types that should no longer be used. -If a program uses a type or member that is decorated with the `Obsolete` attribute, the compiler shall issue a warning or an error. Specifically, the compiler shall issue a warning if no error parameter is provided, or if the error parameter is provided and has the value `false`. The compiler shall issue an error if the error parameter is specified and has the value `true`. +If a program uses a type or member that is decorated with the `Obsolete` attribute, a compiler shall issue a warning or an error. Specifically, a compiler shall issue a warning if no error parameter is provided, or if the error parameter is provided and has the value `false`. A compiler shall issue an error if the error parameter is specified and has the value `true`. > *Example*: In the following code > @@ -914,7 +914,7 @@ Specifies that a null value is allowed as an input even if the corresponding typ > v.ScreenName = null; // may warn without attribute AllowNull > ``` > -> without the attribute, the compiler may generate a warning because the non-nullable-typed property appears to be set to a null value. The presence of the attribute suppresses that warning. *end example* +> without the attribute, a compiler may generate a warning because the non-nullable-typed property appears to be set to a null value. The presence of the attribute suppresses that warning. *end example* #### 22.5.7.3 The DisallowNull attribute @@ -938,7 +938,7 @@ Specifies that a null value is disallowed as an input even if the corresponding > } > ``` > -> The get accessor could return the default value of `null`, so the compiler may warn that it must be checked before access. Furthermore, it warns callers that, even though it could be null, callers shouldn’t explicitly set it to null. *end example* +> The get accessor could return the default value of `null`, so a compiler may warn that it must be checked before access. Furthermore, it warns callers that, even though it could be null, callers shouldn’t explicitly set it to null. *end example* #### 22.5.7.4 The DoesNotReturn attribute @@ -969,7 +969,7 @@ Specifies that a given method never returns. > } > ``` > -> The presence of the attribute helps the compiler in a number of ways. First, the compiler can issue a warning if there’s a path where the method can exit without throwing an exception. Second, the compiler can suppress nullable warnings in any code after a call to that method, until an appropriate catch clause is found. Third, the unreachable code won’t affect any null states. +> The presence of the attribute helps a compiler in a number of ways. First, a compiler can issue a warning if there’s a path where the method can exit without throwing an exception. Second, a compiler can suppress nullable warnings in any code after a call to that method, until an appropriate catch clause is found. Third, the unreachable code won’t affect any null states. > > The attribute does not change reachability ([§13.2](statements.md#132-end-points-and-reachability)) or definite assignment ([§9.4](variables.md#94-definite-assignment)) analysis based on the presence of this attribute. It is used only to impact nullability warnings. *end example* @@ -1058,7 +1058,7 @@ Specifies that a nullable value will never be `null` if the method returns (rath Specifies that a return value isn’t `null` if the argument for the specified parameter isn’t `null`. -> *Example*: The null state of a return value could depend on the null state of one or more arguments. To assist the compiler’s analysis when a method always returns a non-null value when certain arguments are not `null` the `NotNullIfNotNull` attribute may be used. Consider the following method: +> *Example*: The null state of a return value could depend on the null state of one or more arguments. To assist a compiler’s analysis when a method always returns a non-null value when certain arguments are not `null` the `NotNullIfNotNull` attribute may be used. Consider the following method: > > > ```csharp diff --git a/standard/basic-concepts.md b/standard/basic-concepts.md index 3f3daa3f7..825be55e1 100644 --- a/standard/basic-concepts.md +++ b/standard/basic-concepts.md @@ -21,7 +21,7 @@ If more than one method qualifying as an entry point is declared within a progra Ordinarily, the declared accessibility ([§7.5.2](basic-concepts.md#752-declared-accessibility)) of a method is determined by the access modifiers ([§15.3.6](classes.md#1536-access-modifiers)) specified in its declaration, and similarly the declared accessibility of a type is determined by the access modifiers specified in its declaration. In order for a given method of a given type to be callable, both the type and the member shall be accessible. However, the application entry point is a special case. Specifically, the execution environment can access the application’s entry point regardless of its declared accessibility and regardless of the declared accessibility of its enclosing type declarations. -When the entry point method has a return type of `System.Threading.Tasks.Task` or `System.Threading.Tasks.Task`, the compiler synthesizes a synchronous entry-point method that calls the corresponding `Main` method. The synthesized method has parameters and return types based on the `Main` method: +When the entry point method has a return type of `System.Threading.Tasks.Task` or `System.Threading.Tasks.Task`, a compiler shall synthesize a synchronous entry-point method that calls the corresponding `Main` method. The synthesized method has parameters and return types based on the `Main` method: - The parameter list of the synthesized method is the same as the parameter list of the `Main` method - If the return type of the `Main` method is `System.Threading.Tasks.Task`, the return type of the synthesized method is `void` diff --git a/standard/classes.md b/standard/classes.md index bc932868f..d32fc4407 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -444,7 +444,7 @@ The class type, reference type constraint, and secondary constraints can include - If the constraint does not include the nullable type annotation, the type argument is expected to be a non-nullable reference type. A compiler may issue a warning if the type argument is a nullable reference type. - If the constraint includes the nullable type annotation, the constraint is satisfied by both a non-nullable reference type and a nullable reference type. -The nullability of the type argument need not match the nullability of the type parameter. The compiler may issue a warning if the nullability of the type parameter doesn’t match the nullability of the type argument. +The nullability of the type argument need not match the nullability of the type parameter. A compiler may issue a warning if the nullability of the type parameter doesn’t match the nullability of the type argument. > *Note*: To specify that a type argument is a nullable reference type, don’t add the nullable type annotation as a constraint (use `T : class` or `T : BaseClass`), but use `T?` throughout the generic declaration to indicate the corresponding nullable reference type for the type argument. *end note* @@ -491,7 +491,7 @@ For a type parameter `T` when the type argument is a nullable reference type `C? > > *end example* -The ***not null*** constraint specifies that a type argument used for the type parameter should be a non-nullable value type or a non-nullable reference type. A type argument that isn’t a non-nullable value type or a non-nullable reference type is allowed, but the compiler may produce a diagnostic warning. +The ***not null*** constraint specifies that a type argument used for the type parameter should be a non-nullable value type or a non-nullable reference type. A type argument that isn’t a non-nullable value type or a non-nullable reference type is allowed, but a compiler may produce a diagnostic warning. The value type constraint specifies that a type argument used for the type parameter shall be a non-nullable value type. All non-nullable struct types, enum types, and type parameters having the value type constraint satisfy this constraint. Note that although classified as a value type, a nullable value type ([§8.3.12](types.md#8312-nullable-value-types)) does not satisfy the value type constraint. A type parameter having the value type constraint shall not also have the *constructor_constraint*, although it may be used as a type argument for another type parameter with a *constructor_constraint*. @@ -996,7 +996,7 @@ The inherited members of a constructed class type are the members of the immedia A *class_member_declaration* is permitted to declare a member with the same name or signature as an inherited member. When this occurs, the derived class member is said to *hide* the base class member. See [§7.7.2.3](basic-concepts.md#7723-hiding-through-inheritance) for a precise specification of when a member hides an inherited member. -An inherited member `M` is considered to be ***available*** if `M` is accessible and there is no other inherited accessible member N that already hides `M`. Implicitly hiding an inherited member is not considered an error, but it does cause the compiler to issue a warning unless the declaration of the derived class member includes a `new` modifier to explicitly indicate that the derived member is intended to hide the base member. If one or more parts of a partial declaration ([§15.2.7](classes.md#1527-partial-declarations)) of a nested type include the `new` modifier, no warning is issued if the nested type hides an available inherited member. +An inherited member `M` is considered to be ***available*** if `M` is accessible and there is no other inherited accessible member N that already hides `M`. Implicitly hiding an inherited member is not considered an error, but a compiler shall issue a warning unless the declaration of the derived class member includes a `new` modifier to explicitly indicate that the derived member is intended to hide the base member. If one or more parts of a partial declaration ([§15.2.7](classes.md#1527-partial-declarations)) of a nested type include the `new` modifier, no warning is issued if the nested type hides an available inherited member. If a `new` modifier is included in a declaration that doesn’t hide an available inherited member, a warning to that effect is issued. @@ -1565,7 +1565,7 @@ A constant declaration that declares multiple constants is equivalent to multipl > > *end example* -Constants are permitted to depend on other constants within the same program as long as the dependencies are not of a circular nature. The compiler automatically arranges to evaluate the constant declarations in the appropriate order. +Constants are permitted to depend on other constants within the same program as long as the dependencies are not of a circular nature. > *Example*: In the following code > @@ -1583,7 +1583,7 @@ Constants are permitted to depend on other constants within the same program as > } > ``` > -> the compiler first evaluates `A.Y`, then evaluates `B.Z`, and finally evaluates `A.X`, producing the values `10`, `11`, and `12`. +> a compiler must first evaluate `A.Y`, then evaluate `B.Z`, and finally evaluate `A.X`, producing the values `10`, `11`, and `12`. > > *end example* @@ -2209,7 +2209,7 @@ A parameter with a `ref`, `out` or `this` modifier cannot have a *default_argume The *expression* shall be implicitly convertible by an identity or nullable conversion to the type of the parameter. -If optional parameters occur in an implementing partial method declaration ([§15.6.9](classes.md#1569-partial-methods)), an explicit interface member implementation ([§18.6.2](interfaces.md#1862-explicit-interface-member-implementations)), a single-parameter indexer declaration ([§15.9](classes.md#159-indexers)), or in an operator declaration ([§15.10.1](classes.md#15101-general)) the compiler should give a warning, since these members can never be invoked in a way that permits arguments to be omitted. +If optional parameters occur in an implementing partial method declaration ([§15.6.9](classes.md#1569-partial-methods)), an explicit interface member implementation ([§18.6.2](interfaces.md#1862-explicit-interface-member-implementations)), a single-parameter indexer declaration ([§15.9](classes.md#159-indexers)), or in an operator declaration ([§15.10.1](classes.md#15101-general)) a compiler should give a warning, since these members can never be invoked in a way that permits arguments to be omitted. A *parameter_array* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)), a `params` modifier, an *array_type*, and an *identifier*. A parameter array declares a single parameter of the given array type with the given name. The *array_type* of a parameter array shall be a single-dimensional array type ([§17.2](arrays.md#172-array-types)). In a method invocation, a parameter array permits either a single argument of the given array type to be specified, or it permits zero or more arguments of the array element type to be specified. Parameter arrays are described further in [§15.6.2.4](classes.md#15624-parameter-arrays). @@ -4018,7 +4018,7 @@ Event declarations are subject to the same rules as method declarations ([§15.6 The *type* of an event declaration shall be a *delegate_type* ([§8.2.8](types.md#828-delegate-types)), and that *delegate_type* shall be at least as accessible as the event itself ([§7.5.5](basic-concepts.md#755-accessibility-constraints)). -An event declaration can include *event_accessor_declaration*s. However, if it does not, for non-extern, non-abstract events, the compiler shall supply them automatically ([§15.8.2](classes.md#1582-field-like-events)); for `extern` events, the accessors are provided externally. +An event declaration can include *event_accessor_declaration*s. However, if it does not, for non-extern, non-abstract events, a compiler shall supply them automatically ([§15.8.2](classes.md#1582-field-like-events)); for `extern` events, the accessors are provided externally. An event declaration that omits *event_accessor_declaration*s defines one or more events—one for each of the *variable_declarator*s. The attributes and modifiers apply to all of the members declared by such an *event_declaration*. @@ -4119,7 +4119,7 @@ Within the program text of the class or struct that contains the declaration of > > *end example* -When compiling a field-like event, the compiler automatically creates storage to hold the delegate, and creates accessors for the event that add or remove event handlers to the delegate field. The addition and removal operations are thread safe, and may (but are not required to) be done while holding the lock ([§13.13](statements.md#1313-the-lock-statement)) on the containing object for an instance event, or the `System.Type` object ([§12.8.18](expressions.md#12818-the-typeof-operator)) for a static event. +When compiling a field-like event, a compiler shall automatically create storage to hold the delegate, and shall create accessors for the event that add or remove event handlers to the delegate field. The addition and removal operations are thread safe, and may (but are not required to) be done while holding the lock ([§13.13](statements.md#1313-the-lock-statement)) on the containing object for an instance event, or the `System.Type` object ([§12.8.18](expressions.md#12818-the-typeof-operator)) for a static event. > *Note*: Thus, an instance event declaration of the form: > @@ -5302,7 +5302,7 @@ Finalizers are implemented by overriding the virtual method `Finalize` on `Syste > > *end example* -The compiler behaves as if this method, and overrides of it, do not exist at all. +A compiler shall behave as if this method, and overrides of it, do not exist at all. > *Example*: Thus, this program: > @@ -5504,7 +5504,7 @@ class «TaskBuilderType» } ``` -The compiler generates code that uses the «TaskBuilderType» to implement the semantics of suspending and resuming the evaluation of the async function. The compiler uses the «TaskBuilderType» as follows: +A compiler shall generate code that uses the «TaskBuilderType» to implement the semantics of suspending and resuming the evaluation of the async function. A compiler shall use the «TaskBuilderType» as follows: - `«TaskBuilderType».Create()` is invoked to create an instance of the «TaskBuilderType», named `builder` in this list. - `builder.Start(ref stateMachine)` is invoked to associate the builder with a compiler-generated state machine instance, `stateMachine`. diff --git a/standard/conversions.md b/standard/conversions.md index 0b2cf680b..17b952d18 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -880,7 +880,7 @@ class Test } ``` -Since the two anonymous function delegates have the same (empty) set of captured outer variables, and since the anonymous functions are semantically identical, the compiler is permitted to have the delegates refer to the same target method. Indeed, the compiler is permitted to return the very same delegate instance from both anonymous function expressions. +Since the two anonymous function delegates have the same (empty) set of captured outer variables, and since the anonymous functions are semantically identical, a compiler is permitted to have the delegates refer to the same target method. Indeed, a compiler is permitted to return the very same delegate instance from both anonymous function expressions. ### 10.7.3 Evaluation of lambda expression conversions to expression tree types diff --git a/standard/expressions.md b/standard/expressions.md index de660e78b..7f6fc874b 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -46,11 +46,11 @@ Most of the constructs that involve an expression ultimately require the express ***Binding*** is the process of determining what an operation refers to, based on the type or value of expressions (arguments, operands, receivers). For instance, the binding of a method call is determined based on the type of the receiver and arguments. The binding of an operator is determined based on the type of its operands. -In C# the binding of an operation is usually determined at compile-time, based on the compile-time type of its subexpressions. Likewise, if an expression contains an error, the error is detected and reported by the compiler. This approach is known as ***static binding***. +In C# the binding of an operation is usually determined at compile-time, based on the compile-time type of its subexpressions. Likewise, if an expression contains an error, the error is detected and reported at compile time. This approach is known as ***static binding***. However, if an expression is a *dynamic expression* (i.e., has the type `dynamic`) this indicates that any binding that it participates in should be based on its run-time type rather than the type it has at compile-time. The binding of such an operation is therefore deferred until the time where the operation is to be executed during the running of the program. This is referred to as ***dynamic binding***. -When an operation is dynamically bound, little or no checking is performed by the compiler. Instead if the run-time binding fails, errors are reported as exceptions at run-time. +When an operation is dynamically bound, little or no checking is performed by at compile time. Instead if the run-time binding fails, errors are reported as exceptions at run-time. The following operations in C# are subject to binding: @@ -1918,7 +1918,7 @@ warning and may inform any ongoing analysis. In addition to overriding *maybe null* determinations as above there may be other circumstances where it is desired to override a compiler’s static null state analysis determination that an expression requires one or more warnings. Applying the -null-forgiving operator to such an expression requests that the compiler +null-forgiving operator to such an expression requests that a compiler does not issue any warnings for the expression. In response a compiler may choose not to issue warnings and may also modify its further analysis. @@ -4603,7 +4603,7 @@ If the compile-time type of `E` is not `dynamic`, the operation `E as T` produ E is T ? (T)(E) : (T)null ``` -except that `E` is only evaluated once. The compiler can be expected to optimize `E as T` to perform at most one runtime type check as opposed to the two runtime type checks implied by the expansion above. +except that `E` is only evaluated once. A compiler can be expected to optimize `E as T` to perform at most one runtime type check as opposed to the two runtime type checks implied by the expansion above. If the compile-time type of `E` is `dynamic`, unlike the cast operator the `as` operator is not dynamically bound ([§12.3.3](expressions.md#1233-dynamic-binding)). Therefore the expansion in this case is: @@ -5144,7 +5144,7 @@ The body (*expression* or *block*) of an anonymous function is subject to the fo - It is a compile-time error for the body to contain a `goto` statement, a `break` statement, or a `continue` statement whose target is outside the body or within the body of a contained anonymous function. - A `return` statement in the body returns control from an invocation of the nearest enclosing anonymous function, not from the enclosing function member. -It is explicitly unspecified whether there is any way to execute the block of an anonymous function other than through evaluation and invocation of the *lambda_expression* or *anonymous_method_expression*. In particular, the compiler may choose to implement an anonymous function by synthesizing one or more named methods or types. The names of any such synthesized elements shall be of a form reserved for compiler use ([§6.4.3](lexical-structure.md#643-identifiers)). +It is explicitly unspecified whether there is any way to execute the block of an anonymous function other than through evaluation and invocation of the *lambda_expression* or *anonymous_method_expression*. In particular, a compiler may choose to implement an anonymous function by synthesizing one or more named methods or types. The names of any such synthesized elements shall be of a form reserved for compiler use ([§6.4.3](lexical-structure.md#643-identifiers)). ### 12.19.4 Overload resolution @@ -5379,7 +5379,7 @@ When not captured, there is no way to observe exactly how often a local variable > 5 > ``` > -> Note that the compiler is permitted (but not required) to optimize the three instantiations into a single delegate instance ([§10.7.2](conversions.md#1072-evaluation-of-anonymous-function-conversions-to-delegate-types)). +> Note that a compiler is permitted (but not required) to optimize the three instantiations into a single delegate instance ([§10.7.2](conversions.md#1072-evaluation-of-anonymous-function-conversions-to-delegate-types)). > > *end example* diff --git a/standard/interfaces.md b/standard/interfaces.md index cb807179a..89f0a3ac7 100644 --- a/standard/interfaces.md +++ b/standard/interfaces.md @@ -240,7 +240,7 @@ An *interface_declaration* creates a new declaration space ([§7.3](basic-concep - The name of a property or event shall differ from the names of all other members declared in the same interface. - The signature of an indexer shall differ from the signatures of all other indexers declared in the same interface. -The inherited members of an interface are specifically not part of the declaration space of the interface. Thus, an interface is allowed to declare a member with the same name or signature as an inherited member. When this occurs, the derived interface member is said to *hide* the base interface member. Hiding an inherited member is not considered an error, but it does cause the compiler to issue a warning. To suppress the warning, the declaration of the derived interface member shall include a `new` modifier to indicate that the derived member is intended to hide the base member. This topic is discussed further in [§7.7.2.3](basic-concepts.md#7723-hiding-through-inheritance). +The inherited members of an interface are specifically not part of the declaration space of the interface. Thus, an interface is allowed to declare a member with the same name or signature as an inherited member. When this occurs, the derived interface member is said to *hide* the base interface member. Hiding an inherited member is not considered an error, but it does cause a compiler to issue a warning. To suppress the warning, the declaration of the derived interface member shall include a `new` modifier to indicate that the derived member is intended to hide the base member. This topic is discussed further in [§7.7.2.3](basic-concepts.md#7723-hiding-through-inheritance). If a `new` modifier is included in a declaration that doesn’t hide an inherited member, a warning is issued to that effect. This warning is suppressed by removing the `new` modifier. diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index 0bc300025..fa9a93baf 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -1473,7 +1473,7 @@ corresponds exactly to the lexical processing of a conditional compilation direc ### 6.5.8 Line directives -Line directives may be used to alter the line numbers and compilation unit names that are reported by the compiler in output such as warnings and errors. These values are also used by caller-info attributes ([§22.5.6](attributes.md#2256-caller-info-attributes)). +Line directives may be used to alter the line numbers and compilation unit names that are reported by a compiler in output such as warnings and errors. These values are also used by caller-info attributes ([§22.5.6](attributes.md#2256-caller-info-attributes)). > *Note*: Line directives are most commonly used in meta-programming tools that generate C# source code from some other text input. *end note* @@ -1499,11 +1499,11 @@ fragment PP_Compilation_Unit_Name_Character ; ``` -When no `#line` directives are present, the compiler reports true line numbers and compilation unit names in its output. When processing a `#line` directive that includes a *PP_Line_Indicator* that is not `default`, the compiler treats the line *after* the directive as having the given line number (and compilation unit name, if specified). +When no `#line` directives are present, a compiler reports true line numbers and compilation unit names in its output. When processing a `#line` directive that includes a *PP_Line_Indicator* that is not `default`, a compiler treats the line *after* the directive as having the given line number (and compilation unit name, if specified). The maximum value allowed for `Decimal_Digit+` is implementation-defined. -A `#line default` directive undoes the effect of all preceding `#line` directives. The compiler reports true line information for subsequent lines, precisely as if no `#line` directives had been processed. +A `#line default` directive undoes the effect of all preceding `#line` directives. A compiler reports true line information for subsequent lines, precisely as if no `#line` directives had been processed. A `#line hidden` directive has no effect on the compilation unit and line numbers reported in error messages, or produced by use of `CallerLineNumberAttribute` ([§22.5.6.2](attributes.md#22562-the-callerlinenumber-attribute)). It is intended to affect source-level debugging tools so that, when debugging, all lines between a `#line hidden` directive and the subsequent `#line` directive (that is not `#line hidden`) have no line number information, and are skipped entirely when stepping through code. @@ -1581,6 +1581,6 @@ fragment PP_Pragma_Text ; ``` -The *Input_Character*s in the *PP_Pragma_Text* are interpreted by the compiler in an implementation-defined manner. The information supplied in a `#pragma` directive shall not change program semantics. A `#pragma` directive shall only change compiler behavior that is outside the scope of this language specification. If the compiler cannot interpret the *Input_Character*s, the compiler can produce a warning; however, it shall not produce a compile-time error. +The *Input_Character*s in the *PP_Pragma_Text* are interpreted by a compiler in an implementation-defined manner. The information supplied in a `#pragma` directive shall not change program semantics. A `#pragma` directive shall only change compiler behavior that is outside the scope of this language specification. If a compiler cannot interpret the *Input_Character*s, a compiler can produce a warning; however, it shall not produce a compile-time error. > *Note*: *PP_Pragma_Text* can contain arbitrary text; specifically, it need not contain well-formed tokens. *end note* diff --git a/standard/standard-library.md b/standard/standard-library.md index 29d0279cf..ab432b70e 100644 --- a/standard/standard-library.md +++ b/standard/standard-library.md @@ -977,7 +977,7 @@ backslash character causes the next character in the custom format to be interpr as an escape sequence. It is used with C language formatting sequences, such as ‘\n’ (newline). In some languages, the escape character itself is required to be preceded by an escape character -when used as a literal. Otherwise, the compiler interprets the character as +when used as a literal. Otherwise, a compiler interprets the character as an escape sequence. This escape character is not required to be supported in all programming languages. diff --git a/standard/statements.md b/standard/statements.md index 6d7ce6bb5..6d51afd61 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -78,7 +78,7 @@ If a statement can possibly be reached by execution, the statement is said to be A warning is reported if a statement other than *throw_statement*, *block*, or *empty_statement* is unreachable. It is specifically not an error for a statement to be unreachable. -> *Note*: To determine whether a particular statement or end point is reachable, the compiler performs flow analysis according to the reachability rules defined for each statement. The flow analysis takes into account the values of constant expressions ([§12.23](expressions.md#1223-constant-expressions)) that control the behavior of statements, but the possible values of non-constant expressions are not considered. In other words, for purposes of control flow analysis, a non-constant expression of a given type is considered to have any possible value of that type. +> *Note*: To determine whether a particular statement or end point is reachable, a compiler performs flow analysis according to the reachability rules defined for each statement. The flow analysis takes into account the values of constant expressions ([§12.23](expressions.md#1223-constant-expressions)) that control the behavior of statements, but the possible values of non-constant expressions are not considered. In other words, for purposes of control flow analysis, a non-constant expression of a given type is considered to have any possible value of that type. > > In the example > @@ -564,7 +564,7 @@ The *identifier* of a *local_function_declaration* shall be unique in its declar A *local_function_declaration* may include one `async` ([§15.15](classes.md#1515-async-functions)) modifier and one `unsafe` ([§23.1](unsafe-code.md#231-general)) modifier. If the declaration includes the `async` modifier then the return type shall be `void` or a `«TaskType»` type ([§15.15.1](classes.md#15151-general)). If the declaration includes the `static` modifier, the function is a ***static local function***; otherwise, it is a ***non-static local function***. It is a compile-time error for *type_parameter_list* or *parameter_list* to contain *attributes*. If the local function is declared in an unsafe context ([§23.2](unsafe-code.md#232-unsafe-contexts)), the local function may include unsafe code, even if the local function declaration doesn’t include the `unsafe` modifier. -A local function is declared at block scope. A non-static local function may capture variables from the enclosing scope while a static local function shall not (so it has no access to enclosing locals, parameters, non-static local functions, or `this`). It is a compile-time error if a captured variable is read by the body of a non-static local function but is not definitely assigned before each call to the function. The compiler shall determine which variables are definitely assigned on return ([§9.4.4.33](variables.md#94433-rules-for-variables-in-local-functions)). +A local function is declared at block scope. A non-static local function may capture variables from the enclosing scope while a static local function shall not (so it has no access to enclosing locals, parameters, non-static local functions, or `this`). It is a compile-time error if a captured variable is read by the body of a non-static local function but is not definitely assigned before each call to the function. A compiler shall determine which variables are definitely assigned on return ([§9.4.4.33](variables.md#94433-rules-for-variables-in-local-functions)). When the type of `this` is a struct type, it is a compile-time error for the body of a local function to access `this`. This is true whether the access is explicit (as in `this.x`) or implicit (as in `x` where `x` is an instance member of the struct). This rule only prohibits such access and does not affect whether member lookup results in a member of the struct. @@ -771,7 +771,7 @@ A `switch` statement is executed as follows: - Otherwise, if a `default` label is present, control is transferred to the statement list following the `default` label. - Otherwise, control is transferred to the end point of the `switch` statement. -> *Note*: The order in which patterns are matched at runtime is not defined. A compiler is permitted (but not required) to match patterns out of order, and to reuse the results of already matched patterns to compute the result of matching of other patterns. Nevertheless, the compiler is required to determine the lexically first pattern that matches the expression and for which the guard clause is either absent or evaluates to `true`. *end note* +> *Note*: The order in which patterns are matched at runtime is not defined. A compiler is permitted (but not required) to match patterns out of order, and to reuse the results of already matched patterns to compute the result of matching of other patterns. Nevertheless, a compiler is required to determine the lexically first pattern that matches the expression and for which the guard clause is either absent or evaluates to `true`. *end note* If the end point of the statement list of a switch section is reachable, a compile-time error occurs. This is known as the “no fall through” rule. diff --git a/standard/variables.md b/standard/variables.md index bfef4fe9f..390d79250 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -134,7 +134,7 @@ The lifetime of a local variable is the portion of program execution during whic -> *Note*: The actual lifetime of a local variable is implementation-dependent. For example, a compiler might statically determine that a local variable in a block is only used for a small portion of that block. Using this analysis, the compiler could generate code that results in the variable’s storage having a shorter lifetime than its containing block. +> *Note*: The actual lifetime of a local variable is implementation-dependent. For example, a compiler might statically determine that a local variable in a block is only used for a small portion of that block. Using this analysis, a compiler could generate code that results in the variable’s storage having a shorter lifetime than its containing block. > > The storage referred to by a local reference variable is reclaimed independently of the lifetime of that local reference variable ([§7.9](basic-concepts.md#79-automatic-memory-management)). > @@ -204,7 +204,7 @@ The default value of a variable depends on the type of the variable and is deter ### 9.4.1 General -At a given location in the executable code of a function member or an anonymous function, a variable is said to be ***definitely assigned*** if the compiler can prove, by a particular static flow analysis ([§9.4.4](variables.md#944-precise-rules-for-determining-definite-assignment)), that the variable has been automatically initialized or has been the target of at least one assignment. +At a given location in the executable code of a function member or an anonymous function, a variable is said to be ***definitely assigned*** if a compiler can prove, by a particular static flow analysis ([§9.4.4](variables.md#944-precise-rules-for-determining-definite-assignment)), that the variable has been automatically initialized or has been the target of at least one assignment. > *Note*: Informally stated, the rules of definite assignment are: > @@ -237,7 +237,7 @@ Definite assignment is a requirement in the following contexts: - A variable shall be definitely assigned at each location where it is passed as an input parameter. > *Note*: This ensures that the function member being invoked can consider the input parameter initially assigned. *end note* - All output parameters of a function member shall be definitely assigned at each location where the function member returns (through a return statement or through execution reaching the end of the function member body). - > *Note*: This ensures that function members do not return undefined values in output parameters, thus enabling the compiler to consider a function member invocation that takes a variable as an output parameter equivalent to an assignment to the variable. *end note* + > *Note*: This ensures that function members do not return undefined values in output parameters, thus enabling a compiler to consider a function member invocation that takes a variable as an output parameter equivalent to an assignment to the variable. *end note* - The `this` variable of a *struct_type* instance constructor shall be definitely assigned at each location where that instance constructor returns. ### 9.4.2 Initially assigned variables @@ -265,9 +265,9 @@ The following categories of variables are classified as initially unassigned: #### 9.4.4.1 General -In order to determine that each used variable is definitely assigned, the compiler shall use a process that is equivalent to the one described in this subclause. +In order to determine that each used variable is definitely assigned, a compiler shall use a process that is equivalent to the one described in this subclause. -The compiler processes the body of each function member that has one or more initially unassigned variables. For each initially unassigned variable *v*, the compiler determines a ***definite-assignment state*** for *v* at each of the following points in the function member: +The body of a function member may declare one or more initially unassigned variables. For each initially unassigned variable *v*, a compiler shall determine a ***definite-assignment state*** for *v* at each of the following points in the function member: - At the beginning of each statement - At the end point ([§13.2](statements.md#132-end-points-and-reachability)) of each statement @@ -334,7 +334,7 @@ The definite-assignment state of *v* at the beginning of a case’s guard clause - If the switch label containing that guard clause ([§13.8.3](statements.md#1383-the-switch-statement)) is not reachable: “definitely assigned”. - Otherwise, the state of *v* is the same as the state of *v* after *expr*. -> *Example*: The second rule eliminates the need for the compiler to issue an error if an unassigned variable is accessed in unreachable code. The state of *b* is “definitely assigned” in the unreachable switch label `case 2 when b`. +> *Example*: The second rule eliminates the need for a compiler to issue an error if an unassigned variable is accessed in unreachable code. The state of *b* is “definitely assigned” in the unreachable switch label `case 2 when b`. > > > ```csharp @@ -1071,7 +1071,7 @@ All reference variables obey safety rules that ensure the ref-safe-context of th For any variable, the ***ref-safe-context*** of that variable is the context where a *variable_reference* ([§9.5](variables.md#95-variable-references)) to that variable is valid. The referent of a reference variable shall have a ref-safe-context that is at least as wide as the ref-safe-context of the reference variable itself. -> *Note*: The compiler determines the ref-safe-context through a static analysis of the program text. The ref-safe-context reflects the lifetime of a variable at runtime. *end note* +> *Note*: A compiler determines the ref-safe-context through a static analysis of the program text. The ref-safe-context reflects the lifetime of a variable at runtime. *end note* There are three ref-safe-contexts: From 31e02afb2e4cf37307e407ea14bc2f91a83c3f36 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 11 Dec 2024 15:53:10 -0500 Subject: [PATCH 185/259] [create-pull-request] automated change (#1231) Co-authored-by: BillWagner --- standard/types.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/types.md b/standard/types.md index 2a1d6d859..da018aa0d 100644 --- a/standard/types.md +++ b/standard/types.md @@ -982,7 +982,7 @@ Both auto-property and field-like event declarations make use of a compiler-gene > } > ``` > -> In the previous example, the constructor doesn't set `P` to a not null value, and a compiler may issue a warning. There's no warning when the `P` property is accessed, because the type of the property is a non nullable reference type. *end example* +> In the previous example, the constructor doesn’t set `P` to a not null value, and a compiler may issue a warning. There’s no warning when the `P` property is accessed, because the type of the property is a non nullable reference type. *end example* A compiler can treat a property ([§15.7](classes.md#157-properties)) as either a variable with state, or as independent get and set accessors ([§15.7.3](classes.md#1573-accessors)). From f1dd653e0e770e222ee28b7e7553e75c2bc4faab Mon Sep 17 00:00:00 2001 From: Neal Gafter Date: Wed, 11 Dec 2024 13:02:58 -0800 Subject: [PATCH 186/259] Remove constraints on stackalloc (support new locations) (#1211) * add implicit conversion of T* to Span * Remove constraints on location of stackalloc expressions * Support stackalloc expressions anywhere for C# 8. * Remove incorrect conversions. * Update standard/expressions.md Co-authored-by: Bill Wagner * Update standard/unsafe-code.md Co-authored-by: Bill Wagner --------- Co-authored-by: Rex Jaeschke Co-authored-by: Bill Wagner --- standard/expressions.md | 19 ++----------------- standard/unsafe-code.md | 4 +--- 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index 7f6fc874b..340eaa3f2 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -3275,8 +3275,7 @@ The safe context rules for a stack allocation expression are described in [§16. ```ANTLR stackalloc_expression : 'stackalloc' unmanaged_type '[' expression ']' - | 'stackalloc' unmanaged_type? '[' constant_expression? ']' - stackalloc_initializer + | 'stackalloc' unmanaged_type? '[' constant_expression? ']' stackalloc_initializer ; stackalloc_initializer @@ -3292,18 +3291,6 @@ stackalloc_element_initializer ; ``` - -A *stackalloc_expression* is only permitted in two contexts: - -1. The initializing *expression*, `E`, of a *local_variable_declaration* ([§13.6.2](statements.md#1362-local-variable-declarations)); and -2. The right operand *expression*, `E`, of a simple assignment ([§12.21.2](expressions.md#12212-simple-assignment)) which itself occurs as a *expression_statement* ([§13.7](statements.md#137-expression-statements)) - -In both contexts the *stackalloc_expression* is only permitted to occur as: - -- The whole of `E`; or -- The second and/or third operands of a *conditional_expression* ([§12.18](expressions.md#1218-conditional-operator)) which is itself the whole of `E`. - - The *unmanaged_type* ([§8.8](types.md#88-unmanaged-types)) indicates the type of the items that will be stored in the newly allocated location, and the *expression* indicates the number of these items. Taken together, these specify the required allocation size. The type of *expression* shall be implicitly convertible to the type `int`. As the size of a stack allocation cannot be negative, it is a compile-time error to specify the number of items as a *constant_expression* that evaluates to a negative value. @@ -3318,14 +3305,12 @@ When a *stackalloc_initializer* is present: Each *stackalloc_element_initializer* shall have an implicit conversion to *unmanaged_type* ([§10.2](conversions.md#102-implicit-conversions)). The *stackalloc_element_initializer*s initialize elements in the allocated memory in increasing order, starting with the element at index zero. In the absence of a *stackalloc_initializer*, the content of the newly allocated memory is undefined. -The result of a *stackalloc_expression* is an instance of type `Span`, where `T` is the *unmanaged_type*: +If a *stackalloc_expression* occurs directly as the initializing expression of a *local_variable_declaration* ([§13.6.2](statements.md#1362-local-variable-declarations)), where the *local_variable_type* is either a pointer type ([§23.3](unsafe-code.md#233-pointer-types)) or inferred (`var`), then the result of the *stackalloc_expression* is a pointer of type `T*` (§23.9). In this case the *stackalloc_expression* must appear in unsafe code. Otherwise the result of a *stackalloc_expression* is an instance of type `Span`, where `T` is the *unmanaged_type*: - `Span` ([§C.3](standard-library.md#c3-standard-library-types-not-defined-in-isoiec-23271)) is a ref struct type ([§16.2.3](structs.md#1623-ref-modifier)), which presents a block of memory, here the block allocated by the *stackalloc_expression*, as an indexable collection of typed (`T`) items. - The result’s `Length` property returns the number of items allocated. - The result’s indexer ([§15.9](classes.md#159-indexers)) returns a *variable_reference* ([§9.5](variables.md#95-variable-references)) to an item of the allocated block and is range checked. -> *Note*: When occurring in unsafe code the result of a *stackalloc_expression* may be of a different type, see ([§23.9](unsafe-code.md#239-stack-allocation)). *end note* - Stack allocation initializers are not permitted in `catch` or `finally` blocks ([§13.11](statements.md#1311-the-try-statement)). > *Note*: There is no way to explicitly free memory allocated using `stackalloc`. *end note* diff --git a/standard/unsafe-code.md b/standard/unsafe-code.md index e4a048952..dacf2f149 100644 --- a/standard/unsafe-code.md +++ b/standard/unsafe-code.md @@ -1049,9 +1049,7 @@ When the outermost containing struct variable of a fixed-size buffer member is a See [§12.8.22](expressions.md#12822-stack-allocation) for general information about the operator `stackalloc`. Here, the ability of that operator to result in a pointer is discussed. -In an unsafe context if a *stackalloc_expression* ([§12.8.22](expressions.md#12822-stack-allocation)) occurs as the initializing expression of a *local_variable_declaration* ([§13.6.2](statements.md#1362-local-variable-declarations)), where the *local_variable_type* is either a pointer type ([§23.3](unsafe-code.md#233-pointer-types)) or inferred (`var`), then the result of the *stackalloc_expression* is a pointer of type `T *` to be beginning of the allocated block, where `T` is the *unmanaged_type* of the *stackalloc_expression*. - -In all other respects the semantics of *local_variable_declaration*s ([§13.6.2](statements.md#1362-local-variable-declarations)) and *stackalloc_expression*s ([§12.8.22](expressions.md#12822-stack-allocation)) in unsafe contexts follow those defined for safe contexts. +When a *stackalloc_expression* occurs as the initializing expression of a *local_variable_declaration* ([§13.6.2](statements.md#1362-local-variable-declarations)), where the *local_variable_type* is either a pointer type ([§23.3](unsafe-code.md#233-pointer-types)) or inferred (`var`), the result of the *stackalloc_expression* is a pointer of type `T*`, where `T` is the *unmanaged_type* of the *stackalloc_expression*. In this case the result is a pointer to be beginning of the allocated block. > *Example*: > From a1a019553d7ae8cc34512747f82a9b4ed3bcd2ce Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Sat, 25 May 2024 12:18:04 -0400 Subject: [PATCH 187/259] Correct 2xgrammar rules for compilation unit name --- standard/lexical-structure.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index fa9a93baf..56302ba93 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -1490,12 +1490,12 @@ fragment PP_Line_Indicator ; fragment PP_Compilation_Unit_Name - : '"' PP_Compilation_Unit_Name_Character+ '"' + : '"' PP_Compilation_Unit_Name_Character* '"' ; fragment PP_Compilation_Unit_Name_Character // Any Input_Character except " - : ~('\u000D' | '\u000A' | '\u0085' | '\u2028' | '\u2029' | '#') + : ~('\u000D' | '\u000A' | '\u0085' | '\u2028' | '\u2029' | '"') ; ``` From e0850c6f9ba9f8f1d539043ba2b26038eb3bac1c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 11 Dec 2024 16:33:45 -0500 Subject: [PATCH 188/259] [create-pull-request] automated change (#1234) Co-authored-by: jskeet --- standard/expressions.md | 2 +- standard/grammar.md | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index 340eaa3f2..446e53e0f 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -3305,7 +3305,7 @@ When a *stackalloc_initializer* is present: Each *stackalloc_element_initializer* shall have an implicit conversion to *unmanaged_type* ([§10.2](conversions.md#102-implicit-conversions)). The *stackalloc_element_initializer*s initialize elements in the allocated memory in increasing order, starting with the element at index zero. In the absence of a *stackalloc_initializer*, the content of the newly allocated memory is undefined. -If a *stackalloc_expression* occurs directly as the initializing expression of a *local_variable_declaration* ([§13.6.2](statements.md#1362-local-variable-declarations)), where the *local_variable_type* is either a pointer type ([§23.3](unsafe-code.md#233-pointer-types)) or inferred (`var`), then the result of the *stackalloc_expression* is a pointer of type `T*` (§23.9). In this case the *stackalloc_expression* must appear in unsafe code. Otherwise the result of a *stackalloc_expression* is an instance of type `Span`, where `T` is the *unmanaged_type*: +If a *stackalloc_expression* occurs directly as the initializing expression of a *local_variable_declaration* ([§13.6.2](statements.md#1362-local-variable-declarations)), where the *local_variable_type* is either a pointer type ([§23.3](unsafe-code.md#233-pointer-types)) or inferred (`var`), then the result of the *stackalloc_expression* is a pointer of type `T*` ([§23.9](unsafe-code.md#239-stack-allocation)). In this case the *stackalloc_expression* must appear in unsafe code. Otherwise the result of a *stackalloc_expression* is an instance of type `Span`, where `T` is the *unmanaged_type*: - `Span` ([§C.3](standard-library.md#c3-standard-library-types-not-defined-in-isoiec-23271)) is a ref struct type ([§16.2.3](structs.md#1623-ref-modifier)), which presents a block of memory, here the block allocated by the *stackalloc_expression*, as an indexable collection of typed (`T`) items. - The result’s `Length` property returns the number of items allocated. diff --git a/standard/grammar.md b/standard/grammar.md index 878138dd4..a9a775471 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -525,12 +525,12 @@ fragment PP_Line_Indicator ; fragment PP_Compilation_Unit_Name - : '"' PP_Compilation_Unit_Name_Character+ '"' + : '"' PP_Compilation_Unit_Name_Character* '"' ; fragment PP_Compilation_Unit_Name_Character // Any Input_Character except " - : ~('\u000D' | '\u000A' | '\u0085' | '\u2028' | '\u2029' | '#') + : ~('\u000D' | '\u000A' | '\u0085' | '\u2028' | '\u2029' | '"') ; // Source: §6.5.9 Nullable directive @@ -1184,8 +1184,7 @@ default_literal // Source: §12.8.22 Stack allocation stackalloc_expression : 'stackalloc' unmanaged_type '[' expression ']' - | 'stackalloc' unmanaged_type? '[' constant_expression? ']' - stackalloc_initializer + | 'stackalloc' unmanaged_type? '[' constant_expression? ']' stackalloc_initializer ; stackalloc_initializer From ce4d2dc81d7eb648cb321142991013a9573b9e6e Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Wed, 11 Dec 2024 16:53:08 -0500 Subject: [PATCH 189/259] remove prohibition of unmanaged constructed types (#604) * remove prohibition of unmanaged constructed types * fix links * remove dup from rebase. * found one change in the old reflog This is the only change I could find. * Update standard/types.md * Update standard/types.md --------- Co-authored-by: Bill Wagner Co-authored-by: Jon Skeet --- standard/types.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/standard/types.md b/standard/types.md index da018aa0d..a431c7273 100644 --- a/standard/types.md +++ b/standard/types.md @@ -715,12 +715,13 @@ unmanaged_type ; ``` -An *unmanaged_type* is any type that isn’t a *reference_type*, a *type_parameter*, or a constructed type, and contains no instance fields whose type is not an *unmanaged_type*. In other words, an *unmanaged_type* is one of the following: +An *unmanaged_type* is any type that is neither a *reference_type* nor a *type_parameter* that is not constrained to be unmanaged, and contains no instance fields whose type is not an *unmanaged_type*. In other words, an *unmanaged_type* is one of the following: - `sbyte`, `byte`, `short`, `ushort`, `int`, `uint`, `long`, `ulong`, `char`, `float`, `double`, `decimal`, or `bool`. - Any *enum_type*. -- Any user-defined *struct_type* that is not a constructed type and contains instance fields of *unmanaged_type*s only. -- In unsafe code ([§23.2](unsafe-code.md#232-unsafe-contexts)), any *pointer_type* ([§23.3](unsafe-code.md#233-pointer-types)). +- Any user-defined *struct_type* that contains instance fields of *unmanaged_type*s only. +- Any type parameter which is constrained to be unmanaged. +- Any *pointer_type* ([§23.3](unsafe-code.md#233-pointer-types)). ## 8.9 Reference Types and nullability From 41d1a008fd9ba9ad309ddc1bb2cb7c3a8944890d Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Thu, 12 Dec 2024 09:44:30 -0500 Subject: [PATCH 190/259] Update v8-feature-tracker (#1236) --- admin/v8-feature-tracker.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/admin/v8-feature-tracker.md b/admin/v8-feature-tracker.md index 13138db9f..30b854285 100644 --- a/admin/v8-feature-tracker.md +++ b/admin/v8-feature-tracker.md @@ -10,12 +10,12 @@ alternative interpolated verbatim strings ([MS Proposal](https://github.com/dotn async streams ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/async-streams.md)) | [606](https://github.com/dotnet/csharpstandard/pull/606) | Completed | small | Done | PR [672](https://github.com/dotnet/csharpstandard/pull/672) will be layered on top of this using declarations and async using ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/using.md)), ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/async-using.md)) | [672](https://github.com/dotnet/csharpstandard/pull/672) | Completed | small | Done | This PR will be layered on top of PR [606](https://github.com/dotnet/csharpstandard/pull/606); reconcile any overlap override with constraints ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/constraints-in-overrides.md)) | [671](https://github.com/dotnet/csharpstandard/pull/671) | Completed | small | Done | -unmanaged constructed types ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/constructed-unmanaged.md)) | [604](https://github.com/dotnet/csharpstandard/pull/604) | Completed | small | N/A | +unmanaged constructed types ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/constructed-unmanaged.md)) | [604](https://github.com/dotnet/csharpstandard/pull/604) | Merged | small | N/A | default interface methods ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/default-interface-methods.md)) | [681](https://github.com/dotnet/csharpstandard/pull/681) | Completed | medium | Done | -permit `stackalloc` in nested contexts ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/nested-stackalloc.md)) | [1056](https://github.com/dotnet/csharpstandard/pull/1056) | Completed | small | N/A | +permit `stackalloc` in nested contexts ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/nested-stackalloc.md)) | [1056](https://github.com/dotnet/csharpstandard/pull/1056), [1211](https://github.com/dotnet/csharpstandard/pull/1211) | Merged | small | N/A | `notnull` constraint ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/notnull-constraint.md)) | [830](https://github.com/dotnet/csharpstandard/pull/830) | Completed | small | Done | null coalescing assignment ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/null-coalescing-assignment.md)) | [609](https://github.com/dotnet/csharpstandard/pull/609) | HELP NEEDED | small | N/A | See Issue [#737](https://github.com/dotnet/csharpstandard/issues/737) -nullable reference types ([MS Proposal (from V9)](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/nullable-reference-types-specification.md) which supercedes ([MS Proposal (from V8)](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/nullable-reference-types.md)) |[700](https://github.com/dotnet/csharpstandard/pull/700), [1195](https://github.com/dotnet/csharpstandard/pull/1195) | Completed | large | Done | related to V8 "notnull" feature +nullable reference types ([MS Proposal (from V9)](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/nullable-reference-types-specification.md) which supercedes ([MS Proposal (from V8)](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/nullable-reference-types.md)) |[700](https://github.com/dotnet/csharpstandard/pull/700), [1178](https://github.com/dotnet/csharpstandard/pull/1178), [1191](https://github.com/dotnet/csharpstandard/pull/1191), [1192](https://github.com/dotnet/csharpstandard/pull/1192), [1195](https://github.com/dotnet/csharpstandard/pull/1195) | Merged | large | Done | related to V8 "notnull" feature Obsolete on property accessor ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/obsolete-accessor.md)) | **no change needed** | Postponed | | N/A | See Issue [#375](https://github.com/dotnet/csharpstandard/issues/375) New kinds of pattern matching ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/patterns.md)) | [873](https://github.com/dotnet/csharpstandard/pull/873) | Completed | medium | Done | precedence table assumes "ranges and indices" has been merged ranges and indices ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/ranges.md)) | [605](https://github.com/dotnet/csharpstandard/pull/605) | Completed | medium | Done | From 373b0384133928f3bdbb0cf76360fcb9633ffbd0 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma <6654683+Nigel-Ecma@users.noreply.github.com> Date: Mon, 16 Dec 2024 15:41:29 +0000 Subject: [PATCH 191/259] Update to BuildGrammar 2.1.0 (#1239) - Adds current tests to /Tools/GrammarTesting - Adds testing framework tarball to /.github/workflows/dependencies - Updates BuildGrammar nupkg to 2.1.0 - Updates grammar-validator.yaml & validate-grammar.sh Co-authored-by: Nigel-Ecma --- ...upkg => EcmaTC49.BuildGrammar.2.1.0.nupkg} | Bin 261663 -> 264873 bytes .../dependencies/GrammarTestingEnv.tgz | Bin 0 -> 45089 bytes .github/workflows/grammar-validator.yaml | 6 +- tools/GrammarTesting/Tests/Parsing/ReadMe.md | 10 + .../AllInOneNoPreprocessor-v6.cs | 740 + .../AllInOneNoPreprocessor-v6/ReadMe.md | 5 + ...AllInOneNoPreprocessor-v6.gruntree.red.txt | 19654 +++++++ .../AllInOneNoPreprocessor-v6.tokens.txt | 3610 ++ .../AllInOneNoPreprocessor-v6.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6.tree.svg | 44805 ++++++++++++++++ .../_Sample_Options.txt | 1 + .../AllInOneNoPreprocessor-v7.cs | 208 + .../AllInOneNoPreprocessor-v7/ReadMe.md | 5 + ...AllInOneNoPreprocessor-v7.gruntree.red.txt | 4853 ++ .../AllInOneNoPreprocessor-v7.tokens.txt | 888 + .../AllInOneNoPreprocessor-v7.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v7.tree.svg | 11065 ++++ .../_Sample_Options.txt | 1 + tools/GrammarTesting/Tests/ReadMe.md | 10 + tools/validate-grammar.sh | 54 +- 20 files changed, 85908 insertions(+), 9 deletions(-) rename .github/workflows/dependencies/{EcmaTC49.BuildGrammar.2.0.0.nupkg => EcmaTC49.BuildGrammar.2.1.0.nupkg} (85%) create mode 100644 .github/workflows/dependencies/GrammarTestingEnv.tgz create mode 100644 tools/GrammarTesting/Tests/Parsing/ReadMe.md create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/AllInOneNoPreprocessor-v6.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/AllInOneNoPreprocessor-v7.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/_Sample_Options.txt create mode 100644 tools/GrammarTesting/Tests/ReadMe.md diff --git a/.github/workflows/dependencies/EcmaTC49.BuildGrammar.2.0.0.nupkg b/.github/workflows/dependencies/EcmaTC49.BuildGrammar.2.1.0.nupkg similarity index 85% rename from .github/workflows/dependencies/EcmaTC49.BuildGrammar.2.0.0.nupkg rename to .github/workflows/dependencies/EcmaTC49.BuildGrammar.2.1.0.nupkg index 06c6d7508e27a771ca4386175230d1de50a6bdd5..6650482056bd55ff288b31ec71f4522834b4abdc 100644 GIT binary patch delta 36560 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 z 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 Zu6|d)tKZe{>R0vq{{iqkAL9U+0|3`JdL94( literal 0 HcmV?d00001 diff --git a/.github/workflows/grammar-validator.yaml b/.github/workflows/grammar-validator.yaml index 5b9016dae..1e86eac61 100644 --- a/.github/workflows/grammar-validator.yaml +++ b/.github/workflows/grammar-validator.yaml @@ -27,15 +27,15 @@ jobs: dotnet-version: 8.0.x - name: Set up JDK 15 - uses: actions/setup-java@v1 + uses: actions/setup-java@v2 with: java-version: 15.0 + distribution: zulu # Install build grammar global tool - name: Install BuildGrammar tool run: | - dotnet tool install --version 2.0.0 --global --add-source ./.github/workflows/dependencies/ EcmaTC49.BuildGrammar - + dotnet tool install --version 2.1.0 --global --add-source ./.github/workflows/dependencies/ EcmaTC49.BuildGrammar - name: run validate run: | diff --git a/tools/GrammarTesting/Tests/Parsing/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/ReadMe.md new file mode 100644 index 000000000..211176b53 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/ReadMe.md @@ -0,0 +1,10 @@ +# Parsing Tests + +There are two sets of tests. The standard set, in `Samples`, test whether the Standard’s +grammar is producing the expected parse. + +The second set, in `Demo`, exist to demonstrate the system and are run when `SetupAndTest` +or `DoParsingTests` are passed the `-d` option. + +If `Demo` is not here it will be in the environment parallel which can be located using the +environment variable `BG_LIB_PARSINGTESTS`. \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/AllInOneNoPreprocessor-v6.cs b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/AllInOneNoPreprocessor-v6.cs new file mode 100755 index 000000000..9e7f47765 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/AllInOneNoPreprocessor-v6.cs @@ -0,0 +1,740 @@ +extern alias Foo; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Text; +using M = System.Math; + +using ConsoleApplication2.Test; + +/**/ +/* the previous comment is an empty delimited comment and not a document comment */ +/** this is a document comment */ +// this one is a single line comment + +using X = int1; +using Y = ABC.X; + +using static System.Math; +using static System.DayOfWeek; +using static System.Linq.Enumerable; + +[assembly: System.Copyright(@"(C)"" + +2009")] +[module: System.Copyright("\n\t\u0123(C) \"2009" + "\u0123")] + +class TopLevelType : IDisposable +{ + void IDisposable.Dispose() { } +} + +namespace My +{ + using A.B; + + interface CoContra { } + delegate void CoContra2<[System.Obsolete()] out T, in K> () where T : struct; + + public unsafe partial class A : C, I + { + [DllImport("kernel32", SetLastError = true)] + static extern bool CreateDirectory(string name, SecurityAttribute sa); + + private const int global = int.MinValue - 1; + + static A() + { + } + + [method: Obsolete] + public A([param: Obsolete] int foo) : + base(1) + { + L: + { + int i = sizeof(int); + ++i; + var s1 = $"x {1 , -2 :d}"; + var s2 = $@"x {1 , -2 :d}"; + } + + + Console.WriteLine(export.iefSupplied.command); + + const int? local = int.MaxValue; + const Guid? local0 = new Guid(r.ToString()); + + var привет = local; + var мир = local; + var local3 = 0, local4 = 1; + local3 = local4 = 1; + var local5 = null as Action ?? null; + var local6 = local5 is Action; + + var u = 1u; + var U = 1U; + long hex = 0xBADC0DE, Hex = 0XDEADBEEF, l = -1L, L = 1L, l2 = 2l; + ulong ul = 1ul, Ul = 1Ul, uL = 1uL, UL = 1UL, + lu = 1lu, Lu = 1Lu, lU = 1lU, LU = 1LU; + int minInt32Value = -2147483648; + int minInt64Value = -9223372036854775808L; + + bool @bool; + byte @byte; + char @char = 'c', \u0066 = '\u0066', hexchar = '\x0130', hexchar2 = (char)0xBAD; + string \U00000065 = "\U00000065"; + decimal @decimal = 1.44M; + @decimal = 1.2m; + dynamic @dynamic; + double @double = M.PI; + @double = 1d; + @double = 1D; + @double = -1.2e3; + float @float = 1.2f; + @float = 1.44F; + int @int = local ?? -1; + long @long; + object @object; + sbyte @sbyte; + short @short; + string @string = @"""/*"; + uint @uint; + ulong @ulong; + ushort @ushort; + + dynamic dynamic = local5; + var add = 0; + var alias = 0; + var arglist = 0; + var ascending = 0; + var async = 0; + var await = 0; + var by = 0; + var descending = 0; + var dynamic = 0; + var equals = 0; + var from = 0; + var get = 0; + var group = 0; + var into = 0; + var join = 0; + var let = 0; + var nameof = 0; + var on = 0; + var orderby = 0; + var partial = 0; + var remove = 0; + var select = 0; + var set = 0; + var var = 0; + var when = 0; + var where = 0; + var yield = 0; + var __ = 0; + where = yield = 0; + + if (i > 0) + { + return; + } + else if (i == 0) + { + throw new Exception(); + } + var o1 = new MyObject(); + var o2 = new MyObject(var); + var o3 = new MyObject { A = i }; + var o4 = new MyObject(@dynamic) + { + A = 0, + B = 0, + C = 0 + }; + var o5 = new { A = 0 }; + var dictionaryInitializer = new Dictionary + { + {1, ""}, + {2, "a"} + }; + float[] a = new float[] + { + 0f, + 1.1f + }; + int[, ,] cube = { { { 111, 112, }, { 121, 122 } }, { { 211, 212 }, { 221, 222 } } }; + int[][] jagged = { { 111 }, { 121, 122 } }; + int[][,] arr = new int[5][,]; // as opposed to new int[][5,5] + arr[0] = new int[5,5]; // as opposed to arr[0,0] = new int[5]; + arr[0][0,0] = 47; + int[] arrayTypeInference = new[] { 0, 1, }; + switch (3) { } + switch (i) + { + case 0: + case 1: + { + goto case 2; + } + case 2 + 3: + { + goto default; + break; + } + default: + { + return; + } + } + while (i < 10) + { + ++i; + if (true) continue; + break; + } + do + { + ++i; + if (true) continue; + break; + } + while (i < 10); + for (int j = 0; j < 100; ++j) + { + for(;;) + { + for (int i = 0, j = 0; i < length; i++, j++) { } + if (true) continue; + break; + } + } + label: + goto label; + label2: ; + foreach (var i in Items()) + { + if (i == 7) + return; + else + continue; + } + + lock (sync) + process(); + using (var v = BeginScope()) + using (A a = new A()) + using (A a = new A(), b = new A()) + using (BeginScope()) + return; + yield return this.items[3]; + yield break; + fixed (int* p = stackalloc int[100], q = &y) + { + *intref = 1; + } + fixed (int* p = stackalloc int[100]) + { + *intref = 1; + } + unsafe + { + int* p = null; + } + try + { + throw null; + } + catch (System.AccessViolationException av) + { + throw av; + } + catch (Exception) + { + throw; + } + finally + { + try { } catch { } + } + var anonymous = + { + A = 1, + B = 2, + C = 3, + }; + var query = from c in customers + let d = c + where d != null + join c1 in customers on c1.GetHashCode() equals c.GetHashCode() + join c1 in customers on c1.GetHashCode() equals c.GetHashCode() into e + group c by c.Country + into g + orderby g.Count() ascending + orderby g.Key descending + select new { Country = g.Key, CustCount = g.Count() }; + query = from c in customers + select c into d + select d; + } + ~A() + { + } + private readonly int f1; + [Obsolete] + [NonExisting] + [Foo::NonExisting(var, 5)] + [CLSCompliant(false)] + [Obsolete, System.NonSerialized, NonSerialized, CLSCompliant(true || false & true)] + private volatile int f2; + [return: Obsolete] + [method: Obsolete] + public void Handler(object value) + { + } + public int m(T t) + where T : class, new() + { + base.m(t); + return 1; + } + public string P + { + get + { + return "A"; + } + set; + } + public abstract string P + { + get; + } + public abstract int this[int index] + { + protected internal get; + internal protected set; + } + + [event: Test] + public event Action E1 + { + [Obsolete] + add { value = value; } + [Obsolete] + [return: Obsolete] + remove { E += Handler; E -= Handler; } + } + public static A operator +(A first, A second) + { + Delegate handler = new Delegate(Handler); + return first.Add(second); + } + [method: Obsolete] + [return: Obsolete] + public static bool operator true(A a) + { + return true; + } + public static bool operator false(A a) + { + return false; + } + class C + { + } + } + public struct S : I + { + public S() + { + } + private int f1; + [Obsolete("Use Script instead", error: false)] + private volatile int f2; + public abstract int m(T t) + where T : struct + { + return 1; + } + public string P + { + get + { + int value = 0; + return "A"; + } + set; + } + public abstract string P + { + get; + } + public abstract int this[int index] + { + get; + internal protected set; + } + public event Event E; + public static A operator +(A first, A second) + { + return first.Add(second); + } + fixed int field[10]; + class C + { + } + } + public interface I + { + void A(int value); + string Value + { + get; + set; + } + } + [type: Flags] + public enum E + { + A, + B = A, + C = 2 + A, + D, + } + + public delegate void Delegate(object P); + namespace Test + { + using System; + using System.Collections; + public class Список + { + public static IEnumerable Power(int number, int exponent) + { + Список Список = new Список(); + Список.Main(); + int counter = (0 + 0); + int אתר = 0; + while (++counter++ < --exponent--) + { + result = result * number + +number+++++number; + yield return result; + } + } + static void Main() + { + foreach (int i in Power(2, 8)) + { + Console.Write("{0} ", i); + } + } + async void Wait() + { + await System.Threading.Tasks.Task.Delay(0); + } + void AsyncAnonymous() // C # 5 feature + { + var task = Task.Factory.StartNew(async () => + { + return await new WebClient().DownloadStringTaskAsync("http://example.com"); + }); + } + } + } +} + +namespace ConsoleApplication1 +{ + namespace RecursiveGenericBaseType + { + class A : B, A> where T : A + { + protected virtual A M() { } + protected abstract B, A> N() { } + static B, A> O() { } + } + + sealed class B : A> + { + protected override A M() { } + protected sealed override B, A> N() { } + new static A O() { } + } + } + + namespace Boo + { + public class Bar where T : IComparable + { + public T f; + public class Foo : IEnumerable + { + public void Method(K k, T t, U u) + where K : IList, IList, IList + where V : IList + { + A a; + M(A(5)); + } + }; + }; + }; + + class Test + { + void Bar3() + { + var x = new Boo.Bar.Foo(); + x.Method(" ", 5, new object()); + + var q = from i in new int[] { 1, 2, 3, 4 } + where i > 5 + select i; + } + + public static implicit operator Test(string s) + { + return new ConsoleApplication1.Test(); + } + public static explicit operator Test(string s = "") + { + return new Test(); + } + + public int foo = 5; + void Bar2() + { + foo = 6; + this.Foo = 5.GetType(); Test t = "sss"; + } + + public event EventHandler MyEvent = delegate { }; + + void Blah() + { + int i = 5; + int? j = 6; + + Expression> e = () => i; + Expression> e2 = b => () => { return; }; + Func f = async delegate (bool a) + { + return await !a; + }; + Func f2 = (a, b) => 0; + f2 = (int a, int b) => 1; + Action a = Blah; + f2 = () => {}; + f2 = () => {;}; + } + + delegate Recursive Recursive(Recursive r); + delegate Recursive Recursive(Recursive r); + + public Type Foo + { + [Obsolete("Name", error = false)] + get + { + var result = typeof(IEnumerable); + var t = typeof(int?) == typeof(Nullable); + t = typeof(IEnumerable); + return typeof(IEnumerable<>); + } + set + { + var t = typeof(System.Int32); + t.ToString(); + t = value; + } + } + + public void Constants() + { + int i = 1 + 2 + 3 + 5; + global::System.String s = "a" + (System.String)"a" + "a" + "a" + "a" + "A"; + } + + public void ConstructedType() + { + List i = null; + int c = i.Count; + } + } +} + +namespace Comments.XmlComments.UndocumentedKeywords +{ + /// + /// Whatever + /// + /// + /// // + /// /* */ + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + class /*///*/C + { + void M(T t, U u) + { + // comment + /* *** / */ + /* // + */ + /*s*///comment + // /***/ + /*s*/int /*s*/intValue = 0; + intValue = intValue /*s*/+ 1; + string strValue = /*s*/"hello"; + /*s*/MyClass c = new MyClass(); + string verbatimStr = /*s*/@"\\\\"; + } + } + + //General Test F. Type a very long class name, verify colorization happens correctly only upto the correct size (118324) + class TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/*Scen8*/{ } + + class TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22/*Scen9*/{ } + + class yield + { + void Params(ref dynamic a, out dynamic b, params dynamic[] c) {} + void Params(out dynamic a = 2, ref dynamic c = default(dynamic), params dynamic[][] c) {} + + public override string ToString() { return base.ToString(); } + + public partial void OnError(); + + public partial void method() + { + int?[] a = new int?[5];/*[] bug*/ // YES [] + int[] var = { 1, 2, 3, 4, 5 };/*,;*/ + int i = a[i];/*[]*/ + Foo f = new Foo();/*<> ()*/ + f.method();/*().*/ + i = i + i - i * i / i % i & i | i ^ i;/*+ - * / % & | ^*/ + bool b = true & false | true ^ false;/*& | ^*/ + b = !b;/*!*/ + i = ~i;/*~i*/ + b = i < i && i > i;/*< && >*/ + int? ii = 5;/*? bug*/ // NO ? + int f = true ? 1 : 0;/*? :*/ // YES : + i++;/*++*/ + i--;/*--*/ + b = true && false || true;/*&& ||*/ + b = i == i && i != i && i <= i && i >= i;/*= == && != <= >=*/ + i += 5.0;/*+=*/ + i -= i;/*-=*/ + i *= i;/**=*/ + i /= i;/*/=*/ + i %= i;/*%=*/ + i &= i;/*&=*/ + i |= i;/*|=*/ + i ^= i;/*^=*/ + i <<= i;/*<<=*/ + i >>= i;/*>>=*/ + object s = x => x + 1;/*=>*/ + double d = .3; + Point point; + unsafe + { + Point* p = &point;/** &*/ + p->x = 10;/*->*/ + } + IO::BinaryReader br = null; + x[i: 1] = 3; + x[i: 1, j: 5] = "str"; + } + + struct Point { public int X; public int Y; public void ThisAccess() { this = this; } } + } + + // From here:https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6 + class CSharp6Features + { + // Initializers for auto-properties + public string First { get; set; } = "Jane"; + public string Last { get; set; } = "Doe"; + + // Getter-only auto-properties + public string Third { get; } = "Jane"; + public string Fourth { get; } = "Doe"; + + // Expression bodies on method-like members + public Point Move(int dx, int dy) => new Point(x + dx, y + dy); + public static Complex operator +(Complex a, Complex b) => a.Add(b); + public static implicit operator string(Person p) => p.First + " " + p.Last; + public void Print() => Console.WriteLine(First + " " + Last); + + // Expression bodies on property-like function members + public string Name => First + " " + Last; + public int this[long id] => id; + + async void Test() + { + // Using static + WriteLine(Sqrt(3*3 + 4*4)); + WriteLine(Friday - Monday); + var range = Range(5, 17); // Ok: not extension + var even = range.Where(i => i % 2 == 0); // Ok + + // Null-conditional operators + int? length = customers?.Length; // null if customers is null + Customer first = customers?[0]; // null if customers is null + int length = customers?.Length ?? 0; // 0 if customers is null + int? first = customers?[0]?.Orders?.Count(); + PropertyChanged?.Invoke(this, args); + + // String interpolation + string s = $"{p.Name, 20} is {p.Age:D3} year{{s}} old #"; + s = $"{p.Name} is \"{p.Age} year{(p.Age == 1 ? "" : "s")} old"; + s = $"{(p.Age == 2 ? $"{new Person { } }" : "")}"; + s = $@"\{p.Name} + ""\"; + s = $"Color [ R={func(b: 3):#0.##}, G={G:#0.##}, B={B:#0.##}, A={A:#0.##} ]"; + + // nameof expressions + if (x == null) + throw new ArgumentNullException(nameof(x)); + WriteLine(nameof(person.Address.ZipCode)); // prints "ZipCode" + + // Index initializers + var numbers = new Dictionary { + [7] = "seven", + [9] = "nine", + [13] = "thirteen" + }; + + // Exception filters + try {} + catch (MyException e) when (myfilter(e)) + { } + + // Await in catch and finally blocks + Resource res = null; + try + { + res = await Resource.OpenAsync(); // You could do this. + } + catch(ResourceException e) + { + await Resource.LogAsync(res, e); // Now you can do this … + } + finally + { + if (res != null) + await res.CloseAsync(); // … and this. + } + } + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/ReadMe.md new file mode 100644 index 000000000..8c980e65c --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6 + +This is a standard sample based off a test file originating with the Roslyn project. + +This version contains samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.gruntree.red.txt new file mode 100644 index 000000000..cca8ec9ee --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.gruntree.red.txt @@ -0,0 +1,19654 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ extern_alias_directive +⎜ ⎜ ⎜ extern +⎜ ⎜ ⎜ alias +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ Foo +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ; +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Collections +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Generic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Linq +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Linq +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Expressions +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Text +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_alias_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Math +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ConsoleApplication2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_alias_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ X +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_alias_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ Y +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ABC +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ X +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_static_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Math +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_static_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DayOfWeek +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_static_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Linq +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Enumerable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ global_attributes +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ global_attribute_section +⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ global_attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ global_attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assembly +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Copyright +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "(C)" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ " \n\n2009" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ global_attribute_section +⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ global_attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ global_attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ module +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Copyright +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "\n\t\u0123(C) \"2009" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "\u0123" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ TopLevelType +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ class_base +⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IDisposable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IDisposable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Dispose +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ My +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CoContra +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CoContra2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_constraint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ I +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DllImport +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "kernel32" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ named_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ named_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ SetLastError +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_argument_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ extern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CreateDirectory +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ SecurityAttribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sa +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ private +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ const +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ global +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ predefined_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MinValue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static_constructor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static_constructor_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static_constructor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ param +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ labeled_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ L +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sizeof_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sizeof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unmanaged_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔x 〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolation_minimum_width +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:d〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_verbatim_string_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$@"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔x 〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ verbatim_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolation_minimum_width +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:d〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Console +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WriteLine +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ export +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ iefSupplied +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ command +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_constant_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ const +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ predefined_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MaxValue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_constant_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ const +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_reference_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_reference_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Guid +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Guid +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ r +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ToString +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ привет +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ мир +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local4 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local4 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ as +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ?? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local6 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ is +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ u +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1u +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1U +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ long +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ hex +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0xBADC0DE +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Hex +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0XDEADBEEF +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ l +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1L +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ L +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1L +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ l2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2l +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ulong +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ul +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1ul +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Ul +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1Ul +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ uL +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1uL +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ UL +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1UL +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lu +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1lu +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Lu +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1Lu +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lU +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1lU +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ LU +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1LU +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ minInt32Value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2147483648 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ minInt64Value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 9223372036854775808L +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ byte +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @byte +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ char +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @char +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 'c' +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ \u0066 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ '\u0066' +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ hexchar +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ '\x0130' +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ hexchar2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ cast_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ char +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0xBAD +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ \U00000065 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "\U00000065" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ numeric_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ decimal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @decimal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.44M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @decimal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.2m +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ floating_point_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ double +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @double +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ PI +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @double +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @double +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @double +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.2e3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ floating_point_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ float +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @float +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.2f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @float +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.44F +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ?? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ long +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @long +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @object +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sbyte +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @sbyte +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ short +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @short +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "/*" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ uint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @uint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ulong +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @ulong +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ushort +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @ushort +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ add +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ alias +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arglist +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ascending +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ by +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ descending +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ group +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nameof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ remove +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ when +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ __ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ else +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Exception +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ o1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyObject +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ o2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyObject +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ o3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyObject +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ o4 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyObject +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ o5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_object_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dictionaryInitializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Dictionary +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ floating_point_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ float +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ floating_point_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ float +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.1f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ cube +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 111 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 112 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 121 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 122 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 211 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 212 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 221 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 222 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ jagged +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 111 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 121 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 122 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arr +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arr +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arr +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 47 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arrayTypeInference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_label +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ case +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_label +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ case +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ case +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_label +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ case +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_label +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ while_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ while +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 10 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ do_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ do +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ while +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 10 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_condition +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 100 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_iterator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_condition +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ length +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_iterator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ labeled_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ label +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ label +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ labeled_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ label2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ empty_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foreach_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foreach +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Items +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 7 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ else +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lock_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lock +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sync +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ process +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ resource_acquisition +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ BeginScope +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ resource_acquisition +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ resource_acquisition +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ resource_acquisition +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ BeginScope +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ items +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unmanaged_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 100 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ q +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ & +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_indirection_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ intref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unmanaged_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 100 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_indirection_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ intref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ specific_catch_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exception_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ AccessViolationException +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ av +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ av +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ specific_catch_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exception_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Exception +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finally_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finally +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ general_catch_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ != +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join_into_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_or_group_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ group_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ group +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ by +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Country +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_continuation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderings +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering_direction +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ascending +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderings +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Key +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ descending +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_or_group_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_object_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Country +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Key +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CustCount +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_or_group_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_continuation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finalizer_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ~ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finalizer_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ private +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ readonly +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ NonExisting +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_alias_member +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ :: +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ NonExisting +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CLSCompliant +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ NonSerialized +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ NonSerialized +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CLSCompliant +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ || +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ & +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ private +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ volatile +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Handler +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ m +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_constraint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_constraint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ m +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "A" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ index +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ internal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ internal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ add_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ add +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ remove_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ remove +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ += +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Handler +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Handler +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ binary_operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ overloadable_binary_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ second +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ handler +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Handler +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Add +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ second +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ overloadable_unary_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ overloadable_unary_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ S +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_interfaces +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ I +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ S +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ private +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Use Script instead" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ error +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_argument_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ private +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ volatile +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ m +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_constraint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "A" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ index +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ internal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Event +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ binary_operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ overloadable_binary_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ second +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Add +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ second +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_size_buffer_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ buffer_element_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_size_buffer_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_size_buffer_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 10 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ I +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_accessors +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Flags +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_member_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Collections +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Список +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IEnumerable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Power +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ number +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exponent +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Список +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Список +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Список +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Список +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Main +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ counter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parenthesized_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ אתר +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ while_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ while +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ counter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_decrement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -- +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_decrement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exponent +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -- +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ result +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ result +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ number +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ number +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ number +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ result +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Main +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foreach_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foreach +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Power +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 8 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Console +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Write +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "{0} " +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Wait +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Threading +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Tasks +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Task +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Delay +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ AsyncAnonymous +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ task +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Task +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Factory +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ StartNew +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WebClient +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DownloadStringTaskAsync +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "http://example.com" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ConsoleApplication1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ RecursiveGenericBaseType +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ virtual +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ N +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ O +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sealed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ override +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sealed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ override +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ N +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ O +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Boo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Bar +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IComparable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IEnumerable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Method +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ V +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ k +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ u +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_constraint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IList +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ V +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ secondary_constraints +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ secondary_constraint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IList +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ secondary_constraint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IList +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ V +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IList +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Bar3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Boo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Bar +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Method +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ " " +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ q +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 4 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_or_group_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conversion_operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ConsoleApplication1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conversion_operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Bar2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 6 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetType +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "sss" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ EventHandler +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyEvent +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_method_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Blah +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 6 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Func +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Func +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Func +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_method_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ logical_negation_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Func +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit_anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit_anonymous_function_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit_anonymous_function_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit_anonymous_function_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Blah +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ empty_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ r +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ R +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ R +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ r +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Name" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ named_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ named_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ error +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_argument_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ result +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IEnumerable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Nullable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IEnumerable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unbound_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IEnumerable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ generic_dimension_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Int32 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ToString +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Constants +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_alias_member +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ global +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ :: +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ String +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ cast_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ String +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "A" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ConstructedType +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ List +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Comments +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ XmlComments +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ UndocumentedKeywords +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ u +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ intValue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ intValue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ intValue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ strValue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "hello" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyClass +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyClass +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ verbatimStr +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "\\\\" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Params +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_array +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ params +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Params +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explictly_typed_default +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_array +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ params +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ override +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ToString +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ToString +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ OnError +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 4 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ / +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ % +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ & +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ | +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ^ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ & +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ | +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ^ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ logical_negation_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ~ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ii +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_decrement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -- +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ || +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ != +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ <= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ >= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ += +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5.0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ *= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ /= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ %= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ &= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ |= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ^= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ <<= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ right_shift_assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ >= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ floating_point_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ double +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ .3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Point +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ point +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Point +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ addressof_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ & +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ point +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -> +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 10 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_alias_member +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IO +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ :: +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ BinaryReader +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ br +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "str" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Point +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ X +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ThisAccess +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CSharp6Features +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ First +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Jane" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Last +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Doe" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Third +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Jane" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Fourth +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Doe" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Point +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Move +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dx +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dy +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Point +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dx +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dy +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ binary_operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Complex +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ overloadable_binary_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Complex +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Complex +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Add +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conversion_operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Person +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ First +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ " " +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Last +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Print +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Console +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WriteLine +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ First +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ " " +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Last +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ First +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ " " +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Last +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ long +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ id +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ id +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WriteLine +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Sqrt +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 4 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 4 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WriteLine +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Friday +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Monday +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ range +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Range +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 17 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ even +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ range +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ % +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ length +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Length +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Customer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ length +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Length +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ?? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Orders +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dependent_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ PropertyChanged +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Invoke +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ args +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolation_minimum_width +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 20 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 is 〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Age +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:D3〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 year{{s}} old #〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 is \"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Age +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 year〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parenthesized_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Age +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "s" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 old〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parenthesized_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Age +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Person +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_verbatim_string_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$@"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔\〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ verbatim_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔\n ""\〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔Color [ R=〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ func +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:#0.##〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔, G=〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:#0.##〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔, B=〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:#0.##〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔, A=〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:#0.##〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 ]〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ArgumentNullException +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nameof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WriteLine +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nameof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ person +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Address +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ZipCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ numbers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Dictionary +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 7 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "seven" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 9 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "nine" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 13 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "thirteen" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ specific_catch_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exception_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyException +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exception_filter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ when +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ myfilter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Resource +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ res +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ res +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Resource +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ OpenAsync +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ specific_catch_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exception_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ResourceException +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Resource +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ LogAsync +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ res +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finally_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finally +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ res +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ != +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ res +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CloseAsync +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tokens.txt new file mode 100644 index 000000000..9a0363679 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tokens.txt @@ -0,0 +1,3610 @@ +[@0,0:5='extern',<'extern'>,1:0] +[@1,7:11='alias',<'alias'>,1:7] +[@2,13:15='Foo',,1:13] +[@3,16:16=';',<';'>,1:16] +[@4,19:23='using',<'using'>,3:0] +[@5,25:30='System',,3:6] +[@6,31:31=';',<';'>,3:12] +[@7,33:37='using',<'using'>,4:0] +[@8,39:44='System',,4:6] +[@9,45:45='.',<'.'>,4:12] +[@10,46:56='Collections',,4:13] +[@11,57:57='.',<'.'>,4:24] +[@12,58:64='Generic',,4:25] +[@13,65:65=';',<';'>,4:32] +[@14,67:71='using',<'using'>,5:0] +[@15,73:78='System',,5:6] +[@16,79:79='.',<'.'>,5:12] +[@17,80:83='Linq',,5:13] +[@18,84:84=';',<';'>,5:17] +[@19,86:90='using',<'using'>,6:0] +[@20,92:97='System',,6:6] +[@21,98:98='.',<'.'>,6:12] +[@22,99:102='Linq',,6:13] +[@23,103:103='.',<'.'>,6:17] +[@24,104:114='Expressions',,6:18] +[@25,115:115=';',<';'>,6:29] +[@26,117:121='using',<'using'>,7:0] +[@27,123:128='System',,7:6] +[@28,129:129='.',<'.'>,7:12] +[@29,130:133='Text',,7:13] +[@30,134:134=';',<';'>,7:17] +[@31,136:140='using',<'using'>,8:0] +[@32,142:142='M',,8:6] +[@33,144:144='=',<'='>,8:8] +[@34,146:151='System',,8:10] +[@35,152:152='.',<'.'>,8:16] +[@36,153:156='Math',,8:17] +[@37,157:157=';',<';'>,8:21] +[@38,160:164='using',<'using'>,10:0] +[@39,166:184='ConsoleApplication2',,10:6] +[@40,185:185='.',<'.'>,10:25] +[@41,186:189='Test',,10:26] +[@42,190:190=';',<';'>,10:30] +[@43,354:358='using',<'using'>,17:0] +[@44,360:360='X',,17:6] +[@45,362:362='=',<'='>,17:8] +[@46,364:367='int1',,17:10] +[@47,368:368=';',<';'>,17:14] +[@48,370:374='using',<'using'>,18:0] +[@49,376:376='Y',,18:6] +[@50,378:378='=',<'='>,18:8] +[@51,380:382='ABC',,18:10] +[@52,383:383='.',<'.'>,18:13] +[@53,384:384='X',,18:14] +[@54,385:385='<',<'<'>,18:15] +[@55,386:388='int',<'int'>,18:16] +[@56,389:389='>',<'>'>,18:19] +[@57,390:390=';',<';'>,18:20] +[@58,393:397='using',<'using'>,20:0] +[@59,399:404='static',<'static'>,20:6] +[@60,406:411='System',,20:13] +[@61,412:412='.',<'.'>,20:19] +[@62,413:416='Math',,20:20] +[@63,417:417=';',<';'>,20:24] +[@64,419:423='using',<'using'>,21:0] +[@65,425:430='static',<'static'>,21:6] +[@66,432:437='System',,21:13] +[@67,438:438='.',<'.'>,21:19] +[@68,439:447='DayOfWeek',,21:20] +[@69,448:448=';',<';'>,21:29] +[@70,450:454='using',<'using'>,22:0] +[@71,456:461='static',<'static'>,22:6] +[@72,463:468='System',,22:13] +[@73,469:469='.',<'.'>,22:19] +[@74,470:473='Linq',,22:20] +[@75,474:474='.',<'.'>,22:24] +[@76,475:484='Enumerable',,22:25] +[@77,485:485=';',<';'>,22:35] +[@78,488:488='[',<'['>,24:0] +[@79,489:496='assembly',,24:1] +[@80,497:497=':',<':'>,24:9] +[@81,499:504='System',,24:11] +[@82,505:505='.',<'.'>,24:17] +[@83,506:514='Copyright',,24:18] +[@84,515:515='(',<'('>,24:27] +[@85,516:530='@"(C)"" \n\n2009"',,24:28] +[@86,531:531=')',<')'>,26:5] +[@87,532:532=']',<']'>,26:6] +[@88,534:534='[',<'['>,27:0] +[@89,535:540='module',,27:1] +[@90,541:541=':',<':'>,27:7] +[@91,543:548='System',,27:9] +[@92,549:549='.',<'.'>,27:15] +[@93,550:558='Copyright',,27:16] +[@94,559:559='(',<'('>,27:25] +[@95,560:581='"\n\t\u0123(C) \"2009"',,27:26] +[@96,583:583='+',<'+'>,27:49] +[@97,585:592='"\u0123"',,27:51] +[@98,593:593=')',<')'>,27:59] +[@99,594:594=']',<']'>,27:60] +[@100,597:601='class',<'class'>,29:0] +[@101,603:614='TopLevelType',,29:6] +[@102,616:616=':',<':'>,29:19] +[@103,618:628='IDisposable',,29:21] +[@104,630:630='{',<'{'>,30:0] +[@105,636:639='void',<'void'>,31:4] +[@106,641:651='IDisposable',,31:9] +[@107,652:652='.',<'.'>,31:20] +[@108,653:659='Dispose',,31:21] +[@109,660:660='(',<'('>,31:28] +[@110,661:661=')',<')'>,31:29] +[@111,663:663='{',<'{'>,31:31] +[@112,665:665='}',<'}'>,31:33] +[@113,667:667='}',<'}'>,32:0] +[@114,670:678='namespace',<'namespace'>,34:0] +[@115,680:681='My',,34:10] +[@116,683:683='{',<'{'>,35:0] +[@117,689:693='using',<'using'>,36:4] +[@118,695:695='A',,36:10] +[@119,696:696='.',<'.'>,36:11] +[@120,697:697='B',,36:12] +[@121,698:698=';',<';'>,36:13] +[@122,705:713='interface',<'interface'>,38:4] +[@123,715:722='CoContra',,38:14] +[@124,723:723='<',<'<'>,38:22] +[@125,724:726='out',<'out'>,38:23] +[@126,728:728='T',,38:27] +[@127,729:729=',',<','>,38:28] +[@128,731:732='in',<'in'>,38:30] +[@129,734:734='K',,38:33] +[@130,735:735='>',<'>'>,38:34] +[@131,737:737='{',<'{'>,38:36] +[@132,739:739='}',<'}'>,38:38] +[@133,745:752='delegate',<'delegate'>,39:4] +[@134,754:757='void',<'void'>,39:13] +[@135,759:767='CoContra2',,39:18] +[@136,768:768='<',<'<'>,39:27] +[@137,769:769='[',<'['>,39:28] +[@138,770:775='System',,39:29] +[@139,776:776='.',<'.'>,39:35] +[@140,777:784='Obsolete',,39:36] +[@141,785:785='(',<'('>,39:44] +[@142,786:786=')',<')'>,39:45] +[@143,787:787=']',<']'>,39:46] +[@144,789:791='out',<'out'>,39:48] +[@145,793:793='T',,39:52] +[@146,794:794=',',<','>,39:53] +[@147,796:797='in',<'in'>,39:55] +[@148,799:799='K',,39:58] +[@149,800:800='>',<'>'>,39:59] +[@150,802:802='(',<'('>,39:61] +[@151,803:803=')',<')'>,39:62] +[@152,805:809='where',<'where'>,39:64] +[@153,811:811='T',,39:70] +[@154,813:813=':',<':'>,39:72] +[@155,815:820='struct',<'struct'>,39:74] +[@156,821:821=';',<';'>,39:80] +[@157,828:833='public',<'public'>,41:4] +[@158,835:840='unsafe',<'unsafe'>,41:11] +[@159,842:848='partial',<'partial'>,41:18] +[@160,850:854='class',<'class'>,41:26] +[@161,856:856='A',,41:32] +[@162,858:858=':',<':'>,41:34] +[@163,860:860='C',,41:36] +[@164,861:861=',',<','>,41:37] +[@165,863:863='I',,41:39] +[@166,869:869='{',<'{'>,42:4] +[@167,879:879='[',<'['>,43:8] +[@168,880:888='DllImport',,43:9] +[@169,889:889='(',<'('>,43:18] +[@170,890:899='"kernel32"',,43:19] +[@171,900:900=',',<','>,43:29] +[@172,902:913='SetLastError',,43:31] +[@173,915:915='=',<'='>,43:44] +[@174,917:920='true',<'true'>,43:46] +[@175,921:921=')',<')'>,43:50] +[@176,922:922=']',<']'>,43:51] +[@177,932:937='static',<'static'>,44:8] +[@178,939:944='extern',<'extern'>,44:15] +[@179,946:949='bool',<'bool'>,44:22] +[@180,951:965='CreateDirectory',,44:27] +[@181,966:966='(',<'('>,44:42] +[@182,967:972='string',<'string'>,44:43] +[@183,974:977='name',,44:50] +[@184,978:978=',',<','>,44:54] +[@185,980:996='SecurityAttribute',,44:56] +[@186,998:999='sa',,44:74] +[@187,1000:1000=')',<')'>,44:76] +[@188,1001:1001=';',<';'>,44:77] +[@189,1012:1018='private',<'private'>,46:8] +[@190,1020:1024='const',<'const'>,46:16] +[@191,1026:1028='int',<'int'>,46:22] +[@192,1030:1035='global',<'global'>,46:26] +[@193,1037:1037='=',<'='>,46:33] +[@194,1039:1041='int',<'int'>,46:35] +[@195,1042:1042='.',<'.'>,46:38] +[@196,1043:1050='MinValue',,46:39] +[@197,1052:1052='-',<'-'>,46:48] +[@198,1054:1054='1',,46:50] +[@199,1055:1055=';',<';'>,46:51] +[@200,1066:1071='static',<'static'>,48:8] +[@201,1073:1073='A',,48:15] +[@202,1074:1074='(',<'('>,48:16] +[@203,1075:1075=')',<')'>,48:17] +[@204,1086:1086='{',<'{'>,49:8] +[@205,1097:1097='}',<'}'>,50:8] +[@206,1108:1108='[',<'['>,52:8] +[@207,1109:1114='method',,52:9] +[@208,1115:1115=':',<':'>,52:15] +[@209,1117:1124='Obsolete',,52:17] +[@210,1125:1125=']',<']'>,52:25] +[@211,1135:1140='public',<'public'>,53:8] +[@212,1142:1142='A',,53:15] +[@213,1143:1143='(',<'('>,53:16] +[@214,1144:1144='[',<'['>,53:17] +[@215,1145:1149='param',,53:18] +[@216,1150:1150=':',<':'>,53:23] +[@217,1152:1159='Obsolete',,53:25] +[@218,1160:1160=']',<']'>,53:33] +[@219,1162:1164='int',<'int'>,53:35] +[@220,1166:1168='foo',,53:39] +[@221,1169:1169=')',<')'>,53:42] +[@222,1171:1171=':',<':'>,53:44] +[@223,1185:1188='base',<'base'>,54:12] +[@224,1189:1189='(',<'('>,54:16] +[@225,1190:1190='1',,54:17] +[@226,1191:1191=')',<')'>,54:18] +[@227,1201:1201='{',<'{'>,55:8] +[@228,1211:1211='L',,56:8] +[@229,1212:1212=':',<':'>,56:9] +[@230,1226:1226='{',<'{'>,57:12] +[@231,1244:1246='int',<'int'>,58:16] +[@232,1248:1248='i',,58:20] +[@233,1250:1250='=',<'='>,58:22] +[@234,1252:1257='sizeof',<'sizeof'>,58:24] +[@235,1258:1258='(',<'('>,58:30] +[@236,1259:1261='int',<'int'>,58:31] +[@237,1262:1262=')',<')'>,58:34] +[@238,1263:1263=';',<';'>,58:35] +[@239,1281:1282='++',<'++'>,59:16] +[@240,1283:1283='i',,59:18] +[@241,1284:1284=';',<';'>,59:19] +[@242,1302:1304='var',<'var'>,60:16] +[@243,1306:1307='s1',,60:20] +[@244,1309:1309='=',<'='>,60:23] +[@245,1311:1312='〔$"〕',,60:25] +[@246,1313:1314='〔x 〕',,60:27] +[@247,1315:1315='{',<'{'>,60:29] +[@248,1316:1316='1',,60:30] +[@249,1318:1318=',',<','>,60:32] +[@250,1320:1320='-',<'-'>,60:34] +[@251,1321:1321='2',,60:35] +[@252,1323:1324='〔:d〕',,60:37] +[@253,1325:1325='}',<'}'>,60:39] +[@254,1326:1326='〔"〕',,60:40] +[@255,1327:1327=';',<';'>,60:41] +[@256,1345:1347='var',<'var'>,61:16] +[@257,1349:1350='s2',,61:20] +[@258,1352:1352='=',<'='>,61:23] +[@259,1354:1356='〔$@"〕',,61:25] +[@260,1357:1358='〔x 〕',,61:28] +[@261,1359:1359='{',<'{'>,61:30] +[@262,1360:1360='1',,61:31] +[@263,1362:1362=',',<','>,61:33] +[@264,1364:1364='-',<'-'>,61:35] +[@265,1365:1365='2',,61:36] +[@266,1367:1368='〔:d〕',,61:38] +[@267,1369:1369='}',<'}'>,61:40] +[@268,1370:1370='〔"〕',,61:41] +[@269,1371:1371=';',<';'>,61:42] +[@270,1385:1385='}',<'}'>,62:12] +[@271,1395:1401='Console',,65:6] +[@272,1402:1402='.',<'.'>,65:13] +[@273,1403:1411='WriteLine',,65:14] +[@274,1412:1412='(',<'('>,65:23] +[@275,1413:1418='export',,65:24] +[@276,1419:1419='.',<'.'>,65:30] +[@277,1420:1430='iefSupplied',,65:31] +[@278,1431:1431='.',<'.'>,65:42] +[@279,1432:1438='command',,65:43] +[@280,1439:1439=')',<')'>,65:50] +[@281,1440:1440=';',<';'>,65:51] +[@282,1455:1459='const',<'const'>,67:12] +[@283,1461:1463='int',<'int'>,67:18] +[@284,1464:1464='?',<'?'>,67:21] +[@285,1466:1470='local',,67:23] +[@286,1472:1472='=',<'='>,67:29] +[@287,1474:1476='int',<'int'>,67:31] +[@288,1477:1477='.',<'.'>,67:34] +[@289,1478:1485='MaxValue',,67:35] +[@290,1486:1486=';',<';'>,67:43] +[@291,1500:1504='const',<'const'>,68:12] +[@292,1506:1509='Guid',,68:18] +[@293,1510:1510='?',<'?'>,68:22] +[@294,1512:1517='local0',,68:24] +[@295,1519:1519='=',<'='>,68:31] +[@296,1521:1523='new',<'new'>,68:33] +[@297,1525:1528='Guid',,68:37] +[@298,1529:1529='(',<'('>,68:41] +[@299,1530:1530='r',,68:42] +[@300,1531:1531='.',<'.'>,68:43] +[@301,1532:1539='ToString',,68:44] +[@302,1540:1540='(',<'('>,68:52] +[@303,1541:1541=')',<')'>,68:53] +[@304,1542:1542=')',<')'>,68:54] +[@305,1543:1543=';',<';'>,68:55] +[@306,1558:1560='var',<'var'>,70:12] +[@307,1562:1567='привет',,70:16] +[@308,1569:1569='=',<'='>,70:23] +[@309,1571:1575='local',,70:25] +[@310,1576:1576=';',<';'>,70:30] +[@311,1590:1592='var',<'var'>,71:12] +[@312,1594:1596='мир',,71:16] +[@313,1598:1598='=',<'='>,71:20] +[@314,1600:1604='local',,71:22] +[@315,1605:1605=';',<';'>,71:27] +[@316,1619:1621='var',<'var'>,72:12] +[@317,1623:1628='local3',,72:16] +[@318,1630:1630='=',<'='>,72:23] +[@319,1632:1632='0',,72:25] +[@320,1633:1633=',',<','>,72:26] +[@321,1635:1640='local4',,72:28] +[@322,1642:1642='=',<'='>,72:35] +[@323,1644:1644='1',,72:37] +[@324,1645:1645=';',<';'>,72:38] +[@325,1659:1664='local3',,73:12] +[@326,1666:1666='=',<'='>,73:19] +[@327,1668:1673='local4',,73:21] +[@328,1675:1675='=',<'='>,73:28] +[@329,1677:1677='1',,73:30] +[@330,1678:1678=';',<';'>,73:31] +[@331,1692:1694='var',<'var'>,74:12] +[@332,1696:1701='local5',,74:16] +[@333,1703:1703='=',<'='>,74:23] +[@334,1705:1708='null',<'null'>,74:25] +[@335,1710:1711='as',<'as'>,74:30] +[@336,1713:1718='Action',,74:33] +[@337,1720:1721='??',<'??'>,74:40] +[@338,1723:1726='null',<'null'>,74:43] +[@339,1727:1727=';',<';'>,74:47] +[@340,1741:1743='var',<'var'>,75:12] +[@341,1745:1750='local6',,75:16] +[@342,1752:1752='=',<'='>,75:23] +[@343,1754:1759='local5',,75:25] +[@344,1761:1762='is',<'is'>,75:32] +[@345,1764:1769='Action',,75:35] +[@346,1770:1770=';',<';'>,75:41] +[@347,1785:1787='var',<'var'>,77:12] +[@348,1789:1789='u',,77:16] +[@349,1791:1791='=',<'='>,77:18] +[@350,1793:1794='1u',,77:20] +[@351,1795:1795=';',<';'>,77:22] +[@352,1809:1811='var',<'var'>,78:12] +[@353,1813:1813='U',,78:16] +[@354,1815:1815='=',<'='>,78:18] +[@355,1817:1818='1U',,78:20] +[@356,1819:1819=';',<';'>,78:22] +[@357,1833:1836='long',<'long'>,79:12] +[@358,1838:1840='hex',,79:17] +[@359,1842:1842='=',<'='>,79:21] +[@360,1844:1852='0xBADC0DE',,79:23] +[@361,1853:1853=',',<','>,79:32] +[@362,1855:1857='Hex',,79:34] +[@363,1859:1859='=',<'='>,79:38] +[@364,1861:1870='0XDEADBEEF',,79:40] +[@365,1871:1871=',',<','>,79:50] +[@366,1873:1873='l',,79:52] +[@367,1875:1875='=',<'='>,79:54] +[@368,1877:1877='-',<'-'>,79:56] +[@369,1878:1879='1L',,79:57] +[@370,1880:1880=',',<','>,79:59] +[@371,1882:1882='L',,79:61] +[@372,1884:1884='=',<'='>,79:63] +[@373,1886:1887='1L',,79:65] +[@374,1888:1888=',',<','>,79:67] +[@375,1890:1891='l2',,79:69] +[@376,1893:1893='=',<'='>,79:72] +[@377,1895:1896='2l',,79:74] +[@378,1897:1897=';',<';'>,79:76] +[@379,1911:1915='ulong',<'ulong'>,80:12] +[@380,1917:1918='ul',,80:18] +[@381,1920:1920='=',<'='>,80:21] +[@382,1922:1924='1ul',,80:23] +[@383,1925:1925=',',<','>,80:26] +[@384,1927:1928='Ul',,80:28] +[@385,1930:1930='=',<'='>,80:31] +[@386,1932:1934='1Ul',,80:33] +[@387,1935:1935=',',<','>,80:36] +[@388,1937:1938='uL',,80:38] +[@389,1940:1940='=',<'='>,80:41] +[@390,1942:1944='1uL',,80:43] +[@391,1945:1945=',',<','>,80:46] +[@392,1947:1948='UL',,80:48] +[@393,1950:1950='=',<'='>,80:51] +[@394,1952:1954='1UL',,80:53] +[@395,1955:1955=',',<','>,80:56] +[@396,1973:1974='lu',,81:16] +[@397,1976:1976='=',<'='>,81:19] +[@398,1978:1980='1lu',,81:21] +[@399,1981:1981=',',<','>,81:24] +[@400,1983:1984='Lu',,81:26] +[@401,1986:1986='=',<'='>,81:29] +[@402,1988:1990='1Lu',,81:31] +[@403,1991:1991=',',<','>,81:34] +[@404,1993:1994='lU',,81:36] +[@405,1996:1996='=',<'='>,81:39] +[@406,1998:2000='1lU',,81:41] +[@407,2001:2001=',',<','>,81:44] +[@408,2003:2004='LU',,81:46] +[@409,2006:2006='=',<'='>,81:49] +[@410,2008:2010='1LU',,81:51] +[@411,2011:2011=';',<';'>,81:54] +[@412,2025:2027='int',<'int'>,82:12] +[@413,2029:2041='minInt32Value',,82:16] +[@414,2043:2043='=',<'='>,82:30] +[@415,2045:2045='-',<'-'>,82:32] +[@416,2046:2055='2147483648',,82:33] +[@417,2056:2056=';',<';'>,82:43] +[@418,2070:2072='int',<'int'>,83:12] +[@419,2074:2086='minInt64Value',,83:16] +[@420,2088:2088='=',<'='>,83:30] +[@421,2090:2090='-',<'-'>,83:32] +[@422,2091:2110='9223372036854775808L',,83:33] +[@423,2111:2111=';',<';'>,83:53] +[@424,2126:2129='bool',<'bool'>,85:12] +[@425,2131:2135='@bool',,85:17] +[@426,2136:2136=';',<';'>,85:22] +[@427,2150:2153='byte',<'byte'>,86:12] +[@428,2155:2159='@byte',,86:17] +[@429,2160:2160=';',<';'>,86:22] +[@430,2174:2177='char',<'char'>,87:12] +[@431,2179:2183='@char',,87:17] +[@432,2185:2185='=',<'='>,87:23] +[@433,2187:2189=''c'',,87:25] +[@434,2190:2190=',',<','>,87:28] +[@435,2192:2197='\u0066',,87:30] +[@436,2199:2199='=',<'='>,87:37] +[@437,2201:2208=''\u0066'',,87:39] +[@438,2209:2209=',',<','>,87:47] +[@439,2211:2217='hexchar',,87:49] +[@440,2219:2219='=',<'='>,87:57] +[@441,2221:2228=''\x0130'',,87:59] +[@442,2229:2229=',',<','>,87:67] +[@443,2231:2238='hexchar2',,87:69] +[@444,2240:2240='=',<'='>,87:78] +[@445,2242:2242='(',<'('>,87:80] +[@446,2243:2246='char',<'char'>,87:81] +[@447,2247:2247=')',<')'>,87:85] +[@448,2248:2252='0xBAD',,87:86] +[@449,2253:2253=';',<';'>,87:91] +[@450,2267:2272='string',<'string'>,88:12] +[@451,2274:2283='\U00000065',,88:19] +[@452,2285:2285='=',<'='>,88:30] +[@453,2287:2298='"\U00000065"',,88:32] +[@454,2299:2299=';',<';'>,88:44] +[@455,2313:2319='decimal',<'decimal'>,89:12] +[@456,2321:2328='@decimal',,89:20] +[@457,2330:2330='=',<'='>,89:29] +[@458,2332:2336='1.44M',,89:31] +[@459,2337:2337=';',<';'>,89:36] +[@460,2351:2358='@decimal',,90:12] +[@461,2360:2360='=',<'='>,90:21] +[@462,2362:2365='1.2m',,90:23] +[@463,2366:2366=';',<';'>,90:27] +[@464,2380:2386='dynamic',<'dynamic'>,91:12] +[@465,2388:2395='@dynamic',,91:20] +[@466,2396:2396=';',<';'>,91:28] +[@467,2410:2415='double',<'double'>,92:12] +[@468,2417:2423='@double',,92:19] +[@469,2425:2425='=',<'='>,92:27] +[@470,2427:2427='M',,92:29] +[@471,2428:2428='.',<'.'>,92:30] +[@472,2429:2430='PI',,92:31] +[@473,2431:2431=';',<';'>,92:33] +[@474,2445:2451='@double',,93:12] +[@475,2453:2453='=',<'='>,93:20] +[@476,2455:2456='1d',,93:22] +[@477,2457:2457=';',<';'>,93:24] +[@478,2471:2477='@double',,94:12] +[@479,2479:2479='=',<'='>,94:20] +[@480,2481:2482='1D',,94:22] +[@481,2483:2483=';',<';'>,94:24] +[@482,2497:2503='@double',,95:12] +[@483,2505:2505='=',<'='>,95:20] +[@484,2507:2507='-',<'-'>,95:22] +[@485,2508:2512='1.2e3',,95:23] +[@486,2513:2513=';',<';'>,95:28] +[@487,2527:2531='float',<'float'>,96:12] +[@488,2533:2538='@float',,96:18] +[@489,2540:2540='=',<'='>,96:25] +[@490,2542:2545='1.2f',,96:27] +[@491,2546:2546=';',<';'>,96:31] +[@492,2560:2565='@float',,97:12] +[@493,2567:2567='=',<'='>,97:19] +[@494,2569:2573='1.44F',,97:21] +[@495,2574:2574=';',<';'>,97:26] +[@496,2588:2590='int',<'int'>,98:12] +[@497,2592:2595='@int',,98:16] +[@498,2597:2597='=',<'='>,98:21] +[@499,2599:2603='local',,98:23] +[@500,2605:2606='??',<'??'>,98:29] +[@501,2608:2608='-',<'-'>,98:32] +[@502,2609:2609='1',,98:33] +[@503,2610:2610=';',<';'>,98:34] +[@504,2624:2627='long',<'long'>,99:12] +[@505,2629:2633='@long',,99:17] +[@506,2634:2634=';',<';'>,99:22] +[@507,2648:2653='object',<'object'>,100:12] +[@508,2655:2661='@object',,100:19] +[@509,2662:2662=';',<';'>,100:26] +[@510,2676:2680='sbyte',<'sbyte'>,101:12] +[@511,2682:2687='@sbyte',,101:18] +[@512,2688:2688=';',<';'>,101:24] +[@513,2702:2706='short',<'short'>,102:12] +[@514,2708:2713='@short',,102:18] +[@515,2714:2714=';',<';'>,102:24] +[@516,2728:2733='string',<'string'>,103:12] +[@517,2735:2741='@string',,103:19] +[@518,2743:2743='=',<'='>,103:27] +[@519,2745:2751='@"""/*"',,103:29] +[@520,2752:2752=';',<';'>,103:36] +[@521,2766:2769='uint',<'uint'>,104:12] +[@522,2771:2775='@uint',,104:17] +[@523,2776:2776=';',<';'>,104:22] +[@524,2790:2794='ulong',<'ulong'>,105:12] +[@525,2796:2801='@ulong',,105:18] +[@526,2802:2802=';',<';'>,105:24] +[@527,2816:2821='ushort',<'ushort'>,106:12] +[@528,2823:2829='@ushort',,106:19] +[@529,2830:2830=';',<';'>,106:26] +[@530,2857:2863='dynamic',<'dynamic'>,108:12] +[@531,2865:2871='dynamic',<'dynamic'>,108:20] +[@532,2873:2873='=',<'='>,108:28] +[@533,2875:2880='local5',,108:30] +[@534,2881:2881=';',<';'>,108:36] +[@535,2895:2897='var',<'var'>,109:12] +[@536,2899:2901='add',<'add'>,109:16] +[@537,2903:2903='=',<'='>,109:20] +[@538,2905:2905='0',,109:22] +[@539,2906:2906=';',<';'>,109:23] +[@540,2920:2922='var',<'var'>,110:12] +[@541,2924:2928='alias',<'alias'>,110:16] +[@542,2930:2930='=',<'='>,110:22] +[@543,2932:2932='0',,110:24] +[@544,2933:2933=';',<';'>,110:25] +[@545,2947:2949='var',<'var'>,111:12] +[@546,2951:2957='arglist',,111:16] +[@547,2959:2959='=',<'='>,111:24] +[@548,2961:2961='0',,111:26] +[@549,2962:2962=';',<';'>,111:27] +[@550,2976:2978='var',<'var'>,112:12] +[@551,2980:2988='ascending',<'ascending'>,112:16] +[@552,2990:2990='=',<'='>,112:26] +[@553,2992:2992='0',,112:28] +[@554,2993:2993=';',<';'>,112:29] +[@555,3007:3009='var',<'var'>,113:12] +[@556,3011:3015='async',<'async'>,113:16] +[@557,3017:3017='=',<'='>,113:22] +[@558,3019:3019='0',,113:24] +[@559,3020:3020=';',<';'>,113:25] +[@560,3034:3036='var',<'var'>,114:12] +[@561,3038:3042='await',<'await'>,114:16] +[@562,3044:3044='=',<'='>,114:22] +[@563,3046:3046='0',,114:24] +[@564,3047:3047=';',<';'>,114:25] +[@565,3061:3063='var',<'var'>,115:12] +[@566,3065:3066='by',<'by'>,115:16] +[@567,3068:3068='=',<'='>,115:19] +[@568,3070:3070='0',,115:21] +[@569,3071:3071=';',<';'>,115:22] +[@570,3085:3087='var',<'var'>,116:12] +[@571,3089:3098='descending',<'descending'>,116:16] +[@572,3100:3100='=',<'='>,116:27] +[@573,3102:3102='0',,116:29] +[@574,3103:3103=';',<';'>,116:30] +[@575,3117:3119='var',<'var'>,117:12] +[@576,3121:3127='dynamic',<'dynamic'>,117:16] +[@577,3129:3129='=',<'='>,117:24] +[@578,3131:3131='0',,117:26] +[@579,3132:3132=';',<';'>,117:27] +[@580,3146:3148='var',<'var'>,118:12] +[@581,3150:3155='equals',<'equals'>,118:16] +[@582,3157:3157='=',<'='>,118:23] +[@583,3159:3159='0',,118:25] +[@584,3160:3160=';',<';'>,118:26] +[@585,3174:3176='var',<'var'>,119:12] +[@586,3178:3181='from',<'from'>,119:16] +[@587,3183:3183='=',<'='>,119:21] +[@588,3185:3185='0',,119:23] +[@589,3186:3186=';',<';'>,119:24] +[@590,3200:3202='var',<'var'>,120:12] +[@591,3204:3206='get',<'get'>,120:16] +[@592,3208:3208='=',<'='>,120:20] +[@593,3210:3210='0',,120:22] +[@594,3211:3211=';',<';'>,120:23] +[@595,3225:3227='var',<'var'>,121:12] +[@596,3229:3233='group',<'group'>,121:16] +[@597,3235:3235='=',<'='>,121:22] +[@598,3237:3237='0',,121:24] +[@599,3238:3238=';',<';'>,121:25] +[@600,3252:3254='var',<'var'>,122:12] +[@601,3256:3259='into',<'into'>,122:16] +[@602,3261:3261='=',<'='>,122:21] +[@603,3263:3263='0',,122:23] +[@604,3264:3264=';',<';'>,122:24] +[@605,3278:3280='var',<'var'>,123:12] +[@606,3282:3285='join',<'join'>,123:16] +[@607,3287:3287='=',<'='>,123:21] +[@608,3289:3289='0',,123:23] +[@609,3290:3290=';',<';'>,123:24] +[@610,3304:3306='var',<'var'>,124:12] +[@611,3308:3310='let',<'let'>,124:16] +[@612,3312:3312='=',<'='>,124:20] +[@613,3314:3314='0',,124:22] +[@614,3315:3315=';',<';'>,124:23] +[@615,3329:3331='var',<'var'>,125:12] +[@616,3333:3338='nameof',<'nameof'>,125:16] +[@617,3340:3340='=',<'='>,125:23] +[@618,3342:3342='0',,125:25] +[@619,3343:3343=';',<';'>,125:26] +[@620,3357:3359='var',<'var'>,126:12] +[@621,3361:3362='on',<'on'>,126:16] +[@622,3364:3364='=',<'='>,126:19] +[@623,3366:3366='0',,126:21] +[@624,3367:3367=';',<';'>,126:22] +[@625,3381:3383='var',<'var'>,127:12] +[@626,3385:3391='orderby',<'orderby'>,127:16] +[@627,3393:3393='=',<'='>,127:24] +[@628,3395:3395='0',,127:26] +[@629,3396:3396=';',<';'>,127:27] +[@630,3410:3412='var',<'var'>,128:12] +[@631,3414:3420='partial',<'partial'>,128:16] +[@632,3422:3422='=',<'='>,128:24] +[@633,3424:3424='0',,128:26] +[@634,3425:3425=';',<';'>,128:27] +[@635,3439:3441='var',<'var'>,129:12] +[@636,3443:3448='remove',<'remove'>,129:16] +[@637,3450:3450='=',<'='>,129:23] +[@638,3452:3452='0',,129:25] +[@639,3453:3453=';',<';'>,129:26] +[@640,3467:3469='var',<'var'>,130:12] +[@641,3471:3476='select',<'select'>,130:16] +[@642,3478:3478='=',<'='>,130:23] +[@643,3480:3480='0',,130:25] +[@644,3481:3481=';',<';'>,130:26] +[@645,3495:3497='var',<'var'>,131:12] +[@646,3499:3501='set',<'set'>,131:16] +[@647,3503:3503='=',<'='>,131:20] +[@648,3505:3505='0',,131:22] +[@649,3506:3506=';',<';'>,131:23] +[@650,3511:3513='var',<'var'>,132:3] +[@651,3515:3517='var',<'var'>,132:7] +[@652,3519:3519='=',<'='>,132:11] +[@653,3521:3521='0',,132:13] +[@654,3522:3522=';',<';'>,132:14] +[@655,3536:3538='var',<'var'>,133:12] +[@656,3540:3543='when',<'when'>,133:16] +[@657,3545:3545='=',<'='>,133:21] +[@658,3547:3547='0',,133:23] +[@659,3548:3548=';',<';'>,133:24] +[@660,3562:3564='var',<'var'>,134:12] +[@661,3566:3570='where',<'where'>,134:16] +[@662,3572:3572='=',<'='>,134:22] +[@663,3574:3574='0',,134:24] +[@664,3575:3575=';',<';'>,134:25] +[@665,3589:3591='var',<'var'>,135:12] +[@666,3593:3597='yield',<'yield'>,135:16] +[@667,3599:3599='=',<'='>,135:22] +[@668,3601:3601='0',,135:24] +[@669,3602:3602=';',<';'>,135:25] +[@670,3616:3618='var',<'var'>,136:12] +[@671,3620:3621='__',,136:16] +[@672,3623:3623='=',<'='>,136:19] +[@673,3625:3625='0',,136:21] +[@674,3626:3626=';',<';'>,136:22] +[@675,3640:3644='where',<'where'>,137:12] +[@676,3646:3646='=',<'='>,137:18] +[@677,3648:3652='yield',<'yield'>,137:20] +[@678,3654:3654='=',<'='>,137:26] +[@679,3656:3656='0',,137:28] +[@680,3657:3657=';',<';'>,137:29] +[@681,3672:3673='if',<'if'>,139:12] +[@682,3675:3675='(',<'('>,139:15] +[@683,3676:3676='i',,139:16] +[@684,3678:3678='>',<'>'>,139:18] +[@685,3680:3680='0',,139:20] +[@686,3681:3681=')',<')'>,139:21] +[@687,3695:3695='{',<'{'>,140:12] +[@688,3713:3718='return',<'return'>,141:16] +[@689,3719:3719=';',<';'>,141:22] +[@690,3733:3733='}',<'}'>,142:12] +[@691,3747:3750='else',<'else'>,143:12] +[@692,3752:3753='if',<'if'>,143:17] +[@693,3755:3755='(',<'('>,143:20] +[@694,3756:3756='i',,143:21] +[@695,3758:3759='==',<'=='>,143:23] +[@696,3761:3761='0',,143:26] +[@697,3762:3762=')',<')'>,143:27] +[@698,3776:3776='{',<'{'>,144:12] +[@699,3794:3798='throw',<'throw'>,145:16] +[@700,3800:3802='new',<'new'>,145:22] +[@701,3804:3812='Exception',,145:26] +[@702,3813:3813='(',<'('>,145:35] +[@703,3814:3814=')',<')'>,145:36] +[@704,3815:3815=';',<';'>,145:37] +[@705,3829:3829='}',<'}'>,146:12] +[@706,3843:3845='var',<'var'>,147:12] +[@707,3847:3848='o1',,147:16] +[@708,3850:3850='=',<'='>,147:19] +[@709,3852:3854='new',<'new'>,147:21] +[@710,3856:3863='MyObject',,147:25] +[@711,3864:3864='(',<'('>,147:33] +[@712,3865:3865=')',<')'>,147:34] +[@713,3866:3866=';',<';'>,147:35] +[@714,3880:3882='var',<'var'>,148:12] +[@715,3884:3885='o2',,148:16] +[@716,3887:3887='=',<'='>,148:19] +[@717,3889:3891='new',<'new'>,148:21] +[@718,3893:3900='MyObject',,148:25] +[@719,3901:3901='(',<'('>,148:33] +[@720,3902:3904='var',<'var'>,148:34] +[@721,3905:3905=')',<')'>,148:37] +[@722,3906:3906=';',<';'>,148:38] +[@723,3920:3922='var',<'var'>,149:12] +[@724,3924:3925='o3',,149:16] +[@725,3927:3927='=',<'='>,149:19] +[@726,3929:3931='new',<'new'>,149:21] +[@727,3933:3940='MyObject',,149:25] +[@728,3942:3942='{',<'{'>,149:34] +[@729,3944:3944='A',,149:36] +[@730,3946:3946='=',<'='>,149:38] +[@731,3948:3948='i',,149:40] +[@732,3950:3950='}',<'}'>,149:42] +[@733,3951:3951=';',<';'>,149:43] +[@734,3965:3967='var',<'var'>,150:12] +[@735,3969:3970='o4',,150:16] +[@736,3972:3972='=',<'='>,150:19] +[@737,3974:3976='new',<'new'>,150:21] +[@738,3978:3985='MyObject',,150:25] +[@739,3986:3986='(',<'('>,150:33] +[@740,3987:3994='@dynamic',,150:34] +[@741,3995:3995=')',<')'>,150:42] +[@742,4009:4009='{',<'{'>,151:12] +[@743,4027:4027='A',,152:16] +[@744,4029:4029='=',<'='>,152:18] +[@745,4031:4031='0',,152:20] +[@746,4032:4032=',',<','>,152:21] +[@747,4050:4050='B',,153:16] +[@748,4052:4052='=',<'='>,153:18] +[@749,4054:4054='0',,153:20] +[@750,4055:4055=',',<','>,153:21] +[@751,4073:4073='C',,154:16] +[@752,4075:4075='=',<'='>,154:18] +[@753,4077:4077='0',,154:20] +[@754,4091:4091='}',<'}'>,155:12] +[@755,4092:4092=';',<';'>,155:13] +[@756,4106:4108='var',<'var'>,156:12] +[@757,4110:4111='o5',,156:16] +[@758,4113:4113='=',<'='>,156:19] +[@759,4115:4117='new',<'new'>,156:21] +[@760,4119:4119='{',<'{'>,156:25] +[@761,4121:4121='A',,156:27] +[@762,4123:4123='=',<'='>,156:29] +[@763,4125:4125='0',,156:31] +[@764,4127:4127='}',<'}'>,156:33] +[@765,4128:4128=';',<';'>,156:34] +[@766,4142:4144='var',<'var'>,157:12] +[@767,4146:4166='dictionaryInitializer',,157:16] +[@768,4168:4168='=',<'='>,157:38] +[@769,4170:4172='new',<'new'>,157:40] +[@770,4174:4183='Dictionary',,157:44] +[@771,4184:4184='<',<'<'>,157:54] +[@772,4185:4187='int',<'int'>,157:55] +[@773,4188:4188=',',<','>,157:58] +[@774,4190:4195='string',<'string'>,157:60] +[@775,4196:4196='>',<'>'>,157:66] +[@776,4211:4211='{',<'{'>,158:12] +[@777,4230:4230='{',<'{'>,159:16] +[@778,4231:4231='1',,159:17] +[@779,4232:4232=',',<','>,159:18] +[@780,4234:4235='""',,159:20] +[@781,4236:4236='}',<'}'>,159:22] +[@782,4237:4237=',',<','>,159:23] +[@783,4256:4256='{',<'{'>,160:16] +[@784,4257:4257='2',,160:17] +[@785,4258:4258=',',<','>,160:18] +[@786,4260:4262='"a"',,160:20] +[@787,4263:4263='}',<'}'>,160:23] +[@788,4278:4278='}',<'}'>,161:12] +[@789,4279:4279=';',<';'>,161:13] +[@790,4293:4297='float',<'float'>,162:12] +[@791,4298:4298='[',<'['>,162:17] +[@792,4299:4299=']',<']'>,162:18] +[@793,4301:4301='a',,162:20] +[@794,4303:4303='=',<'='>,162:22] +[@795,4305:4307='new',<'new'>,162:24] +[@796,4309:4313='float',<'float'>,162:28] +[@797,4314:4314='[',<'['>,162:33] +[@798,4315:4315=']',<']'>,162:34] +[@799,4330:4330='{',<'{'>,163:12] +[@800,4348:4349='0f',,164:16] +[@801,4350:4350=',',<','>,164:18] +[@802,4368:4371='1.1f',,165:16] +[@803,4385:4385='}',<'}'>,166:12] +[@804,4386:4386=';',<';'>,166:13] +[@805,4400:4402='int',<'int'>,167:12] +[@806,4403:4403='[',<'['>,167:15] +[@807,4404:4404=',',<','>,167:16] +[@808,4406:4406=',',<','>,167:18] +[@809,4407:4407=']',<']'>,167:19] +[@810,4409:4412='cube',,167:21] +[@811,4414:4414='=',<'='>,167:26] +[@812,4416:4416='{',<'{'>,167:28] +[@813,4418:4418='{',<'{'>,167:30] +[@814,4420:4420='{',<'{'>,167:32] +[@815,4422:4424='111',,167:34] +[@816,4425:4425=',',<','>,167:37] +[@817,4427:4429='112',,167:39] +[@818,4430:4430=',',<','>,167:42] +[@819,4432:4432='}',<'}'>,167:44] +[@820,4433:4433=',',<','>,167:45] +[@821,4435:4435='{',<'{'>,167:47] +[@822,4437:4439='121',,167:49] +[@823,4440:4440=',',<','>,167:52] +[@824,4442:4444='122',,167:54] +[@825,4446:4446='}',<'}'>,167:58] +[@826,4448:4448='}',<'}'>,167:60] +[@827,4449:4449=',',<','>,167:61] +[@828,4451:4451='{',<'{'>,167:63] +[@829,4453:4453='{',<'{'>,167:65] +[@830,4455:4457='211',,167:67] +[@831,4458:4458=',',<','>,167:70] +[@832,4460:4462='212',,167:72] +[@833,4464:4464='}',<'}'>,167:76] +[@834,4465:4465=',',<','>,167:77] +[@835,4467:4467='{',<'{'>,167:79] +[@836,4469:4471='221',,167:81] +[@837,4472:4472=',',<','>,167:84] +[@838,4474:4476='222',,167:86] +[@839,4478:4478='}',<'}'>,167:90] +[@840,4480:4480='}',<'}'>,167:92] +[@841,4482:4482='}',<'}'>,167:94] +[@842,4483:4483=';',<';'>,167:95] +[@843,4497:4499='int',<'int'>,168:12] +[@844,4500:4500='[',<'['>,168:15] +[@845,4501:4501=']',<']'>,168:16] +[@846,4502:4502='[',<'['>,168:17] +[@847,4503:4503=']',<']'>,168:18] +[@848,4505:4510='jagged',,168:20] +[@849,4512:4512='=',<'='>,168:27] +[@850,4514:4514='{',<'{'>,168:29] +[@851,4516:4516='{',<'{'>,168:31] +[@852,4518:4520='111',,168:33] +[@853,4522:4522='}',<'}'>,168:37] +[@854,4523:4523=',',<','>,168:38] +[@855,4525:4525='{',<'{'>,168:40] +[@856,4527:4529='121',,168:42] +[@857,4530:4530=',',<','>,168:45] +[@858,4532:4534='122',,168:47] +[@859,4536:4536='}',<'}'>,168:51] +[@860,4538:4538='}',<'}'>,168:53] +[@861,4539:4539=';',<';'>,168:54] +[@862,4553:4555='int',<'int'>,169:12] +[@863,4556:4556='[',<'['>,169:15] +[@864,4557:4557=']',<']'>,169:16] +[@865,4558:4558='[',<'['>,169:17] +[@866,4559:4559=',',<','>,169:18] +[@867,4560:4560=']',<']'>,169:19] +[@868,4562:4564='arr',,169:21] +[@869,4566:4566='=',<'='>,169:25] +[@870,4568:4570='new',<'new'>,169:27] +[@871,4572:4574='int',<'int'>,169:31] +[@872,4575:4575='[',<'['>,169:34] +[@873,4576:4576='5',,169:35] +[@874,4577:4577=']',<']'>,169:36] +[@875,4578:4578='[',<'['>,169:37] +[@876,4579:4579=',',<','>,169:38] +[@877,4580:4580=']',<']'>,169:39] +[@878,4581:4581=';',<';'>,169:40] +[@879,4627:4629='arr',,170:12] +[@880,4630:4630='[',<'['>,170:15] +[@881,4631:4631='0',,170:16] +[@882,4632:4632=']',<']'>,170:17] +[@883,4634:4634='=',<'='>,170:19] +[@884,4636:4638='new',<'new'>,170:21] +[@885,4640:4642='int',<'int'>,170:25] +[@886,4643:4643='[',<'['>,170:28] +[@887,4644:4644='5',,170:29] +[@888,4645:4645=',',<','>,170:30] +[@889,4646:4646='5',,170:31] +[@890,4647:4647=']',<']'>,170:32] +[@891,4648:4648=';',<';'>,170:33] +[@892,4703:4705='arr',,171:12] +[@893,4706:4706='[',<'['>,171:15] +[@894,4707:4707='0',,171:16] +[@895,4708:4708=']',<']'>,171:17] +[@896,4709:4709='[',<'['>,171:18] +[@897,4710:4710='0',,171:19] +[@898,4711:4711=',',<','>,171:20] +[@899,4712:4712='0',,171:21] +[@900,4713:4713=']',<']'>,171:22] +[@901,4715:4715='=',<'='>,171:24] +[@902,4717:4718='47',,171:26] +[@903,4719:4719=';',<';'>,171:28] +[@904,4733:4735='int',<'int'>,172:12] +[@905,4736:4736='[',<'['>,172:15] +[@906,4737:4737=']',<']'>,172:16] +[@907,4739:4756='arrayTypeInference',,172:18] +[@908,4758:4758='=',<'='>,172:37] +[@909,4760:4762='new',<'new'>,172:39] +[@910,4763:4763='[',<'['>,172:42] +[@911,4764:4764=']',<']'>,172:43] +[@912,4766:4766='{',<'{'>,172:45] +[@913,4768:4768='0',,172:47] +[@914,4769:4769=',',<','>,172:48] +[@915,4771:4771='1',,172:50] +[@916,4772:4772=',',<','>,172:51] +[@917,4774:4774='}',<'}'>,172:53] +[@918,4775:4775=';',<';'>,172:54] +[@919,4789:4794='switch',<'switch'>,173:12] +[@920,4796:4796='(',<'('>,173:19] +[@921,4797:4797='3',,173:20] +[@922,4798:4798=')',<')'>,173:21] +[@923,4800:4800='{',<'{'>,173:23] +[@924,4802:4802='}',<'}'>,173:25] +[@925,4816:4821='switch',<'switch'>,174:12] +[@926,4823:4823='(',<'('>,174:19] +[@927,4824:4824='i',,174:20] +[@928,4825:4825=')',<')'>,174:21] +[@929,4839:4839='{',<'{'>,175:12] +[@930,4857:4860='case',<'case'>,176:16] +[@931,4862:4862='0',,176:21] +[@932,4863:4863=':',<':'>,176:22] +[@933,4881:4884='case',<'case'>,177:16] +[@934,4886:4886='1',,177:21] +[@935,4887:4887=':',<':'>,177:22] +[@936,4909:4909='{',<'{'>,178:20] +[@937,4935:4938='goto',<'goto'>,179:24] +[@938,4940:4943='case',<'case'>,179:29] +[@939,4945:4945='2',,179:34] +[@940,4946:4946=';',<';'>,179:35] +[@941,4968:4968='}',<'}'>,180:20] +[@942,4986:4989='case',<'case'>,181:16] +[@943,4991:4991='2',,181:21] +[@944,4993:4993='+',<'+'>,181:23] +[@945,4995:4995='3',,181:25] +[@946,4996:4996=':',<':'>,181:26] +[@947,5018:5018='{',<'{'>,182:20] +[@948,5044:5047='goto',<'goto'>,183:24] +[@949,5049:5055='default',<'default'>,183:29] +[@950,5056:5056=';',<';'>,183:36] +[@951,5082:5086='break',<'break'>,184:24] +[@952,5087:5087=';',<';'>,184:29] +[@953,5109:5109='}',<'}'>,185:20] +[@954,5127:5133='default',<'default'>,186:16] +[@955,5134:5134=':',<':'>,186:23] +[@956,5156:5156='{',<'{'>,187:20] +[@957,5182:5187='return',<'return'>,188:24] +[@958,5188:5188=';',<';'>,188:30] +[@959,5210:5210='}',<'}'>,189:20] +[@960,5224:5224='}',<'}'>,190:12] +[@961,5238:5242='while',<'while'>,191:12] +[@962,5244:5244='(',<'('>,191:18] +[@963,5245:5245='i',,191:19] +[@964,5247:5247='<',<'<'>,191:21] +[@965,5249:5250='10',,191:23] +[@966,5251:5251=')',<')'>,191:25] +[@967,5265:5265='{',<'{'>,192:12] +[@968,5283:5284='++',<'++'>,193:16] +[@969,5285:5285='i',,193:18] +[@970,5286:5286=';',<';'>,193:19] +[@971,5304:5305='if',<'if'>,194:16] +[@972,5307:5307='(',<'('>,194:19] +[@973,5308:5311='true',<'true'>,194:20] +[@974,5312:5312=')',<')'>,194:24] +[@975,5314:5321='continue',<'continue'>,194:26] +[@976,5322:5322=';',<';'>,194:34] +[@977,5340:5344='break',<'break'>,195:16] +[@978,5345:5345=';',<';'>,195:21] +[@979,5359:5359='}',<'}'>,196:12] +[@980,5373:5374='do',<'do'>,197:12] +[@981,5388:5388='{',<'{'>,198:12] +[@982,5406:5407='++',<'++'>,199:16] +[@983,5408:5408='i',,199:18] +[@984,5409:5409=';',<';'>,199:19] +[@985,5427:5428='if',<'if'>,200:16] +[@986,5430:5430='(',<'('>,200:19] +[@987,5431:5434='true',<'true'>,200:20] +[@988,5435:5435=')',<')'>,200:24] +[@989,5437:5444='continue',<'continue'>,200:26] +[@990,5445:5445=';',<';'>,200:34] +[@991,5463:5467='break',<'break'>,201:16] +[@992,5468:5468=';',<';'>,201:21] +[@993,5482:5482='}',<'}'>,202:12] +[@994,5496:5500='while',<'while'>,203:12] +[@995,5502:5502='(',<'('>,203:18] +[@996,5503:5503='i',,203:19] +[@997,5505:5505='<',<'<'>,203:21] +[@998,5507:5508='10',,203:23] +[@999,5509:5509=')',<')'>,203:25] +[@1000,5510:5510=';',<';'>,203:26] +[@1001,5524:5526='for',<'for'>,204:12] +[@1002,5528:5528='(',<'('>,204:16] +[@1003,5529:5531='int',<'int'>,204:17] +[@1004,5533:5533='j',,204:21] +[@1005,5535:5535='=',<'='>,204:23] +[@1006,5537:5537='0',,204:25] +[@1007,5538:5538=';',<';'>,204:26] +[@1008,5540:5540='j',,204:28] +[@1009,5542:5542='<',<'<'>,204:30] +[@1010,5544:5546='100',,204:32] +[@1011,5547:5547=';',<';'>,204:35] +[@1012,5549:5550='++',<'++'>,204:37] +[@1013,5551:5551='j',,204:39] +[@1014,5552:5552=')',<')'>,204:40] +[@1015,5566:5566='{',<'{'>,205:12] +[@1016,5584:5586='for',<'for'>,206:16] +[@1017,5587:5587='(',<'('>,206:19] +[@1018,5588:5588=';',<';'>,206:20] +[@1019,5589:5589=';',<';'>,206:21] +[@1020,5590:5590=')',<')'>,206:22] +[@1021,5609:5609='{',<'{'>,207:16] +[@1022,5631:5633='for',<'for'>,208:20] +[@1023,5635:5635='(',<'('>,208:24] +[@1024,5636:5638='int',<'int'>,208:25] +[@1025,5640:5640='i',,208:29] +[@1026,5642:5642='=',<'='>,208:31] +[@1027,5644:5644='0',,208:33] +[@1028,5645:5645=',',<','>,208:34] +[@1029,5647:5647='j',,208:36] +[@1030,5649:5649='=',<'='>,208:38] +[@1031,5651:5651='0',,208:40] +[@1032,5652:5652=';',<';'>,208:41] +[@1033,5654:5654='i',,208:43] +[@1034,5656:5656='<',<'<'>,208:45] +[@1035,5658:5663='length',,208:47] +[@1036,5664:5664=';',<';'>,208:53] +[@1037,5666:5666='i',,208:55] +[@1038,5667:5668='++',<'++'>,208:56] +[@1039,5669:5669=',',<','>,208:58] +[@1040,5671:5671='j',,208:60] +[@1041,5672:5673='++',<'++'>,208:61] +[@1042,5674:5674=')',<')'>,208:63] +[@1043,5676:5676='{',<'{'>,208:65] +[@1044,5678:5678='}',<'}'>,208:67] +[@1045,5700:5701='if',<'if'>,209:20] +[@1046,5703:5703='(',<'('>,209:23] +[@1047,5704:5707='true',<'true'>,209:24] +[@1048,5708:5708=')',<')'>,209:28] +[@1049,5710:5717='continue',<'continue'>,209:30] +[@1050,5718:5718=';',<';'>,209:38] +[@1051,5740:5744='break',<'break'>,210:20] +[@1052,5745:5745=';',<';'>,210:25] +[@1053,5763:5763='}',<'}'>,211:16] +[@1054,5777:5777='}',<'}'>,212:12] +[@1055,5791:5795='label',,213:12] +[@1056,5796:5796=':',<':'>,213:17] +[@1057,5810:5813='goto',<'goto'>,214:12] +[@1058,5815:5819='label',,214:17] +[@1059,5820:5820=';',<';'>,214:22] +[@1060,5834:5839='label2',,215:12] +[@1061,5840:5840=':',<':'>,215:18] +[@1062,5842:5842=';',<';'>,215:20] +[@1063,5856:5862='foreach',<'foreach'>,216:12] +[@1064,5864:5864='(',<'('>,216:20] +[@1065,5865:5867='var',<'var'>,216:21] +[@1066,5869:5869='i',,216:25] +[@1067,5871:5872='in',<'in'>,216:27] +[@1068,5874:5878='Items',,216:30] +[@1069,5879:5879='(',<'('>,216:35] +[@1070,5880:5880=')',<')'>,216:36] +[@1071,5881:5881=')',<')'>,216:37] +[@1072,5895:5895='{',<'{'>,217:12] +[@1073,5913:5914='if',<'if'>,218:16] +[@1074,5916:5916='(',<'('>,218:19] +[@1075,5917:5917='i',,218:20] +[@1076,5919:5920='==',<'=='>,218:22] +[@1077,5922:5922='7',,218:25] +[@1078,5923:5923=')',<')'>,218:26] +[@1079,5945:5950='return',<'return'>,219:20] +[@1080,5951:5951=';',<';'>,219:26] +[@1081,5969:5972='else',<'else'>,220:16] +[@1082,5994:6001='continue',<'continue'>,221:20] +[@1083,6002:6002=';',<';'>,221:28] +[@1084,6016:6016='}',<'}'>,222:12] +[@1085,6031:6034='lock',<'lock'>,224:12] +[@1086,6036:6036='(',<'('>,224:17] +[@1087,6037:6040='sync',,224:18] +[@1088,6041:6041=')',<')'>,224:22] +[@1089,6059:6065='process',,225:16] +[@1090,6066:6066='(',<'('>,225:23] +[@1091,6067:6067=')',<')'>,225:24] +[@1092,6068:6068=';',<';'>,225:25] +[@1093,6082:6086='using',<'using'>,226:12] +[@1094,6088:6088='(',<'('>,226:18] +[@1095,6089:6091='var',<'var'>,226:19] +[@1096,6093:6093='v',,226:23] +[@1097,6095:6095='=',<'='>,226:25] +[@1098,6097:6106='BeginScope',,226:27] +[@1099,6107:6107='(',<'('>,226:37] +[@1100,6108:6108=')',<')'>,226:38] +[@1101,6109:6109=')',<')'>,226:39] +[@1102,6123:6127='using',<'using'>,227:12] +[@1103,6129:6129='(',<'('>,227:18] +[@1104,6130:6130='A',,227:19] +[@1105,6132:6132='a',,227:21] +[@1106,6134:6134='=',<'='>,227:23] +[@1107,6136:6138='new',<'new'>,227:25] +[@1108,6140:6140='A',,227:29] +[@1109,6141:6141='(',<'('>,227:30] +[@1110,6142:6142=')',<')'>,227:31] +[@1111,6143:6143=')',<')'>,227:32] +[@1112,6157:6161='using',<'using'>,228:12] +[@1113,6163:6163='(',<'('>,228:18] +[@1114,6164:6164='A',,228:19] +[@1115,6166:6166='a',,228:21] +[@1116,6168:6168='=',<'='>,228:23] +[@1117,6170:6172='new',<'new'>,228:25] +[@1118,6174:6174='A',,228:29] +[@1119,6175:6175='(',<'('>,228:30] +[@1120,6176:6176=')',<')'>,228:31] +[@1121,6177:6177=',',<','>,228:32] +[@1122,6179:6179='b',,228:34] +[@1123,6181:6181='=',<'='>,228:36] +[@1124,6183:6185='new',<'new'>,228:38] +[@1125,6187:6187='A',,228:42] +[@1126,6188:6188='(',<'('>,228:43] +[@1127,6189:6189=')',<')'>,228:44] +[@1128,6190:6190=')',<')'>,228:45] +[@1129,6204:6208='using',<'using'>,229:12] +[@1130,6210:6210='(',<'('>,229:18] +[@1131,6211:6220='BeginScope',,229:19] +[@1132,6221:6221='(',<'('>,229:29] +[@1133,6222:6222=')',<')'>,229:30] +[@1134,6223:6223=')',<')'>,229:31] +[@1135,6241:6246='return',<'return'>,230:16] +[@1136,6247:6247=';',<';'>,230:22] +[@1137,6261:6265='yield',<'yield'>,231:12] +[@1138,6267:6272='return',<'return'>,231:18] +[@1139,6274:6277='this',<'this'>,231:25] +[@1140,6278:6278='.',<'.'>,231:29] +[@1141,6279:6283='items',,231:30] +[@1142,6284:6284='[',<'['>,231:35] +[@1143,6285:6285='3',,231:36] +[@1144,6286:6286=']',<']'>,231:37] +[@1145,6287:6287=';',<';'>,231:38] +[@1146,6301:6305='yield',<'yield'>,232:12] +[@1147,6307:6311='break',<'break'>,232:18] +[@1148,6312:6312=';',<';'>,232:23] +[@1149,6326:6330='fixed',<'fixed'>,233:12] +[@1150,6332:6332='(',<'('>,233:18] +[@1151,6333:6335='int',<'int'>,233:19] +[@1152,6336:6336='*',<'*'>,233:22] +[@1153,6338:6338='p',,233:24] +[@1154,6340:6340='=',<'='>,233:26] +[@1155,6342:6351='stackalloc',<'stackalloc'>,233:28] +[@1156,6353:6355='int',<'int'>,233:39] +[@1157,6356:6356='[',<'['>,233:42] +[@1158,6357:6359='100',,233:43] +[@1159,6360:6360=']',<']'>,233:46] +[@1160,6361:6361=',',<','>,233:47] +[@1161,6363:6363='q',,233:49] +[@1162,6365:6365='=',<'='>,233:51] +[@1163,6367:6367='&',<'&'>,233:53] +[@1164,6368:6368='y',,233:54] +[@1165,6369:6369=')',<')'>,233:55] +[@1166,6383:6383='{',<'{'>,234:12] +[@1167,6401:6401='*',<'*'>,235:16] +[@1168,6402:6407='intref',,235:17] +[@1169,6409:6409='=',<'='>,235:24] +[@1170,6411:6411='1',,235:26] +[@1171,6412:6412=';',<';'>,235:27] +[@1172,6426:6426='}',<'}'>,236:12] +[@1173,6440:6444='fixed',<'fixed'>,237:12] +[@1174,6446:6446='(',<'('>,237:18] +[@1175,6447:6449='int',<'int'>,237:19] +[@1176,6450:6450='*',<'*'>,237:22] +[@1177,6452:6452='p',,237:24] +[@1178,6454:6454='=',<'='>,237:26] +[@1179,6456:6465='stackalloc',<'stackalloc'>,237:28] +[@1180,6467:6469='int',<'int'>,237:39] +[@1181,6470:6470='[',<'['>,237:42] +[@1182,6471:6473='100',,237:43] +[@1183,6474:6474=']',<']'>,237:46] +[@1184,6475:6475=')',<')'>,237:47] +[@1185,6489:6489='{',<'{'>,238:12] +[@1186,6507:6507='*',<'*'>,239:16] +[@1187,6508:6513='intref',,239:17] +[@1188,6515:6515='=',<'='>,239:24] +[@1189,6517:6517='1',,239:26] +[@1190,6518:6518=';',<';'>,239:27] +[@1191,6532:6532='}',<'}'>,240:12] +[@1192,6546:6551='unsafe',<'unsafe'>,241:12] +[@1193,6565:6565='{',<'{'>,242:12] +[@1194,6583:6585='int',<'int'>,243:16] +[@1195,6586:6586='*',<'*'>,243:19] +[@1196,6588:6588='p',,243:21] +[@1197,6590:6590='=',<'='>,243:23] +[@1198,6592:6595='null',<'null'>,243:25] +[@1199,6596:6596=';',<';'>,243:29] +[@1200,6610:6610='}',<'}'>,244:12] +[@1201,6624:6626='try',<'try'>,245:12] +[@1202,6640:6640='{',<'{'>,246:12] +[@1203,6658:6662='throw',<'throw'>,247:16] +[@1204,6664:6667='null',<'null'>,247:22] +[@1205,6668:6668=';',<';'>,247:26] +[@1206,6682:6682='}',<'}'>,248:12] +[@1207,6696:6700='catch',<'catch'>,249:12] +[@1208,6702:6702='(',<'('>,249:18] +[@1209,6703:6708='System',,249:19] +[@1210,6709:6709='.',<'.'>,249:25] +[@1211,6710:6733='AccessViolationException',,249:26] +[@1212,6735:6736='av',,249:51] +[@1213,6737:6737=')',<')'>,249:53] +[@1214,6751:6751='{',<'{'>,250:12] +[@1215,6769:6773='throw',<'throw'>,251:16] +[@1216,6775:6776='av',,251:22] +[@1217,6777:6777=';',<';'>,251:24] +[@1218,6791:6791='}',<'}'>,252:12] +[@1219,6805:6809='catch',<'catch'>,253:12] +[@1220,6811:6811='(',<'('>,253:18] +[@1221,6812:6820='Exception',,253:19] +[@1222,6821:6821=')',<')'>,253:28] +[@1223,6835:6835='{',<'{'>,254:12] +[@1224,6853:6857='throw',<'throw'>,255:16] +[@1225,6858:6858=';',<';'>,255:21] +[@1226,6872:6872='}',<'}'>,256:12] +[@1227,6886:6892='finally',<'finally'>,257:12] +[@1228,6906:6906='{',<'{'>,258:12] +[@1229,6924:6926='try',<'try'>,259:16] +[@1230,6928:6928='{',<'{'>,259:20] +[@1231,6930:6930='}',<'}'>,259:22] +[@1232,6932:6936='catch',<'catch'>,259:24] +[@1233,6938:6938='{',<'{'>,259:30] +[@1234,6940:6940='}',<'}'>,259:32] +[@1235,6954:6954='}',<'}'>,260:12] +[@1236,6968:6970='var',<'var'>,261:12] +[@1237,6972:6980='anonymous',,261:16] +[@1238,6982:6982='=',<'='>,261:26] +[@1239,6997:6997='{',<'{'>,262:12] +[@1240,7015:7015='A',,263:16] +[@1241,7017:7017='=',<'='>,263:18] +[@1242,7019:7019='1',,263:20] +[@1243,7020:7020=',',<','>,263:21] +[@1244,7038:7038='B',,264:16] +[@1245,7040:7040='=',<'='>,264:18] +[@1246,7042:7042='2',,264:20] +[@1247,7043:7043=',',<','>,264:21] +[@1248,7061:7061='C',,265:16] +[@1249,7063:7063='=',<'='>,265:18] +[@1250,7065:7065='3',,265:20] +[@1251,7066:7066=',',<','>,265:21] +[@1252,7080:7080='}',<'}'>,266:12] +[@1253,7081:7081=';',<';'>,266:13] +[@1254,7095:7097='var',<'var'>,267:12] +[@1255,7099:7103='query',,267:16] +[@1256,7105:7105='=',<'='>,267:22] +[@1257,7107:7110='from',<'from'>,267:24] +[@1258,7112:7112='c',,267:29] +[@1259,7114:7115='in',<'in'>,267:31] +[@1260,7117:7125='customers',,267:34] +[@1261,7151:7153='let',<'let'>,268:24] +[@1262,7155:7155='d',,268:28] +[@1263,7157:7157='=',<'='>,268:30] +[@1264,7159:7159='c',,268:32] +[@1265,7185:7189='where',<'where'>,269:24] +[@1266,7191:7191='d',,269:30] +[@1267,7193:7194='!=',<'!='>,269:32] +[@1268,7196:7199='null',<'null'>,269:35] +[@1269,7225:7228='join',<'join'>,270:24] +[@1270,7230:7231='c1',,270:29] +[@1271,7233:7234='in',<'in'>,270:32] +[@1272,7236:7244='customers',,270:35] +[@1273,7246:7247='on',<'on'>,270:45] +[@1274,7249:7250='c1',,270:48] +[@1275,7251:7251='.',<'.'>,270:50] +[@1276,7252:7262='GetHashCode',,270:51] +[@1277,7263:7263='(',<'('>,270:62] +[@1278,7264:7264=')',<')'>,270:63] +[@1279,7266:7271='equals',<'equals'>,270:65] +[@1280,7273:7273='c',,270:72] +[@1281,7274:7274='.',<'.'>,270:73] +[@1282,7275:7285='GetHashCode',,270:74] +[@1283,7286:7286='(',<'('>,270:85] +[@1284,7287:7287=')',<')'>,270:86] +[@1285,7313:7316='join',<'join'>,271:24] +[@1286,7318:7319='c1',,271:29] +[@1287,7321:7322='in',<'in'>,271:32] +[@1288,7324:7332='customers',,271:35] +[@1289,7334:7335='on',<'on'>,271:45] +[@1290,7337:7338='c1',,271:48] +[@1291,7339:7339='.',<'.'>,271:50] +[@1292,7340:7350='GetHashCode',,271:51] +[@1293,7351:7351='(',<'('>,271:62] +[@1294,7352:7352=')',<')'>,271:63] +[@1295,7354:7359='equals',<'equals'>,271:65] +[@1296,7361:7361='c',,271:72] +[@1297,7362:7362='.',<'.'>,271:73] +[@1298,7363:7373='GetHashCode',,271:74] +[@1299,7374:7374='(',<'('>,271:85] +[@1300,7375:7375=')',<')'>,271:86] +[@1301,7377:7380='into',<'into'>,271:88] +[@1302,7382:7382='e',,271:93] +[@1303,7408:7412='group',<'group'>,272:24] +[@1304,7414:7414='c',,272:30] +[@1305,7416:7417='by',<'by'>,272:32] +[@1306,7419:7419='c',,272:35] +[@1307,7420:7420='.',<'.'>,272:36] +[@1308,7421:7427='Country',,272:37] +[@1309,7457:7460='into',<'into'>,273:28] +[@1310,7462:7462='g',,273:33] +[@1311,7492:7498='orderby',<'orderby'>,274:28] +[@1312,7500:7500='g',,274:36] +[@1313,7501:7501='.',<'.'>,274:37] +[@1314,7502:7506='Count',,274:38] +[@1315,7507:7507='(',<'('>,274:43] +[@1316,7508:7508=')',<')'>,274:44] +[@1317,7510:7518='ascending',<'ascending'>,274:46] +[@1318,7548:7554='orderby',<'orderby'>,275:28] +[@1319,7556:7556='g',,275:36] +[@1320,7557:7557='.',<'.'>,275:37] +[@1321,7558:7560='Key',,275:38] +[@1322,7562:7571='descending',<'descending'>,275:42] +[@1323,7601:7606='select',<'select'>,276:28] +[@1324,7608:7610='new',<'new'>,276:35] +[@1325,7612:7612='{',<'{'>,276:39] +[@1326,7614:7620='Country',,276:41] +[@1327,7622:7622='=',<'='>,276:49] +[@1328,7624:7624='g',,276:51] +[@1329,7625:7625='.',<'.'>,276:52] +[@1330,7626:7628='Key',,276:53] +[@1331,7629:7629=',',<','>,276:56] +[@1332,7631:7639='CustCount',,276:58] +[@1333,7641:7641='=',<'='>,276:68] +[@1334,7643:7643='g',,276:70] +[@1335,7644:7644='.',<'.'>,276:71] +[@1336,7645:7649='Count',,276:72] +[@1337,7650:7650='(',<'('>,276:77] +[@1338,7651:7651=')',<')'>,276:78] +[@1339,7653:7653='}',<'}'>,276:80] +[@1340,7654:7654=';',<';'>,276:81] +[@1341,7668:7672='query',,277:12] +[@1342,7674:7674='=',<'='>,277:18] +[@1343,7676:7679='from',<'from'>,277:20] +[@1344,7681:7681='c',,277:25] +[@1345,7683:7684='in',<'in'>,277:27] +[@1346,7686:7694='customers',,277:30] +[@1347,7716:7721='select',<'select'>,278:20] +[@1348,7723:7723='c',,278:27] +[@1349,7725:7728='into',<'into'>,278:29] +[@1350,7730:7730='d',,278:34] +[@1351,7752:7757='select',<'select'>,279:20] +[@1352,7759:7759='d',,279:27] +[@1353,7760:7760=';',<';'>,279:28] +[@1354,7770:7770='}',<'}'>,280:8] +[@1355,7780:7780='~',<'~'>,281:8] +[@1356,7781:7781='A',,281:9] +[@1357,7782:7782='(',<'('>,281:10] +[@1358,7783:7783=')',<')'>,281:11] +[@1359,7793:7793='{',<'{'>,282:8] +[@1360,7803:7803='}',<'}'>,283:8] +[@1361,7813:7819='private',<'private'>,284:8] +[@1362,7821:7828='readonly',<'readonly'>,284:16] +[@1363,7830:7832='int',<'int'>,284:25] +[@1364,7834:7835='f1',,284:29] +[@1365,7836:7836=';',<';'>,284:31] +[@1366,7846:7846='[',<'['>,285:8] +[@1367,7847:7854='Obsolete',,285:9] +[@1368,7855:7855=']',<']'>,285:17] +[@1369,7865:7865='[',<'['>,286:8] +[@1370,7866:7876='NonExisting',,286:9] +[@1371,7877:7877=']',<']'>,286:20] +[@1372,7887:7887='[',<'['>,287:8] +[@1373,7888:7890='Foo',,287:9] +[@1374,7891:7892='::',<'::'>,287:12] +[@1375,7893:7903='NonExisting',,287:14] +[@1376,7904:7904='(',<'('>,287:25] +[@1377,7905:7907='var',<'var'>,287:26] +[@1378,7908:7908=',',<','>,287:29] +[@1379,7910:7910='5',,287:31] +[@1380,7911:7911=')',<')'>,287:32] +[@1381,7912:7912=']',<']'>,287:33] +[@1382,7922:7922='[',<'['>,288:8] +[@1383,7923:7934='CLSCompliant',,288:9] +[@1384,7935:7935='(',<'('>,288:21] +[@1385,7936:7940='false',<'false'>,288:22] +[@1386,7941:7941=')',<')'>,288:27] +[@1387,7942:7942=']',<']'>,288:28] +[@1388,7952:7952='[',<'['>,289:8] +[@1389,7953:7960='Obsolete',,289:9] +[@1390,7961:7961=',',<','>,289:17] +[@1391,7963:7968='System',,289:19] +[@1392,7969:7969='.',<'.'>,289:25] +[@1393,7970:7982='NonSerialized',,289:26] +[@1394,7983:7983=',',<','>,289:39] +[@1395,7985:7997='NonSerialized',,289:41] +[@1396,7998:7998=',',<','>,289:54] +[@1397,8000:8011='CLSCompliant',,289:56] +[@1398,8012:8012='(',<'('>,289:68] +[@1399,8013:8016='true',<'true'>,289:69] +[@1400,8018:8019='||',<'||'>,289:74] +[@1401,8021:8025='false',<'false'>,289:77] +[@1402,8027:8027='&',<'&'>,289:83] +[@1403,8029:8032='true',<'true'>,289:85] +[@1404,8033:8033=')',<')'>,289:89] +[@1405,8034:8034=']',<']'>,289:90] +[@1406,8044:8050='private',<'private'>,290:8] +[@1407,8052:8059='volatile',<'volatile'>,290:16] +[@1408,8061:8063='int',<'int'>,290:25] +[@1409,8065:8066='f2',,290:29] +[@1410,8067:8067=';',<';'>,290:31] +[@1411,8077:8077='[',<'['>,291:8] +[@1412,8078:8083='return',<'return'>,291:9] +[@1413,8084:8084=':',<':'>,291:15] +[@1414,8086:8093='Obsolete',,291:17] +[@1415,8094:8094=']',<']'>,291:25] +[@1416,8104:8104='[',<'['>,292:8] +[@1417,8105:8110='method',,292:9] +[@1418,8111:8111=':',<':'>,292:15] +[@1419,8113:8120='Obsolete',,292:17] +[@1420,8121:8121=']',<']'>,292:25] +[@1421,8131:8136='public',<'public'>,293:8] +[@1422,8138:8141='void',<'void'>,293:15] +[@1423,8143:8149='Handler',,293:20] +[@1424,8150:8150='(',<'('>,293:27] +[@1425,8151:8156='object',<'object'>,293:28] +[@1426,8158:8162='value',<'value'>,293:35] +[@1427,8163:8163=')',<')'>,293:40] +[@1428,8173:8173='{',<'{'>,294:8] +[@1429,8183:8183='}',<'}'>,295:8] +[@1430,8193:8198='public',<'public'>,296:8] +[@1431,8200:8202='int',<'int'>,296:15] +[@1432,8204:8204='m',,296:19] +[@1433,8205:8205='<',<'<'>,296:20] +[@1434,8206:8206='T',,296:21] +[@1435,8207:8207='>',<'>'>,296:22] +[@1436,8208:8208='(',<'('>,296:23] +[@1437,8209:8209='T',,296:24] +[@1438,8211:8211='t',,296:26] +[@1439,8212:8212=')',<')'>,296:27] +[@1440,8224:8228='where',<'where'>,297:10] +[@1441,8230:8230='T',,297:16] +[@1442,8232:8232=':',<':'>,297:18] +[@1443,8234:8238='class',<'class'>,297:20] +[@1444,8239:8239=',',<','>,297:25] +[@1445,8241:8243='new',<'new'>,297:27] +[@1446,8244:8244='(',<'('>,297:30] +[@1447,8245:8245=')',<')'>,297:31] +[@1448,8255:8255='{',<'{'>,298:8] +[@1449,8269:8272='base',<'base'>,299:12] +[@1450,8273:8273='.',<'.'>,299:16] +[@1451,8274:8274='m',,299:17] +[@1452,8275:8275='(',<'('>,299:18] +[@1453,8276:8276='t',,299:19] +[@1454,8277:8277=')',<')'>,299:20] +[@1455,8278:8278=';',<';'>,299:21] +[@1456,8292:8297='return',<'return'>,300:12] +[@1457,8299:8299='1',,300:19] +[@1458,8300:8300=';',<';'>,300:20] +[@1459,8310:8310='}',<'}'>,301:8] +[@1460,8320:8325='public',<'public'>,302:8] +[@1461,8327:8332='string',<'string'>,302:15] +[@1462,8334:8334='P',,302:22] +[@1463,8344:8344='{',<'{'>,303:8] +[@1464,8358:8360='get',<'get'>,304:12] +[@1465,8374:8374='{',<'{'>,305:12] +[@1466,8392:8397='return',<'return'>,306:16] +[@1467,8399:8401='"A"',,306:23] +[@1468,8402:8402=';',<';'>,306:26] +[@1469,8416:8416='}',<'}'>,307:12] +[@1470,8430:8432='set',<'set'>,308:12] +[@1471,8433:8433=';',<';'>,308:15] +[@1472,8443:8443='}',<'}'>,309:8] +[@1473,8453:8458='public',<'public'>,310:8] +[@1474,8460:8467='abstract',<'abstract'>,310:15] +[@1475,8469:8474='string',<'string'>,310:24] +[@1476,8476:8476='P',,310:31] +[@1477,8486:8486='{',<'{'>,311:8] +[@1478,8500:8502='get',<'get'>,312:12] +[@1479,8503:8503=';',<';'>,312:15] +[@1480,8513:8513='}',<'}'>,313:8] +[@1481,8523:8528='public',<'public'>,314:8] +[@1482,8530:8537='abstract',<'abstract'>,314:15] +[@1483,8539:8541='int',<'int'>,314:24] +[@1484,8543:8546='this',<'this'>,314:28] +[@1485,8547:8547='[',<'['>,314:32] +[@1486,8548:8550='int',<'int'>,314:33] +[@1487,8552:8556='index',,314:37] +[@1488,8557:8557=']',<']'>,314:42] +[@1489,8567:8567='{',<'{'>,315:8] +[@1490,8581:8589='protected',<'protected'>,316:12] +[@1491,8591:8598='internal',<'internal'>,316:22] +[@1492,8600:8602='get',<'get'>,316:31] +[@1493,8603:8603=';',<';'>,316:34] +[@1494,8617:8624='internal',<'internal'>,317:12] +[@1495,8626:8634='protected',<'protected'>,317:21] +[@1496,8636:8638='set',<'set'>,317:31] +[@1497,8639:8639=';',<';'>,317:34] +[@1498,8649:8649='}',<'}'>,318:8] +[@1499,8660:8660='[',<'['>,320:8] +[@1500,8661:8665='event',<'event'>,320:9] +[@1501,8666:8666=':',<':'>,320:14] +[@1502,8668:8671='Test',,320:16] +[@1503,8672:8672=']',<']'>,320:20] +[@1504,8682:8687='public',<'public'>,321:8] +[@1505,8689:8693='event',<'event'>,321:15] +[@1506,8695:8700='Action',,321:21] +[@1507,8702:8703='E1',,321:28] +[@1508,8713:8713='{',<'{'>,322:8] +[@1509,8727:8727='[',<'['>,323:12] +[@1510,8728:8735='Obsolete',,323:13] +[@1511,8736:8736=']',<']'>,323:21] +[@1512,8750:8752='add',<'add'>,324:12] +[@1513,8754:8754='{',<'{'>,324:16] +[@1514,8756:8760='value',<'value'>,324:18] +[@1515,8762:8762='=',<'='>,324:24] +[@1516,8764:8768='value',<'value'>,324:26] +[@1517,8769:8769=';',<';'>,324:31] +[@1518,8771:8771='}',<'}'>,324:33] +[@1519,8785:8785='[',<'['>,325:12] +[@1520,8786:8793='Obsolete',,325:13] +[@1521,8794:8794=']',<']'>,325:21] +[@1522,8808:8808='[',<'['>,326:12] +[@1523,8809:8814='return',<'return'>,326:13] +[@1524,8815:8815=':',<':'>,326:19] +[@1525,8817:8824='Obsolete',,326:21] +[@1526,8825:8825=']',<']'>,326:29] +[@1527,8839:8844='remove',<'remove'>,327:12] +[@1528,8846:8846='{',<'{'>,327:19] +[@1529,8848:8848='E',,327:21] +[@1530,8850:8851='+=',<'+='>,327:23] +[@1531,8853:8859='Handler',,327:26] +[@1532,8860:8860=';',<';'>,327:33] +[@1533,8862:8862='E',,327:35] +[@1534,8864:8865='-=',<'-='>,327:37] +[@1535,8867:8873='Handler',,327:40] +[@1536,8874:8874=';',<';'>,327:47] +[@1537,8876:8876='}',<'}'>,327:49] +[@1538,8886:8886='}',<'}'>,328:8] +[@1539,8896:8901='public',<'public'>,329:8] +[@1540,8903:8908='static',<'static'>,329:15] +[@1541,8910:8910='A',,329:22] +[@1542,8912:8919='operator',<'operator'>,329:24] +[@1543,8921:8921='+',<'+'>,329:33] +[@1544,8922:8922='(',<'('>,329:34] +[@1545,8923:8923='A',,329:35] +[@1546,8925:8929='first',,329:37] +[@1547,8930:8930=',',<','>,329:42] +[@1548,8932:8932='A',,329:44] +[@1549,8934:8939='second',,329:46] +[@1550,8940:8940=')',<')'>,329:52] +[@1551,8950:8950='{',<'{'>,330:8] +[@1552,8964:8971='Delegate',,331:12] +[@1553,8973:8979='handler',,331:21] +[@1554,8981:8981='=',<'='>,331:29] +[@1555,8983:8985='new',<'new'>,331:31] +[@1556,8987:8994='Delegate',,331:35] +[@1557,8995:8995='(',<'('>,331:43] +[@1558,8996:9002='Handler',,331:44] +[@1559,9003:9003=')',<')'>,331:51] +[@1560,9004:9004=';',<';'>,331:52] +[@1561,9018:9023='return',<'return'>,332:12] +[@1562,9025:9029='first',,332:19] +[@1563,9030:9030='.',<'.'>,332:24] +[@1564,9031:9033='Add',,332:25] +[@1565,9034:9034='(',<'('>,332:28] +[@1566,9035:9040='second',,332:29] +[@1567,9041:9041=')',<')'>,332:35] +[@1568,9042:9042=';',<';'>,332:36] +[@1569,9052:9052='}',<'}'>,333:8] +[@1570,9062:9062='[',<'['>,334:8] +[@1571,9063:9068='method',,334:9] +[@1572,9069:9069=':',<':'>,334:15] +[@1573,9071:9078='Obsolete',,334:17] +[@1574,9079:9079=']',<']'>,334:25] +[@1575,9089:9089='[',<'['>,335:8] +[@1576,9090:9095='return',<'return'>,335:9] +[@1577,9096:9096=':',<':'>,335:15] +[@1578,9098:9105='Obsolete',,335:17] +[@1579,9106:9106=']',<']'>,335:25] +[@1580,9116:9121='public',<'public'>,336:8] +[@1581,9123:9128='static',<'static'>,336:15] +[@1582,9130:9133='bool',<'bool'>,336:22] +[@1583,9135:9142='operator',<'operator'>,336:27] +[@1584,9144:9147='true',<'true'>,336:36] +[@1585,9148:9148='(',<'('>,336:40] +[@1586,9149:9149='A',,336:41] +[@1587,9151:9151='a',,336:43] +[@1588,9152:9152=')',<')'>,336:44] +[@1589,9162:9162='{',<'{'>,337:8] +[@1590,9176:9181='return',<'return'>,338:12] +[@1591,9183:9186='true',<'true'>,338:19] +[@1592,9187:9187=';',<';'>,338:23] +[@1593,9197:9197='}',<'}'>,339:8] +[@1594,9207:9212='public',<'public'>,340:8] +[@1595,9214:9219='static',<'static'>,340:15] +[@1596,9221:9224='bool',<'bool'>,340:22] +[@1597,9226:9233='operator',<'operator'>,340:27] +[@1598,9235:9239='false',<'false'>,340:36] +[@1599,9240:9240='(',<'('>,340:41] +[@1600,9241:9241='A',,340:42] +[@1601,9243:9243='a',,340:44] +[@1602,9244:9244=')',<')'>,340:45] +[@1603,9254:9254='{',<'{'>,341:8] +[@1604,9268:9273='return',<'return'>,342:12] +[@1605,9275:9279='false',<'false'>,342:19] +[@1606,9280:9280=';',<';'>,342:24] +[@1607,9290:9290='}',<'}'>,343:8] +[@1608,9300:9304='class',<'class'>,344:8] +[@1609,9306:9306='C',,344:14] +[@1610,9316:9316='{',<'{'>,345:8] +[@1611,9326:9326='}',<'}'>,346:8] +[@1612,9332:9332='}',<'}'>,347:4] +[@1613,9338:9343='public',<'public'>,348:4] +[@1614,9345:9350='struct',<'struct'>,348:11] +[@1615,9352:9352='S',,348:18] +[@1616,9354:9354=':',<':'>,348:20] +[@1617,9356:9356='I',,348:22] +[@1618,9362:9362='{',<'{'>,349:4] +[@1619,9372:9377='public',<'public'>,350:8] +[@1620,9379:9379='S',,350:15] +[@1621,9380:9380='(',<'('>,350:16] +[@1622,9381:9381=')',<')'>,350:17] +[@1623,9391:9391='{',<'{'>,351:8] +[@1624,9401:9401='}',<'}'>,352:8] +[@1625,9411:9417='private',<'private'>,353:8] +[@1626,9419:9421='int',<'int'>,353:16] +[@1627,9423:9424='f1',,353:20] +[@1628,9425:9425=';',<';'>,353:22] +[@1629,9435:9435='[',<'['>,354:8] +[@1630,9436:9443='Obsolete',,354:9] +[@1631,9444:9444='(',<'('>,354:17] +[@1632,9445:9464='"Use Script instead"',,354:18] +[@1633,9465:9465=',',<','>,354:38] +[@1634,9467:9471='error',,354:40] +[@1635,9472:9472=':',<':'>,354:45] +[@1636,9474:9478='false',<'false'>,354:47] +[@1637,9479:9479=')',<')'>,354:52] +[@1638,9480:9480=']',<']'>,354:53] +[@1639,9490:9496='private',<'private'>,355:8] +[@1640,9498:9505='volatile',<'volatile'>,355:16] +[@1641,9507:9509='int',<'int'>,355:25] +[@1642,9511:9512='f2',,355:29] +[@1643,9513:9513=';',<';'>,355:31] +[@1644,9523:9528='public',<'public'>,356:8] +[@1645,9530:9537='abstract',<'abstract'>,356:15] +[@1646,9539:9541='int',<'int'>,356:24] +[@1647,9543:9543='m',,356:28] +[@1648,9544:9544='<',<'<'>,356:29] +[@1649,9545:9545='T',,356:30] +[@1650,9546:9546='>',<'>'>,356:31] +[@1651,9547:9547='(',<'('>,356:32] +[@1652,9548:9548='T',,356:33] +[@1653,9550:9550='t',,356:35] +[@1654,9551:9551=')',<')'>,356:36] +[@1655,9563:9567='where',<'where'>,357:10] +[@1656,9569:9569='T',,357:16] +[@1657,9571:9571=':',<':'>,357:18] +[@1658,9573:9578='struct',<'struct'>,357:20] +[@1659,9588:9588='{',<'{'>,358:8] +[@1660,9602:9607='return',<'return'>,359:12] +[@1661,9609:9609='1',,359:19] +[@1662,9610:9610=';',<';'>,359:20] +[@1663,9620:9620='}',<'}'>,360:8] +[@1664,9630:9635='public',<'public'>,361:8] +[@1665,9637:9642='string',<'string'>,361:15] +[@1666,9644:9644='P',,361:22] +[@1667,9654:9654='{',<'{'>,362:8] +[@1668,9668:9670='get',<'get'>,363:12] +[@1669,9684:9684='{',<'{'>,364:12] +[@1670,9702:9704='int',<'int'>,365:16] +[@1671,9706:9710='value',<'value'>,365:20] +[@1672,9712:9712='=',<'='>,365:26] +[@1673,9714:9714='0',,365:28] +[@1674,9715:9715=';',<';'>,365:29] +[@1675,9733:9738='return',<'return'>,366:16] +[@1676,9740:9742='"A"',,366:23] +[@1677,9743:9743=';',<';'>,366:26] +[@1678,9757:9757='}',<'}'>,367:12] +[@1679,9771:9773='set',<'set'>,368:12] +[@1680,9774:9774=';',<';'>,368:15] +[@1681,9784:9784='}',<'}'>,369:8] +[@1682,9794:9799='public',<'public'>,370:8] +[@1683,9801:9808='abstract',<'abstract'>,370:15] +[@1684,9810:9815='string',<'string'>,370:24] +[@1685,9817:9817='P',,370:31] +[@1686,9827:9827='{',<'{'>,371:8] +[@1687,9841:9843='get',<'get'>,372:12] +[@1688,9844:9844=';',<';'>,372:15] +[@1689,9854:9854='}',<'}'>,373:8] +[@1690,9864:9869='public',<'public'>,374:8] +[@1691,9871:9878='abstract',<'abstract'>,374:15] +[@1692,9880:9882='int',<'int'>,374:24] +[@1693,9884:9887='this',<'this'>,374:28] +[@1694,9888:9888='[',<'['>,374:32] +[@1695,9889:9891='int',<'int'>,374:33] +[@1696,9893:9897='index',,374:37] +[@1697,9898:9898=']',<']'>,374:42] +[@1698,9908:9908='{',<'{'>,375:8] +[@1699,9922:9924='get',<'get'>,376:12] +[@1700,9925:9925=';',<';'>,376:15] +[@1701,9939:9946='internal',<'internal'>,377:12] +[@1702,9948:9956='protected',<'protected'>,377:21] +[@1703,9958:9960='set',<'set'>,377:31] +[@1704,9961:9961=';',<';'>,377:34] +[@1705,9971:9971='}',<'}'>,378:8] +[@1706,9981:9986='public',<'public'>,379:8] +[@1707,9988:9992='event',<'event'>,379:15] +[@1708,9994:9998='Event',,379:21] +[@1709,10000:10000='E',,379:27] +[@1710,10001:10001=';',<';'>,379:28] +[@1711,10011:10016='public',<'public'>,380:8] +[@1712,10018:10023='static',<'static'>,380:15] +[@1713,10025:10025='A',,380:22] +[@1714,10027:10034='operator',<'operator'>,380:24] +[@1715,10036:10036='+',<'+'>,380:33] +[@1716,10037:10037='(',<'('>,380:34] +[@1717,10038:10038='A',,380:35] +[@1718,10040:10044='first',,380:37] +[@1719,10045:10045=',',<','>,380:42] +[@1720,10047:10047='A',,380:44] +[@1721,10049:10054='second',,380:46] +[@1722,10055:10055=')',<')'>,380:52] +[@1723,10065:10065='{',<'{'>,381:8] +[@1724,10079:10084='return',<'return'>,382:12] +[@1725,10086:10090='first',,382:19] +[@1726,10091:10091='.',<'.'>,382:24] +[@1727,10092:10094='Add',,382:25] +[@1728,10095:10095='(',<'('>,382:28] +[@1729,10096:10101='second',,382:29] +[@1730,10102:10102=')',<')'>,382:35] +[@1731,10103:10103=';',<';'>,382:36] +[@1732,10113:10113='}',<'}'>,383:8] +[@1733,10123:10127='fixed',<'fixed'>,384:8] +[@1734,10129:10131='int',<'int'>,384:14] +[@1735,10133:10137='field',,384:18] +[@1736,10138:10138='[',<'['>,384:23] +[@1737,10139:10140='10',,384:24] +[@1738,10141:10141=']',<']'>,384:26] +[@1739,10142:10142=';',<';'>,384:27] +[@1740,10152:10156='class',<'class'>,385:8] +[@1741,10158:10158='C',,385:14] +[@1742,10168:10168='{',<'{'>,386:8] +[@1743,10178:10178='}',<'}'>,387:8] +[@1744,10184:10184='}',<'}'>,388:4] +[@1745,10190:10195='public',<'public'>,389:4] +[@1746,10197:10205='interface',<'interface'>,389:11] +[@1747,10207:10207='I',,389:21] +[@1748,10213:10213='{',<'{'>,390:4] +[@1749,10223:10226='void',<'void'>,391:8] +[@1750,10228:10228='A',,391:13] +[@1751,10229:10229='(',<'('>,391:14] +[@1752,10230:10232='int',<'int'>,391:15] +[@1753,10234:10238='value',<'value'>,391:19] +[@1754,10239:10239=')',<')'>,391:24] +[@1755,10240:10240=';',<';'>,391:25] +[@1756,10250:10255='string',<'string'>,392:8] +[@1757,10257:10261='Value',,392:15] +[@1758,10271:10271='{',<'{'>,393:8] +[@1759,10285:10287='get',<'get'>,394:12] +[@1760,10288:10288=';',<';'>,394:15] +[@1761,10302:10304='set',<'set'>,395:12] +[@1762,10305:10305=';',<';'>,395:15] +[@1763,10315:10315='}',<'}'>,396:8] +[@1764,10321:10321='}',<'}'>,397:4] +[@1765,10327:10327='[',<'['>,398:4] +[@1766,10328:10331='type',,398:5] +[@1767,10332:10332=':',<':'>,398:9] +[@1768,10334:10338='Flags',,398:11] +[@1769,10339:10339=']',<']'>,398:16] +[@1770,10345:10350='public',<'public'>,399:4] +[@1771,10352:10355='enum',<'enum'>,399:11] +[@1772,10357:10357='E',,399:16] +[@1773,10363:10363='{',<'{'>,400:4] +[@1774,10373:10373='A',,401:8] +[@1775,10374:10374=',',<','>,401:9] +[@1776,10384:10384='B',,402:8] +[@1777,10386:10386='=',<'='>,402:10] +[@1778,10388:10388='A',,402:12] +[@1779,10389:10389=',',<','>,402:13] +[@1780,10399:10399='C',,403:8] +[@1781,10401:10401='=',<'='>,403:10] +[@1782,10403:10403='2',,403:12] +[@1783,10405:10405='+',<'+'>,403:14] +[@1784,10407:10407='A',,403:16] +[@1785,10408:10408=',',<','>,403:17] +[@1786,10418:10418='D',,404:8] +[@1787,10419:10419=',',<','>,404:9] +[@1788,10425:10425='}',<'}'>,405:4] +[@1789,10436:10441='public',<'public'>,407:4] +[@1790,10443:10450='delegate',<'delegate'>,407:11] +[@1791,10452:10455='void',<'void'>,407:20] +[@1792,10457:10464='Delegate',,407:25] +[@1793,10465:10465='(',<'('>,407:33] +[@1794,10466:10471='object',<'object'>,407:34] +[@1795,10473:10473='P',,407:41] +[@1796,10474:10474=')',<')'>,407:42] +[@1797,10475:10475=';',<';'>,407:43] +[@1798,10481:10489='namespace',<'namespace'>,408:4] +[@1799,10491:10494='Test',,408:14] +[@1800,10500:10500='{',<'{'>,409:4] +[@1801,10510:10514='using',<'using'>,410:8] +[@1802,10516:10521='System',,410:14] +[@1803,10522:10522=';',<';'>,410:20] +[@1804,10532:10536='using',<'using'>,411:8] +[@1805,10538:10543='System',,411:14] +[@1806,10544:10544='.',<'.'>,411:20] +[@1807,10545:10555='Collections',,411:21] +[@1808,10556:10556=';',<';'>,411:32] +[@1809,10566:10571='public',<'public'>,412:8] +[@1810,10573:10577='class',<'class'>,412:15] +[@1811,10579:10584='Список',,412:21] +[@1812,10594:10594='{',<'{'>,413:8] +[@1813,10608:10613='public',<'public'>,414:12] +[@1814,10615:10620='static',<'static'>,414:19] +[@1815,10622:10632='IEnumerable',,414:26] +[@1816,10634:10638='Power',,414:38] +[@1817,10639:10639='(',<'('>,414:43] +[@1818,10640:10642='int',<'int'>,414:44] +[@1819,10644:10649='number',,414:48] +[@1820,10650:10650=',',<','>,414:54] +[@1821,10652:10654='int',<'int'>,414:56] +[@1822,10656:10663='exponent',,414:60] +[@1823,10664:10664=')',<')'>,414:68] +[@1824,10678:10678='{',<'{'>,415:12] +[@1825,10696:10701='Список',,416:16] +[@1826,10703:10708='Список',,416:23] +[@1827,10710:10710='=',<'='>,416:30] +[@1828,10712:10714='new',<'new'>,416:32] +[@1829,10716:10721='Список',,416:36] +[@1830,10722:10722='(',<'('>,416:42] +[@1831,10723:10723=')',<')'>,416:43] +[@1832,10724:10724=';',<';'>,416:44] +[@1833,10742:10747='Список',,417:16] +[@1834,10748:10748='.',<'.'>,417:22] +[@1835,10749:10752='Main',,417:23] +[@1836,10753:10753='(',<'('>,417:27] +[@1837,10754:10754=')',<')'>,417:28] +[@1838,10755:10755=';',<';'>,417:29] +[@1839,10773:10775='int',<'int'>,418:16] +[@1840,10777:10783='counter',,418:20] +[@1841,10785:10785='=',<'='>,418:28] +[@1842,10787:10787='(',<'('>,418:30] +[@1843,10788:10788='0',,418:31] +[@1844,10790:10790='+',<'+'>,418:33] +[@1845,10792:10792='0',,418:35] +[@1846,10793:10793=')',<')'>,418:36] +[@1847,10794:10794=';',<';'>,418:37] +[@1848,10812:10814='int',<'int'>,419:16] +[@1849,10816:10818='אתר',,419:20] +[@1850,10820:10820='=',<'='>,419:24] +[@1851,10822:10822='0',,419:26] +[@1852,10823:10823=';',<';'>,419:27] +[@1853,10841:10845='while',<'while'>,420:16] +[@1854,10847:10847='(',<'('>,420:22] +[@1855,10848:10849='++',<'++'>,420:23] +[@1856,10850:10856='counter',,420:25] +[@1857,10857:10858='++',<'++'>,420:32] +[@1858,10860:10860='<',<'<'>,420:35] +[@1859,10862:10863='--',<'--'>,420:37] +[@1860,10864:10871='exponent',,420:39] +[@1861,10872:10873='--',<'--'>,420:47] +[@1862,10874:10874=')',<')'>,420:49] +[@1863,10892:10892='{',<'{'>,421:16] +[@1864,10914:10919='result',,422:20] +[@1865,10921:10921='=',<'='>,422:27] +[@1866,10923:10928='result',,422:29] +[@1867,10930:10930='*',<'*'>,422:36] +[@1868,10932:10937='number',,422:38] +[@1869,10939:10939='+',<'+'>,422:45] +[@1870,10941:10941='+',<'+'>,422:47] +[@1871,10942:10947='number',,422:48] +[@1872,10948:10949='++',<'++'>,422:54] +[@1873,10950:10951='++',<'++'>,422:56] +[@1874,10952:10952='+',<'+'>,422:58] +[@1875,10953:10958='number',,422:59] +[@1876,10959:10959=';',<';'>,422:65] +[@1877,10981:10985='yield',<'yield'>,423:20] +[@1878,10987:10992='return',<'return'>,423:26] +[@1879,10994:10999='result',,423:33] +[@1880,11000:11000=';',<';'>,423:39] +[@1881,11018:11018='}',<'}'>,424:16] +[@1882,11032:11032='}',<'}'>,425:12] +[@1883,11046:11051='static',<'static'>,426:12] +[@1884,11053:11056='void',<'void'>,426:19] +[@1885,11058:11061='Main',,426:24] +[@1886,11062:11062='(',<'('>,426:28] +[@1887,11063:11063=')',<')'>,426:29] +[@1888,11077:11077='{',<'{'>,427:12] +[@1889,11095:11101='foreach',<'foreach'>,428:16] +[@1890,11103:11103='(',<'('>,428:24] +[@1891,11104:11106='int',<'int'>,428:25] +[@1892,11108:11108='i',,428:29] +[@1893,11110:11111='in',<'in'>,428:31] +[@1894,11113:11117='Power',,428:34] +[@1895,11118:11118='(',<'('>,428:39] +[@1896,11119:11119='2',,428:40] +[@1897,11120:11120=',',<','>,428:41] +[@1898,11122:11122='8',,428:43] +[@1899,11123:11123=')',<')'>,428:44] +[@1900,11124:11124=')',<')'>,428:45] +[@1901,11142:11142='{',<'{'>,429:16] +[@1902,11164:11170='Console',,430:20] +[@1903,11171:11171='.',<'.'>,430:27] +[@1904,11172:11176='Write',,430:28] +[@1905,11177:11177='(',<'('>,430:33] +[@1906,11178:11183='"{0} "',,430:34] +[@1907,11184:11184=',',<','>,430:40] +[@1908,11186:11186='i',,430:42] +[@1909,11187:11187=')',<')'>,430:43] +[@1910,11188:11188=';',<';'>,430:44] +[@1911,11206:11206='}',<'}'>,431:16] +[@1912,11220:11220='}',<'}'>,432:12] +[@1913,11234:11238='async',<'async'>,433:12] +[@1914,11240:11243='void',<'void'>,433:18] +[@1915,11245:11248='Wait',,433:23] +[@1916,11249:11249='(',<'('>,433:27] +[@1917,11250:11250=')',<')'>,433:28] +[@1918,11264:11264='{',<'{'>,434:12] +[@1919,11282:11286='await',<'await'>,435:16] +[@1920,11288:11293='System',,435:22] +[@1921,11294:11294='.',<'.'>,435:28] +[@1922,11295:11303='Threading',,435:29] +[@1923,11304:11304='.',<'.'>,435:38] +[@1924,11305:11309='Tasks',,435:39] +[@1925,11310:11310='.',<'.'>,435:44] +[@1926,11311:11314='Task',,435:45] +[@1927,11315:11315='.',<'.'>,435:49] +[@1928,11316:11320='Delay',,435:50] +[@1929,11321:11321='(',<'('>,435:55] +[@1930,11322:11322='0',,435:56] +[@1931,11323:11323=')',<')'>,435:57] +[@1932,11324:11324=';',<';'>,435:58] +[@1933,11338:11338='}',<'}'>,436:12] +[@1934,11352:11355='void',<'void'>,437:12] +[@1935,11357:11370='AsyncAnonymous',,437:17] +[@1936,11371:11371='(',<'('>,437:31] +[@1937,11372:11372=')',<')'>,437:32] +[@1938,11403:11403='{',<'{'>,438:12] +[@1939,11421:11423='var',<'var'>,439:16] +[@1940,11425:11428='task',,439:20] +[@1941,11430:11430='=',<'='>,439:25] +[@1942,11432:11435='Task',,439:27] +[@1943,11436:11436='.',<'.'>,439:31] +[@1944,11437:11443='Factory',,439:32] +[@1945,11444:11444='.',<'.'>,439:39] +[@1946,11445:11452='StartNew',,439:40] +[@1947,11453:11453='(',<'('>,439:48] +[@1948,11454:11458='async',<'async'>,439:49] +[@1949,11460:11460='(',<'('>,439:55] +[@1950,11461:11461=')',<')'>,439:56] +[@1951,11463:11464='=>',<'=>'>,439:58] +[@1952,11482:11482='{',<'{'>,440:16] +[@1953,11504:11509='return',<'return'>,441:20] +[@1954,11511:11515='await',<'await'>,441:27] +[@1955,11517:11519='new',<'new'>,441:33] +[@1956,11521:11529='WebClient',,441:37] +[@1957,11530:11530='(',<'('>,441:46] +[@1958,11531:11531=')',<')'>,441:47] +[@1959,11532:11532='.',<'.'>,441:48] +[@1960,11533:11555='DownloadStringTaskAsync',,441:49] +[@1961,11556:11556='(',<'('>,441:72] +[@1962,11557:11576='"http://example.com"',,441:73] +[@1963,11577:11577=')',<')'>,441:93] +[@1964,11578:11578=';',<';'>,441:94] +[@1965,11596:11596='}',<'}'>,442:16] +[@1966,11597:11597=')',<')'>,442:17] +[@1967,11598:11598=';',<';'>,442:18] +[@1968,11612:11612='}',<'}'>,443:12] +[@1969,11622:11622='}',<'}'>,444:8] +[@1970,11628:11628='}',<'}'>,445:4] +[@1971,11630:11630='}',<'}'>,446:0] +[@1972,11633:11641='namespace',<'namespace'>,448:0] +[@1973,11643:11661='ConsoleApplication1',,448:10] +[@1974,11663:11663='{',<'{'>,449:0] +[@1975,11669:11677='namespace',<'namespace'>,450:4] +[@1976,11679:11702='RecursiveGenericBaseType',,450:14] +[@1977,11708:11708='{',<'{'>,451:4] +[@1978,11718:11722='class',<'class'>,452:8] +[@1979,11724:11724='A',,452:14] +[@1980,11725:11725='<',<'<'>,452:15] +[@1981,11726:11726='T',,452:16] +[@1982,11727:11727='>',<'>'>,452:17] +[@1983,11729:11729=':',<':'>,452:19] +[@1984,11731:11731='B',,452:21] +[@1985,11732:11732='<',<'<'>,452:22] +[@1986,11733:11733='A',,452:23] +[@1987,11734:11734='<',<'<'>,452:24] +[@1988,11735:11735='T',,452:25] +[@1989,11736:11736='>',<'>'>,452:26] +[@1990,11737:11737=',',<','>,452:27] +[@1991,11739:11739='A',,452:29] +[@1992,11740:11740='<',<'<'>,452:30] +[@1993,11741:11741='T',,452:31] +[@1994,11742:11742='>',<'>'>,452:32] +[@1995,11743:11743='>',<'>'>,452:33] +[@1996,11745:11749='where',<'where'>,452:35] +[@1997,11751:11751='T',,452:41] +[@1998,11753:11753=':',<':'>,452:43] +[@1999,11755:11755='A',,452:45] +[@2000,11756:11756='<',<'<'>,452:46] +[@2001,11757:11757='T',,452:47] +[@2002,11758:11758='>',<'>'>,452:48] +[@2003,11768:11768='{',<'{'>,453:8] +[@2004,11782:11790='protected',<'protected'>,454:12] +[@2005,11792:11798='virtual',<'virtual'>,454:22] +[@2006,11800:11800='A',,454:30] +[@2007,11801:11801='<',<'<'>,454:31] +[@2008,11802:11802='T',,454:32] +[@2009,11803:11803='>',<'>'>,454:33] +[@2010,11805:11805='M',,454:35] +[@2011,11806:11806='(',<'('>,454:36] +[@2012,11807:11807=')',<')'>,454:37] +[@2013,11809:11809='{',<'{'>,454:39] +[@2014,11811:11811='}',<'}'>,454:41] +[@2015,11825:11833='protected',<'protected'>,455:12] +[@2016,11835:11842='abstract',<'abstract'>,455:22] +[@2017,11844:11844='B',,455:31] +[@2018,11845:11845='<',<'<'>,455:32] +[@2019,11846:11846='A',,455:33] +[@2020,11847:11847='<',<'<'>,455:34] +[@2021,11848:11848='T',,455:35] +[@2022,11849:11849='>',<'>'>,455:36] +[@2023,11850:11850=',',<','>,455:37] +[@2024,11852:11852='A',,455:39] +[@2025,11853:11853='<',<'<'>,455:40] +[@2026,11854:11854='T',,455:41] +[@2027,11855:11855='>',<'>'>,455:42] +[@2028,11856:11856='>',<'>'>,455:43] +[@2029,11858:11858='N',,455:45] +[@2030,11859:11859='(',<'('>,455:46] +[@2031,11860:11860=')',<')'>,455:47] +[@2032,11862:11862='{',<'{'>,455:49] +[@2033,11864:11864='}',<'}'>,455:51] +[@2034,11878:11883='static',<'static'>,456:12] +[@2035,11885:11885='B',,456:19] +[@2036,11886:11886='<',<'<'>,456:20] +[@2037,11887:11887='A',,456:21] +[@2038,11888:11888='<',<'<'>,456:22] +[@2039,11889:11889='T',,456:23] +[@2040,11890:11890='>',<'>'>,456:24] +[@2041,11891:11891=',',<','>,456:25] +[@2042,11893:11893='A',,456:27] +[@2043,11894:11894='<',<'<'>,456:28] +[@2044,11895:11895='T',,456:29] +[@2045,11896:11896='>',<'>'>,456:30] +[@2046,11897:11897='>',<'>'>,456:31] +[@2047,11899:11899='O',,456:33] +[@2048,11900:11900='(',<'('>,456:34] +[@2049,11901:11901=')',<')'>,456:35] +[@2050,11903:11903='{',<'{'>,456:37] +[@2051,11905:11905='}',<'}'>,456:39] +[@2052,11915:11915='}',<'}'>,457:8] +[@2053,11926:11931='sealed',<'sealed'>,459:8] +[@2054,11933:11937='class',<'class'>,459:15] +[@2055,11939:11939='B',,459:21] +[@2056,11940:11940='<',<'<'>,459:22] +[@2057,11941:11942='T1',,459:23] +[@2058,11943:11943=',',<','>,459:25] +[@2059,11945:11946='T2',,459:27] +[@2060,11947:11947='>',<'>'>,459:29] +[@2061,11949:11949=':',<':'>,459:31] +[@2062,11951:11951='A',,459:33] +[@2063,11952:11952='<',<'<'>,459:34] +[@2064,11953:11953='B',,459:35] +[@2065,11954:11954='<',<'<'>,459:36] +[@2066,11955:11956='T1',,459:37] +[@2067,11957:11957=',',<','>,459:39] +[@2068,11959:11960='T2',,459:41] +[@2069,11961:11961='>',<'>'>,459:43] +[@2070,11962:11962='>',<'>'>,459:44] +[@2071,11972:11972='{',<'{'>,460:8] +[@2072,11986:11994='protected',<'protected'>,461:12] +[@2073,11996:12003='override',<'override'>,461:22] +[@2074,12005:12005='A',,461:31] +[@2075,12006:12006='<',<'<'>,461:32] +[@2076,12007:12007='T',,461:33] +[@2077,12008:12008='>',<'>'>,461:34] +[@2078,12010:12010='M',,461:36] +[@2079,12011:12011='(',<'('>,461:37] +[@2080,12012:12012=')',<')'>,461:38] +[@2081,12014:12014='{',<'{'>,461:40] +[@2082,12016:12016='}',<'}'>,461:42] +[@2083,12030:12038='protected',<'protected'>,462:12] +[@2084,12040:12045='sealed',<'sealed'>,462:22] +[@2085,12047:12054='override',<'override'>,462:29] +[@2086,12056:12056='B',,462:38] +[@2087,12057:12057='<',<'<'>,462:39] +[@2088,12058:12058='A',,462:40] +[@2089,12059:12059='<',<'<'>,462:41] +[@2090,12060:12060='T',,462:42] +[@2091,12061:12061='>',<'>'>,462:43] +[@2092,12062:12062=',',<','>,462:44] +[@2093,12064:12064='A',,462:46] +[@2094,12065:12065='<',<'<'>,462:47] +[@2095,12066:12066='T',,462:48] +[@2096,12067:12067='>',<'>'>,462:49] +[@2097,12068:12068='>',<'>'>,462:50] +[@2098,12070:12070='N',,462:52] +[@2099,12071:12071='(',<'('>,462:53] +[@2100,12072:12072=')',<')'>,462:54] +[@2101,12074:12074='{',<'{'>,462:56] +[@2102,12076:12076='}',<'}'>,462:58] +[@2103,12090:12092='new',<'new'>,463:12] +[@2104,12094:12099='static',<'static'>,463:16] +[@2105,12101:12101='A',,463:23] +[@2106,12102:12102='<',<'<'>,463:24] +[@2107,12103:12103='T',,463:25] +[@2108,12104:12104='>',<'>'>,463:26] +[@2109,12106:12106='O',,463:28] +[@2110,12107:12107='(',<'('>,463:29] +[@2111,12108:12108=')',<')'>,463:30] +[@2112,12110:12110='{',<'{'>,463:32] +[@2113,12112:12112='}',<'}'>,463:34] +[@2114,12122:12122='}',<'}'>,464:8] +[@2115,12128:12128='}',<'}'>,465:4] +[@2116,12135:12143='namespace',<'namespace'>,467:4] +[@2117,12145:12147='Boo',,467:14] +[@2118,12153:12153='{',<'{'>,468:4] +[@2119,12163:12168='public',<'public'>,469:8] +[@2120,12170:12174='class',<'class'>,469:15] +[@2121,12176:12178='Bar',,469:21] +[@2122,12179:12179='<',<'<'>,469:24] +[@2123,12180:12180='T',,469:25] +[@2124,12181:12181='>',<'>'>,469:26] +[@2125,12183:12187='where',<'where'>,469:28] +[@2126,12189:12189='T',,469:34] +[@2127,12191:12191=':',<':'>,469:36] +[@2128,12193:12203='IComparable',,469:38] +[@2129,12213:12213='{',<'{'>,470:8] +[@2130,12227:12232='public',<'public'>,471:12] +[@2131,12234:12234='T',,471:19] +[@2132,12236:12236='f',,471:21] +[@2133,12237:12237=';',<';'>,471:22] +[@2134,12251:12256='public',<'public'>,472:12] +[@2135,12258:12262='class',<'class'>,472:19] +[@2136,12264:12266='Foo',,472:25] +[@2137,12267:12267='<',<'<'>,472:28] +[@2138,12268:12268='U',,472:29] +[@2139,12269:12269='>',<'>'>,472:30] +[@2140,12271:12271=':',<':'>,472:32] +[@2141,12273:12283='IEnumerable',,472:34] +[@2142,12284:12284='<',<'<'>,472:45] +[@2143,12285:12285='T',,472:46] +[@2144,12286:12286='>',<'>'>,472:47] +[@2145,12300:12300='{',<'{'>,473:12] +[@2146,12318:12323='public',<'public'>,474:16] +[@2147,12325:12328='void',<'void'>,474:23] +[@2148,12330:12335='Method',,474:28] +[@2149,12336:12336='<',<'<'>,474:34] +[@2150,12337:12337='K',,474:35] +[@2151,12338:12338=',',<','>,474:36] +[@2152,12340:12340='V',,474:38] +[@2153,12341:12341='>',<'>'>,474:39] +[@2154,12342:12342='(',<'('>,474:40] +[@2155,12343:12343='K',,474:41] +[@2156,12345:12345='k',,474:43] +[@2157,12346:12346=',',<','>,474:44] +[@2158,12348:12348='T',,474:46] +[@2159,12350:12350='t',,474:48] +[@2160,12351:12351=',',<','>,474:49] +[@2161,12353:12353='U',,474:51] +[@2162,12355:12355='u',,474:53] +[@2163,12356:12356=')',<')'>,474:54] +[@2164,12378:12382='where',<'where'>,475:20] +[@2165,12384:12384='K',,475:26] +[@2166,12386:12386=':',<':'>,475:28] +[@2167,12388:12392='IList',,475:30] +[@2168,12393:12393='<',<'<'>,475:35] +[@2169,12394:12394='V',,475:36] +[@2170,12395:12395='>',<'>'>,475:37] +[@2171,12396:12396=',',<','>,475:38] +[@2172,12398:12402='IList',,475:40] +[@2173,12403:12403='<',<'<'>,475:45] +[@2174,12404:12404='T',,475:46] +[@2175,12405:12405='>',<'>'>,475:47] +[@2176,12406:12406=',',<','>,475:48] +[@2177,12408:12412='IList',,475:50] +[@2178,12413:12413='<',<'<'>,475:55] +[@2179,12414:12414='U',,475:56] +[@2180,12415:12415='>',<'>'>,475:57] +[@2181,12437:12441='where',<'where'>,476:20] +[@2182,12443:12443='V',,476:26] +[@2183,12445:12445=':',<':'>,476:28] +[@2184,12447:12451='IList',,476:30] +[@2185,12452:12452='<',<'<'>,476:35] +[@2186,12453:12453='K',,476:36] +[@2187,12454:12454='>',<'>'>,476:37] +[@2188,12472:12472='{',<'{'>,477:16] +[@2189,12494:12494='A',,478:20] +[@2190,12495:12495='<',<'<'>,478:21] +[@2191,12496:12498='int',<'int'>,478:22] +[@2192,12499:12499='>',<'>'>,478:25] +[@2193,12501:12501='a',,478:27] +[@2194,12502:12502=';',<';'>,478:28] +[@2195,12524:12524='M',,479:20] +[@2196,12525:12525='(',<'('>,479:21] +[@2197,12526:12526='A',,479:22] +[@2198,12527:12527='<',<'<'>,479:23] +[@2199,12528:12528='B',,479:24] +[@2200,12529:12529=',',<','>,479:25] +[@2201,12531:12531='C',,479:27] +[@2202,12532:12532='>',<'>'>,479:28] +[@2203,12533:12533='(',<'('>,479:29] +[@2204,12534:12534='5',,479:30] +[@2205,12535:12535=')',<')'>,479:31] +[@2206,12536:12536=')',<')'>,479:32] +[@2207,12537:12537=';',<';'>,479:33] +[@2208,12555:12555='}',<'}'>,480:16] +[@2209,12569:12569='}',<'}'>,481:12] +[@2210,12570:12570=';',<';'>,481:13] +[@2211,12580:12580='}',<'}'>,482:8] +[@2212,12581:12581=';',<';'>,482:9] +[@2213,12587:12587='}',<'}'>,483:4] +[@2214,12588:12588=';',<';'>,483:5] +[@2215,12595:12599='class',<'class'>,485:4] +[@2216,12601:12604='Test',,485:10] +[@2217,12610:12610='{',<'{'>,486:4] +[@2218,12620:12623='void',<'void'>,487:8] +[@2219,12625:12628='Bar3',,487:13] +[@2220,12629:12629='(',<'('>,487:17] +[@2221,12630:12630=')',<')'>,487:18] +[@2222,12640:12640='{',<'{'>,488:8] +[@2223,12654:12656='var',<'var'>,489:12] +[@2224,12658:12658='x',,489:16] +[@2225,12660:12660='=',<'='>,489:18] +[@2226,12662:12664='new',<'new'>,489:20] +[@2227,12666:12668='Boo',,489:24] +[@2228,12669:12669='.',<'.'>,489:27] +[@2229,12670:12672='Bar',,489:28] +[@2230,12673:12673='<',<'<'>,489:31] +[@2231,12674:12676='int',<'int'>,489:32] +[@2232,12677:12677='>',<'>'>,489:35] +[@2233,12678:12678='.',<'.'>,489:36] +[@2234,12679:12681='Foo',,489:37] +[@2235,12682:12682='<',<'<'>,489:40] +[@2236,12683:12688='object',<'object'>,489:41] +[@2237,12689:12689='>',<'>'>,489:47] +[@2238,12690:12690='(',<'('>,489:48] +[@2239,12691:12691=')',<')'>,489:49] +[@2240,12692:12692=';',<';'>,489:50] +[@2241,12706:12706='x',,490:12] +[@2242,12707:12707='.',<'.'>,490:13] +[@2243,12708:12713='Method',,490:14] +[@2244,12714:12714='<',<'<'>,490:20] +[@2245,12715:12720='string',<'string'>,490:21] +[@2246,12721:12721=',',<','>,490:27] +[@2247,12723:12728='string',<'string'>,490:29] +[@2248,12729:12729='>',<'>'>,490:35] +[@2249,12730:12730='(',<'('>,490:36] +[@2250,12731:12733='" "',,490:37] +[@2251,12734:12734=',',<','>,490:40] +[@2252,12736:12736='5',,490:42] +[@2253,12737:12737=',',<','>,490:43] +[@2254,12739:12741='new',<'new'>,490:45] +[@2255,12743:12748='object',<'object'>,490:49] +[@2256,12749:12749='(',<'('>,490:55] +[@2257,12750:12750=')',<')'>,490:56] +[@2258,12751:12751=')',<')'>,490:57] +[@2259,12752:12752=';',<';'>,490:58] +[@2260,12767:12769='var',<'var'>,492:12] +[@2261,12771:12771='q',,492:16] +[@2262,12773:12773='=',<'='>,492:18] +[@2263,12775:12778='from',<'from'>,492:20] +[@2264,12780:12780='i',,492:25] +[@2265,12782:12783='in',<'in'>,492:27] +[@2266,12785:12787='new',<'new'>,492:30] +[@2267,12789:12791='int',<'int'>,492:34] +[@2268,12792:12792='[',<'['>,492:37] +[@2269,12793:12793=']',<']'>,492:38] +[@2270,12795:12795='{',<'{'>,492:40] +[@2271,12797:12797='1',,492:42] +[@2272,12798:12798=',',<','>,492:43] +[@2273,12800:12800='2',,492:45] +[@2274,12801:12801=',',<','>,492:46] +[@2275,12803:12803='3',,492:48] +[@2276,12804:12804=',',<','>,492:49] +[@2277,12806:12806='4',,492:51] +[@2278,12808:12808='}',<'}'>,492:53] +[@2279,12830:12834='where',<'where'>,493:20] +[@2280,12836:12836='i',,493:26] +[@2281,12838:12838='>',<'>'>,493:28] +[@2282,12840:12840='5',,493:30] +[@2283,12862:12867='select',<'select'>,494:20] +[@2284,12869:12869='i',,494:27] +[@2285,12870:12870=';',<';'>,494:28] +[@2286,12880:12880='}',<'}'>,495:8] +[@2287,12891:12896='public',<'public'>,497:8] +[@2288,12898:12903='static',<'static'>,497:15] +[@2289,12905:12912='implicit',<'implicit'>,497:22] +[@2290,12914:12921='operator',<'operator'>,497:31] +[@2291,12923:12926='Test',,497:40] +[@2292,12927:12927='(',<'('>,497:44] +[@2293,12928:12933='string',<'string'>,497:45] +[@2294,12935:12935='s',,497:52] +[@2295,12936:12936=')',<')'>,497:53] +[@2296,12946:12946='{',<'{'>,498:8] +[@2297,12960:12965='return',<'return'>,499:12] +[@2298,12967:12969='new',<'new'>,499:19] +[@2299,12971:12989='ConsoleApplication1',,499:23] +[@2300,12990:12990='.',<'.'>,499:42] +[@2301,12991:12994='Test',,499:43] +[@2302,12995:12995='(',<'('>,499:47] +[@2303,12996:12996=')',<')'>,499:48] +[@2304,12997:12997=';',<';'>,499:49] +[@2305,13007:13007='}',<'}'>,500:8] +[@2306,13017:13022='public',<'public'>,501:8] +[@2307,13024:13029='static',<'static'>,501:15] +[@2308,13031:13038='explicit',<'explicit'>,501:22] +[@2309,13040:13047='operator',<'operator'>,501:31] +[@2310,13049:13052='Test',,501:40] +[@2311,13053:13053='(',<'('>,501:44] +[@2312,13054:13059='string',<'string'>,501:45] +[@2313,13061:13061='s',,501:52] +[@2314,13063:13063='=',<'='>,501:54] +[@2315,13065:13066='""',,501:56] +[@2316,13067:13067=')',<')'>,501:58] +[@2317,13077:13077='{',<'{'>,502:8] +[@2318,13091:13096='return',<'return'>,503:12] +[@2319,13098:13100='new',<'new'>,503:19] +[@2320,13102:13105='Test',,503:23] +[@2321,13106:13106='(',<'('>,503:27] +[@2322,13107:13107=')',<')'>,503:28] +[@2323,13108:13108=';',<';'>,503:29] +[@2324,13118:13118='}',<'}'>,504:8] +[@2325,13129:13134='public',<'public'>,506:8] +[@2326,13136:13138='int',<'int'>,506:15] +[@2327,13140:13142='foo',,506:19] +[@2328,13144:13144='=',<'='>,506:23] +[@2329,13146:13146='5',,506:25] +[@2330,13147:13147=';',<';'>,506:26] +[@2331,13157:13160='void',<'void'>,507:8] +[@2332,13162:13165='Bar2',,507:13] +[@2333,13166:13166='(',<'('>,507:17] +[@2334,13167:13167=')',<')'>,507:18] +[@2335,13177:13177='{',<'{'>,508:8] +[@2336,13191:13193='foo',,509:12] +[@2337,13195:13195='=',<'='>,509:16] +[@2338,13197:13197='6',,509:18] +[@2339,13198:13198=';',<';'>,509:19] +[@2340,13212:13215='this',<'this'>,510:12] +[@2341,13216:13216='.',<'.'>,510:16] +[@2342,13217:13219='Foo',,510:17] +[@2343,13221:13221='=',<'='>,510:21] +[@2344,13223:13223='5',,510:23] +[@2345,13224:13224='.',<'.'>,510:24] +[@2346,13225:13231='GetType',,510:25] +[@2347,13232:13232='(',<'('>,510:32] +[@2348,13233:13233=')',<')'>,510:33] +[@2349,13234:13234=';',<';'>,510:34] +[@2350,13236:13239='Test',,510:36] +[@2351,13241:13241='t',,510:41] +[@2352,13243:13243='=',<'='>,510:43] +[@2353,13245:13249='"sss"',,510:45] +[@2354,13250:13250=';',<';'>,510:50] +[@2355,13260:13260='}',<'}'>,511:8] +[@2356,13271:13276='public',<'public'>,513:8] +[@2357,13278:13282='event',<'event'>,513:15] +[@2358,13284:13295='EventHandler',,513:21] +[@2359,13297:13303='MyEvent',,513:34] +[@2360,13305:13305='=',<'='>,513:42] +[@2361,13307:13314='delegate',<'delegate'>,513:44] +[@2362,13316:13316='{',<'{'>,513:53] +[@2363,13318:13318='}',<'}'>,513:55] +[@2364,13319:13319=';',<';'>,513:56] +[@2365,13330:13333='void',<'void'>,515:8] +[@2366,13335:13338='Blah',,515:13] +[@2367,13339:13339='(',<'('>,515:17] +[@2368,13340:13340=')',<')'>,515:18] +[@2369,13350:13350='{',<'{'>,516:8] +[@2370,13364:13366='int',<'int'>,517:12] +[@2371,13368:13368='i',,517:16] +[@2372,13370:13370='=',<'='>,517:18] +[@2373,13372:13372='5',,517:20] +[@2374,13373:13373=';',<';'>,517:21] +[@2375,13387:13389='int',<'int'>,518:12] +[@2376,13390:13390='?',<'?'>,518:15] +[@2377,13392:13392='j',,518:17] +[@2378,13394:13394='=',<'='>,518:19] +[@2379,13396:13396='6',,518:21] +[@2380,13397:13397=';',<';'>,518:22] +[@2381,13412:13421='Expression',,520:12] +[@2382,13422:13422='<',<'<'>,520:22] +[@2383,13423:13426='Func',,520:23] +[@2384,13427:13427='<',<'<'>,520:27] +[@2385,13428:13430='int',<'int'>,520:28] +[@2386,13431:13431='>',<'>'>,520:31] +[@2387,13432:13432='>',<'>'>,520:32] +[@2388,13434:13434='e',,520:34] +[@2389,13436:13436='=',<'='>,520:36] +[@2390,13438:13438='(',<'('>,520:38] +[@2391,13439:13439=')',<')'>,520:39] +[@2392,13441:13442='=>',<'=>'>,520:41] +[@2393,13444:13444='i',,520:44] +[@2394,13445:13445=';',<';'>,520:45] +[@2395,13459:13468='Expression',,521:12] +[@2396,13469:13469='<',<'<'>,521:22] +[@2397,13470:13473='Func',,521:23] +[@2398,13474:13474='<',<'<'>,521:27] +[@2399,13475:13478='bool',<'bool'>,521:28] +[@2400,13479:13479=',',<','>,521:32] +[@2401,13481:13486='Action',,521:34] +[@2402,13487:13487='>',<'>'>,521:40] +[@2403,13488:13488='>',<'>'>,521:41] +[@2404,13490:13491='e2',,521:43] +[@2405,13493:13493='=',<'='>,521:46] +[@2406,13495:13495='b',,521:48] +[@2407,13497:13498='=>',<'=>'>,521:50] +[@2408,13500:13500='(',<'('>,521:53] +[@2409,13501:13501=')',<')'>,521:54] +[@2410,13503:13504='=>',<'=>'>,521:56] +[@2411,13506:13506='{',<'{'>,521:59] +[@2412,13508:13513='return',<'return'>,521:61] +[@2413,13514:13514=';',<';'>,521:67] +[@2414,13516:13516='}',<'}'>,521:69] +[@2415,13517:13517=';',<';'>,521:70] +[@2416,13531:13534='Func',,522:12] +[@2417,13535:13535='<',<'<'>,522:16] +[@2418,13536:13539='bool',<'bool'>,522:17] +[@2419,13540:13540=',',<','>,522:21] +[@2420,13542:13545='bool',<'bool'>,522:23] +[@2421,13546:13546='>',<'>'>,522:27] +[@2422,13548:13548='f',,522:29] +[@2423,13550:13550='=',<'='>,522:31] +[@2424,13552:13556='async',<'async'>,522:33] +[@2425,13558:13565='delegate',<'delegate'>,522:39] +[@2426,13567:13567='(',<'('>,522:48] +[@2427,13568:13571='bool',<'bool'>,522:49] +[@2428,13573:13573='a',,522:54] +[@2429,13574:13574=')',<')'>,522:55] +[@2430,13588:13588='{',<'{'>,523:12] +[@2431,13606:13611='return',<'return'>,524:16] +[@2432,13613:13617='await',<'await'>,524:23] +[@2433,13619:13619='!',<'!'>,524:29] +[@2434,13620:13620='a',,524:30] +[@2435,13621:13621=';',<';'>,524:31] +[@2436,13635:13635='}',<'}'>,525:12] +[@2437,13636:13636=';',<';'>,525:13] +[@2438,13650:13653='Func',,526:12] +[@2439,13654:13654='<',<'<'>,526:16] +[@2440,13655:13657='int',<'int'>,526:17] +[@2441,13658:13658=',',<','>,526:20] +[@2442,13660:13662='int',<'int'>,526:22] +[@2443,13663:13663=',',<','>,526:25] +[@2444,13665:13667='int',<'int'>,526:27] +[@2445,13668:13668='>',<'>'>,526:30] +[@2446,13670:13671='f2',,526:32] +[@2447,13673:13673='=',<'='>,526:35] +[@2448,13675:13675='(',<'('>,526:37] +[@2449,13676:13676='a',,526:38] +[@2450,13677:13677=',',<','>,526:39] +[@2451,13679:13679='b',,526:41] +[@2452,13680:13680=')',<')'>,526:42] +[@2453,13682:13683='=>',<'=>'>,526:44] +[@2454,13685:13685='0',,526:47] +[@2455,13686:13686=';',<';'>,526:48] +[@2456,13700:13701='f2',,527:12] +[@2457,13703:13703='=',<'='>,527:15] +[@2458,13705:13705='(',<'('>,527:17] +[@2459,13706:13708='int',<'int'>,527:18] +[@2460,13710:13710='a',,527:22] +[@2461,13711:13711=',',<','>,527:23] +[@2462,13713:13715='int',<'int'>,527:25] +[@2463,13717:13717='b',,527:29] +[@2464,13718:13718=')',<')'>,527:30] +[@2465,13720:13721='=>',<'=>'>,527:32] +[@2466,13723:13723='1',,527:35] +[@2467,13724:13724=';',<';'>,527:36] +[@2468,13738:13743='Action',,528:12] +[@2469,13745:13745='a',,528:19] +[@2470,13747:13747='=',<'='>,528:21] +[@2471,13749:13752='Blah',,528:23] +[@2472,13753:13753=';',<';'>,528:27] +[@2473,13767:13768='f2',,529:12] +[@2474,13770:13770='=',<'='>,529:15] +[@2475,13772:13772='(',<'('>,529:17] +[@2476,13773:13773=')',<')'>,529:18] +[@2477,13775:13776='=>',<'=>'>,529:20] +[@2478,13778:13778='{',<'{'>,529:23] +[@2479,13779:13779='}',<'}'>,529:24] +[@2480,13780:13780=';',<';'>,529:25] +[@2481,13794:13795='f2',,530:12] +[@2482,13797:13797='=',<'='>,530:15] +[@2483,13799:13799='(',<'('>,530:17] +[@2484,13800:13800=')',<')'>,530:18] +[@2485,13802:13803='=>',<'=>'>,530:20] +[@2486,13805:13805='{',<'{'>,530:23] +[@2487,13806:13806=';',<';'>,530:24] +[@2488,13807:13807='}',<'}'>,530:25] +[@2489,13808:13808=';',<';'>,530:26] +[@2490,13818:13818='}',<'}'>,531:8] +[@2491,13829:13836='delegate',<'delegate'>,533:8] +[@2492,13838:13846='Recursive',,533:17] +[@2493,13848:13856='Recursive',,533:27] +[@2494,13857:13857='(',<'('>,533:36] +[@2495,13858:13866='Recursive',,533:37] +[@2496,13868:13868='r',,533:47] +[@2497,13869:13869=')',<')'>,533:48] +[@2498,13870:13870=';',<';'>,533:49] +[@2499,13880:13887='delegate',<'delegate'>,534:8] +[@2500,13889:13897='Recursive',,534:17] +[@2501,13899:13907='Recursive',,534:27] +[@2502,13908:13908='<',<'<'>,534:36] +[@2503,13909:13909='A',,534:37] +[@2504,13910:13910=',',<','>,534:38] +[@2505,13911:13911='R',,534:39] +[@2506,13912:13912='>',<'>'>,534:40] +[@2507,13913:13913='(',<'('>,534:41] +[@2508,13914:13922='Recursive',,534:42] +[@2509,13923:13923='<',<'<'>,534:51] +[@2510,13924:13924='A',,534:52] +[@2511,13925:13925=',',<','>,534:53] +[@2512,13926:13926='R',,534:54] +[@2513,13927:13927='>',<'>'>,534:55] +[@2514,13929:13929='r',,534:57] +[@2515,13930:13930=')',<')'>,534:58] +[@2516,13931:13931=';',<';'>,534:59] +[@2517,13942:13947='public',<'public'>,536:8] +[@2518,13949:13952='Type',,536:15] +[@2519,13954:13956='Foo',,536:20] +[@2520,13966:13966='{',<'{'>,537:8] +[@2521,13980:13980='[',<'['>,538:12] +[@2522,13981:13988='Obsolete',,538:13] +[@2523,13989:13989='(',<'('>,538:21] +[@2524,13990:13995='"Name"',,538:22] +[@2525,13996:13996=',',<','>,538:28] +[@2526,13998:14002='error',,538:30] +[@2527,14004:14004='=',<'='>,538:36] +[@2528,14006:14010='false',<'false'>,538:38] +[@2529,14011:14011=')',<')'>,538:43] +[@2530,14012:14012=']',<']'>,538:44] +[@2531,14026:14028='get',<'get'>,539:12] +[@2532,14042:14042='{',<'{'>,540:12] +[@2533,14060:14062='var',<'var'>,541:16] +[@2534,14064:14069='result',,541:20] +[@2535,14071:14071='=',<'='>,541:27] +[@2536,14073:14078='typeof',<'typeof'>,541:29] +[@2537,14079:14079='(',<'('>,541:35] +[@2538,14080:14090='IEnumerable',,541:36] +[@2539,14091:14091='<',<'<'>,541:47] +[@2540,14092:14094='int',<'int'>,541:48] +[@2541,14095:14095='>',<'>'>,541:51] +[@2542,14096:14096=')',<')'>,541:52] +[@2543,14097:14097=';',<';'>,541:53] +[@2544,14115:14117='var',<'var'>,542:16] +[@2545,14119:14119='t',,542:20] +[@2546,14121:14121='=',<'='>,542:22] +[@2547,14123:14128='typeof',<'typeof'>,542:24] +[@2548,14129:14129='(',<'('>,542:30] +[@2549,14130:14132='int',<'int'>,542:31] +[@2550,14133:14133='?',<'?'>,542:34] +[@2551,14134:14134=')',<')'>,542:35] +[@2552,14136:14137='==',<'=='>,542:37] +[@2553,14139:14144='typeof',<'typeof'>,542:40] +[@2554,14145:14145='(',<'('>,542:46] +[@2555,14146:14153='Nullable',,542:47] +[@2556,14154:14154='<',<'<'>,542:55] +[@2557,14155:14157='int',<'int'>,542:56] +[@2558,14158:14158='>',<'>'>,542:59] +[@2559,14159:14159=')',<')'>,542:60] +[@2560,14160:14160=';',<';'>,542:61] +[@2561,14178:14178='t',,543:16] +[@2562,14180:14180='=',<'='>,543:18] +[@2563,14182:14187='typeof',<'typeof'>,543:20] +[@2564,14188:14188='(',<'('>,543:26] +[@2565,14189:14199='IEnumerable',,543:27] +[@2566,14200:14200='<',<'<'>,543:38] +[@2567,14201:14203='int',<'int'>,543:39] +[@2568,14204:14204='?',<'?'>,543:42] +[@2569,14205:14205='[',<'['>,543:43] +[@2570,14206:14206=']',<']'>,543:44] +[@2571,14207:14207='[',<'['>,543:45] +[@2572,14208:14208=']',<']'>,543:46] +[@2573,14209:14209='[',<'['>,543:47] +[@2574,14210:14210=']',<']'>,543:48] +[@2575,14211:14211='>',<'>'>,543:49] +[@2576,14212:14212=')',<')'>,543:50] +[@2577,14213:14213=';',<';'>,543:51] +[@2578,14231:14236='return',<'return'>,544:16] +[@2579,14238:14243='typeof',<'typeof'>,544:23] +[@2580,14244:14244='(',<'('>,544:29] +[@2581,14245:14255='IEnumerable',,544:30] +[@2582,14256:14256='<',<'<'>,544:41] +[@2583,14257:14257='>',<'>'>,544:42] +[@2584,14258:14258=')',<')'>,544:43] +[@2585,14259:14259=';',<';'>,544:44] +[@2586,14273:14273='}',<'}'>,545:12] +[@2587,14287:14289='set',<'set'>,546:12] +[@2588,14303:14303='{',<'{'>,547:12] +[@2589,14321:14323='var',<'var'>,548:16] +[@2590,14325:14325='t',,548:20] +[@2591,14327:14327='=',<'='>,548:22] +[@2592,14329:14334='typeof',<'typeof'>,548:24] +[@2593,14335:14335='(',<'('>,548:30] +[@2594,14336:14341='System',,548:31] +[@2595,14342:14342='.',<'.'>,548:37] +[@2596,14343:14347='Int32',,548:38] +[@2597,14348:14348=')',<')'>,548:43] +[@2598,14349:14349=';',<';'>,548:44] +[@2599,14367:14367='t',,549:16] +[@2600,14368:14368='.',<'.'>,549:17] +[@2601,14369:14376='ToString',,549:18] +[@2602,14377:14377='(',<'('>,549:26] +[@2603,14378:14378=')',<')'>,549:27] +[@2604,14379:14379=';',<';'>,549:28] +[@2605,14397:14397='t',,550:16] +[@2606,14399:14399='=',<'='>,550:18] +[@2607,14401:14405='value',<'value'>,550:20] +[@2608,14406:14406=';',<';'>,550:25] +[@2609,14420:14420='}',<'}'>,551:12] +[@2610,14430:14430='}',<'}'>,552:8] +[@2611,14441:14446='public',<'public'>,554:8] +[@2612,14448:14451='void',<'void'>,554:15] +[@2613,14453:14461='Constants',,554:20] +[@2614,14462:14462='(',<'('>,554:29] +[@2615,14463:14463=')',<')'>,554:30] +[@2616,14473:14473='{',<'{'>,555:8] +[@2617,14487:14489='int',<'int'>,556:12] +[@2618,14491:14491='i',,556:16] +[@2619,14493:14493='=',<'='>,556:18] +[@2620,14495:14495='1',,556:20] +[@2621,14497:14497='+',<'+'>,556:22] +[@2622,14499:14499='2',,556:24] +[@2623,14501:14501='+',<'+'>,556:26] +[@2624,14503:14503='3',,556:28] +[@2625,14505:14505='+',<'+'>,556:30] +[@2626,14507:14507='5',,556:32] +[@2627,14508:14508=';',<';'>,556:33] +[@2628,14522:14527='global',<'global'>,557:12] +[@2629,14528:14529='::',<'::'>,557:18] +[@2630,14530:14535='System',,557:20] +[@2631,14536:14536='.',<'.'>,557:26] +[@2632,14537:14542='String',,557:27] +[@2633,14544:14544='s',,557:34] +[@2634,14546:14546='=',<'='>,557:36] +[@2635,14548:14550='"a"',,557:38] +[@2636,14552:14552='+',<'+'>,557:42] +[@2637,14554:14554='(',<'('>,557:44] +[@2638,14555:14560='System',,557:45] +[@2639,14561:14561='.',<'.'>,557:51] +[@2640,14562:14567='String',,557:52] +[@2641,14568:14568=')',<')'>,557:58] +[@2642,14569:14571='"a"',,557:59] +[@2643,14573:14573='+',<'+'>,557:63] +[@2644,14575:14577='"a"',,557:65] +[@2645,14579:14579='+',<'+'>,557:69] +[@2646,14581:14583='"a"',,557:71] +[@2647,14585:14585='+',<'+'>,557:75] +[@2648,14587:14589='"a"',,557:77] +[@2649,14591:14591='+',<'+'>,557:81] +[@2650,14593:14595='"A"',,557:83] +[@2651,14596:14596=';',<';'>,557:86] +[@2652,14606:14606='}',<'}'>,558:8] +[@2653,14617:14622='public',<'public'>,560:8] +[@2654,14624:14627='void',<'void'>,560:15] +[@2655,14629:14643='ConstructedType',,560:20] +[@2656,14644:14644='(',<'('>,560:35] +[@2657,14645:14645=')',<')'>,560:36] +[@2658,14655:14655='{',<'{'>,561:8] +[@2659,14669:14672='List',,562:12] +[@2660,14673:14673='<',<'<'>,562:16] +[@2661,14674:14676='int',<'int'>,562:17] +[@2662,14677:14677='>',<'>'>,562:20] +[@2663,14679:14679='i',,562:22] +[@2664,14681:14681='=',<'='>,562:24] +[@2665,14683:14686='null',<'null'>,562:26] +[@2666,14687:14687=';',<';'>,562:30] +[@2667,14701:14703='int',<'int'>,563:12] +[@2668,14705:14705='c',,563:16] +[@2669,14707:14707='=',<'='>,563:18] +[@2670,14709:14709='i',,563:20] +[@2671,14710:14710='.',<'.'>,563:21] +[@2672,14711:14715='Count',,563:22] +[@2673,14716:14716=';',<';'>,563:27] +[@2674,14726:14726='}',<'}'>,564:8] +[@2675,14732:14732='}',<'}'>,565:4] +[@2676,14734:14734='}',<'}'>,566:0] +[@2677,14737:14745='namespace',<'namespace'>,568:0] +[@2678,14747:14754='Comments',,568:10] +[@2679,14755:14755='.',<'.'>,568:18] +[@2680,14756:14766='XmlComments',,568:19] +[@2681,14767:14767='.',<'.'>,568:30] +[@2682,14768:14787='UndocumentedKeywords',,568:31] +[@2683,14789:14789='{',<'{'>,569:0] +[@2684,15241:15245='class',<'class'>,586:4] +[@2685,15254:15254='C',,586:17] +[@2686,15255:15255='<',<'<'>,586:18] +[@2687,15256:15256='T',,586:19] +[@2688,15257:15257='>',<'>'>,586:20] +[@2689,15263:15263='{',<'{'>,587:4] +[@2690,15273:15276='void',<'void'>,588:8] +[@2691,15278:15278='M',,588:13] +[@2692,15279:15279='<',<'<'>,588:14] +[@2693,15280:15280='U',,588:15] +[@2694,15281:15281='>',<'>'>,588:16] +[@2695,15282:15282='(',<'('>,588:17] +[@2696,15283:15283='T',,588:18] +[@2697,15285:15285='t',,588:20] +[@2698,15286:15286=',',<','>,588:21] +[@2699,15288:15288='U',,588:23] +[@2700,15290:15290='u',,588:25] +[@2701,15291:15291=')',<')'>,588:26] +[@2702,15301:15301='{',<'{'>,589:8] +[@2703,15449:15451='int',<'int'>,596:17] +[@2704,15458:15465='intValue',,596:26] +[@2705,15467:15467='=',<'='>,596:35] +[@2706,15469:15469='0',,596:37] +[@2707,15470:15470=';',<';'>,596:38] +[@2708,15484:15491='intValue',,597:12] +[@2709,15493:15493='=',<'='>,597:21] +[@2710,15495:15502='intValue',,597:23] +[@2711,15509:15509='+',<'+'>,597:37] +[@2712,15511:15511='1',,597:39] +[@2713,15512:15512=';',<';'>,597:40] +[@2714,15526:15531='string',<'string'>,598:12] +[@2715,15533:15540='strValue',,598:19] +[@2716,15542:15542='=',<'='>,598:28] +[@2717,15549:15555='"hello"',,598:35] +[@2718,15556:15556=';',<';'>,598:42] +[@2719,15575:15581='MyClass',,599:17] +[@2720,15583:15583='c',,599:25] +[@2721,15585:15585='=',<'='>,599:27] +[@2722,15587:15589='new',<'new'>,599:29] +[@2723,15591:15597='MyClass',,599:33] +[@2724,15598:15598='(',<'('>,599:40] +[@2725,15599:15599=')',<')'>,599:41] +[@2726,15600:15600=';',<';'>,599:42] +[@2727,15614:15619='string',<'string'>,600:12] +[@2728,15621:15631='verbatimStr',,600:19] +[@2729,15633:15633='=',<'='>,600:31] +[@2730,15640:15646='@"\\\\"',,600:38] +[@2731,15647:15647=';',<';'>,600:45] +[@2732,15657:15657='}',<'}'>,601:8] +[@2733,15663:15663='}',<'}'>,602:4] +[@2734,15795:15799='class',<'class'>,605:4] +[@2735,15801:16311='TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',,605:10] +[@2736,16321:16321='{',<'{'>,605:530] +[@2737,16323:16323='}',<'}'>,605:532] +[@2738,16330:16334='class',<'class'>,607:4] +[@2739,16336:16847='TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22',,607:10] +[@2740,16857:16857='{',<'{'>,607:531] +[@2741,16859:16859='}',<'}'>,607:533] +[@2742,16866:16870='class',<'class'>,609:4] +[@2743,16872:16876='yield',<'yield'>,609:10] +[@2744,16882:16882='{',<'{'>,610:4] +[@2745,16892:16895='void',<'void'>,611:8] +[@2746,16897:16902='Params',,611:13] +[@2747,16903:16903='(',<'('>,611:19] +[@2748,16904:16906='ref',<'ref'>,611:20] +[@2749,16908:16914='dynamic',<'dynamic'>,611:24] +[@2750,16916:16916='a',,611:32] +[@2751,16917:16917=',',<','>,611:33] +[@2752,16919:16921='out',<'out'>,611:35] +[@2753,16923:16929='dynamic',<'dynamic'>,611:39] +[@2754,16931:16931='b',,611:47] +[@2755,16932:16932=',',<','>,611:48] +[@2756,16934:16939='params',<'params'>,611:50] +[@2757,16941:16947='dynamic',<'dynamic'>,611:57] +[@2758,16948:16948='[',<'['>,611:64] +[@2759,16949:16949=']',<']'>,611:65] +[@2760,16951:16951='c',,611:67] +[@2761,16952:16952=')',<')'>,611:68] +[@2762,16954:16954='{',<'{'>,611:70] +[@2763,16955:16955='}',<'}'>,611:71] +[@2764,16965:16968='void',<'void'>,612:8] +[@2765,16970:16975='Params',,612:13] +[@2766,16976:16976='(',<'('>,612:19] +[@2767,16977:16979='out',<'out'>,612:20] +[@2768,16981:16987='dynamic',<'dynamic'>,612:24] +[@2769,16989:16989='a',,612:32] +[@2770,16991:16991='=',<'='>,612:34] +[@2771,16993:16993='2',,612:36] +[@2772,16994:16994=',',<','>,612:37] +[@2773,16996:16998='ref',<'ref'>,612:39] +[@2774,17000:17006='dynamic',<'dynamic'>,612:43] +[@2775,17008:17008='c',,612:51] +[@2776,17010:17010='=',<'='>,612:53] +[@2777,17012:17018='default',<'default'>,612:55] +[@2778,17019:17019='(',<'('>,612:62] +[@2779,17020:17026='dynamic',<'dynamic'>,612:63] +[@2780,17027:17027=')',<')'>,612:70] +[@2781,17028:17028=',',<','>,612:71] +[@2782,17030:17035='params',<'params'>,612:73] +[@2783,17037:17043='dynamic',<'dynamic'>,612:80] +[@2784,17044:17044='[',<'['>,612:87] +[@2785,17045:17045=']',<']'>,612:88] +[@2786,17046:17046='[',<'['>,612:89] +[@2787,17047:17047=']',<']'>,612:90] +[@2788,17049:17049='c',,612:92] +[@2789,17050:17050=')',<')'>,612:93] +[@2790,17052:17052='{',<'{'>,612:95] +[@2791,17053:17053='}',<'}'>,612:96] +[@2792,17064:17069='public',<'public'>,614:8] +[@2793,17071:17078='override',<'override'>,614:15] +[@2794,17080:17085='string',<'string'>,614:24] +[@2795,17087:17094='ToString',,614:31] +[@2796,17095:17095='(',<'('>,614:39] +[@2797,17096:17096=')',<')'>,614:40] +[@2798,17098:17098='{',<'{'>,614:42] +[@2799,17100:17105='return',<'return'>,614:44] +[@2800,17107:17110='base',<'base'>,614:51] +[@2801,17111:17111='.',<'.'>,614:55] +[@2802,17112:17119='ToString',,614:56] +[@2803,17120:17120='(',<'('>,614:64] +[@2804,17121:17121=')',<')'>,614:65] +[@2805,17122:17122=';',<';'>,614:66] +[@2806,17124:17124='}',<'}'>,614:68] +[@2807,17136:17141='public',<'public'>,616:8] +[@2808,17143:17149='partial',<'partial'>,616:15] +[@2809,17151:17154='void',<'void'>,616:23] +[@2810,17156:17162='OnError',,616:28] +[@2811,17163:17163='(',<'('>,616:35] +[@2812,17164:17164=')',<')'>,616:36] +[@2813,17165:17165=';',<';'>,616:37] +[@2814,17176:17181='public',<'public'>,618:8] +[@2815,17183:17189='partial',<'partial'>,618:15] +[@2816,17191:17194='void',<'void'>,618:23] +[@2817,17196:17201='method',,618:28] +[@2818,17202:17202='(',<'('>,618:34] +[@2819,17203:17203=')',<')'>,618:35] +[@2820,17213:17213='{',<'{'>,619:8] +[@2821,17227:17229='int',<'int'>,620:12] +[@2822,17230:17230='?',<'?'>,620:15] +[@2823,17231:17231='[',<'['>,620:16] +[@2824,17232:17232=']',<']'>,620:17] +[@2825,17234:17234='a',,620:19] +[@2826,17236:17236='=',<'='>,620:21] +[@2827,17238:17240='new',<'new'>,620:23] +[@2828,17242:17244='int',<'int'>,620:27] +[@2829,17245:17245='?',<'?'>,620:30] +[@2830,17246:17246='[',<'['>,620:31] +[@2831,17247:17247='5',,620:32] +[@2832,17248:17248=']',<']'>,620:33] +[@2833,17249:17249=';',<';'>,620:34] +[@2834,17283:17285='int',<'int'>,621:12] +[@2835,17286:17286='[',<'['>,621:15] +[@2836,17287:17287=']',<']'>,621:16] +[@2837,17289:17291='var',<'var'>,621:18] +[@2838,17293:17293='=',<'='>,621:22] +[@2839,17295:17295='{',<'{'>,621:24] +[@2840,17297:17297='1',,621:26] +[@2841,17298:17298=',',<','>,621:27] +[@2842,17300:17300='2',,621:29] +[@2843,17301:17301=',',<','>,621:30] +[@2844,17303:17303='3',,621:32] +[@2845,17304:17304=',',<','>,621:33] +[@2846,17306:17306='4',,621:35] +[@2847,17307:17307=',',<','>,621:36] +[@2848,17309:17309='5',,621:38] +[@2849,17311:17311='}',<'}'>,621:40] +[@2850,17312:17312=';',<';'>,621:41] +[@2851,17332:17334='int',<'int'>,622:12] +[@2852,17336:17336='i',,622:16] +[@2853,17338:17338='=',<'='>,622:18] +[@2854,17340:17340='a',,622:20] +[@2855,17341:17341='[',<'['>,622:21] +[@2856,17342:17342='i',,622:22] +[@2857,17343:17343=']',<']'>,622:23] +[@2858,17344:17344=';',<';'>,622:24] +[@2859,17364:17366='Foo',,623:12] +[@2860,17367:17367='<',<'<'>,623:15] +[@2861,17368:17368='T',,623:16] +[@2862,17369:17369='>',<'>'>,623:17] +[@2863,17371:17371='f',,623:19] +[@2864,17373:17373='=',<'='>,623:21] +[@2865,17375:17377='new',<'new'>,623:23] +[@2866,17379:17381='Foo',,623:27] +[@2867,17382:17382='<',<'<'>,623:30] +[@2868,17383:17385='int',<'int'>,623:31] +[@2869,17386:17386='>',<'>'>,623:34] +[@2870,17387:17387='(',<'('>,623:35] +[@2871,17388:17388=')',<')'>,623:36] +[@2872,17389:17389=';',<';'>,623:37] +[@2873,17412:17412='f',,624:12] +[@2874,17413:17413='.',<'.'>,624:13] +[@2875,17414:17419='method',,624:14] +[@2876,17420:17420='(',<'('>,624:20] +[@2877,17421:17421=')',<')'>,624:21] +[@2878,17422:17422=';',<';'>,624:22] +[@2879,17443:17443='i',,625:12] +[@2880,17445:17445='=',<'='>,625:14] +[@2881,17447:17447='i',,625:16] +[@2882,17449:17449='+',<'+'>,625:18] +[@2883,17451:17451='i',,625:20] +[@2884,17453:17453='-',<'-'>,625:22] +[@2885,17455:17455='i',,625:24] +[@2886,17457:17457='*',<'*'>,625:26] +[@2887,17459:17459='i',,625:28] +[@2888,17461:17461='/',<'/'>,625:30] +[@2889,17463:17463='i',,625:32] +[@2890,17465:17465='%',<'%'>,625:34] +[@2891,17467:17467='i',,625:36] +[@2892,17469:17469='&',<'&'>,625:38] +[@2893,17471:17471='i',,625:40] +[@2894,17473:17473='|',<'|'>,625:42] +[@2895,17475:17475='i',,625:44] +[@2896,17477:17477='^',<'^'>,625:46] +[@2897,17479:17479='i',,625:48] +[@2898,17480:17480=';',<';'>,625:49] +[@2899,17513:17516='bool',<'bool'>,626:12] +[@2900,17518:17518='b',,626:17] +[@2901,17520:17520='=',<'='>,626:19] +[@2902,17522:17525='true',<'true'>,626:21] +[@2903,17527:17527='&',<'&'>,626:26] +[@2904,17529:17533='false',<'false'>,626:28] +[@2905,17535:17535='|',<'|'>,626:34] +[@2906,17537:17540='true',<'true'>,626:36] +[@2907,17542:17542='^',<'^'>,626:41] +[@2908,17544:17548='false',<'false'>,626:43] +[@2909,17549:17549=';',<';'>,626:48] +[@2910,17572:17572='b',,627:12] +[@2911,17574:17574='=',<'='>,627:14] +[@2912,17576:17576='!',<'!'>,627:16] +[@2913,17577:17577='b',,627:17] +[@2914,17578:17578=';',<';'>,627:18] +[@2915,17597:17597='i',,628:12] +[@2916,17599:17599='=',<'='>,628:14] +[@2917,17601:17601='~',<'~'>,628:16] +[@2918,17602:17602='i',,628:17] +[@2919,17603:17603=';',<';'>,628:18] +[@2920,17623:17623='b',,629:12] +[@2921,17625:17625='=',<'='>,629:14] +[@2922,17627:17627='i',,629:16] +[@2923,17629:17629='<',<'<'>,629:18] +[@2924,17631:17631='i',,629:20] +[@2925,17633:17634='&&',<'&&'>,629:22] +[@2926,17636:17636='i',,629:25] +[@2927,17638:17638='>',<'>'>,629:27] +[@2928,17640:17640='i',,629:29] +[@2929,17641:17641=';',<';'>,629:30] +[@2930,17665:17667='int',<'int'>,630:12] +[@2931,17668:17668='?',<'?'>,630:15] +[@2932,17670:17671='ii',,630:17] +[@2933,17673:17673='=',<'='>,630:20] +[@2934,17675:17675='5',,630:22] +[@2935,17676:17676=';',<';'>,630:23] +[@2936,17707:17709='int',<'int'>,631:12] +[@2937,17711:17711='f',,631:16] +[@2938,17713:17713='=',<'='>,631:18] +[@2939,17715:17718='true',<'true'>,631:20] +[@2940,17720:17720='?',<'?'>,631:25] +[@2941,17722:17722='1',,631:27] +[@2942,17724:17724=':',<':'>,631:29] +[@2943,17726:17726='0',,631:31] +[@2944,17727:17727=';',<';'>,631:32] +[@2945,17759:17759='i',,632:12] +[@2946,17760:17761='++',<'++'>,632:13] +[@2947,17762:17762=';',<';'>,632:15] +[@2948,17782:17782='i',,633:12] +[@2949,17783:17784='--',<'--'>,633:13] +[@2950,17785:17785=';',<';'>,633:15] +[@2951,17805:17805='b',,634:12] +[@2952,17807:17807='=',<'='>,634:14] +[@2953,17809:17812='true',<'true'>,634:16] +[@2954,17814:17815='&&',<'&&'>,634:21] +[@2955,17817:17821='false',<'false'>,634:24] +[@2956,17823:17824='||',<'||'>,634:30] +[@2957,17826:17829='true',<'true'>,634:33] +[@2958,17830:17830=';',<';'>,634:37] +[@2959,17853:17853='b',,635:12] +[@2960,17855:17855='=',<'='>,635:14] +[@2961,17857:17857='i',,635:16] +[@2962,17859:17860='==',<'=='>,635:18] +[@2963,17862:17862='i',,635:21] +[@2964,17864:17865='&&',<'&&'>,635:23] +[@2965,17867:17867='i',,635:26] +[@2966,17869:17870='!=',<'!='>,635:28] +[@2967,17872:17872='i',,635:31] +[@2968,17874:17875='&&',<'&&'>,635:33] +[@2969,17877:17877='i',,635:36] +[@2970,17879:17880='<=',<'<='>,635:38] +[@2971,17882:17882='i',,635:41] +[@2972,17884:17885='&&',<'&&'>,635:43] +[@2973,17887:17887='i',,635:46] +[@2974,17889:17890='>=',<'>='>,635:48] +[@2975,17892:17892='i',,635:51] +[@2976,17893:17893=';',<';'>,635:52] +[@2977,17927:17927='i',,636:12] +[@2978,17929:17930='+=',<'+='>,636:14] +[@2979,17932:17934='5.0',,636:17] +[@2980,17935:17935=';',<';'>,636:20] +[@2981,17955:17955='i',,637:12] +[@2982,17957:17958='-=',<'-='>,637:14] +[@2983,17960:17960='i',,637:17] +[@2984,17961:17961=';',<';'>,637:18] +[@2985,17981:17981='i',,638:12] +[@2986,17983:17984='*=',<'*='>,638:14] +[@2987,17986:17986='i',,638:17] +[@2988,17987:17987=';',<';'>,638:18] +[@2989,18007:18007='i',,639:12] +[@2990,18009:18010='/=',<'/='>,639:14] +[@2991,18012:18012='i',,639:17] +[@2992,18013:18013=';',<';'>,639:18] +[@2993,18033:18033='i',,640:12] +[@2994,18035:18036='%=',<'%='>,640:14] +[@2995,18038:18038='i',,640:17] +[@2996,18039:18039=';',<';'>,640:18] +[@2997,18059:18059='i',,641:12] +[@2998,18061:18062='&=',<'&='>,641:14] +[@2999,18064:18064='i',,641:17] +[@3000,18065:18065=';',<';'>,641:18] +[@3001,18085:18085='i',,642:12] +[@3002,18087:18088='|=',<'|='>,642:14] +[@3003,18090:18090='i',,642:17] +[@3004,18091:18091=';',<';'>,642:18] +[@3005,18111:18111='i',,643:12] +[@3006,18113:18114='^=',<'^='>,643:14] +[@3007,18116:18116='i',,643:17] +[@3008,18117:18117=';',<';'>,643:18] +[@3009,18137:18137='i',,644:12] +[@3010,18139:18141='<<=',<'<<='>,644:14] +[@3011,18143:18143='i',,644:18] +[@3012,18144:18144=';',<';'>,644:19] +[@3013,18165:18165='i',,645:12] +[@3014,18167:18167='>',<'>'>,645:14] +[@3015,18168:18169='>=',<'>='>,645:15] +[@3016,18171:18171='i',,645:18] +[@3017,18172:18172=';',<';'>,645:19] +[@3018,18193:18198='object',<'object'>,646:12] +[@3019,18200:18200='s',,646:19] +[@3020,18202:18202='=',<'='>,646:21] +[@3021,18204:18204='x',,646:23] +[@3022,18206:18207='=>',<'=>'>,646:25] +[@3023,18209:18209='x',,646:28] +[@3024,18211:18211='+',<'+'>,646:30] +[@3025,18213:18213='1',,646:32] +[@3026,18214:18214=';',<';'>,646:33] +[@3027,18234:18239='double',<'double'>,647:12] +[@3028,18241:18241='d',,647:19] +[@3029,18243:18243='=',<'='>,647:21] +[@3030,18245:18246='.3',,647:23] +[@3031,18247:18247=';',<';'>,647:25] +[@3032,18261:18265='Point',,648:12] +[@3033,18267:18271='point',,648:18] +[@3034,18272:18272=';',<';'>,648:23] +[@3035,18286:18291='unsafe',<'unsafe'>,649:12] +[@3036,18305:18305='{',<'{'>,650:12] +[@3037,18323:18327='Point',,651:16] +[@3038,18328:18328='*',<'*'>,651:21] +[@3039,18330:18330='p',,651:23] +[@3040,18332:18332='=',<'='>,651:25] +[@3041,18334:18334='&',<'&'>,651:27] +[@3042,18335:18339='point',,651:28] +[@3043,18340:18340=';',<';'>,651:33] +[@3044,18365:18365='p',,652:16] +[@3045,18366:18367='->',<'->'>,652:17] +[@3046,18368:18368='x',,652:19] +[@3047,18370:18370='=',<'='>,652:21] +[@3048,18372:18373='10',,652:23] +[@3049,18374:18374=';',<';'>,652:25] +[@3050,18394:18394='}',<'}'>,653:12] +[@3051,18408:18409='IO',,654:12] +[@3052,18410:18411='::',<'::'>,654:14] +[@3053,18412:18423='BinaryReader',,654:16] +[@3054,18425:18426='br',,654:29] +[@3055,18428:18428='=',<'='>,654:32] +[@3056,18430:18433='null',<'null'>,654:34] +[@3057,18434:18434=';',<';'>,654:38] +[@3058,18448:18448='x',,655:12] +[@3059,18449:18449='[',<'['>,655:13] +[@3060,18450:18450='i',,655:14] +[@3061,18451:18451=':',<':'>,655:15] +[@3062,18453:18453='1',,655:17] +[@3063,18454:18454=']',<']'>,655:18] +[@3064,18456:18456='=',<'='>,655:20] +[@3065,18458:18458='3',,655:22] +[@3066,18459:18459=';',<';'>,655:23] +[@3067,18473:18473='x',,656:12] +[@3068,18474:18474='[',<'['>,656:13] +[@3069,18475:18475='i',,656:14] +[@3070,18476:18476=':',<':'>,656:15] +[@3071,18478:18478='1',,656:17] +[@3072,18479:18479=',',<','>,656:18] +[@3073,18481:18481='j',,656:20] +[@3074,18482:18482=':',<':'>,656:21] +[@3075,18484:18484='5',,656:23] +[@3076,18485:18485=']',<']'>,656:24] +[@3077,18487:18487='=',<'='>,656:26] +[@3078,18489:18493='"str"',,656:28] +[@3079,18494:18494=';',<';'>,656:33] +[@3080,18504:18504='}',<'}'>,657:8] +[@3081,18515:18520='struct',<'struct'>,659:8] +[@3082,18522:18526='Point',,659:15] +[@3083,18528:18528='{',<'{'>,659:21] +[@3084,18530:18535='public',<'public'>,659:23] +[@3085,18537:18539='int',<'int'>,659:30] +[@3086,18541:18541='X',,659:34] +[@3087,18542:18542=';',<';'>,659:35] +[@3088,18544:18549='public',<'public'>,659:37] +[@3089,18551:18553='int',<'int'>,659:44] +[@3090,18555:18555='Y',,659:48] +[@3091,18556:18556=';',<';'>,659:49] +[@3092,18558:18563='public',<'public'>,659:51] +[@3093,18565:18568='void',<'void'>,659:58] +[@3094,18570:18579='ThisAccess',,659:63] +[@3095,18580:18580='(',<'('>,659:73] +[@3096,18581:18581=')',<')'>,659:74] +[@3097,18583:18583='{',<'{'>,659:76] +[@3098,18585:18588='this',<'this'>,659:78] +[@3099,18590:18590='=',<'='>,659:83] +[@3100,18592:18595='this',<'this'>,659:85] +[@3101,18596:18596=';',<';'>,659:89] +[@3102,18598:18598='}',<'}'>,659:91] +[@3103,18600:18600='}',<'}'>,659:93] +[@3104,18606:18606='}',<'}'>,660:4] +[@3105,18704:18708='class',<'class'>,663:4] +[@3106,18710:18724='CSharp6Features',,663:10] +[@3107,18730:18730='{',<'{'>,664:4] +[@3108,18784:18789='public',<'public'>,666:8] +[@3109,18791:18796='string',<'string'>,666:15] +[@3110,18798:18802='First',,666:22] +[@3111,18804:18804='{',<'{'>,666:28] +[@3112,18806:18808='get',<'get'>,666:30] +[@3113,18809:18809=';',<';'>,666:33] +[@3114,18811:18813='set',<'set'>,666:35] +[@3115,18814:18814=';',<';'>,666:38] +[@3116,18816:18816='}',<'}'>,666:40] +[@3117,18818:18818='=',<'='>,666:42] +[@3118,18820:18825='"Jane"',,666:44] +[@3119,18826:18826=';',<';'>,666:50] +[@3120,18836:18841='public',<'public'>,667:8] +[@3121,18843:18848='string',<'string'>,667:15] +[@3122,18850:18853='Last',,667:22] +[@3123,18855:18855='{',<'{'>,667:27] +[@3124,18857:18859='get',<'get'>,667:29] +[@3125,18860:18860=';',<';'>,667:32] +[@3126,18862:18864='set',<'set'>,667:34] +[@3127,18865:18865=';',<';'>,667:37] +[@3128,18867:18867='}',<'}'>,667:39] +[@3129,18869:18869='=',<'='>,667:41] +[@3130,18871:18875='"Doe"',,667:43] +[@3131,18876:18876=';',<';'>,667:48] +[@3132,18930:18935='public',<'public'>,670:8] +[@3133,18937:18942='string',<'string'>,670:15] +[@3134,18944:18948='Third',,670:22] +[@3135,18950:18950='{',<'{'>,670:28] +[@3136,18952:18954='get',<'get'>,670:30] +[@3137,18955:18955=';',<';'>,670:33] +[@3138,18957:18957='}',<'}'>,670:35] +[@3139,18959:18959='=',<'='>,670:37] +[@3140,18961:18966='"Jane"',,670:39] +[@3141,18967:18967=';',<';'>,670:45] +[@3142,18977:18982='public',<'public'>,671:8] +[@3143,18984:18989='string',<'string'>,671:15] +[@3144,18991:18996='Fourth',,671:22] +[@3145,18998:18998='{',<'{'>,671:29] +[@3146,19000:19002='get',<'get'>,671:31] +[@3147,19003:19003=';',<';'>,671:34] +[@3148,19005:19005='}',<'}'>,671:36] +[@3149,19007:19007='=',<'='>,671:38] +[@3150,19009:19013='"Doe"',,671:40] +[@3151,19014:19014=';',<';'>,671:45] +[@3152,19085:19090='public',<'public'>,674:8] +[@3153,19092:19096='Point',,674:15] +[@3154,19098:19101='Move',,674:21] +[@3155,19102:19102='(',<'('>,674:25] +[@3156,19103:19105='int',<'int'>,674:26] +[@3157,19107:19108='dx',,674:30] +[@3158,19109:19109=',',<','>,674:32] +[@3159,19111:19113='int',<'int'>,674:34] +[@3160,19115:19116='dy',,674:38] +[@3161,19117:19117=')',<')'>,674:40] +[@3162,19119:19120='=>',<'=>'>,674:42] +[@3163,19122:19124='new',<'new'>,674:45] +[@3164,19126:19130='Point',,674:49] +[@3165,19131:19131='(',<'('>,674:54] +[@3166,19132:19132='x',,674:55] +[@3167,19134:19134='+',<'+'>,674:57] +[@3168,19136:19137='dx',,674:59] +[@3169,19138:19138=',',<','>,674:61] +[@3170,19140:19140='y',,674:63] +[@3171,19142:19142='+',<'+'>,674:65] +[@3172,19144:19145='dy',,674:67] +[@3173,19146:19146=')',<')'>,674:69] +[@3174,19147:19147=';',<';'>,674:70] +[@3175,19158:19163='public',<'public'>,675:8] +[@3176,19165:19170='static',<'static'>,675:15] +[@3177,19172:19178='Complex',,675:22] +[@3178,19180:19187='operator',<'operator'>,675:30] +[@3179,19189:19189='+',<'+'>,675:39] +[@3180,19190:19190='(',<'('>,675:40] +[@3181,19191:19197='Complex',,675:41] +[@3182,19199:19199='a',,675:49] +[@3183,19200:19200=',',<','>,675:50] +[@3184,19202:19208='Complex',,675:52] +[@3185,19210:19210='b',,675:60] +[@3186,19211:19211=')',<')'>,675:61] +[@3187,19213:19214='=>',<'=>'>,675:63] +[@3188,19216:19216='a',,675:66] +[@3189,19217:19217='.',<'.'>,675:67] +[@3190,19218:19220='Add',,675:68] +[@3191,19221:19221='(',<'('>,675:71] +[@3192,19222:19222='b',,675:72] +[@3193,19223:19223=')',<')'>,675:73] +[@3194,19224:19224=';',<';'>,675:74] +[@3195,19234:19239='public',<'public'>,676:8] +[@3196,19241:19246='static',<'static'>,676:15] +[@3197,19248:19255='implicit',<'implicit'>,676:22] +[@3198,19257:19264='operator',<'operator'>,676:31] +[@3199,19266:19271='string',<'string'>,676:40] +[@3200,19272:19272='(',<'('>,676:46] +[@3201,19273:19278='Person',,676:47] +[@3202,19280:19280='p',,676:54] +[@3203,19281:19281=')',<')'>,676:55] +[@3204,19283:19284='=>',<'=>'>,676:57] +[@3205,19286:19286='p',,676:60] +[@3206,19287:19287='.',<'.'>,676:61] +[@3207,19288:19292='First',,676:62] +[@3208,19294:19294='+',<'+'>,676:68] +[@3209,19296:19298='" "',,676:70] +[@3210,19300:19300='+',<'+'>,676:74] +[@3211,19302:19302='p',,676:76] +[@3212,19303:19303='.',<'.'>,676:77] +[@3213,19304:19307='Last',,676:78] +[@3214,19308:19308=';',<';'>,676:82] +[@3215,19318:19323='public',<'public'>,677:8] +[@3216,19325:19328='void',<'void'>,677:15] +[@3217,19330:19334='Print',,677:20] +[@3218,19335:19335='(',<'('>,677:25] +[@3219,19336:19336=')',<')'>,677:26] +[@3220,19338:19339='=>',<'=>'>,677:28] +[@3221,19341:19347='Console',,677:31] +[@3222,19348:19348='.',<'.'>,677:38] +[@3223,19349:19357='WriteLine',,677:39] +[@3224,19358:19358='(',<'('>,677:48] +[@3225,19359:19363='First',,677:49] +[@3226,19365:19365='+',<'+'>,677:55] +[@3227,19367:19369='" "',,677:57] +[@3228,19371:19371='+',<'+'>,677:61] +[@3229,19373:19376='Last',,677:63] +[@3230,19377:19377=')',<')'>,677:67] +[@3231,19378:19378=';',<';'>,677:68] +[@3232,19460:19465='public',<'public'>,680:8] +[@3233,19467:19472='string',<'string'>,680:15] +[@3234,19474:19477='Name',,680:22] +[@3235,19479:19480='=>',<'=>'>,680:27] +[@3236,19482:19486='First',,680:30] +[@3237,19488:19488='+',<'+'>,680:36] +[@3238,19490:19492='" "',,680:38] +[@3239,19494:19494='+',<'+'>,680:42] +[@3240,19496:19499='Last',,680:44] +[@3241,19500:19500=';',<';'>,680:48] +[@3242,19510:19515='public',<'public'>,681:8] +[@3243,19517:19519='int',<'int'>,681:15] +[@3244,19521:19524='this',<'this'>,681:19] +[@3245,19525:19525='[',<'['>,681:23] +[@3246,19526:19529='long',<'long'>,681:24] +[@3247,19531:19532='id',,681:29] +[@3248,19533:19533=']',<']'>,681:31] +[@3249,19535:19536='=>',<'=>'>,681:33] +[@3250,19538:19539='id',,681:36] +[@3251,19540:19540=';',<';'>,681:38] +[@3252,19559:19563='async',<'async'>,683:8] +[@3253,19565:19568='void',<'void'>,683:14] +[@3254,19570:19573='Test',,683:19] +[@3255,19574:19574='(',<'('>,683:23] +[@3256,19575:19575=')',<')'>,683:24] +[@3257,19585:19585='{',<'{'>,684:8] +[@3258,19627:19635='WriteLine',,686:12] +[@3259,19636:19636='(',<'('>,686:21] +[@3260,19637:19640='Sqrt',,686:22] +[@3261,19641:19641='(',<'('>,686:26] +[@3262,19642:19642='3',,686:27] +[@3263,19643:19643='*',<'*'>,686:28] +[@3264,19644:19644='3',,686:29] +[@3265,19646:19646='+',<'+'>,686:31] +[@3266,19648:19648='4',,686:33] +[@3267,19649:19649='*',<'*'>,686:34] +[@3268,19650:19650='4',,686:35] +[@3269,19651:19651=')',<')'>,686:36] +[@3270,19652:19652=')',<')'>,686:37] +[@3271,19653:19653=';',<';'>,686:38] +[@3272,19667:19675='WriteLine',,687:12] +[@3273,19676:19676='(',<'('>,687:21] +[@3274,19677:19682='Friday',,687:22] +[@3275,19684:19684='-',<'-'>,687:29] +[@3276,19686:19691='Monday',,687:31] +[@3277,19692:19692=')',<')'>,687:37] +[@3278,19693:19693=';',<';'>,687:38] +[@3279,19719:19721='var',<'var'>,688:12] +[@3280,19723:19727='range',,688:16] +[@3281,19729:19729='=',<'='>,688:22] +[@3282,19731:19735='Range',,688:24] +[@3283,19736:19736='(',<'('>,688:29] +[@3284,19737:19737='5',,688:30] +[@3285,19738:19738=',',<','>,688:31] +[@3286,19740:19741='17',,688:33] +[@3287,19742:19742=')',<')'>,688:35] +[@3288,19743:19743=';',<';'>,688:36] +[@3289,19793:19795='var',<'var'>,689:12] +[@3290,19797:19800='even',,689:16] +[@3291,19802:19802='=',<'='>,689:21] +[@3292,19804:19808='range',,689:23] +[@3293,19809:19809='.',<'.'>,689:28] +[@3294,19810:19814='Where',,689:29] +[@3295,19815:19815='(',<'('>,689:34] +[@3296,19816:19816='i',,689:35] +[@3297,19818:19819='=>',<'=>'>,689:37] +[@3298,19821:19821='i',,689:40] +[@3299,19823:19823='%',<'%'>,689:42] +[@3300,19825:19825='2',,689:44] +[@3301,19827:19828='==',<'=='>,689:46] +[@3302,19830:19830='0',,689:49] +[@3303,19831:19831=')',<')'>,689:50] +[@3304,19832:19832=';',<';'>,689:51] +[@3305,19907:19909='int',<'int'>,692:12] +[@3306,19910:19910='?',<'?'>,692:15] +[@3307,19912:19917='length',,692:17] +[@3308,19919:19919='=',<'='>,692:24] +[@3309,19921:19929='customers',,692:26] +[@3310,19930:19930='?',<'?'>,692:35] +[@3311,19931:19931='.',<'.'>,692:36] +[@3312,19932:19937='Length',,692:37] +[@3313,19938:19938=';',<';'>,692:43] +[@3314,19981:19988='Customer',,693:12] +[@3315,19990:19994='first',,693:21] +[@3316,19996:19996='=',<'='>,693:27] +[@3317,19998:20006='customers',,693:29] +[@3318,20007:20007='?',<'?'>,693:38] +[@3319,20008:20008='[',<'['>,693:39] +[@3320,20009:20009='0',,693:40] +[@3321,20010:20010=']',<']'>,693:41] +[@3322,20011:20011=';',<';'>,693:42] +[@3323,20067:20069='int',<'int'>,694:12] +[@3324,20071:20076='length',,694:16] +[@3325,20078:20078='=',<'='>,694:23] +[@3326,20080:20088='customers',,694:25] +[@3327,20089:20089='?',<'?'>,694:34] +[@3328,20090:20090='.',<'.'>,694:35] +[@3329,20091:20096='Length',,694:36] +[@3330,20098:20099='??',<'??'>,694:43] +[@3331,20101:20101='0',,694:46] +[@3332,20102:20102=';',<';'>,694:47] +[@3333,20142:20144='int',<'int'>,695:12] +[@3334,20145:20145='?',<'?'>,695:15] +[@3335,20147:20151='first',,695:17] +[@3336,20153:20153='=',<'='>,695:23] +[@3337,20155:20163='customers',,695:25] +[@3338,20164:20164='?',<'?'>,695:34] +[@3339,20165:20165='[',<'['>,695:35] +[@3340,20166:20166='0',,695:36] +[@3341,20167:20167=']',<']'>,695:37] +[@3342,20168:20168='?',<'?'>,695:38] +[@3343,20169:20169='.',<'.'>,695:39] +[@3344,20170:20175='Orders',,695:40] +[@3345,20176:20176='?',<'?'>,695:46] +[@3346,20177:20177='.',<'.'>,695:47] +[@3347,20178:20182='Count',,695:48] +[@3348,20183:20183='(',<'('>,695:53] +[@3349,20184:20184=')',<')'>,695:54] +[@3350,20185:20185=';',<';'>,695:55] +[@3351,20199:20213='PropertyChanged',,696:12] +[@3352,20214:20214='?',<'?'>,696:27] +[@3353,20215:20215='.',<'.'>,696:28] +[@3354,20216:20221='Invoke',,696:29] +[@3355,20222:20222='(',<'('>,696:35] +[@3356,20223:20226='this',<'this'>,696:36] +[@3357,20227:20227=',',<','>,696:40] +[@3358,20229:20232='args',,696:42] +[@3359,20233:20233=')',<')'>,696:46] +[@3360,20234:20234=';',<';'>,696:47] +[@3361,20297:20302='string',<'string'>,699:12] +[@3362,20304:20304='s',,699:19] +[@3363,20306:20306='=',<'='>,699:21] +[@3364,20308:20309='〔$"〕',,699:23] +[@3365,20310:20310='{',<'{'>,699:25] +[@3366,20311:20311='p',,699:26] +[@3367,20312:20312='.',<'.'>,699:27] +[@3368,20313:20316='Name',,699:28] +[@3369,20317:20317=',',<','>,699:32] +[@3370,20319:20320='20',,699:34] +[@3371,20321:20321='}',<'}'>,699:36] +[@3372,20322:20325='〔 is 〕',,699:37] +[@3373,20326:20326='{',<'{'>,699:41] +[@3374,20327:20327='p',,699:42] +[@3375,20328:20328='.',<'.'>,699:43] +[@3376,20329:20331='Age',,699:44] +[@3377,20332:20334='〔:D3〕',,699:47] +[@3378,20335:20335='}',<'}'>,699:50] +[@3379,20336:20351='〔 year{{s}} old #〕',,699:51] +[@3380,20352:20352='〔"〕',,699:67] +[@3381,20353:20353=';',<';'>,699:68] +[@3382,20367:20367='s',,700:12] +[@3383,20369:20369='=',<'='>,700:14] +[@3384,20371:20372='〔$"〕',,700:16] +[@3385,20373:20373='{',<'{'>,700:18] +[@3386,20374:20374='p',,700:19] +[@3387,20375:20375='.',<'.'>,700:20] +[@3388,20376:20379='Name',,700:21] +[@3389,20380:20380='}',<'}'>,700:25] +[@3390,20381:20386='〔 is \"〕',,700:26] +[@3391,20387:20387='{',<'{'>,700:32] +[@3392,20388:20388='p',,700:33] +[@3393,20389:20389='.',<'.'>,700:34] +[@3394,20390:20392='Age',,700:35] +[@3395,20393:20393='}',<'}'>,700:38] +[@3396,20394:20398='〔 year〕',,700:39] +[@3397,20399:20399='{',<'{'>,700:44] +[@3398,20400:20400='(',<'('>,700:45] +[@3399,20401:20401='p',,700:46] +[@3400,20402:20402='.',<'.'>,700:47] +[@3401,20403:20405='Age',,700:48] +[@3402,20407:20408='==',<'=='>,700:52] +[@3403,20410:20410='1',,700:55] +[@3404,20412:20412='?',<'?'>,700:57] +[@3405,20414:20415='""',,700:59] +[@3406,20417:20417=':',<':'>,700:62] +[@3407,20419:20421='"s"',,700:64] +[@3408,20422:20422=')',<')'>,700:67] +[@3409,20423:20423='}',<'}'>,700:68] +[@3410,20424:20427='〔 old〕',,700:69] +[@3411,20428:20428='〔"〕',,700:73] +[@3412,20429:20429=';',<';'>,700:74] +[@3413,20443:20443='s',,701:12] +[@3414,20445:20445='=',<'='>,701:14] +[@3415,20447:20448='〔$"〕',,701:16] +[@3416,20449:20449='{',<'{'>,701:18] +[@3417,20450:20450='(',<'('>,701:19] +[@3418,20451:20451='p',,701:20] +[@3419,20452:20452='.',<'.'>,701:21] +[@3420,20453:20455='Age',,701:22] +[@3421,20457:20458='==',<'=='>,701:26] +[@3422,20460:20460='2',,701:29] +[@3423,20462:20462='?',<'?'>,701:31] +[@3424,20464:20465='〔$"〕',,701:33] +[@3425,20466:20466='{',<'{'>,701:35] +[@3426,20467:20469='new',<'new'>,701:36] +[@3427,20471:20476='Person',,701:40] +[@3428,20478:20478='{',<'{'>,701:47] +[@3429,20480:20480='}',<'}'>,701:49] +[@3430,20482:20482='}',<'}'>,701:51] +[@3431,20483:20483='〔"〕',,701:52] +[@3432,20485:20485=':',<':'>,701:54] +[@3433,20487:20488='""',,701:56] +[@3434,20489:20489=')',<')'>,701:58] +[@3435,20490:20490='}',<'}'>,701:59] +[@3436,20491:20491='〔"〕',,701:60] +[@3437,20492:20492=';',<';'>,701:61] +[@3438,20506:20506='s',,702:12] +[@3439,20508:20508='=',<'='>,702:14] +[@3440,20510:20512='〔$@"〕',,702:16] +[@3441,20513:20513='〔\〕',,702:19] +[@3442,20514:20514='{',<'{'>,702:20] +[@3443,20515:20515='p',,702:21] +[@3444,20516:20516='.',<'.'>,702:22] +[@3445,20517:20520='Name',,702:23] +[@3446,20521:20521='}',<'}'>,702:27] +[@3447,20522:20560='〔\n ""\〕',,702:28] +[@3448,20561:20561='〔"〕',,703:38] +[@3449,20562:20562=';',<';'>,703:39] +[@3450,20576:20576='s',,704:12] +[@3451,20578:20578='=',<'='>,704:14] +[@3452,20580:20581='〔$"〕',,704:16] +[@3453,20582:20591='〔Color [ R=〕',,704:18] +[@3454,20592:20592='{',<'{'>,704:28] +[@3455,20593:20596='func',,704:29] +[@3456,20597:20597='(',<'('>,704:33] +[@3457,20598:20598='b',,704:34] +[@3458,20599:20599=':',<':'>,704:35] +[@3459,20601:20601='3',,704:37] +[@3460,20602:20602=')',<')'>,704:38] +[@3461,20603:20608='〔:#0.##〕',,704:39] +[@3462,20609:20609='}',<'}'>,704:45] +[@3463,20610:20613='〔, G=〕',,704:46] +[@3464,20614:20614='{',<'{'>,704:50] +[@3465,20615:20615='G',,704:51] +[@3466,20616:20621='〔:#0.##〕',,704:52] +[@3467,20622:20622='}',<'}'>,704:58] +[@3468,20623:20626='〔, B=〕',,704:59] +[@3469,20627:20627='{',<'{'>,704:63] +[@3470,20628:20628='B',,704:64] +[@3471,20629:20634='〔:#0.##〕',,704:65] +[@3472,20635:20635='}',<'}'>,704:71] +[@3473,20636:20639='〔, A=〕',,704:72] +[@3474,20640:20640='{',<'{'>,704:76] +[@3475,20641:20641='A',,704:77] +[@3476,20642:20647='〔:#0.##〕',,704:78] +[@3477,20648:20648='}',<'}'>,704:84] +[@3478,20649:20650='〔 ]〕',,704:85] +[@3479,20651:20651='〔"〕',,704:87] +[@3480,20652:20652=';',<';'>,704:88] +[@3481,20713:20714='if',<'if'>,707:12] +[@3482,20716:20716='(',<'('>,707:15] +[@3483,20717:20717='x',,707:16] +[@3484,20719:20720='==',<'=='>,707:18] +[@3485,20722:20725='null',<'null'>,707:21] +[@3486,20726:20726=')',<')'>,707:25] +[@3487,20744:20748='throw',<'throw'>,708:16] +[@3488,20750:20752='new',<'new'>,708:22] +[@3489,20754:20774='ArgumentNullException',,708:26] +[@3490,20775:20775='(',<'('>,708:47] +[@3491,20776:20781='nameof',<'nameof'>,708:48] +[@3492,20782:20782='(',<'('>,708:54] +[@3493,20783:20783='x',,708:55] +[@3494,20784:20784=')',<')'>,708:56] +[@3495,20785:20785=')',<')'>,708:57] +[@3496,20786:20786=';',<';'>,708:58] +[@3497,20800:20808='WriteLine',,709:12] +[@3498,20809:20809='(',<'('>,709:21] +[@3499,20810:20815='nameof',<'nameof'>,709:22] +[@3500,20816:20816='(',<'('>,709:28] +[@3501,20817:20822='person',,709:29] +[@3502,20823:20823='.',<'.'>,709:35] +[@3503,20824:20830='Address',,709:36] +[@3504,20831:20831='.',<'.'>,709:43] +[@3505,20832:20838='ZipCode',,709:44] +[@3506,20839:20839=')',<')'>,709:51] +[@3507,20840:20840=')',<')'>,709:52] +[@3508,20841:20841=';',<';'>,709:53] +[@3509,20922:20924='var',<'var'>,712:12] +[@3510,20926:20932='numbers',,712:16] +[@3511,20934:20934='=',<'='>,712:24] +[@3512,20936:20938='new',<'new'>,712:26] +[@3513,20940:20949='Dictionary',,712:30] +[@3514,20950:20950='<',<'<'>,712:40] +[@3515,20951:20953='int',<'int'>,712:41] +[@3516,20954:20954=',',<','>,712:44] +[@3517,20956:20961='string',<'string'>,712:46] +[@3518,20962:20962='>',<'>'>,712:52] +[@3519,20964:20964='{',<'{'>,712:54] +[@3520,20982:20982='[',<'['>,713:16] +[@3521,20983:20983='7',,713:17] +[@3522,20984:20984=']',<']'>,713:18] +[@3523,20986:20986='=',<'='>,713:20] +[@3524,20988:20994='"seven"',,713:22] +[@3525,20995:20995=',',<','>,713:29] +[@3526,21013:21013='[',<'['>,714:16] +[@3527,21014:21014='9',,714:17] +[@3528,21015:21015=']',<']'>,714:18] +[@3529,21017:21017='=',<'='>,714:20] +[@3530,21019:21024='"nine"',,714:22] +[@3531,21025:21025=',',<','>,714:28] +[@3532,21043:21043='[',<'['>,715:16] +[@3533,21044:21045='13',,715:17] +[@3534,21046:21046=']',<']'>,715:19] +[@3535,21048:21048='=',<'='>,715:21] +[@3536,21050:21059='"thirteen"',,715:23] +[@3537,21073:21073='}',<'}'>,716:12] +[@3538,21074:21074=';',<';'>,716:13] +[@3539,21134:21136='try',<'try'>,719:12] +[@3540,21138:21138='{',<'{'>,719:16] +[@3541,21139:21139='}',<'}'>,719:17] +[@3542,21153:21157='catch',<'catch'>,720:12] +[@3543,21159:21159='(',<'('>,720:18] +[@3544,21160:21170='MyException',,720:19] +[@3545,21172:21172='e',,720:31] +[@3546,21173:21173=')',<')'>,720:32] +[@3547,21175:21178='when',<'when'>,720:34] +[@3548,21180:21180='(',<'('>,720:39] +[@3549,21181:21188='myfilter',,720:40] +[@3550,21189:21189='(',<'('>,720:48] +[@3551,21190:21190='e',,720:49] +[@3552,21191:21191=')',<')'>,720:50] +[@3553,21192:21192=')',<')'>,720:51] +[@3554,21206:21206='{',<'{'>,721:12] +[@3555,21208:21208='}',<'}'>,721:14] +[@3556,21284:21291='Resource',,724:12] +[@3557,21293:21295='res',,724:21] +[@3558,21297:21297='=',<'='>,724:25] +[@3559,21299:21302='null',<'null'>,724:27] +[@3560,21303:21303=';',<';'>,724:31] +[@3561,21317:21319='try',<'try'>,725:12] +[@3562,21333:21333='{',<'{'>,726:12] +[@3563,21351:21353='res',,727:16] +[@3564,21355:21355='=',<'='>,727:20] +[@3565,21357:21361='await',<'await'>,727:22] +[@3566,21363:21370='Resource',,727:28] +[@3567,21371:21371='.',<'.'>,727:36] +[@3568,21372:21380='OpenAsync',,727:37] +[@3569,21381:21381='(',<'('>,727:46] +[@3570,21382:21382=')',<')'>,727:47] +[@3571,21383:21383=';',<';'>,727:48] +[@3572,21425:21425='}',<'}'>,728:12] +[@3573,21440:21444='catch',<'catch'>,729:12] +[@3574,21445:21445='(',<'('>,729:17] +[@3575,21446:21462='ResourceException',,729:18] +[@3576,21464:21464='e',,729:36] +[@3577,21465:21465=')',<')'>,729:37] +[@3578,21479:21479='{',<'{'>,730:12] +[@3579,21497:21501='await',<'await'>,731:16] +[@3580,21503:21510='Resource',,731:22] +[@3581,21511:21511='.',<'.'>,731:30] +[@3582,21512:21519='LogAsync',,731:31] +[@3583,21520:21520='(',<'('>,731:39] +[@3584,21521:21523='res',,731:40] +[@3585,21524:21524=',',<','>,731:43] +[@3586,21526:21526='e',,731:45] +[@3587,21527:21527=')',<')'>,731:46] +[@3588,21528:21528=';',<';'>,731:47] +[@3589,21575:21575='}',<'}'>,732:12] +[@3590,21589:21595='finally',<'finally'>,733:12] +[@3591,21609:21609='{',<'{'>,734:12] +[@3592,21627:21628='if',<'if'>,735:16] +[@3593,21630:21630='(',<'('>,735:19] +[@3594,21631:21633='res',,735:20] +[@3595,21635:21636='!=',<'!='>,735:24] +[@3596,21638:21641='null',<'null'>,735:27] +[@3597,21642:21642=')',<')'>,735:31] +[@3598,21664:21668='await',<'await'>,736:20] +[@3599,21670:21672='res',,736:26] +[@3600,21673:21673='.',<'.'>,736:29] +[@3601,21674:21683='CloseAsync',,736:30] +[@3602,21684:21684='(',<'('>,736:40] +[@3603,21685:21685=')',<')'>,736:41] +[@3604,21686:21686=';',<';'>,736:42] +[@3605,21715:21715='}',<'}'>,737:12] +[@3606,21725:21725='}',<'}'>,738:8] +[@3607,21731:21731='}',<'}'>,739:4] +[@3608,21733:21733='}',<'}'>,740:0] +[@3609,21734:21733='',,740:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.red.txt new file mode 100644 index 000000000..84030ffc0 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (extern_alias_directive extern alias (identifier Foo) ;) (using_directive (using_namespace_directive using (namespace_name (identifier System)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Collections)) . (identifier Generic))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq)) . (identifier Expressions))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Text))) ;)) (using_directive (using_alias_directive using (identifier M) = (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Math)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier ConsoleApplication2)) . (identifier Test))) ;)) (using_directive (using_alias_directive using (identifier X) = (namespace_or_type_name (identifier int1)) ;)) (using_directive (using_alias_directive using (identifier Y) = (namespace_or_type_name (namespace_or_type_name (identifier ABC)) . (identifier X) (type_argument_list < (type_arguments (integral_type int)) >)) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Math))) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier DayOfWeek))) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq)) . (identifier Enumerable))) ;)) (global_attributes (global_attribute_section [ (global_attribute_target_specifier (global_attribute_target (identifier assembly)) :) (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Copyright))) (attribute_arguments ( (positional_argument_list (literal @"(C)"" \n\n2009")) )))) ]) (global_attribute_section [ (global_attribute_target_specifier (global_attribute_target (identifier module)) :) (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Copyright))) (attribute_arguments ( (positional_argument_list (additive_expression (additive_expression (literal "\n\t\u0123(C) \"2009")) + (multiplicative_expression (literal "\u0123")))) )))) ])) (namespace_member_declaration (class_declaration class (identifier TopLevelType) (class_base : (class_type (identifier IDisposable))) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (interface_type (identifier IDisposable)) . (identifier Dispose)) ( )) (method_body (block { })))) }))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier A)) . (identifier B))) ;)) (namespace_member_declaration (interface_declaration interface (identifier CoContra) (variant_type_parameter_list < (variant_type_parameters (variant_type_parameters (variance_annotation out) (type_parameter (identifier T))) , (variance_annotation in) (type_parameter (identifier K))) >) (interface_body { }))) (namespace_member_declaration (delegate_declaration delegate (return_type void) (delegate_header (identifier CoContra2) (variant_type_parameter_list < (variant_type_parameters (variant_type_parameters (attributes (attribute_section [ (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Obsolete))) (attribute_arguments ( )))) ])) (variance_annotation out) (type_parameter (identifier T))) , (variance_annotation in) (type_parameter (identifier K))) >) ( ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint struct))) ;))) (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier DllImport)) (attribute_arguments ( (positional_argument_list (literal "kernel32")) , (named_argument_list (named_argument (identifier SetLastError) = (attribute_argument_expression (boolean_literal true)))) )))) ])) (method_modifiers (method_modifier (ref_method_modifier static)) (method_modifier (ref_method_modifier extern))) (return_type (simple_type bool)) (method_header (member_name (identifier CreateDirectory)) ( (parameter_list (fixed_parameters (fixed_parameter (type (class_type string)) (identifier name)) , (fixed_parameter (type (identifier SecurityAttribute)) (identifier sa)))) )) (method_body ;))) (class_member_declaration (constant_declaration (constant_modifier private) const (type (integral_type int)) (constant_declarators (constant_declarator (identifier (contextual_keyword global)) = (constant_expression (additive_expression (additive_expression (member_access (predefined_type int) . (identifier MinValue))) - (multiplicative_expression (literal 1)))))) ;)) (class_member_declaration (static_constructor_declaration (static_constructor_modifiers static) (identifier A) ( ) (static_constructor_body (block { })))) (class_member_declaration (constructor_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (labeled_statement (identifier L) : (statement (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (sizeof_expression sizeof ( (unmanaged_type (integral_type int)) ))))))) ;)) (statement (expression_statement (statement_expression (pre_increment_expression ++ (unary_expression (identifier i)))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s1) = (expression (interpolated_regular_string_expression 〔$"〕 〔x 〕 { (regular_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s2) = (expression (interpolated_verbatim_string_expression 〔$@"〕 〔x 〕 { (verbatim_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;))) })))) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Console)) . (identifier WriteLine))) ( (argument_list (member_access (primary_expression (member_access (primary_expression (identifier export)) . (identifier iefSupplied))) . (identifier command))) ))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local) = (constant_expression (member_access (predefined_type int) . (identifier MaxValue)))))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_reference_type (non_nullable_reference_type (identifier Guid)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local0) = (constant_expression (object_creation_expression new (type (identifier Guid)) ( (argument_list (invocation_expression (primary_expression (member_access (primary_expression (identifier r)) . (identifier ToString))) ( ))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier привет) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier мир) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword var)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier local3) = (local_variable_initializer (literal 0))) , (explicitly_typed_local_variable_declarator (identifier local4) = (local_variable_initializer (literal 1)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier local3)) (assignment_operator =) (expression (assignment (unary_expression (identifier local4)) (assignment_operator =) (expression (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local5) = (expression (null_coalescing_expression (conditional_or_expression (relational_expression (relational_expression (null_literal null)) as (type (identifier Action)))) ?? (null_coalescing_expression (null_literal null))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local6) = (expression (relational_expression (relational_expression (identifier local5)) is (type (identifier Action))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier u) = (expression (literal 1u))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier U) = (expression (literal 1U))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier hex) = (local_variable_initializer (literal 0xBADC0DE))) , (explicitly_typed_local_variable_declarator (identifier Hex) = (local_variable_initializer (literal 0XDEADBEEF))) , (explicitly_typed_local_variable_declarator (identifier l) = (local_variable_initializer (unary_expression - (unary_expression (literal 1L))))) , (explicitly_typed_local_variable_declarator (identifier L) = (local_variable_initializer (literal 1L))) , (explicitly_typed_local_variable_declarator (identifier l2) = (local_variable_initializer (literal 2l)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier ul) = (local_variable_initializer (literal 1ul))) , (explicitly_typed_local_variable_declarator (identifier Ul) = (local_variable_initializer (literal 1Ul))) , (explicitly_typed_local_variable_declarator (identifier uL) = (local_variable_initializer (literal 1uL))) , (explicitly_typed_local_variable_declarator (identifier UL) = (local_variable_initializer (literal 1UL))) , (explicitly_typed_local_variable_declarator (identifier lu) = (local_variable_initializer (literal 1lu))) , (explicitly_typed_local_variable_declarator (identifier Lu) = (local_variable_initializer (literal 1Lu))) , (explicitly_typed_local_variable_declarator (identifier lU) = (local_variable_initializer (literal 1lU))) , (explicitly_typed_local_variable_declarator (identifier LU) = (local_variable_initializer (literal 1LU)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt32Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 2147483648)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt64Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 9223372036854775808L)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (simple_type bool)) (explicitly_typed_local_variable_declarators (identifier @bool)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type byte)) (explicitly_typed_local_variable_declarators (identifier @byte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type char)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @char) = (local_variable_initializer (literal 'c'))) , (explicitly_typed_local_variable_declarator (identifier \u0066) = (local_variable_initializer (literal '\u0066'))) , (explicitly_typed_local_variable_declarator (identifier hexchar) = (local_variable_initializer (literal '\x0130'))) , (explicitly_typed_local_variable_declarator (identifier hexchar2) = (local_variable_initializer (cast_expression ( (type (integral_type char)) ) (unary_expression (literal 0xBAD)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier \U00000065) = (local_variable_initializer (literal "\U00000065")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (numeric_type decimal)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @decimal) = (local_variable_initializer (literal 1.44M)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @decimal)) (assignment_operator =) (expression (literal 1.2m)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (identifier @dynamic)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type double)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @double) = (local_variable_initializer (member_access (primary_expression (identifier M)) . (identifier PI))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1d)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1D)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (unary_expression - (unary_expression (literal 1.2e3)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type float)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @float) = (local_variable_initializer (literal 1.2f)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @float)) (assignment_operator =) (expression (literal 1.44F)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @int) = (local_variable_initializer (null_coalescing_expression (conditional_or_expression (identifier local)) ?? (null_coalescing_expression (unary_expression - (unary_expression (literal 1)))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (identifier @long)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type object)) (explicitly_typed_local_variable_declarators (identifier @object)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type sbyte)) (explicitly_typed_local_variable_declarators (identifier @sbyte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type short)) (explicitly_typed_local_variable_declarators (identifier @short)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @string) = (local_variable_initializer (literal @"""/*")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type uint)) (explicitly_typed_local_variable_declarators (identifier @uint)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (identifier @ulong)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ushort)) (explicitly_typed_local_variable_declarators (identifier @ushort)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (local_variable_initializer (identifier local5)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword add)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword alias)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier arglist) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword ascending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword async)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword await)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword by)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword descending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword equals)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword from)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword get)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword group)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword into)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword join)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword let)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword nameof)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword on)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword orderby)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword partial)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword remove)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword select)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword set)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword var)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword when)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword where)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword yield)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier __) = (expression (literal 0))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (contextual_keyword where)) (assignment_operator =) (expression (assignment (unary_expression (contextual_keyword yield)) (assignment_operator =) (expression (literal 0)))))) ;)) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (literal 0)))) ) (embedded_statement (block { (statement_list (return_statement return ;)) })) else (embedded_statement (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier i)) == (relational_expression (literal 0)))) ) (embedded_statement (block { (statement_list (throw_statement throw (expression (object_creation_expression new (type (identifier Exception)) ( ))) ;)) })))))) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o1) = (expression (object_creation_expression new (type (identifier MyObject)) ( )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o2) = (expression (object_creation_expression new (type (identifier MyObject)) ( (argument_list (contextual_keyword var)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o3) = (expression (object_creation_expression new (type (identifier MyObject)) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target (identifier A)) = (initializer_value (identifier i)))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o4) = (expression (object_creation_expression new (type (identifier MyObject)) ( (argument_list (identifier @dynamic)) ) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target (identifier A)) = (initializer_value (literal 0))) , (member_initializer (initializer_target (identifier B)) = (initializer_value (literal 0))) , (member_initializer (initializer_target (identifier C)) = (initializer_value (literal 0)))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o5) = (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier A) = (expression (literal 0)))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier dictionaryInitializer) = (expression (object_creation_expression new (type (namespace_or_type_name (identifier Dictionary) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (class_type string))) >))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer { (expression_list (expression_list (literal 1)) , (expression (literal ""))) }) , (element_initializer { (expression_list (expression_list (literal 2)) , (expression (literal "a"))) })) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (floating_point_type float)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (array_type (non_array_type (floating_point_type float)) (rank_specifier [ ]))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer (literal 0f)) , (element_initializer (literal 1.1f))) })))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ , , ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier cube) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 111)) , (variable_initializer (literal 112))) , })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 121)) , (variable_initializer (literal 122))) }))) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 211)) , (variable_initializer (literal 212))) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 221)) , (variable_initializer (literal 222))) }))) }))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier jagged) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (literal 111)) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 121)) , (variable_initializer (literal 122))) }))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]) (rank_specifier [ , ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier arr) = (local_variable_initializer (array_creation_expression new (non_array_type (integral_type int)) [ (expression_list (literal 5)) ] (rank_specifier [ , ]))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) (assignment_operator =) (expression (array_creation_expression new (non_array_type (integral_type int)) [ (expression_list (expression_list (literal 5)) , (expression (literal 5))) ])))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) [ (argument_list (argument (literal 0)) , (argument (literal 0))) ])) (assignment_operator =) (expression (literal 47)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier arrayTypeInference) = (local_variable_initializer (array_creation_expression new (rank_specifier [ ]) (array_initializer { (variable_initializer_list (variable_initializer (literal 0)) , (variable_initializer (literal 1))) , }))))))) ;)) (statement (switch_statement switch ( (expression (literal 3)) ) (switch_block { }))) (statement (switch_statement switch ( (expression (identifier i)) ) (switch_block { (switch_section (switch_label case (pattern (literal 0)) :) (switch_label case (pattern (literal 1)) :) (statement_list (block { (statement_list (goto_statement goto case (constant_expression (literal 2)) ;)) }))) (switch_section (switch_label case (pattern (additive_expression (additive_expression (literal 2)) + (multiplicative_expression (literal 3)))) :) (statement_list (block { (statement_list (statement (goto_statement goto default ;)) (statement (break_statement break ;))) }))) (switch_section (switch_label default :) (statement_list (block { (statement_list (return_statement return ;)) }))) }))) (statement (while_statement while ( (boolean_expression (relational_expression (relational_expression (identifier i)) < (shift_expression (literal 10)))) ) (embedded_statement (block { (statement_list (statement (expression_statement (statement_expression (pre_increment_expression ++ (unary_expression (identifier i)))) ;)) (statement (if_statement if ( (boolean_expression (boolean_literal true)) ) (embedded_statement (continue_statement continue ;)))) (statement (break_statement break ;))) })))) (statement (do_statement do (embedded_statement (block { (statement_list (statement (expression_statement (statement_expression (pre_increment_expression ++ (unary_expression (identifier i)))) ;)) (statement (if_statement if ( (boolean_expression (boolean_literal true)) ) (embedded_statement (continue_statement continue ;)))) (statement (break_statement break ;))) })) while ( (boolean_expression (relational_expression (relational_expression (identifier i)) < (shift_expression (literal 10)))) ) ;)) (statement (for_statement for ( (for_initializer (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier j) = (local_variable_initializer (literal 0)))))) ; (for_condition (relational_expression (relational_expression (identifier j)) < (shift_expression (literal 100)))) ; (for_iterator (pre_increment_expression ++ (unary_expression (identifier j)))) ) (embedded_statement (block { (statement_list (for_statement for ( ; ; ) (embedded_statement (block { (statement_list (statement (for_statement for ( (for_initializer (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (literal 0))) , (explicitly_typed_local_variable_declarator (identifier j) = (local_variable_initializer (literal 0)))))) ; (for_condition (relational_expression (relational_expression (identifier i)) < (shift_expression (identifier length)))) ; (for_iterator (statement_expression_list (statement_expression (post_increment_expression (primary_expression (identifier i)) ++)) , (statement_expression (post_increment_expression (primary_expression (identifier j)) ++)))) ) (embedded_statement (block { })))) (statement (if_statement if ( (boolean_expression (boolean_literal true)) ) (embedded_statement (continue_statement continue ;)))) (statement (break_statement break ;))) })))) })))) (statement (labeled_statement (identifier label) : (statement (goto_statement goto (identifier label) ;)))) (statement (labeled_statement (identifier label2) : (statement (empty_statement ;)))) (statement (foreach_statement foreach ( (local_variable_type (contextual_keyword var)) (identifier i) in (expression (invocation_expression (primary_expression (identifier Items)) ( ))) ) (embedded_statement (block { (statement_list (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier i)) == (relational_expression (literal 7)))) ) (embedded_statement (return_statement return ;)) else (embedded_statement (continue_statement continue ;)))) })))) (statement (lock_statement lock ( (expression (identifier sync)) ) (embedded_statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier process)) ( ))) ;)))) (statement (using_statement using ( (resource_acquisition (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (invocation_expression (primary_expression (identifier BeginScope)) ( )))))) ) (embedded_statement (using_statement using ( (resource_acquisition (explicitly_typed_local_variable_declaration (type (identifier A)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( ))))))) ) (embedded_statement (using_statement using ( (resource_acquisition (explicitly_typed_local_variable_declaration (type (identifier A)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( )))) , (explicitly_typed_local_variable_declarator (identifier b) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( ))))))) ) (embedded_statement (using_statement using ( (resource_acquisition (invocation_expression (primary_expression (identifier BeginScope)) ( ))) ) (embedded_statement (return_statement return ;)))))))))) (statement (yield_statement yield return (expression (element_access (primary_no_array_creation_expression (member_access (primary_expression (this_access this)) . (identifier items))) [ (argument_list (literal 3)) ])) ;)) (statement (yield_statement yield break ;)) (statement (fixed_statement fixed ( (pointer_type (value_type (integral_type int)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier p) = (fixed_pointer_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 100)) ]))) , (fixed_pointer_declarator (identifier q) = (fixed_pointer_initializer & (variable_reference (identifier y))))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (pointer_indirection_expression * (unary_expression (identifier intref)))) (assignment_operator =) (expression (literal 1)))) ;)) })))) (statement (fixed_statement fixed ( (pointer_type (value_type (integral_type int)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier p) = (fixed_pointer_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 100)) ])))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (pointer_indirection_expression * (unary_expression (identifier intref)))) (assignment_operator =) (expression (literal 1)))) ;)) })))) (statement (unsafe_statement unsafe (block { (statement_list (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (pointer_type (value_type (integral_type int)) *)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier p) = (local_variable_initializer (null_literal null)))))) ;)) }))) (statement (try_statement try (block { (statement_list (throw_statement throw (expression (null_literal null)) ;)) }) (catch_clauses (specific_catch_clause catch (exception_specifier ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier AccessViolationException))) (identifier av) )) (block { (statement_list (throw_statement throw (expression (identifier av)) ;)) })) (specific_catch_clause catch (exception_specifier ( (type (identifier Exception)) )) (block { (statement_list (throw_statement throw ;)) }))) (finally_clause finally (block { (statement_list (try_statement try (block { }) (catch_clauses (general_catch_clause catch (block { }))))) })))) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword var)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier anonymous) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (assignment (unary_expression (identifier A)) (assignment_operator =) (expression (literal 1)))) , (variable_initializer (assignment (unary_expression (identifier B)) (assignment_operator =) (expression (literal 2)))) , (variable_initializer (assignment (unary_expression (identifier C)) (assignment_operator =) (expression (literal 3))))) , })))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier query) = (expression (query_expression (from_clause from (identifier c) in (expression (identifier customers))) (query_body (query_body_clauses (query_body_clauses (query_body_clauses (query_body_clauses (let_clause let (identifier d) = (expression (identifier c)))) (query_body_clause (where_clause where (boolean_expression (equality_expression (equality_expression (identifier d)) != (relational_expression (null_literal null))))))) (query_body_clause (join_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( )))))) (query_body_clause (join_into_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))) into (identifier e)))) (select_or_group_clause (group_clause group (expression (identifier c)) by (expression (member_access (primary_expression (identifier c)) . (identifier Country))))) (query_continuation into (identifier g) (query_body (query_body_clauses (query_body_clauses (orderby_clause orderby (orderings (ordering (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))) (ordering_direction ascending))))) (query_body_clause (orderby_clause orderby (orderings (declaration_expression (local_variable_type (namespace_or_type_name (namespace_or_type_name (identifier g)) . (identifier Key))) (identifier (contextual_keyword descending))))))) (select_or_group_clause (select_clause select (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier Country) = (expression (member_access (primary_expression (identifier g)) . (identifier Key)))) , (member_declarator (identifier CustCount) = (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))))) }))))))))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier query)) (assignment_operator =) (expression (query_expression (from_clause from (identifier c) in (expression (identifier customers))) (query_body (select_or_group_clause (select_clause select (expression (identifier c)))) (query_continuation into (identifier d) (query_body (select_clause select (expression (identifier d)))))))))) ;))) })))) (class_member_declaration (finalizer_declaration ~ (identifier A) ( ) (finalizer_body (block { })))) (class_member_declaration (field_declaration (field_modifier private) (field_modifier readonly) (type (integral_type int)) (variable_declarators (identifier f1)) ;)) (class_member_declaration (field_declaration (attributes (attribute_section [ (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_list (identifier NonExisting)) ]) (attribute_section [ (attribute_list (attribute (attribute_name (qualified_alias_member (identifier Foo) :: (identifier NonExisting))) (attribute_arguments ( (positional_argument_list (positional_argument (contextual_keyword var)) , (positional_argument (literal 5))) )))) ]) (attribute_section [ (attribute_list (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (boolean_literal false)) )))) ]) (attribute_section [ (attribute_list (attribute (identifier Obsolete)) , (attribute (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier NonSerialized))) , (attribute (identifier NonSerialized)) , (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (conditional_or_expression (conditional_or_expression (boolean_literal true)) || (conditional_and_expression (and_expression (and_expression (boolean_literal false)) & (equality_expression (boolean_literal true)))))) )))) ])) (field_modifier private) (field_modifier volatile) (type (integral_type int)) (variable_declarators (identifier f2)) ;)) (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (keyword return)) :) (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Handler)) ( (parameter_list (fixed_parameter (type (class_type object)) (identifier (contextual_keyword value)))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type (integral_type int)) (method_header (member_name (identifier m)) (type_parameter_list < (type_parameters (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier t))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint class) , (constructor_constraint new ( ))))) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (base_access base . (identifier m))) ( (argument_list (identifier t)) ))) ;)) (statement (return_statement return (expression (literal 1)) ;))) })))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body (block { (statement_list (return_statement return (expression (literal "A")) ;)) }))) (set_accessor_declaration set (accessor_body ;))) }))) (class_member_declaration (property_declaration (property_modifier public) (property_modifier abstract) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) }))) (class_member_declaration (indexer_declaration (indexer_modifier public) (indexer_modifier abstract) (indexer_declarator (type (integral_type int)) this [ (parameter_list (fixed_parameter (type (integral_type int)) (identifier index))) ]) (indexer_body { (accessor_declarations (get_accessor_declaration (accessor_modifier protected internal) get (accessor_body ;)) (set_accessor_declaration (accessor_modifier internal protected) set (accessor_body ;))) }))) (class_member_declaration (event_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (keyword event)) :) (attribute_list (identifier Test)) ])) (event_modifier public) event (type (identifier Action)) (member_name (identifier E1)) { (event_accessor_declarations (add_accessor_declaration (attributes (attribute_section [ (attribute_list (identifier Obsolete)) ])) add (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (contextual_keyword value)) (assignment_operator =) (expression (contextual_keyword value)))) ;)) })) (remove_accessor_declaration (attributes (attribute_section [ (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_target_specifier (attribute_target (keyword return)) :) (attribute_list (identifier Obsolete)) ])) remove (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier E)) (assignment_operator +=) (expression (identifier Handler)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier E)) (assignment_operator -=) (expression (identifier Handler)))) ;))) }))) })) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (binary_operator_declarator (type (identifier A)) operator (overloadable_binary_operator +) ( (fixed_parameter (type (identifier A)) (identifier first)) , (fixed_parameter (type (identifier A)) (identifier second)) ))) (operator_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Delegate)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier handler) = (local_variable_initializer (object_creation_expression new (type (identifier Delegate)) ( (argument_list (identifier Handler)) ))))))) ;)) (statement (return_statement return (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier first)) . (identifier Add))) ( (argument_list (identifier second)) ))) ;))) })))) (class_member_declaration (operator_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_target_specifier (attribute_target (keyword return)) :) (attribute_list (identifier Obsolete)) ])) (operator_modifier public) (operator_modifier static) (operator_declarator (unary_operator_declarator (type (simple_type bool)) operator (overloadable_unary_operator true) ( (fixed_parameter (type (identifier A)) (identifier a)) ))) (operator_body (block { (statement_list (return_statement return (expression (boolean_literal true)) ;)) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (unary_operator_declarator (type (simple_type bool)) operator (overloadable_unary_operator false) ( (fixed_parameter (type (identifier A)) (identifier a)) ))) (operator_body (block { (statement_list (return_statement return (expression (boolean_literal false)) ;)) })))) (class_member_declaration (class_declaration class (identifier C) (class_body { }))) }))) (namespace_member_declaration (struct_declaration (struct_modifier public) struct (identifier S) (struct_interfaces : (interface_type_list (identifier I))) (struct_body { (struct_member_declaration (constructor_declaration (constructor_modifier public) (constructor_declarator (identifier S) ( )) (constructor_body (block { })))) (struct_member_declaration (field_declaration (field_modifier private) (type (integral_type int)) (variable_declarators (identifier f1)) ;)) (struct_member_declaration (field_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier Obsolete)) (attribute_arguments ( (positional_argument_list (positional_argument (literal "Use Script instead")) , (positional_argument (argument_name (identifier error) :) (attribute_argument_expression (boolean_literal false)))) )))) ])) (field_modifier private) (field_modifier volatile) (type (integral_type int)) (variable_declarators (identifier f2)) ;)) (struct_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier abstract))) (return_type (integral_type int)) (method_header (member_name (identifier m)) (type_parameter_list < (type_parameters (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier t))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint struct)))) (method_body (block { (statement_list (return_statement return (expression (literal 1)) ;)) })))) (struct_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword value)) = (local_variable_initializer (literal 0)))))) ;)) (statement (return_statement return (expression (literal "A")) ;))) }))) (set_accessor_declaration set (accessor_body ;))) }))) (struct_member_declaration (property_declaration (property_modifier public) (property_modifier abstract) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) }))) (struct_member_declaration (indexer_declaration (indexer_modifier public) (indexer_modifier abstract) (indexer_declarator (type (integral_type int)) this [ (parameter_list (fixed_parameter (type (integral_type int)) (identifier index))) ]) (indexer_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;)) (set_accessor_declaration (accessor_modifier internal protected) set (accessor_body ;))) }))) (struct_member_declaration (event_declaration (event_modifier public) event (type (identifier Event)) (variable_declarators (identifier E)) ;)) (struct_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (binary_operator_declarator (type (identifier A)) operator (overloadable_binary_operator +) ( (fixed_parameter (type (identifier A)) (identifier first)) , (fixed_parameter (type (identifier A)) (identifier second)) ))) (operator_body (block { (statement_list (return_statement return (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier first)) . (identifier Add))) ( (argument_list (identifier second)) ))) ;)) })))) (struct_member_declaration (fixed_size_buffer_declaration fixed (buffer_element_type (integral_type int)) (fixed_size_buffer_declarators (fixed_size_buffer_declarator (identifier field) [ (constant_expression (literal 10)) ])) ;)) (struct_member_declaration (class_declaration class (identifier C) (class_body { }))) }))) (namespace_member_declaration (interface_declaration (interface_modifier public) interface (identifier I) (interface_body { (interface_member_declaration (interface_method_declaration (return_type void) (interface_method_header (identifier A) ( (parameter_list (fixed_parameter (type (integral_type int)) (identifier (contextual_keyword value)))) ) ;))) (interface_member_declaration (interface_property_declaration (type (class_type string)) (identifier Value) { (interface_accessors get ; set ;) })) }))) (namespace_member_declaration (enum_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier type)) :) (attribute_list (identifier Flags)) ])) (enum_modifier public) enum (identifier E) (enum_body { (enum_member_declarations (enum_member_declaration (identifier A)) , (enum_member_declaration (identifier B) = (constant_expression (identifier A))) , (enum_member_declaration (identifier C) = (constant_expression (additive_expression (additive_expression (literal 2)) + (multiplicative_expression (identifier A))))) , (enum_member_declaration (identifier D))) , }))) (namespace_member_declaration (delegate_declaration (delegate_modifier public) delegate (return_type void) (delegate_header (identifier Delegate) ( (parameter_list (fixed_parameter (type (class_type object)) (identifier P))) ) ;))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier Test)) (namespace_body { (using_directive (using_namespace_directive using (namespace_name (identifier System)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Collections))) ;)) (namespace_member_declaration (class_declaration (class_modifier public) class (identifier Список) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier static))) (return_type (identifier IEnumerable)) (method_header (member_name (identifier Power)) ( (parameter_list (fixed_parameters (fixed_parameter (type (integral_type int)) (identifier number)) , (fixed_parameter (type (integral_type int)) (identifier exponent)))) )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Список)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier Список) = (local_variable_initializer (object_creation_expression new (type (identifier Список)) ( ))))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Список)) . (identifier Main))) ( ))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier counter) = (local_variable_initializer (parenthesized_expression ( (expression (additive_expression (additive_expression (literal 0)) + (multiplicative_expression (literal 0)))) ))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier אתר) = (local_variable_initializer (literal 0)))))) ;)) (statement (while_statement while ( (boolean_expression (relational_expression (relational_expression (pre_increment_expression ++ (unary_expression (post_increment_expression (primary_expression (identifier counter)) ++)))) < (shift_expression (pre_decrement_expression -- (unary_expression (post_decrement_expression (primary_expression (identifier exponent)) --)))))) ) (embedded_statement (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier result)) (assignment_operator =) (expression (additive_expression (additive_expression (additive_expression (multiplicative_expression (multiplicative_expression (identifier result)) * (unary_expression (identifier number)))) + (multiplicative_expression (unary_expression + (unary_expression (post_increment_expression (primary_expression (post_increment_expression (primary_expression (identifier number)) ++)) ++))))) + (multiplicative_expression (identifier number)))))) ;)) (statement (yield_statement yield return (expression (identifier result)) ;))) }))))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier static)) (return_type void) (method_header (member_name (identifier Main)) ( )) (method_body (block { (statement_list (foreach_statement foreach ( (local_variable_type (integral_type int)) (identifier i) in (expression (invocation_expression (primary_expression (identifier Power)) ( (argument_list (argument (literal 2)) , (argument (literal 8))) ))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Console)) . (identifier Write))) ( (argument_list (argument (literal "{0} ")) , (argument (identifier i))) ))) ;)) })))) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier async)) (return_type void) (method_header (member_name (identifier Wait)) ( )) (method_body (block { (statement_list (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (member_access (primary_expression (member_access (primary_expression (member_access (primary_expression (identifier System)) . (identifier Threading))) . (identifier Tasks))) . (identifier Task))) . (identifier Delay))) ( (argument_list (literal 0)) ))))) ;)) })))) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier AsyncAnonymous)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier task) = (expression (invocation_expression (primary_expression (member_access (primary_expression (member_access (primary_expression (identifier Task)) . (identifier Factory))) . (identifier StartNew))) ( (argument_list (lambda_expression async (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (return_statement return (expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (object_creation_expression new (type (identifier WebClient)) ( ))) . (identifier DownloadStringTaskAsync))) ( (argument_list (literal "http://example.com")) ))))) ;)) })))) )))))) ;)) })))) }))) }))) }))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier RecursiveGenericBaseType)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier A) (type_parameter_list < (type_parameters (identifier T)) >) (class_base : (class_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >)))) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier virtual))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier M)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier abstract))) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier N)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier static)) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier O)) ( )) (method_body (block { })))) }))) (namespace_member_declaration (class_declaration (class_modifier sealed) class (identifier B) (type_parameter_list < (type_parameters (type_parameters (identifier T1)) , (type_parameter (identifier T2))) >) (class_base : (class_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (identifier T1)) , (type_argument (identifier T2))) >))) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier override))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier M)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier sealed)) (method_modifier (ref_method_modifier override))) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier N)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier new)) (method_modifier (ref_method_modifier static))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier O)) ( )) (method_body (block { })))) }))) }))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier Boo)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) class (identifier Bar) (type_parameter_list < (type_parameters (identifier T)) >) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (identifier IComparable))) (class_body { (class_member_declaration (field_declaration (field_modifier public) (type (identifier T)) (variable_declarators (identifier f)) ;)) (class_member_declaration (class_declaration (class_modifier public) class (identifier Foo) (type_parameter_list < (type_parameters (identifier U)) >) (class_base : (class_type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_arguments (identifier T)) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Method)) (type_parameter_list < (type_parameters (type_parameters (identifier K)) , (type_parameter (identifier V))) >) ( (parameter_list (fixed_parameters (fixed_parameter (type (identifier K)) (identifier k)) , (fixed_parameter (type (identifier T)) (identifier t)) , (fixed_parameter (type (identifier U)) (identifier u)))) ) (type_parameter_constraints_clause where (type_parameter (identifier K)) : (type_parameter_constraints (primary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier V)) >))) , (secondary_constraints (secondary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier T)) >))) , (secondary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier U)) >)))))) (type_parameter_constraints_clause where (type_parameter (identifier V)) : (type_parameter_constraints (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier K)) >))))) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (identifier a)))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (invocation_expression (primary_expression (simple_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) ( (argument_list (literal 5)) ))) ))) ;))) })))) }) ;)) }) ;)) }) ;)) (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Bar3)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier x) = (expression (object_creation_expression new (type (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier Boo)) . (identifier Bar) (type_argument_list < (type_arguments (integral_type int)) >)) . (identifier Foo) (type_argument_list < (type_arguments (class_type object)) >))) ( )))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier x)) . (identifier Method) (type_argument_list < (type_arguments (type_argument (class_type string)) , (type_argument (class_type string))) >))) ( (argument_list (argument (literal " ")) , (argument (literal 5)) , (argument (object_creation_expression new (type (class_type object)) ( )))) ))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier q) = (expression (query_expression (from_clause from (identifier i) in (expression (object_creation_expression new (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer (literal 1)) , (element_initializer (literal 2)) , (element_initializer (literal 3)) , (element_initializer (literal 4))) }))))) (query_body (query_body_clauses (where_clause where (boolean_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (literal 5)))))) (select_or_group_clause (select_clause select (expression (identifier i)))))))))) ;))) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator implicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s)) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (namespace_or_type_name (namespace_or_type_name (identifier ConsoleApplication1)) . (identifier Test))) ( ))) ;)) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator explicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s) (default_argument = (expression (literal "")))) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (identifier Test)) ( ))) ;)) })))) (class_member_declaration (field_declaration (field_modifier public) (type (integral_type int)) (variable_declarators (variable_declarator (identifier foo) = (variable_initializer (literal 5)))) ;)) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Bar2)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier foo)) (assignment_operator =) (expression (literal 6)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (member_access (primary_expression (this_access this)) . (identifier Foo))) (assignment_operator =) (expression (invocation_expression (primary_expression (member_access (primary_expression (literal 5)) . (identifier GetType))) ( ))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Test)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier t) = (local_variable_initializer (literal "sss")))))) ;))) })))) (class_member_declaration (event_declaration (event_modifier public) event (type (identifier EventHandler)) (variable_declarators (variable_declarator (identifier MyEvent) = (variable_initializer (anonymous_method_expression delegate (block { }))))) ;)) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Blah)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (literal 5)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier j) = (local_variable_initializer (literal 6)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Expression) (type_argument_list < (type_arguments (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (integral_type int)) >))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier e) = (local_variable_initializer (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (identifier i)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Expression) (type_argument_list < (type_arguments (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (simple_type bool)) , (type_argument (identifier Action))) >))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier e2) = (local_variable_initializer (lambda_expression (anonymous_function_signature (identifier b)) => (anonymous_function_body (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (return_statement return ;)) })))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (simple_type bool)) , (type_argument (simple_type bool))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f) = (local_variable_initializer (anonymous_method_expression async delegate (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (type (simple_type bool)) (identifier a))) )) (block { (statement_list (return_statement return (expression (await_expression await (unary_expression (logical_negation_operator !) (unary_expression (identifier a))))) ;)) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (integral_type int)) , (type_argument (integral_type int))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f2) = (local_variable_initializer (lambda_expression (anonymous_function_signature (implicit_anonymous_function_signature ( (implicit_anonymous_function_parameter_list (implicit_anonymous_function_parameter (identifier a)) , (implicit_anonymous_function_parameter (identifier b))) ))) => (anonymous_function_body (literal 0)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (type (integral_type int)) (identifier a)) , (explicit_anonymous_function_parameter (type (integral_type int)) (identifier b))) ))) => (anonymous_function_body (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Action)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (identifier Blah)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { })))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (empty_statement ;)) })))))) ;))) })))) (class_member_declaration (delegate_declaration delegate (return_type (identifier Recursive)) (delegate_header (identifier Recursive) ( (parameter_list (fixed_parameter (type (identifier Recursive)) (identifier r))) ) ;))) (class_member_declaration (delegate_declaration delegate (return_type (identifier Recursive)) (delegate_header (identifier Recursive) (variant_type_parameter_list < (variant_type_parameters (variant_type_parameters (identifier A)) , (type_parameter (identifier R))) >) ( (parameter_list (fixed_parameter (type (namespace_or_type_name (identifier Recursive) (type_argument_list < (type_arguments (type_argument (identifier A)) , (type_argument (identifier R))) >))) (identifier r))) ) ;))) (class_member_declaration (property_declaration (property_modifier public) (type (identifier Type)) (member_name (identifier Foo)) (property_body { (accessor_declarations (get_accessor_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier Obsolete)) (attribute_arguments ( (positional_argument_list (literal "Name")) , (named_argument_list (named_argument (identifier error) = (attribute_argument_expression (boolean_literal false)))) )))) ])) get (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier result) = (expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_arguments (integral_type int)) >))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier t) = (expression (equality_expression (equality_expression (typeof_expression typeof ( (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) ))) == (relational_expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier Nullable) (type_argument_list < (type_arguments (integral_type int)) >))) )))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier t)) (assignment_operator =) (expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_arguments (array_type (non_array_type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (rank_specifier [ ]) (rank_specifier [ ]) (rank_specifier [ ]))) >))) ))))) ;)) (statement (return_statement return (expression (typeof_expression typeof ( (unbound_type_name (identifier IEnumerable) (generic_dimension_specifier < >)) ))) ;))) }))) (set_accessor_declaration set (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier t) = (expression (typeof_expression typeof ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Int32))) )))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier t)) . (identifier ToString))) ( ))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier t)) (assignment_operator =) (expression (contextual_keyword value)))) ;))) })))) }))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Constants)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (additive_expression (additive_expression (additive_expression (additive_expression (literal 1)) + (multiplicative_expression (literal 2))) + (multiplicative_expression (literal 3))) + (multiplicative_expression (literal 5)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (namespace_or_type_name (qualified_alias_member (identifier (contextual_keyword global)) :: (identifier System))) . (identifier String))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier s) = (local_variable_initializer (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (literal "a")) + (multiplicative_expression (cast_expression ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier String))) ) (unary_expression (literal "a"))))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "A")))))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ConstructedType)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier List) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (null_literal null)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier c) = (local_variable_initializer (member_access (primary_expression (identifier i)) . (identifier Count))))))) ;))) })))) }))) }))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier Comments) . (identifier XmlComments) . (identifier UndocumentedKeywords)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier C) (type_parameter_list < (type_parameters (identifier T)) >) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier M)) (type_parameter_list < (type_parameters (identifier U)) >) ( (parameter_list (fixed_parameters (fixed_parameter (type (identifier T)) (identifier t)) , (fixed_parameter (type (identifier U)) (identifier u)))) )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier intValue) = (local_variable_initializer (literal 0)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier intValue)) (assignment_operator =) (expression (additive_expression (additive_expression (identifier intValue)) + (multiplicative_expression (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier strValue) = (local_variable_initializer (literal "hello")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier MyClass)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier c) = (local_variable_initializer (object_creation_expression new (type (identifier MyClass)) ( ))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier verbatimStr) = (local_variable_initializer (literal @"\\\\")))))) ;))) })))) }))) (namespace_member_declaration (class_declaration class (identifier TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX) (class_body { }))) (namespace_member_declaration (class_declaration class (identifier TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22) (class_body { }))) (namespace_member_declaration (class_declaration class (identifier (contextual_keyword yield)) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Params)) ( (parameter_list (fixed_parameters (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (contextual_keyword dynamic)) (identifier a)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier out)) (type (contextual_keyword dynamic)) (identifier b))) , (parameter_array params (array_type (non_array_type (contextual_keyword dynamic)) (rank_specifier [ ])) (identifier c))) )) (method_body (block { })))) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Params)) ( (parameter_list (fixed_parameters (fixed_parameter (parameter_modifier (parameter_mode_modifier out)) (type (contextual_keyword dynamic)) (identifier a) (default_argument = (expression (literal 2)))) , (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (contextual_keyword dynamic)) (identifier c) (default_argument = (expression (explictly_typed_default default ( (type (contextual_keyword dynamic)) )))))) , (parameter_array params (array_type (non_array_type (contextual_keyword dynamic)) (rank_specifier [ ]) (rank_specifier [ ])) (identifier c))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier override))) (return_type (class_type string)) (method_header (member_name (identifier ToString)) ( )) (method_body (block { (statement_list (return_statement return (expression (invocation_expression (primary_expression (base_access base . (identifier ToString))) ( ))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) partial) (return_type void) (method_header (member_name (identifier OnError)) ( )) (method_body ;))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) partial) (return_type void) (method_header (member_name (identifier method)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (array_creation_expression new (non_array_type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) [ (expression_list (literal 5)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword var)) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 1)) , (variable_initializer (literal 2)) , (variable_initializer (literal 3)) , (variable_initializer (literal 4)) , (variable_initializer (literal 5))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (element_access (primary_no_array_creation_expression (identifier a)) [ (argument_list (identifier i)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Foo) (type_argument_list < (type_arguments (identifier T)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f) = (local_variable_initializer (object_creation_expression new (type (namespace_or_type_name (identifier Foo) (type_argument_list < (type_arguments (integral_type int)) >))) ( ))))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier f)) . (identifier method))) ( ))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator =) (expression (inclusive_or_expression (inclusive_or_expression (and_expression (and_expression (additive_expression (additive_expression (additive_expression (identifier i)) + (multiplicative_expression (identifier i))) - (multiplicative_expression (multiplicative_expression (multiplicative_expression (multiplicative_expression (identifier i)) * (unary_expression (identifier i))) / (unary_expression (identifier i))) % (unary_expression (identifier i))))) & (equality_expression (identifier i)))) | (exclusive_or_expression (exclusive_or_expression (identifier i)) ^ (and_expression (identifier i))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (simple_type bool)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier b) = (local_variable_initializer (inclusive_or_expression (inclusive_or_expression (and_expression (and_expression (boolean_literal true)) & (equality_expression (boolean_literal false)))) | (exclusive_or_expression (exclusive_or_expression (boolean_literal true)) ^ (and_expression (boolean_literal false))))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier b)) (assignment_operator =) (expression (unary_expression (logical_negation_operator !) (unary_expression (identifier b)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator =) (expression (unary_expression ~ (unary_expression (identifier i)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier b)) (assignment_operator =) (expression (conditional_and_expression (conditional_and_expression (relational_expression (relational_expression (identifier i)) < (shift_expression (identifier i)))) && (inclusive_or_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (identifier i)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier ii) = (local_variable_initializer (literal 5)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f) = (local_variable_initializer (conditional_expression (null_coalescing_expression (boolean_literal true)) ? (expression (literal 1)) : (expression (literal 0)))))))) ;)) (statement (expression_statement (statement_expression (post_increment_expression (primary_expression (identifier i)) ++)) ;)) (statement (expression_statement (statement_expression (post_decrement_expression (primary_expression (identifier i)) --)) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier b)) (assignment_operator =) (expression (conditional_or_expression (conditional_or_expression (conditional_and_expression (conditional_and_expression (boolean_literal true)) && (inclusive_or_expression (boolean_literal false)))) || (conditional_and_expression (boolean_literal true)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier b)) (assignment_operator =) (expression (conditional_and_expression (conditional_and_expression (conditional_and_expression (conditional_and_expression (equality_expression (equality_expression (identifier i)) == (relational_expression (identifier i)))) && (inclusive_or_expression (equality_expression (equality_expression (identifier i)) != (relational_expression (identifier i))))) && (inclusive_or_expression (relational_expression (relational_expression (identifier i)) <= (shift_expression (identifier i))))) && (inclusive_or_expression (relational_expression (relational_expression (identifier i)) >= (shift_expression (identifier i)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator +=) (expression (literal 5.0)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator -=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator *=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator /=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator %=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator &=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator |=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator ^=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator <<=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator (right_shift_assignment > >=)) (expression (identifier i)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type object)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier s) = (local_variable_initializer (lambda_expression (anonymous_function_signature (identifier x)) => (anonymous_function_body (additive_expression (additive_expression (identifier x)) + (multiplicative_expression (literal 1)))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type double)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier d) = (local_variable_initializer (literal .3)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Point)) (explicitly_typed_local_variable_declarators (identifier point)))) ;)) (statement (unsafe_statement unsafe (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (pointer_type (value_type (identifier Point)) *)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier p) = (local_variable_initializer (addressof_expression & (unary_expression (identifier point)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (pointer_member_access (primary_expression (identifier p)) -> (identifier x))) (assignment_operator =) (expression (literal 10)))) ;))) }))) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (qualified_alias_member (identifier IO) :: (identifier BinaryReader))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier br) = (local_variable_initializer (null_literal null)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (identifier x)) [ (argument_list (argument (argument_name (identifier i) :) (argument_value (literal 1)))) ])) (assignment_operator =) (expression (literal 3)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (identifier x)) [ (argument_list (argument (argument_name (identifier i) :) (argument_value (literal 1))) , (argument (argument_name (identifier j) :) (argument_value (literal 5)))) ])) (assignment_operator =) (expression (literal "str")))) ;))) })))) (class_member_declaration (struct_declaration struct (identifier Point) (struct_body { (struct_member_declaration (field_declaration (field_modifier public) (type (integral_type int)) (variable_declarators (identifier X)) ;)) (struct_member_declaration (field_declaration (field_modifier public) (type (integral_type int)) (variable_declarators (identifier Y)) ;)) (struct_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ThisAccess)) ( )) (method_body (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (this_access this)) (assignment_operator =) (expression (this_access this)))) ;)) })))) }))) }))) (namespace_member_declaration (class_declaration class (identifier CSharp6Features) (class_body { (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier First)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;)) (set_accessor_declaration set (accessor_body ;))) } (property_initializer = (variable_initializer (literal "Jane")) ;)))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier Last)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;)) (set_accessor_declaration set (accessor_body ;))) } (property_initializer = (variable_initializer (literal "Doe")) ;)))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier Third)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) } (property_initializer = (variable_initializer (literal "Jane")) ;)))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier Fourth)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) } (property_initializer = (variable_initializer (literal "Doe")) ;)))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type (identifier Point)) (method_header (member_name (identifier Move)) ( (parameter_list (fixed_parameters (fixed_parameter (type (integral_type int)) (identifier dx)) , (fixed_parameter (type (integral_type int)) (identifier dy)))) )) (method_body => (expression (object_creation_expression new (type (identifier Point)) ( (argument_list (argument (additive_expression (additive_expression (identifier x)) + (multiplicative_expression (identifier dx)))) , (argument (additive_expression (additive_expression (identifier y)) + (multiplicative_expression (identifier dy))))) ))) ;))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (binary_operator_declarator (type (identifier Complex)) operator (overloadable_binary_operator +) ( (fixed_parameter (type (identifier Complex)) (identifier a)) , (fixed_parameter (type (identifier Complex)) (identifier b)) ))) (operator_body => (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier a)) . (identifier Add))) ( (argument_list (identifier b)) ))) ;))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator implicit operator (type (class_type string)) ( (fixed_parameter (type (identifier Person)) (identifier p)) ))) (operator_body => (expression (additive_expression (additive_expression (additive_expression (member_access (primary_expression (identifier p)) . (identifier First))) + (multiplicative_expression (literal " "))) + (multiplicative_expression (member_access (primary_expression (identifier p)) . (identifier Last))))) ;))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Print)) ( )) (method_body => (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Console)) . (identifier WriteLine))) ( (argument_list (additive_expression (additive_expression (additive_expression (identifier First)) + (multiplicative_expression (literal " "))) + (multiplicative_expression (identifier Last)))) ))) ;))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier Name)) (property_body => (expression (additive_expression (additive_expression (additive_expression (identifier First)) + (multiplicative_expression (literal " "))) + (multiplicative_expression (identifier Last)))) ;))) (class_member_declaration (indexer_declaration (indexer_modifier public) (indexer_declarator (type (integral_type int)) this [ (parameter_list (fixed_parameter (type (integral_type long)) (identifier id))) ]) (indexer_body => (expression (identifier id)) ;))) (class_member_declaration (method_declaration (method_modifiers (method_modifier async)) (return_type void) (method_header (member_name (identifier Test)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier WriteLine)) ( (argument_list (invocation_expression (primary_expression (identifier Sqrt)) ( (argument_list (additive_expression (additive_expression (multiplicative_expression (multiplicative_expression (literal 3)) * (unary_expression (literal 3)))) + (multiplicative_expression (multiplicative_expression (literal 4)) * (unary_expression (literal 4))))) ))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier WriteLine)) ( (argument_list (additive_expression (additive_expression (identifier Friday)) - (multiplicative_expression (identifier Monday)))) ))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier range) = (expression (invocation_expression (primary_expression (identifier Range)) ( (argument_list (argument (literal 5)) , (argument (literal 17))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier even) = (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier range)) . (identifier Where))) ( (argument_list (lambda_expression (anonymous_function_signature (identifier i)) => (anonymous_function_body (equality_expression (equality_expression (multiplicative_expression (multiplicative_expression (identifier i)) % (unary_expression (literal 2)))) == (relational_expression (literal 0)))))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier length) = (local_variable_initializer (null_conditional_member_access (primary_expression (identifier customers)) ? . (identifier Length))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Customer)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier first) = (local_variable_initializer (null_conditional_element_access (primary_no_array_creation_expression (identifier customers)) ? [ (argument_list (literal 0)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier length) = (local_variable_initializer (null_coalescing_expression (conditional_or_expression (null_conditional_member_access (primary_expression (identifier customers)) ? . (identifier Length))) ?? (null_coalescing_expression (literal 0)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier first) = (local_variable_initializer (null_conditional_member_access (primary_expression (null_conditional_member_access (primary_expression (null_conditional_element_access (primary_no_array_creation_expression (identifier customers)) ? [ (argument_list (literal 0)) ])) ? . (identifier Orders))) ? . (identifier Count) (dependent_access ( )))))))) ;)) (statement (expression_statement (statement_expression (null_conditional_invocation_expression (null_conditional_member_access (primary_expression (identifier PropertyChanged)) ? . (identifier Invoke)) ( (argument_list (argument (this_access this)) , (argument (identifier args))) ))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier s) = (local_variable_initializer (interpolated_regular_string_expression 〔$"〕 { (regular_interpolation (expression (member_access (primary_expression (identifier p)) . (identifier Name))) , (interpolation_minimum_width (literal 20))) } 〔 is 〕 { (regular_interpolation (expression (member_access (primary_expression (identifier p)) . (identifier Age))) 〔:D3〕) } 〔 year{{s}} old #〕 〔"〕)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier s)) (assignment_operator =) (expression (interpolated_regular_string_expression 〔$"〕 { (regular_interpolation (member_access (primary_expression (identifier p)) . (identifier Name))) } 〔 is \"〕 { (regular_interpolation (member_access (primary_expression (identifier p)) . (identifier Age))) } 〔 year〕 { (regular_interpolation (parenthesized_expression ( (expression (conditional_expression (null_coalescing_expression (equality_expression (equality_expression (member_access (primary_expression (identifier p)) . (identifier Age))) == (relational_expression (literal 1)))) ? (expression (literal "")) : (expression (literal "s")))) ))) } 〔 old〕 〔"〕)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier s)) (assignment_operator =) (expression (interpolated_regular_string_expression 〔$"〕 { (regular_interpolation (parenthesized_expression ( (expression (conditional_expression (null_coalescing_expression (equality_expression (equality_expression (member_access (primary_expression (identifier p)) . (identifier Age))) == (relational_expression (literal 2)))) ? (expression (interpolated_regular_string_expression 〔$"〕 { (regular_interpolation (object_creation_expression new (type (identifier Person)) (object_or_collection_initializer (object_initializer { })))) } 〔"〕)) : (expression (literal "")))) ))) } 〔"〕)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier s)) (assignment_operator =) (expression (interpolated_verbatim_string_expression 〔$@"〕 〔\〕 { (verbatim_interpolation (member_access (primary_expression (identifier p)) . (identifier Name))) } 〔\n ""\〕 〔"〕)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier s)) (assignment_operator =) (expression (interpolated_regular_string_expression 〔$"〕 〔Color [ R=〕 { (regular_interpolation (expression (invocation_expression (primary_expression (identifier func)) ( (argument_list (argument (argument_name (identifier b) :) (argument_value (literal 3)))) ))) 〔:#0.##〕) } 〔, G=〕 { (regular_interpolation (expression (identifier G)) 〔:#0.##〕) } 〔, B=〕 { (regular_interpolation (expression (identifier B)) 〔:#0.##〕) } 〔, A=〕 { (regular_interpolation (expression (identifier A)) 〔:#0.##〕) } 〔 ]〕 〔"〕)))) ;)) (statement (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier x)) == (relational_expression (null_literal null)))) ) (embedded_statement (throw_statement throw (expression (object_creation_expression new (type (identifier ArgumentNullException)) ( (argument_list (invocation_expression (primary_expression (contextual_keyword nameof)) ( (argument_list (identifier x)) ))) ))) ;)))) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier WriteLine)) ( (argument_list (invocation_expression (primary_expression (contextual_keyword nameof)) ( (argument_list (member_access (primary_expression (member_access (primary_expression (identifier person)) . (identifier Address))) . (identifier ZipCode))) ))) ))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier numbers) = (expression (object_creation_expression new (type (namespace_or_type_name (identifier Dictionary) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (class_type string))) >))) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target [ (argument_list (literal 7)) ]) = (initializer_value (literal "seven"))) , (member_initializer (initializer_target [ (argument_list (literal 9)) ]) = (initializer_value (literal "nine"))) , (member_initializer (initializer_target [ (argument_list (literal 13)) ]) = (initializer_value (literal "thirteen")))) }))))))) ;)) (statement (try_statement try (block { }) (catch_clauses (specific_catch_clause catch (exception_specifier ( (type (identifier MyException)) (identifier e) )) (exception_filter when ( (boolean_expression (invocation_expression (primary_expression (identifier myfilter)) ( (argument_list (identifier e)) ))) )) (block { }))))) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Resource)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier res) = (local_variable_initializer (null_literal null)))))) ;)) (statement (try_statement try (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (identifier res)) (assignment_operator =) (expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Resource)) . (identifier OpenAsync))) ( ))))))) ;)) }) (catch_clauses (specific_catch_clause catch (exception_specifier ( (type (identifier ResourceException)) (identifier e) )) (block { (statement_list (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Resource)) . (identifier LogAsync))) ( (argument_list (argument (identifier res)) , (argument (identifier e))) ))))) ;)) }))) (finally_clause finally (block { (statement_list (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier res)) != (relational_expression (null_literal null)))) ) (embedded_statement (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier res)) . (identifier CloseAsync))) ( ))))) ;)))) }))))) })))) }))) }))))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.svg new file mode 100644 index 000000000..55ae33842 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.svg @@ -0,0 +1,44805 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +identifier + + + +statement + + + +identifier + + + +identifier + + + +anonymous + + + +local_variable_declaration + + + +. + + + +identifier + + + +statement + + + +literal + + + +attribute_section + + + +class_type + + + +type + + + +, + + + +result + + + +expression_statement + + + +identifier + + + +} + + + +namespace_member_declaration + + + +, + + + +} + + + +where + + + +local_variable_initializer + + + +ref_method_modifier + + + +statement_expression + + + +literal + + + +identifier + + + += + + + +explicitly_typed_local_variable_declarator + + + +explicitly_typed_local_variable_declarator + + + +using_directive + + + +embedded_statement + + + +? + + + +property_modifier + + + +lambda_expression + + + +CSharp6Features + + + += + + + +type + + + +identifier + + + +System + + + +unsafe_statement + + + +attribute_section + + + +} + + + +statement_list + + + +identifier + + + +} + + + +new + + + +T + + + +expression + + + +member_access + + + +class_type + + + +expression + + + +using_directive + + + +0 + + + +unary_expression + + + +identifier + + + +identifier + + + +return_type + + + +; + + + ++ + + + +IDisposable + + + +additive_expression + + + +identifier + + + +c1 + + + +additive_expression + + + +( + + + +where_clause + + + +protected + + + +identifier + + + +: + + + +statement + + + +integral_type + + + +expression + + + +attributes + + + +expression + + + +type_parameter + + + +unary_expression + + + +; + + + +, + + + +: + + + +} + + + +4 + + + +type + + + +using_directive + + + +statement + + + +; + + + +אתר + + + +[ + + + +group + + + +assignment_operator + + + +anonymous_function_signature + + + +( + + + +; + + + +identifier + + + +assignment + + + +rank_specifier + + + +int + + + +; + + + +) + + + +attribute_list + + + +return_type + + + +declaration_statement + + + +V + + + +expression_list + + + +; + + + +integral_type + + + +error + + + +type_argument_list + + + +explicitly_typed_local_variable_declarator + + + +; + + + +enum + + + +identifier + + + +primary_expression + + + +o3 + + + +block + + + +type + + + +| + + + +literal + + + +field_modifier + + + +=> + + + +equals + + + +identifier + + + +and_expression + + + +identifier + + + +local_variable_declaration + + + +statement + + + +x + + + +: + + + +) + + + +attribute_name + + + +primary_expression + + + +identifier + + + +sizeof + + + +, + + + +( + + + +relational_expression + + + +DllImport + + + +while + + + +B + + + +local_variable_initializer + + + +statement + + + +type + + + +null_conditional_member_access + + + +return_statement + + + +break_statement + + + +yield + + + +type + + + +identifier + + + += + + + +) + + + +( + + + +; + + + +identifier + + + +. + + + +string + + + +expression + + + +public + + + +namespace_or_type_name + + + +} + + + +declaration_statement + + + +regular_interpolation + + + +Test + + + +> + + + +; + + + +member_initializer + + + +i + + + +await + + + +explicitly_typed_local_variable_declarator + + + +) + + + +delegate + + + +explicitly_typed_local_variable_declarators + + + +object_creation_expression + + + +GetHashCode + + + +literal + + + +variable_declarator + + + += + + + +a + + + +, + + + +array_initializer + + + +, + + + +local_variable_declaration + + + +Address + + + +0 + + + +) + + + +statement_list + + + +} + + + +〔\〕 + + + +: + + + +type + + + +literal + + + +type_parameters + + + +boolean_expression + + + +assignment_operator + + + +statement + + + +sizeof_expression + + + +identifier + + + +declaration_statement + + + +embedded_statement + + + +integral_type + + + +Complex + + + +identifier + + + +attribute_target + + + +, + + + +, + + + +unary_expression + + + +statement + + + +Text + + + +explicitly_typed_local_variable_declaration + + + +( + + + +{ + + + +type + + + ++ + + + +into + + + +assignment + + + +local_variable_declaration + + + +c + + + +implicitly_typed_local_variable_declarator + + + +expression + + + +declaration_statement + + + +. + + + +identifier + + + +, + + + +List + + + +string + + + +identifier + + + +identifier + + + +variable_initializer_list + + + +relational_expression + + + +statement + + + +string + + + += + + + +class_type + + + +type + + + +} + + + +@ulong + + + +statement + + + +{ + + + +for_initializer + + + +5 + + + +non_array_type + + + +identifier + + + +namespace_member_declaration + + + +relational_expression + + + +identifier + + + +expression_statement + + + +static + + + +int + + + +constructor_constraint + + + +M + + + +nullable_type_annotation + + + +this + + + +"http://example.com" + + + +fixed_pointer_initializer + + + +class_type + + + +pre_increment_expression + + + +where + + + +implicitly_typed_local_variable_declaration + + + +method_body + + + +attribute_section + + + +E1 + + + +identifier + + + +attribute_target_specifier + + + +int + + + +identifier + + + +> + + + +unary_expression + + + +0 + + + +DayOfWeek + + + +implicitly_typed_local_variable_declaration + + + +System + + + +{ + + + +( + + + +implicit_anonymous_function_parameter + + + +{ + + + +. + + + +delegate_declaration + + + +local_variable_declaration + + + +object_creation_expression + + + +assignment + + + +Func + + + +member_name + + + +{ + + + +, + + + +-- + + + +return + + + +{ + + + +explicitly_typed_local_variable_declarators + + + +relational_expression + + + +i + + + +< + + + +[ + + + +variable_declarators + + + +expression_statement + + + +K + + + +identifier + + + +class + + + +static + + + +declaration_statement + + + +null_coalescing_expression + + + +identifier + + + +expression_statement + + + +} + + + +attribute_arguments + + + +; + + + +new + + + +expression + + + +type + + + +fixed_parameter + + + +argument_name + + + +member_initializer + + + +local_variable_initializer + + + +result + + + +identifier + + + +namespace_body + + + +} + + + +return + + + +expression + + + +expression_list + + + +expression_statement + + + +} + + + +constructor_declarator + + + +primary_expression + + + +identifier + + + +statement_expression + + + +( + + + +LU + + + +operator_declarator + + + +parameter_modifier + + + +type + + + +unary_expression + + + +break_statement + + + +identifier + + + +Int32 + + + +local_variable_declaration + + + +accessor_modifier + + + +variable_declarator + + + +if + + + +struct_member_declaration + + + +implicitly_typed_local_variable_declaration + + + +-= + + + +[ + + + +variable_initializer + + + +( + + + +expression + + + +[ + + + +( + + + +fixed_parameter + + + +} + + + +, + + + +. + + + +statement + + + +local_variable_declaration + + + +identifier + + + +identifier + + + +member_access + + + +. + + + +; + + + +identifier + + + +into + + + +A + + + +A + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +public + + + +1 + + + +namespace_or_type_name + + + +Name + + + +: + + + +identifier + + + +expression + + + +identifier + + + +statement + + + +namespace_or_type_name + + + +implicitly_typed_local_variable_declaration + + + +statement + + + +var + + + +- + + + +void + + + +identifier + + + +Console + + + +multiplicative_expression + + + +throw_statement + + + +) + + + +i + + + +explicitly_typed_local_variable_declarator + + + +} + + + +stackalloc + + + +( + + + +A + + + +identifier + + + +, + + + +resource_acquisition + + + +statement + + + +declaration_statement + + + +variable_initializer + + + +struct_member_declaration + + + +enum_member_declaration + + + +return_type + + + +identifier + + + +statement + + + +:: + + + +identifier + + + +qualified_identifier + + + +> + + + +literal + + + +; + + + +fixed_pointer_declarators + + + +} + + + +literal + + + +identifier + + + +variable_declarators + + + +expression_statement + + + +〔:#0.##〕 + + + +if + + + +class + + + +GetHashCode + + + +type_parameter_constraints + + + +> + + + +statement_list + + + +; + + + +) + + + +assignment_operator + + + +primary_expression + + + +D + + + +type + + + +public + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +, + + + +local_variable_declaration + + + +identifier + + + += + + + +additive_expression + + + +additive_expression + + + ++ + + + +local_variable_declaration + + + +object_creation_expression + + + +class_member_declaration + + + +explicit_anonymous_function_signature + + + +statement_expression + + + +; + + + +5 + + + +identifier + + + +) + + + +{ + + + +local_variable_initializer + + + +literal + + + +local_variable_initializer + + + +< + + + +literal + + + +primary_expression + + + +identifier + + + +indexer_declaration + + + +object_or_collection_initializer + + + +literal + + + +field_modifier + + + +class_type + + + +class_member_declaration + + + +0 + + + +identifier + + + +method_modifier + + + +; + + + +, + + + +p + + + +statement + + + +implicitly_typed_local_variable_declarator + + + +primary_expression + + + +local_variable_initializer + + + +literal + + + +s + + + +Foo + + + +array_initializer + + + +type + + + +( + + + +variance_annotation + + + +local_variable_initializer + + + +private + + + +declaration_statement + + + +; + + + +type + + + +member_name + + + +result + + + +declaration_statement + + + +namespace_or_type_name + + + +rank_specifier + + + +value + + + +member_access + + + ++ + + + +A + + + +. + + + +continue_statement + + + +declaration_statement + + + +return + + + +return_statement + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +ii + + + +property_declaration + + + +Name + + + +{ + + + +integral_type + + + +rank_specifier + + + +identifier + + + +CreateDirectory + + + +implicitly_typed_local_variable_declarator + + + +anonymous_function_body + + + +identifier + + + +using_namespace_directive + + + +true + + + +labeled_statement + + + +explicitly_typed_local_variable_declarators + + + +explicitly_typed_local_variable_declaration + + + +System + + + +( + + + +{ + + + +statement + + + +identifier + + + +% + + + +attributes + + + +assignment + + + +boolean_literal + + + +implicitly_typed_local_variable_declarator + + + +member_access + + + +interpolated_regular_string_expression + + + +length + + + +explicitly_typed_local_variable_declaration + + + +method_modifier + + + +.3 + + + +conditional_or_expression + + + +switch_section + + + +multiplicative_expression + + + +System + + + +overloadable_unary_operator + + + +integral_type + + + +2 + + + +) + + + +positional_argument_list + + + +unmanaged_type + + + +async + + + +fixed_parameter + + + +block + + + +type_argument_list + + + +explicitly_typed_local_variable_declarators + + + +namespace_or_type_name + + + +T2 + + + +statement + + + +: + + + +declaration_statement + + + +public + + + +. + + + +] + + + +j + + + +get_accessor_declaration + + + +: + + + +t + + + +argument_value + + + +method_body + + + +expression + + + +attribute_target + + + +member_access + + + +declaration_statement + + + +[ + + + +type + + + +arr + + + +; + + + +identifier + + + +from_clause + + + +class_member_declaration + + + +secondary_constraints + + + +declaration_statement + + + +await + + + +equality_expression + + + +identifier + + + +3 + + + +global_attribute_section + + + +identifier + + + +invocation_expression + + + +local_variable_declaration + + + +anonymous_function_signature + + + +statement_list + + + +* + + + +〔·]〕 + + + +; + + + +} + + + +member_name + + + +interface + + + +expression + + + +class_body + + + +var + + + +statement + + + +, + + + +variable_initializer + + + +statement_list + + + +delegate + + + +== + + + +namespace_or_type_name + + + +CLSCompliant + + + +namespace_or_type_name + + + +type_parameter_constraints_clause + + + +unary_expression + + + +nameof + + + +unary_expression + + + +) + + + +conditional_and_expression + + + +declaration_statement + + + +identifier + + + += + + + +pointer_type + + + +using_namespace_directive + + + +class_modifier + + + +IList + + + +member_name + + + +unary_expression + + + +a + + + +struct_declaration + + + +get_accessor_declaration + + + +literal + + + +explicitly_typed_local_variable_declaration + + + +method_body + + + +return + + + +( + + + +identifier + + + +( + + + +( + + + += + + + +class_member_declaration + + + +x + + + +out + + + +member_access + + + +unary_expression + + + +continue + + + +assignment + + + +implicitly_typed_local_variable_declarator + + + +[ + + + +new + + + +identifier + + + +i + + + +type_argument_list + + + +U + + + +type_arguments + + + +literal + + + +expression_statement + + + +identifier + + + +invocation_expression + + + +SecurityAttribute + + + +{ + + + +declaration_statement + + + +assignment_operator + + + +namespace_or_type_name + + + +. + + + +++ + + + +array_creation_expression + + + +; + + + +literal + + + +* + + + +non_nullable_value_type + + + +assignment + + + +statement + + + +identifier + + + +"a" + + + +ref_method_modifier + + + +identifier + + + +type + + + +multiplicative_expression + + + +integral_type + + + +multiplicative_expression + + + +Linq + + + +) + + + +type_arguments + + + +identifier + + + +identifier + + + +typeof_expression + + + +literal + + + +( + + + +; + + + +identifier + + + +) + + + +statement + + + +unary_expression + + + +lambda_expression + + + +identifier + + + +member_name + + + +0 + + + +type_argument + + + +assignment + + + +verbatim_interpolation + + + +> + + + +local_variable_initializer + + + +explicitly_typed_local_variable_declarators + + + +type + + + +literal + + + +select + + + +; + + + +) + + + +. + + + +var + + + +) + + + +; + + + +{ + + + +primary_expression + + + +: + + + +object_creation_expression + + + +0 + + + +Age + + + +type + + + +contextual_keyword + + + +local_variable_initializer + + + +implicitly_typed_local_variable_declaration + + + +< + + + +extern + + + +. + + + +{ + + + +. + + + +identifier + + + +( + + + +variable_initializer_list + + + +identifier + + + +statement + + + +; + + + +identifier + + + +, + + + +T + + + += + + + +type + + + +get + + + +statement + + + +local_variable_initializer + + + +} + + + +identifier + + + += + + + +typeof + + + += + + + +i + + + +typeof + + + +method_body + + + +} + + + +new + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +accessor_declarations + + + +] + + + +member_name + + + ++ + + + +, + + + +) + + + +local_variable_declaration + + + +as + + + +assignment + + + +throw + + + +i + + + +type_parameter_list + + + +: + + + +> + + + +identifier + + + +rank_specifier + + + +5 + + + +block + + + +literal + + + +T + + + +identifier + + + +fixed_pointer_declarator + + + +identifier + + + +Console + + + +"s" + + + +dx + + + +identifier + + + +parameter_modifier + + + +CloseAsync + + + +continue_statement + + + +; + + + +1 + + + +type_argument_list + + + +type + + + +logical_negation_operator + + + +res + + + +? + + + +; + + + +expression + + + +type_arguments + + + +U + + + +true + + + +identifier + + + +K + + + +default + + + +expression_statement + + + +{ + + + +static + + + +anonymous_function_body + + + +equality_expression + + + +namespace_or_type_name + + + +T + + + += + + + +cast_expression + + + +i + + + +{ + + + +using + + + +i + + + +integral_type + + + +argument_list + + + +int + + + +) + + + +] + + + +member_declarator + + + +} + + + +< + + + +local_variable_declaration + + + +type + + + +assignment_operator + + + +{ + + + +namespace_body + + + +await_expression + + + +) + + + +extern_alias_directive + + + +> + + + +class_member_declaration + + + +primary_constraint + + + +add + + + +declaration_statement + + + +; + + + +[ + + + +identifier + + + +"thirteen" + + + +> + + + +0 + + + +} + + + +statement + + + +( + + + +. + + + +internal + + + +var + + + +explicitly_typed_local_variable_declarators + + + +Список + + + +< + + + +integral_type + + + +this_access + + + +expression_statement + + + +identifier + + + +method_declaration + + + +) + + + +Test + + + +member_declarator + + + +Action + + + +type_argument_list + + + +error + + + +attributes + + + +conditional_and_expression + + + +212 + + + +) + + + +statement_expression + + + +identifier + + + +) + + + +contextual_keyword + + + +explicitly_typed_local_variable_declarators + + + +Math + + + +statement + + + +assignment_operator + + + +〔:D3〕 + + + +member_initializer + + + +parameter_list + + + +expression + + + +integral_type + + + +literal + + + +var + + + +identifier + + + +local_variable_declaration + + + +type + + + +class_declaration + + + +identifier + + + +] + + + +@dynamic + + + +identifier + + + +return_type + + + +> + + + +assignment_operator + + + +identifier + + + +"·" + + + +anonymous_function_body + + + +set + + + +( + + + +( + + + +operator_declaration + + + +ref_method_modifier + + + +[ + + + +Func + + + +declaration_statement + + + += + + + +> + + + +identifier + + + +non_nullable_value_type + + + +this_access + + + +primary_expression + + + +; + + + +( + + + +fixed_parameter + + + +try_statement + + + +statement + + + +C + + + +) + + + +identifier + + + +var + + + +identifier + + + +additive_expression + + + +local_variable_declaration + + + +; + + + +get + + + +) + + + +local_variable_declaration + + + +unary_expression + + + +type_arguments + + + +var + + + +identifier + + + +expression + + + +. + + + +explicitly_typed_local_variable_declarator + + + +literal + + + +; + + + +literal + + + +identifier + + + +{ + + + +accessor_body + + + +type + + + +; + + + +T1 + + + +expression + + + +221 + + + +ascending + + + += + + + +Key + + + +A + + + +Test + + + +identifier + + + +class_type + + + +{ + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +expression + + + +; + + + +integral_type + + + +implicitly_typed_local_variable_declaration + + + +Foo + + + +Person + + + +declaration_statement + + + +method_header + + + +c + + + +identifier + + + +attribute + + + +[ + + + +( + + + +Hex + + + +i + + + +namespace_or_type_name + + + +, + + + +initializer_value + + + +object_creation_expression + + + +local_variable_declaration + + + +identifier + + + +identifier + + + +local_variable_declaration + + + +type_argument + + + +assignment_operator + + + += + + + +relational_expression + + + +unary_expression + + + +expression + + + +; + + + +var + + + +type_argument_list + + + +expression + + + +3 + + + +local_variable_declaration + + + +fixed_parameters + + + +Func + + + +member_access + + + +identifier + + + +type_arguments + + + +( + + + +type_argument_list + + + +< + + + +object_creation_expression + + + +expression + + + +primary_constraint + + + +identifier + + + +} + + + +; + + + +literal + + + +( + + + +identifier + + + +; + + + +group + + + +explicitly_typed_local_variable_declarator + + + +attribute_list + + + +!= + + + +; + + + +identifier + + + +primary_expression + + + +public + + + +literal + + + +goto + + + +primary_no_array_creation_expression + + + +s + + + +} + + + +try + + + +Power + + + +Flags + + + +identifier + + + +; + + + +parameter_list + + + +. + + + +identifier + + + +int + + + +: + + + +{ + + + +, + + + +] + + + +contextual_keyword + + + +operator_declarator + + + +statement + + + +new + + + += + + + +identifier + + + +var + + + +} + + + +local4 + + + +namespace_name + + + +primary_expression + + + +type + + + +( + + + +Count + + + +identifier + + + +{ + + + +integral_type + + + +identifier + + + +literal + + + +primary_expression + + + +var + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +; + + + +a + + + +; + + + +) + + + +int + + + +identifier + + + +type_parameters + + + +identifier + + + +identifier + + + +{ + + + +) + + + +new + + + +primary_expression + + + +} + + + +fixed_parameter + + + +unary_expression + + + +{ + + + +fixed_parameter + + + +av + + + +identifier + + + +block + + + +boolean_literal + + + +IEnumerable + + + +struct_member_declaration + + + +identifier + + + +) + + + +) + + + +multiplicative_expression + + + +local_variable_declaration + + + +primary_expression + + + +method_body + + + +statement_list + + + +identifier + + + +identifier + + + +, + + + +System + + + +Handler + + + +return_statement + + + +0 + + + +identifier + + + +identifier + + + +; + + + +) + + + +additive_expression + + + +assignment_operator + + + +identifier + + + +member_access + + + +parameter_list + + + +dynamic + + + +explicitly_typed_local_variable_declaration + + + +general_catch_clause + + + +; + + + +identifier + + + +return + + + +local_variable_declaration + + + +invocation_expression + + + +. + + + +} + + + +indexer_modifier + + + +type_parameters + + + +relational_expression + + + +integral_type + + + +class_member_declaration + + + +lambda_expression + + + +operator + + + += + + + +A + + + +local_variable_declaration + + + +static + + + +statement + + + +unary_expression + + + +{ + + + +A + + + +statement + + + +( + + + +abstract + + + +; + + + +{ + + + +class + + + +identifier + + + +identifier + + + +block + + + +identifier + + + +. + + + +type_argument_list + + + +unary_operator_declarator + + + +- + + + +method_header + + + +type + + + +method + + + +predefined_type + + + +identifier + + + +declaration_statement + + + +g + + + +g + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +fixed_parameter + + + +number + + + += + + + +fixed_parameters + + + +T1 + + + +identifier + + + +{ + + + +exponent + + + +Bar + + + +ref + + + +) + + + +] + + + +type_arguments + + + +typeof + + + +public + + + +attribute_section + + + +member_initializer_list + + + +local_variable_initializer + + + +method_modifiers + + + +attribute_name + + + +. + + + +explicitly_typed_local_variable_declarator + + + +? + + + +i + + + +namespace_or_type_name + + + +statement + + + +arr + + + +"" + + + +explicitly_typed_local_variable_declaration + + + += + + + +identifier + + + +primary_no_array_creation_expression + + + +get + + + +( + + + +class_declaration + + + +yield_statement + + + +identifier + + + +literal + + + +method_header + + + += + + + +contextual_keyword + + + +literal + + + +get + + + +{ + + + +statement_list + + + +multiplicative_expression + + + +; + + + +PropertyChanged + + + +identifier + + + +statement + + + +contextual_keyword + + + +) + + + +) + + + +1L + + + +conditional_expression + + + +private + + + +property_body + + + +method_body + + + +1 + + + +try + + + +public + + + +nullable_value_type + + + +type + + + +implicitly_typed_local_variable_declarator + + + +implicitly_typed_local_variable_declarator + + + +} + + + +class_member_declaration + + + +argument + + + +identifier + + + +class_type + + + +identifier + + + +type_argument_list + + + +type_argument_list + + + +identifier + + + +class_member_declaration + + + +identifier + + + +in + + + +expression + + + +namespace_member_declaration + + + +statement + + + +identifier + + + +0 + + + +block + + + +e + + + +multiplicative_expression + + + +identifier + + + +Print + + + +equality_expression + + + +0 + + + +expression + + + +namespace_member_declaration + + + +Action + + + +[ + + + +identifier + + + +2 + + + +) + + + +local_variable_initializer + + + +( + + + +identifier + + + +type_parameter + + + +( + + + +< + + + +explicitly_typed_local_variable_declarators + + + +statement + + + += + + + +unary_expression + + + +identifier + + + +namespace_member_declaration + + + +multiplicative_expression + + + +identifier + + + +literal + + + +static_constructor_body + + + +class_type + + + +> + + + +local_variable_initializer + + + +parameter_list + + + +catch_clauses + + + +type + + + +class_modifier + + + +pointer_type + + + +} + + + +identifier + + + +, + + + +] + + + +property_body + + + +contextual_keyword + + + +embedded_statement + + + +statement + + + +primary_expression + + + +local_variable_declaration + + + +1 + + + +identifier + + + +implicitly_typed_local_variable_declaration + + + +( + + + +variable_declarators + + + +( + + + +expression + + + +predefined_type + + + +query_body_clauses + + + +declaration_statement + + + +< + + + +dynamic + + + +> + + + +field_declaration + + + +f1 + + + +class_type + + + +field_declaration + + + +attribute_list + + + +0f + + + +} + + + +c + + + +identifier + + + +anonymous_function_body + + + +statement + + + +fixed_parameter + + + +statement + + + +explicitly_typed_local_variable_declarators + + + +type + + + +&& + + + +nullable_type_annotation + + + +member_access + + + +var + + + +unary_expression + + + +〔:#0.##〕 + + + +member_initializer + + + +implicitly_typed_local_variable_declarator + + + +[ + + + +statement + + + +identifier + + + +\u0066 + + + +primary_expression + + + +member_access + + + +unbound_type_name + + + +local_variable_initializer + + + +bool + + + +array_initializer + + + +expression + + + +Last + + + +statement_expression + + + +local_variable_declaration + + + ++ + + + +; + + + +implicitly_typed_local_variable_declarator + + + +finalizer_body + + + +unary_expression + + + +statement + + + +{ + + + +statement_list + + + +type_parameter_constraints_clause + + + +statement + + + +int + + + +non_array_type + + + +field + + + +m + + + +query_body + + + +A + + + +assignment + + + +await + + + +identifier + + + +identifier + + + +statement + + + +type + + + +block + + + +{ + + + +implicitly_typed_local_variable_declarator + + + +C + + + +argument_list + + + +? + + + +local_variable_declaration + + + +5 + + + +orderby_clause + + + +delegate + + + +ushort + + + +identifier + + + +var + + + +) + + + +; + + + +literal + + + +: + + + +i + + + +{ + + + +i + + + +primary_expression + + + +expression + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +implicitly_typed_local_variable_declaration + + + +{ + + + +( + + + +identifier + + + +type + + + +namespace_or_type_name + + + +interface_declaration + + + +class_member_declaration + + + +identifier + + + +} + + + +namespace_or_type_name + + + +integral_type + + + +typeof_expression + + + +statement + + + +[ + + + +int + + + +: + + + +namespace_or_type_name + + + +111 + + + +switch_label + + + +explicitly_typed_local_variable_declaration + + + +statement_expression + + + +return_type + + + +0 + + + +type + + + +( + + + +〔"〕 + + + +statement + + + +1 + + + +explicitly_typed_local_variable_declaration + + + +; + + + +interface_method_header + + + +get + + + +expression_statement + + + +member_initializer_list + + + +null_conditional_member_access + + + +Delegate + + + +statement + + + +[ + + + +literal + + + +i + + + +; + + + +type + + + +; + + + +} + + + +expression + + + +: + + + +i + + + +explicitly_typed_local_variable_declaration + + + +assignment_operator + + + +get + + + +: + + + +name + + + +class_type + + + +I + + + +statement + + + +embedded_statement + + + +task + + + +; + + + +expression + + + +variable_initializer + + + +< + + + +class_body + + + +integral_type + + + +identifier + + + +additive_expression + + + +identifier + + + +primary_expression + + + +< + + + +( + + + +exponent + + + +1.2m + + + += + + + +int + + + +unary_expression + + + +a + + + +; + + + +implicitly_typed_local_variable_declaration + + + +( + + + +null + + + += + + + +declaration_statement + + + +type + + + +operator + + + +null_coalescing_expression + + + +identifier + + + +[ + + + +type + + + +type + + + +property_declaration + + + +identifier + + + +attributes + + + +value + + + +identifier + + + +intValue + + + +{ + + + +, + + + +relational_expression + + + +unary_expression + + + +identifier + + + +expression + + + +primary_expression + + + +unary_expression + + + +identifier + + + +identifier + + + +〔:#0.##〕 + + + +argument + + + += + + + +; + + + +attribute + + + +{ + + + +local_variable_declaration + + + +local_variable_declaration + + + +identifier + + + +query_body + + + +field_declaration + + + +statement_expression + + + +@"""/*" + + + +B + + + +expression + + + +additive_expression + + + +shift_expression + + + +class_base + + + +type_argument_list + + + +explicit_anonymous_function_signature + + + +[ + + + +statement_list + + + +member_name + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +public + + + +Obsolete + + + +constant_declaration + + + +expression + + + +identifier + + + +( + + + +> + + + +fixed_statement + + + +property_body + + + +〔·is·〕 + + + +type + + + +V + + + +statement + + + +implicitly_typed_local_variable_declarator + + + +identifier + + + +int + + + +local_variable_initializer + + + +member_access + + + +new + + + +invocation_expression + + + +identifier + + + +type + + + +; + + + +} + + + +1 + + + +; + + + +0 + + + +namespace_or_type_name + + + +|| + + + +delegate + + + +this_access + + + +member_name + + + +i + + + +ConsoleApplication1 + + + +declaration_statement + + + +identifier + + + +( + + + +ToString + + + +arglist + + + +identifier + + + +) + + + +attribute_arguments + + + += + + + +query_body + + + +Obsolete + + + +operator_modifier + + + +type_arguments + + + +struct_member_declaration + + + +value_type + + + +primary_expression + + + +customers + + + +using_directive + + + +type + + + +identifier + + + +boolean_literal + + + +block + + + +statement + + + +namespace_or_type_name + + + +declaration_statement + + + +( + + + +( + + + +property_declaration + + + ++ + + + +namespace_or_type_name + + + +rank_specifier + + + +explicitly_typed_local_variable_declarator + + + +expression_statement + + + +fixed_parameter + + + +identifier + + + +implicitly_typed_local_variable_declarator + + + +identifier + + + +identifier + + + +pre_increment_expression + + + +! + + + +assignment_operator + + + +! + + + +property_declaration + + + +int + + + +return_statement + + + +int + + + +namespace_or_type_name + + + +local_variable_declaration + + + +@int + + + +nullable_type_annotation + + + +default + + + +block + + + +2 + + + += + + + +statement_expression + + + +expression + + + +. + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +expression + + + +string + + + +class_declaration + + + +parameter_list + + + +member_name + + + +identifier + + + +literal + + + +; + + + +{ + + + +integral_type + + + +explicitly_typed_local_variable_declaration + + + +global_attribute_target_specifier + + + +} + + + +Key + + + +using_namespace_directive + + + +method_declaration + + + +identifier + + + +identifier + + + +statement + + + +> + + + +} + + + +, + + + ++ + + + +let + + + +expression + + + +; + + + +contextual_keyword + + + +qualified_identifier + + + +expression + + + +invocation_expression + + + += + + + +accessor_declarations + + + +; + + + +type_parameter + + + +< + + + +} + + + +) + + + +void + + + +identifier + + + +variable_initializer_list + + + +typeof_expression + + + +identifier + + + +public + + + +set_accessor_declaration + + + += + + + +expression + + + +class_member_declaration + + + +return_statement + + + +class_member_declaration + + + +namespace_or_type_name + + + +identifier + + + +literal + + + +) + + + +method_header + + + +public + + + +l + + + +) + + + +, + + + +t + + + +try_statement + + + +RecursiveGenericBaseType + + + +identifier + + + +type + + + +0 + + + +) + + + +implicitly_typed_local_variable_declarator + + + +( + + + +namespace_or_type_name + + + +ToString + + + +{ + + + +literal + + + +object_initializer + + + +equality_expression + + + +statement + + + +statement + + + +t + + + +identifier + + + +array_creation_expression + + + +declaration_statement + + + +identifier + + + +{ + + + +type + + + +struct + + + +post_increment_expression + + + +embedded_statement + + + +; + + + +type_arguments + + + +a + + + +) + + + +namespace_member_declaration + + + +statement_expression + + + +var + + + +identifier + + + +identifier + + + +class_type + + + +var + + + +fixed_parameter + + + += + + + +public + + + +positional_argument_list + + + +expression + + + +local_variable_initializer + + + +; + + + +type + + + +identifier + + + +"\u0123" + + + +assignment + + + +literal + + + +type_arguments + + + +} + + + +identifier + + + +{ + + + +type_argument + + + +, + + + +delegate_header + + + +type + + + +base + + + +Boo + + + +"seven" + + + +using_namespace_directive + + + +literal + + + +{ + + + +class_member_declaration + + + +T + + + +5 + + + +] + + + +; + + + +type_argument + + + +identifier + + + +boolean_expression + + + +invocation_expression + + + +declaration_statement + + + +{ + + + +explicitly_typed_local_variable_declarator + + + +Список + + + +literal + + + +> + + + +0 + + + +params + + + +q + + + += + + + +identifier + + + +fixed_parameter + + + +declaration_statement + + + +IEnumerable + + + +type + + + +type + + + +identifier + + + +method_declaration + + + +identifier + + + +; + + + +Task + + + +method_body + + + +global + + + +local_variable_initializer + + + +argument + + + +} + + + +delegate_header + + + +) + + + +int + + + +block + + + +return_statement + + + +unary_expression + + + +method_body + + + +primary_expression + + + += + + + +public + + + +int + + + +get_accessor_declaration + + + +integral_type + + + +true + + + +parameter_list + + + +) + + + +additive_expression + + + +) + + + +local_variable_declaration + + + +type + + + +lock_statement + + + +Dictionary + + + +labeled_statement + + + +unary_expression + + + +identifier + + + +attribute_section + + + +statement + + + +implicitly_typed_local_variable_declaration + + + +qualified_identifier + + + +expression + + + +member_access + + + +) + + + +unary_expression + + + +namespace_or_type_name + + + +U + + + +{ + + + +method_declaration + + + +identifier + + + +identifier + + + +>= + + + +unary_expression + + + +literal + + + +; + + + +statement_list + + + +array_type + + + +identifier + + + += + + + +( + + + +variable_initializer + + + +i + + + +, + + + +implicitly_typed_local_variable_declaration + + + +explicitly_typed_local_variable_declaration + + + +. + + + +, + + + += + + + +public + + + +expression + + + +[ + + + +identifier + + + +0xBAD + + + +base_access + + + +statement_list + + + +explicitly_typed_local_variable_declarators + + + +Last + + + +[ + + + +|| + + + +T + + + +void + + + +identifier + + + +( + + + +literal + + + +parameter_array + + + +explicitly_typed_local_variable_declarators + + + +> + + + +identifier + + + +assignment_operator + + + +primary_expression + + + +declaration_statement + + + +M + + + +statement_list + + + +get_accessor_declaration + + + +int + + + +literal + + + +integral_type + + + +method_declaration + + + +; + + + +( + + + +statement + + + +namespace_or_type_name + + + +statement_expression + + + +using + + + +MyObject + + + +explicitly_typed_local_variable_declaration + + + +type_argument_list + + + +identifier + + + +dy + + + +invocation_expression + + + ++ + + + +class_member_declaration + + + +argument_list + + + +primary_expression + + + +identifier + + + +( + + + +: + + + +@byte + + + +) + + + +type_parameters + + + +const + + + +statement_expression + + + +identifier + + + +equality_expression + + + +identifier + + + +delegate + + + += + + + +invocation_expression + + + +method_modifiers + + + +) + + + +5 + + + +assignment + + + +implicitly_typed_local_variable_declarator + + + +} + + + +boolean_literal + + + +type + + + +statement_expression + + + +return_type + + + +GetType + + + +] + + + +statement + + + +identifier + + + +embedded_statement + + + +fixed_parameter + + + +type_parameter + + + +; + + + +Copyright + + + +[ + + + +; + + + +statement + + + +identifier + + + +literal + + + +( + + + +var + + + +new + + + +unary_expression + + + +=> + + + +; + + + +block + + + +; + + + +if_statement + + + +a + + + +; + + + +explicitly_typed_local_variable_declarator + + + +} + + + +type + + + += + + + +declaration_statement + + + +local_variable_declaration + + + +first + + + +public + + + +m + + + +struct + + + +statement_list + + + +expression + + + +Resource + + + +accessor_body + + + +identifier + + + +type + + + +literal + + + +expression_statement + + + +; + + + +@object + + + +literal + + + +type_argument_list + + + +declaration_statement + + + +"a" + + + +( + + + +implicitly_typed_local_variable_declaration + + + += + + + +if + + + +attribute_target_specifier + + + +array_type + + + +[ + + + +null + + + +primary_expression + + + +, + + + +> + + + +type + + + +|= + + + +return_type + + + +type + + + +) + + + +unary_expression + + + +unary_expression + + + +expression_statement + + + +member_access + + + +identifier + + + +implicitly_typed_local_variable_declarator + + + +explicitly_typed_local_variable_declarator + + + +] + + + +[ + + + +variable_initializer_list + + + +A + + + +; + + + +TopLevelType + + + +explicitly_typed_local_variable_declarator + + + +expression_statement + + + +method_header + + + +constant_expression + + + +multiplicative_expression + + + +string + + + +type_argument_list + + + +foo + + + +identifier + + + +class_member_declaration + + + +method_header + + + +namespace_member_declaration + + + +property_modifier + + + +++ + + + +ConsoleApplication2 + + + +number + + + +] + + + +identifier + + + +expression + + + += + + + +orderby_clause + + + +identifier + + + +identifier + + + +implicit_anonymous_function_parameter + + + +explicitly_typed_local_variable_declarator + + + +statement_list + + + +statement + + + +identifier + + + +method_body + + + +query_body_clause + + + +namespace_or_type_name + + + +ref_method_modifier + + + +labeled_statement + + + += + + + +declaration_statement + + + +from + + + +type + + + +base_access + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +indexer_declarator + + + +a + + + +identifier + + + +fixed_parameters + + + +i + + + +) + + + +assignment_operator + + + +identifier + + + +join + + + +literal + + + +i + + + +Obsolete + + + +primary_expression + + + +primary_expression + + + +method_modifiers + + + +expression + + + +local_variable_declaration + + + +identifier + + + +class_member_declaration + + + +, + + + +namespace_or_type_name + + + +additive_expression + + + +) + + + +&& + + + +indexer_modifier + + + +method_modifiers + + + +1.2e3 + + + +new + + + +statement + + + +namespace_name + + + +object_creation_expression + + + +method_modifier + + + +, + + + +type_parameter_constraints_clause + + + +? + + + +statement + + + +literal + + + +argument_list + + + +ref_method_modifier + + + +; + + + +variable_initializer + + + +local_variable_declaration + + + +Delay + + + +bool + + + +( + + + +declaration_statement + + + +++ + + + +o1 + + + +Lu + + + +unary_expression + + + +class_modifier + + + +( + + + +; + + + +] + + + +local6 + + + +; + + + +method_modifier + + + +regular_interpolation + + + +integral_type + + + +local_variable_declaration + + + +Collections + + + +member_name + + + +local_variable_initializer + + + +< + + + +c1 + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +integral_type + + + +this + + + +literal + + + +event_modifier + + + +identifier + + + +"" + + + +using_static_directive + + + +embedded_statement + + + +method_modifiers + + + +; + + + +{ + + + +explicitly_typed_local_variable_declarator + + + +class_type + + + +nullable_type_annotation + + + +shift_expression + + + +T + + + += + + + +member_access + + + +attribute_target + + + +label + + + +T + + + +var + + + +c + + + +element_initializer_list + + + +O + + + +; + + + +namespace_or_type_name + + + +local_variable_initializer + + + +local_variable_initializer + + + +multiplicative_expression + + + +nullable_type_annotation + + + +i + + + +using_directive + + + +Friday + + + +( + + + +statement_expression + + + +field_modifier + + + += + + + +member_access + + + +) + + + +i + + + +; + + + +identifier + + + +local_variable_initializer + + + +implicitly_typed_local_variable_declaration + + + += + + + +} + + + +assignment_operator + + + +identifier + + + +identifier + + + +B + + + +fixed_parameter + + + +statement + + + +while_statement + + + +identifier + + + +attribute + + + +value_type + + + +〔"〕 + + + +typeof + + + +class_body + + + +expression + + + +class + + + +statement_expression + + + +unary_expression + + + +{ + + + +identifier + + + +literal + + + +, + + + +type + + + +join + + + +member_declarator_list + + + +explicitly_typed_local_variable_declaration + + + +T + + + +additive_expression + + + +int + + + +type + + + +abstract + + + +) + + + +int + + + +type + + + += + + + +System + + + +type + + + +in + + + +literal + + + +int + + + +( + + + +member_initializer + + + +identifier + + + +class_member_declaration + + + +identifier + + + +1 + + + +e + + + +local_variable_declaration + + + +class_body + + + +attributes + + + +) + + + +type + + + +0 + + + +Fourth + + + +multiplicative_expression + + + +[ + + + +argument + + + +argument_list + + + +declaration_statement + + + +local_variable_declaration + + + +array_type + + + +( + + + +identifier + + + +declaration_statement + + + +> + + + +< + + + +f + + + +floating_point_type + + + +method_declaration + + + +qualified_identifier + + + +class_declaration + + + +method_declaration + + + += + + + ++ + + + +assignment_operator + + + +fixed_pointer_declarator + + + +identifier + + + +expression + + + +explicitly_typed_local_variable_declarator + + + +type + + + +equality_expression + + + +> + + + +{ + + + +identifier + + + +literal + + + +identifier + + + +type_argument_list + + + +; + + + +i + + + +switch + + + +identifier + + + +for_statement + + + +type + + + +( + + + +attribute_name + + + +void + + + +int + + + +identifier + + + +public + + + +primary_expression + + + +int + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +accessor_body + + + +int + + + +first + + + +{ + + + +alias + + + +namespace_or_type_name + + + +expression + + + +< + + + +on + + + +attribute_list + + + +<= + + + +return + + + +catch + + + +identifier + + + +object_or_collection_initializer + + + +contextual_keyword + + + +; + + + +declaration_statement + + + +invocation_expression + + + +return + + + +identifier + + + +; + + + +default_argument + + + +17 + + + +primary_expression + + + +{ + + + +type_arguments + + + +new + + + +. + + + +accessor_body + + + +return_type + + + +assignment + + + +class_declaration + + + +default_argument + + + +attribute_section + + + +1 + + + +element_initializer + + + +namespace_member_declaration + + + +nameof + + + +inclusive_or_expression + + + +explicitly_typed_local_variable_declaration + + + +] + + + +identifier + + + +extern + + + +L + + + +identifier + + + +integral_type + + + +< + + + +block + + + +attribute_argument_expression + + + +declaration_statement + + + +member_name + + + +explicit_anonymous_function_signature + + + +element_initializer_list + + + +using_alias_directive + + + +property_modifier + + + +statement_expression + + + +unary_expression + + + +type_parameter + + + +assignment_operator + + + +block + + + +Obsolete + + + +customers + + + +conditional_and_expression + + + +namespace_or_type_name + + + +t + + + +{ + + + +identifier + + + +} + + + +( + + + +type + + + +{ + + + +identifier + + + +; + + + +where + + + +string + + + +] + + + +) + + + +implicitly_typed_local_variable_declaration + + + +- + + + +identifier + + + +local + + + +declaration_statement + + + +type_argument + + + +type_parameters + + + +statement + + + +literal + + + +literal + + + +attribute_section + + + +select_clause + + + +( + + + +; + + + +unary_expression + + + +member_name + + + +N + + + +, + + + +. + + + +) + + + +declaration_statement + + + +attribute_target + + + +; + + + +argument_list + + + +identifier + + + +; + + + +identifier + + + +statement_list + + + +1L + + + +embedded_statement + + + +anonymous_method_expression + + + +namespace_or_type_name + + + += + + + +} + + + +block + + + +( + + + +literal + + + +argument_list + + + +4 + + + +select + + + +variable_declarators + + + +explicitly_typed_local_variable_declarator + + + +method_modifier + + + +post_decrement_expression + + + +declaration_statement + + + +{ + + + +( + + + +contextual_keyword + + + +; + + + +} + + + +public + + + +; + + + +member_access + + + +statement_list + + + +2147483648 + + + +type_parameter + + + +expression_statement + + + +statement + + + +declaration_statement + + + +class + + + +{ + + + +method_modifier + + + +. + + + +non_nullable_value_type + + + +identifier + + + +& + + + +expression_list + + + +p + + + += + + + +explicitly_typed_local_variable_declarator + + + +equality_expression + + + +non_array_type + + + +var + + + +constructor_body + + + +identifier + + + +statement_list + + + +query_continuation + + + +variable_initializer_list + + + +namespace_or_type_name + + + +< + + + +async + + + +attribute + + + +local_variable_declaration + + + +local_variable_declaration + + + +binary_operator_declarator + + + +assignment + + + +namespace_or_type_name + + + +attribute_target + + + +j + + + +identifier + + + +, + + + +literal + + + +unary_expression + + + +; + + + +) + + + +Type + + + +expression + + + +expression + + + +namespace_or_type_name + + + +identifier + + + +( + + + +implicitly_typed_local_variable_declaration + + + +using + + + +) + + + +hexchar + + + +explicitly_typed_local_variable_declarators + + + +: + + + +U + + + +namespace_or_type_name + + + +namespace_member_declaration + + + +literal + + + +argument + + + +identifier + + + += + + + +integral_type + + + +return + + + +identifier + + + +method_modifiers + + + +expression + + + +identifier + + + +select_or_group_clause + + + +literal + + + +explicitly_typed_local_variable_declaration + + + +conditional_and_expression + + + +local_variable_initializer + + + +identifier + + + +? + + + +"·" + + + +attribute + + + +) + + + +explicit_anonymous_function_signature + + + +?? + + + +new + + + +fixed + + + +operator_body + + + +get_accessor_declaration + + + +contextual_keyword + + + +conditional_or_expression + + + += + + + +class_type + + + +i + + + +throw_statement + + + +[ + + + +IEnumerable + + + +integral_type + + + +< + + + +assignment_operator + + + +namespace_or_type_name + + + +anonymous_function_signature + + + +invocation_expression + + + +, + + + +identifier + + + +block + + + +ResourceException + + + +, + + + +c + + + +[ + + + +s2 + + + +expression + + + +) + + + +j + + + +r + + + +Last + + + +statement + + + +local_variable_initializer + + + +qualified_identifier + + + +statement_expression + + + +object + + + +, + + + +block + + + +explicit_anonymous_function_parameter_list + + + +break + + + +declaration_statement + + + +class_member_declaration + + + +expression + + + +literal + + + +ref_method_modifier + + + +; + + + +multiplicative_expression + + + +method_body + + + +identifier + + + +Action + + + +} + + + +namespace_or_type_name + + + +Obsolete + + + ++ + + + +} + + + +s1 + + + +type + + + +assignment_operator + + + +< + + + +} + + + +i + + + +true + + + +string + + + +variant_type_parameter_list + + + +identifier + + + +method_declaration + + + +block + + + +f2 + + + +conditional_or_expression + + + +expression_statement + + + +field_modifier + + + +type + + + +identifier + + + +identifier + + + += + + + +Delegate + + + +fixed_parameter + + + +explicitly_typed_local_variable_declaration + + + +< + + + +] + + + +; + + + += + + + +) + + + +identifier + + + +integral_type + + + +identifier + + + +identifier + + + +expression + + + +expression + + + +; + + + +public + + + +statement_list + + + +delegate_header + + + +T + + + +public + + + +identifier + + + +statement_list + + + +} + + + +} + + + +} + + + +} + + + +property_declaration + + + += + + + +statement + + + +anonymous_object_creation_expression + + + +variant_type_parameters + + + +relational_expression + + + +int + + + +explicitly_typed_local_variable_declaration + + + +member_access + + + +> + + + +identifier + + + +expression + + + +& + + + +class_member_declaration + + + +( + + + +implicitly_typed_local_variable_declarator + + + +122 + + + +public + + + +WriteLine + + + +statement_expression + + + +identifier + + + +primary_expression + + + +primary_expression + + + +local_variable_declaration + + + +{ + + + +Monday + + + +expression + + + +fixed_statement + + + +method_body + + + +equals + + + +statement_expression + + + +statement + + + +contextual_keyword + + + +identifier + + + +} + + + +) + + + +int + + + +embedded_statement + + + +) + + + +statement + + + +contextual_keyword + + + +interpolation_minimum_width + + + +& + + + +literal + + + +unsafe_statement + + + +K + + + +return_type + + + +int + + + +relational_expression + + + +} + + + +statement_expression + + + +primary_expression + + + +literal + + + +bool + + + +( + + + +. + + + +C + + + += + + + +*= + + + +return_type + + + +embedded_statement + + + +var + + + +accessor_declarations + + + +equality_expression + + + +type + + + +additive_expression + + + +implicitly_typed_local_variable_declarator + + + +{ + + + +rank_specifier + + + +Event + + + +object_or_collection_initializer + + + ++ + + + +) + + + +identifier + + + +type_parameter_constraints_clause + + + +class + + + += + + + +member_name + + + +; + + + +++ + + + +public + + + +"nine" + + + +0 + + + +int + + + +type_arguments + + + +type + + + +async + + + +literal + + + +} + + + +assignment_operator + + + +statement + + + +relational_expression + + + +; + + + +positional_argument + + + +sa + + + +expression + + + +variable_initializer + + + +, + + + +primary_expression + + + +10 + + + +new + + + +parameter_list + + + +( + + + +nullable_value_type + + + +interpolated_regular_string_expression + + + +identifier + + + +[ + + + +0 + + + +, + + + +explicitly_typed_local_variable_declarators + + + +class + + + +MyClass + + + +} + + + +literal + + + +statement + + + +member_access + + + +property_modifier + + + +E + + + +relational_expression + + + +local_variable_declaration + + + +, + + + +lU + + + +attribute_target + + + +< + + + +simple_type + + + +array_type + + + +a + + + +value_type + + + +class_member_declaration + + + +implicitly_typed_local_variable_declaration + + + +{ + + + +{ + + + +statement_expression + + + +var + + + +variable_initializer + + + +declaration_statement + + + +) + + + +implicitly_typed_local_variable_declaration + + + +Obsolete + + + +statement_expression + + + +statement + + + +local5 + + + +, + + + +Point + + + +[ + + + +unary_expression + + + +type_argument_list + + + +identifier + + + +statement + + + +) + + + +@char + + + +identifier + + + +integral_type + + + +) + + + +unary_expression + + + +primary_expression + + + +int + + + +type + + + +f2 + + + +A + + + +unary_expression + + + +primary_expression + + + +; + + + +] + + + +return + + + += + + + +void + + + +equality_expression + + + +when + + + +literal + + + +expression + + + +explicitly_typed_local_variable_declarators + + + +and_expression + + + +identifier + + + +void + + + += + + + += + + + +expression_statement + + + +argument_name + + + +expression + + + += + + + += + + + +integral_type + + + +set_accessor_declaration + + + +while + + + +; + + + +expression_statement + + + +operator_modifier + + + +; + + + +i + + + +expression + + + +typeof_expression + + + +Generic + + + +unary_expression + + + +literal + + + +identifier + + + +expression + + + +T + + + +declaration_statement + + + +type + + + +< + + + +[ + + + +local_variable_initializer + + + +identifier + + + +; + + + +type_arguments + + + +? + + + +parameter_modifier + + + +Age + + + +type + + + +namespace_or_type_name + + + +primary_expression + + + += + + + +) + + + +] + + + +assignment_operator + + + +attribute_name + + + +null_conditional_element_access + + + +expression_statement + + + +expression + + + +< + + + +return_statement + + + +block + + + +namespace_name + + + +identifier + + + +; + + + +; + + + +; + + + +) + + + +declaration_statement + + + += + + + +exception_specifier + + + +identifier + + + +expression_statement + + + +) + + + +implicitly_typed_local_variable_declaration + + + +class_body + + + +array_type + + + +V + + + +unary_expression + + + +10 + + + +attribute_list + + + +namespace_or_type_name + + + +; + + + +〔·old〕 + + + +{ + + + +struct_declaration + + + +identifier + + + +) + + + +assignment_operator + + + +enum_body + + + +1 + + + +; + + + +Foo + + + +accessor_body + + + +- + + + +identifier + + + +A + + + +return_type + + + +additive_expression + + + +return_statement + + + +. + + + +type_arguments + + + +{ + + + +identifier + + + +readonly + + + +identifier + + + +true + + + +expression + + + +add + + + +"Doe" + + + +explicitly_typed_local_variable_declarator + + + +type + + + +>= + + + +identifier + + + +literal + + + +boolean_literal + + + +method_header + + + +integral_type + + + +boolean_expression + + + +statement + + + +identifier + + + +identifier + + + +& + + + +identifier + + + +, + + + +; + + + +namespace_or_type_name + + + +1 + + + +parameter_list + + + +?? + + + +method_declaration + + + +( + + + +statement_list + + + +} + + + +integral_type + + + +namespace + + + +explicitly_typed_local_variable_declarator + + + +NonSerialized + + + +; + + + +using + + + +implicitly_typed_local_variable_declarator + + + +{ + + + +additive_expression + + + +implicitly_typed_local_variable_declarator + + + +primary_expression + + + +type_arguments + + + +; + + + +} + + + +@double + + + +, + + + +expression + + + +query_body_clauses + + + +expression + + + +assignment_operator + + + +identifier + + + +identifier + + + += + + + += + + + +class_member_declaration + + + +identifier + + + +literal + + + +set + + + +static + + + +> + + + +variable_initializer + + + += + + + +identifier + + + +expression + + + +, + + + +assignment + + + +Y + + + +i + + + +for + + + +explicitly_typed_local_variable_declarators + + + +, + + + +type + + + +contextual_keyword + + + +i + + + +i + + + +statement + + + +set_accessor_declaration + + + +{ + + + +primary_expression + + + +global_attribute_section + + + +namespace_member_declaration + + + +var + + + +member_name + + + +declaration_statement + + + +class_type + + + +primary_expression + + + +- + + + +static + + + +identifier + + + +type_parameter_constraints_clause + + + += + + + +expression + + + +statement + + + +T + + + +TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22 + + + +relational_expression + + + +) + + + +fixed_parameter + + + +assignment_operator + + + +identifier + + + +declaration_statement + + + +contextual_keyword + + + +statement_expression + + + +assignment_operator + + + +identifier + + + +null_conditional_element_access + + + +statement_list + + + +return_type + + + +, + + + +field_declaration + + + +; + + + +property_body + + + +public + + + +identifier + + + +switch_label + + + +global_attribute_target_specifier + + + +identifier + + + +} + + + +implicitly_typed_local_variable_declarator + + + +type_argument + + + +param + + + +argument + + + +nullable_value_type + + + +primary_no_array_creation_expression + + + +property_declaration + + + +if + + + +( + + + +argument_name + + + +; + + + +( + + + +) + + + +type + + + +; + + + +; + + + +statement_expression + + + +( + + + +fixed_parameter + + + +a + + + +++ + + + +, + + + +{ + + + +method_modifier + + + +) + + + +"A" + + + +constructor_declaration + + + +0 + + + +declaration_statement + + + +class_type + + + +contextual_keyword + + + +; + + + +OnError + + + +integral_type + + + +explicitly_typed_local_variable_declarators + + + +finally_clause + + + +A + + + +, + + + +method_body + + + +namespace_or_type_name + + + +< + + + +, + + + +unary_expression + + + +identifier + + + +specific_catch_clause + + + +constant_expression + + + +; + + + +6 + + + +field_modifier + + + +type_arguments + + + +typeof_expression + + + +additive_expression + + + +identifier + + + +type_argument + + + +delegate + + + +identifier + + + +unary_expression + + + +member_name + + + +] + + + +explictly_typed_default + + + +variable_initializer_list + + + +indexer_body + + + +identifier + + + +0 + + + +; + + + +identifier + + + +; + + + +conditional_or_expression + + + +static_constructor_modifiers + + + +class_declaration + + + +type_parameter_constraints_clause + + + +? + + + +declaration_statement + + + +identifier + + + +type_parameter + + + +1.44M + + + +expression + + + +type + + + +< + + + +literal + + + +from + + + +method_header + + + +assignment + + + +d + + + +; + + + +{ + + + +; + + + +get + + + +{ + + + +integral_type + + + +block + + + +implicitly_typed_local_variable_declarator + + + +identifier + + + +assignment_operator + + + += + + + +namespace_member_declaration + + + +expression + + + +unary_expression + + + += + + + ++ + + + +statement_expression + + + +declaration_statement + + + +property_modifier + + + +query_body_clause + + + +boolean_expression + + + +type_argument_list + + + +< + + + +method_declaration + + + +explicit_anonymous_function_signature + + + +c + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +catch + + + +identifier + + + +literal + + + +int + + + +block + + + +member_name + + + +type_arguments + + + +Copyright + + + +false + + + +expression + + + +namespace_member_declaration + + + += + + + +. + + + +declaration_statement + + + +member_name + + + +nullable_type_annotation + + + +attribute_list + + + +unary_expression + + + +Wait + + + +] + + + +attribute_target + + + +Linq + + + +expression + + + +false + + + +ordering_direction + + + +local_variable_declaration + + + +method_modifier + + + +yield + + + +namespace_or_type_name + + + +var + + + +literal + + + +class_member_declaration + + + +explicitly_typed_local_variable_declarator + + + +{ + + + +; + + + +declaration_statement + + + +local_variable_declaration + + + +bool + + + +expression + + + +interpolated_regular_string_expression + + + +"a" + + + +constructor_modifier + + + +public + + + +; + + + +literal + + + +assignment_operator + + + +. + + + +{ + + + +literal + + + +( + + + +( + + + +void + + + +identifier + + + +] + + + +] + + + +System + + + +relational_expression + + + +( + + + +explicitly_typed_local_variable_declarator + + + +; + + + +) + + + +; + + + +interpolation_minimum_width + + + +await + + + +> + + + +AccessViolationException + + + +integral_type + + + +, + + + +identifier + + + +block + + + += + + + += + + + +Main + + + +integral_type + + + +select + + + +type + + + +continue + + + +unary_expression + + + +IEnumerable + + + +expression + + + +j + + + += + + + += + + + +operator_modifier + + + +: + + + +assignment_operator + + + +namespace_or_type_name + + + +integral_type + + + +explicitly_typed_local_variable_declarators + + + +orderings + + + +accessor_body + + + +on + + + +identifier + + + +literal + + + +[ + + + +〔·is·\"〕 + + + +unary_expression + + + +class + + + += + + + +] + + + +unary_expression + + + +expression + + + +member_access + + + +statement + + + +new + + + +type + + + +type + + + +] + + + +Guid + + + +identifier + + + +return_statement + + + +identifier + + + +multiplicative_expression + + + +type + + + +local_variable_declaration + + + +additive_expression + + + +1.2f + + + +local_variable_initializer + + + +in + + + +} + + + +identifier + + + +identifier + + + +static + + + +\U00000065 + + + +} + + + +Resource + + + +: + + + +identifier + + + +unary_expression + + + +? + + + +literal + + + +unary_expression + + + +pre_increment_expression + + + +identifier + + + +identifier + + + +identifier + + + +ThisAccess + + + +< + + + +IO + + + +identifier + + + +contextual_keyword + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +argument_list + + + +literal + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +declaration_statement + + + +where + + + +explicitly_typed_local_variable_declaration + + + +. + + + +string + + + +fixed_parameter + + + +identifier + + + +invocation_expression + + + +-= + + + +identifier + + + +null_literal + + + +expression + + + +null + + + +type_parameter_list + + + +local_variable_declaration + + + +integral_type + + + +switch_label + + + +. + + + +element_initializer + + + +namespace_or_type_name + + + +} + + + +1Lu + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +delegate_declaration + + + +class_declaration + + + +assignment + + + +literal + + + +{ + + + +< + + + +identifier + + + +namespace_or_type_name + + + += + + + +identifier + + + +identifier + + + +process + + + +add_accessor_declaration + + + +element_initializer + + + +identifier + + + +array_creation_expression + + + +switch_block + + + +g + + + +i + + + +b + + + +declaration_statement + + + +, + + + +primary_expression + + + +integral_type + + + +MinValue + + + +literal + + + +statement_list + + + +literal + + + +type_argument + + + +interface_body + + + +primary_expression + + + +type + + + +? + + + +fixed_parameters + + + +type_parameter_list + + + +explicitly_typed_local_variable_declaration + + + +> + + + +} + + + +type_name + + + +statement_expression + + + +method_declaration + + + +identifier + + + +await_expression + + + +statement_list + + + +identifier + + + +type + + + +argument_list + + + +@ushort + + + +, + + + +literal + + + +identifier + + + +identifier + + + +implicitly_typed_local_variable_declaration + + + +. + + + +identifier + + + +pre_increment_expression + + + +namespace_or_type_name + + + +identifier + + + +integral_type + + + +type_arguments + + + +expression + + + +literal + + + +identifier + + + +identifier + + + +s + + + +namespace_or_type_name + + + +statement + + + +primary_constraint + + + += + + + +A + + + +method_modifiers + + + +class_type + + + +Name + + + ++ + + + +block + + + +) + + + +block + + + +K + + + +class_member_declaration + + + +declaration_statement + + + +> + + + +identifier + + + +type + + + +declaration_statement + + + +get + + + +type + + + +p + + + +local_variable_type + + + +identifier + + + +I + + + +array_type + + + +expression_statement + + + +C + + + +object_or_collection_initializer + + + +type + + + +static + + + +regular_interpolation + + + +int + + + +] + + + +〔·year{{s}}·old·#〕 + + + +method_header + + + +expression_statement + + + +) + + + +. + + + +statement + + + +1 + + + ++ + + + +identifier + + + +int + + + +method_header + + + +class_member_declaration + + + +local_variable_initializer + + + +class_member_declaration + + + +rank_specifier + + + +identifier + + + +method_modifier + + + +var + + + +type_parameter + + + +identifier + + + +query_body_clauses + + + +( + + + +expression + + + +} + + + +property_declaration + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +- + + + +identifier + + + +namespace_or_type_name + + + +A + + + +ulong + + + +identifier + + + +intValue + + + +method_header + + + +identifier + + + +; + + + +identifier + + + +multiplicative_expression + + + +argument_list + + + +identifier + + + +statement + + + +type_arguments + + + +int + + + +statement_expression + + + +literal + + + +where + + + +explicitly_typed_local_variable_declaration + + + +catch + + + +type_argument_list + + + +identifier + + + +A + + + += + + + +identifier + + + +literal + + + +IList + + + +identifier + + + +identifier + + + +conditional_and_expression + + + +interface_body + + + +statement_expression + + + +( + + + +〔$"〕 + + + +lambda_expression + + + +identifier + + + +contextual_keyword + + + +; + + + +explicitly_typed_local_variable_declarators + + + +property_modifier + + + +new + + + +identifier + + + +O + + + +int + + + +identifier + + + +embedded_statement + + + +object_creation_expression + + + +boolean_literal + + + +] + + + +; + + + +by + + + +expression + + + +] + + + +simple_type + + + +explicitly_typed_local_variable_declaration + + + +{ + + + +identifier + + + +!= + + + +statement + + + +. + + + +identifier + + + +const + + + +, + + + +expression + + + +relational_expression + + + +1.1f + + + +100 + + + +identifier + + + +) + + + +unary_expression + + + +) + + + +System + + + +unary_expression + + + +int + + + +implicitly_typed_local_variable_declarator + + + +await + + + +{ + + + +namespace_or_type_name + + + +integral_type + + + +identifier + + + +type + + + +} + + + +operator_modifier + + + +BeginScope + + + +method_body + + + +Foo + + + +( + + + +block + + + +var + + + +A + + + +; + + + +method_header + + + +embedded_statement + + + +assignment + + + +identifier + + + +literal + + + +int + + + +; + + + +var + + + +< + + + +) + + + +222 + + + +class_member_declaration + + + +identifier + + + +method_header + + + +1 + + + +typeof + + + +literal + + + +A + + + +> + + + +{ + + + +explicitly_typed_local_variable_declarators + + + +literal + + + +property_initializer + + + +operator_modifier + + + +declaration_statement + + + +local_variable_declaration + + + +literal + + + +statement_list + + + +unary_expression + + + +integral_type + + + +) + + + +class_body + + + +type_parameters + + + +: + + + +System + + + +customers + + + +contextual_keyword + + + +using_directive + + + +T + + + +var + + + +variable_initializer_list + + + +shift_expression + + + +] + + + +type + + + +identifier + + + +47 + + + +ref_method_modifier + + + +assignment_operator + + + +; + + + +} + + + +statement_list + + + +class_declaration + + + +; + + + +{ + + + +integral_type + + + +expression + + + +variable_initializer + + + +; + + + +literal + + + +{ + + + +; + + + +( + + + +member_name + + + +t + + + +i + + + +variant_type_parameters + + + +K + + + +declaration_statement + + + +declaration_statement + + + +embedded_statement + + + +statement_list + + + +switch_section + + + +statement_expression + + + +property_body + + + +Test + + + +id + + + +regular_interpolation + + + +[ + + + +* + + + += + + + +contextual_keyword + + + +type + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +pointer_type + + + +statement + + + +MyObject + + + +Move + + + +local_variable_declaration + + + +accessor_body + + + +post_increment_expression + + + +{ + + + +identifier + + + +type_arguments + + + +identifier + + + +local_variable_initializer + + + +namespace_or_type_name + + + +embedded_statement + + + += + + + +attribute_list + + + +m + + + +explicitly_typed_local_variable_declarators + + + +local_variable_declaration + + + +parameter_array + + + +0 + + + += + + + +Add + + + +e2 + + + +method_modifier + + + +local_variable_declaration + + + +statement + + + +null_literal + + + +{ + + + +} + + + +initializer_value + + + +identifier + + + +field_modifier + + + += + + + +attribute_arguments + + + +> + + + +> + + + +declaration_statement + + + +variable_initializer + + + +integral_type + + + +statement + + + +) + + + +expression + + + +literal + + + +identifier + + + +interpolated_regular_string_expression + + + +statement + + + +method_header + + + +statement_expression + + + +p + + + +integral_type + + + +minInt64Value + + + +p + + + +where + + + +identifier + + + +; + + + +char + + + +; + + + +local_variable_initializer + + + +class_member_declaration + + + +1.44F + + + +identifier + + + +class_body + + + +primary_expression + + + +select_or_group_clause + + + +] + + + +ref_method_modifier + + + +argument_list + + + += + + + +local_variable_initializer + + + +return_type + + + +class_declaration + + + +expression + + + +type + + + +( + + + +assignment_operator + + + +* + + + +e + + + +statement + + + +identifier + + + +; + + + +} + + + +declaration_statement + + + +) + + + +identifier + + + +statement + + + +void + + + +literal + + + +IList + + + +local_variable_declaration + + + +statement + + + +int + + + +0 + + + +operator_modifier + + + +declaration_statement + + + +? + + + +expression + + + +rank_specifier + + + +local5 + + + +br + + + +; + + + ++ + + + +attribute_arguments + + + +throw_statement + + + +) + + + +} + + + +addressof_expression + + + +declaration_statement + + + +yield_statement + + + +class_member_declaration + + + +accessor_declarations + + + +variable_reference + + + +statement + + + +override + + + +element_access + + + +@string + + + +additive_expression + + + +i + + + +d + + + +type + + + +local_variable_initializer + + + +implicitly_typed_local_variable_declaration + + + +class + + + +local_variable_declaration + + + +{ + + + +p + + + +First + + + +int + + + +{ + + + +literal + + + +== + + + +primary_expression + + + +( + + + +expression_statement + + + +from + + + +( + + + +identifier + + + +statement + + + +let + + + +using_statement + + + +static + + + +block + + + +return + + + +c + + + +; + + + +=> + + + +literal + + + +type_argument_list + + + +invocation_expression + + + +await_expression + + + +operator_modifier + + + +} + + + +method_modifier + + + +type + + + +statement + + + +identifier + + + +literal + + + +true + + + +type_argument_list + + + +; + + + +statement + + + +local_variable_initializer + + + +block + + + +0 + + + +type_argument + + + +i + + + +explicitly_typed_local_variable_declaration + + + +anonymous_function_body + + + +equality_expression + + + +] + + + +statement_expression + + + +expression + + + +variable_initializer + + + +conditional_or_expression + + + +- + + + +variant_type_parameter_list + + + +) + + + +struct_member_declaration + + + +declaration_statement + + + +from + + + +var + + + +expression + + + +property_body + + + +local_variable_initializer + + + +void + + + +. + + + +return_statement + + + +expression_statement + + + +operator_declarator + + + +string + + + +method_modifiers + + + +explicitly_typed_local_variable_declaration + + + +=> + + + +{ + + + +. + + + +class_member_declaration + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +statement + + + +attribute_target + + + +attribute_list + + + +First + + + +) + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +; + + + +relational_expression + + + +local_variable_declaration + + + +indexer_declaration + + + +int + + + +> + + + +declaration_statement + + + +&& + + + +; + + + +) + + + +x + + + +identifier + + + +operator_body + + + +query + + + +statement + + + +String + + + +identifier + + + +, + + + +statement_list + + + +identifier + + + +variable_declarators + + + +public + + + +struct + + + +object_creation_expression + + + +var + + + +b + + + +} + + + +) + + + +( + + + +qualified_alias_member + + + +〔,·B=〕 + + + +local_variable_initializer + + + +identifier + + + +goto_statement + + + +ordering + + + +integral_type + + + +method_header + + + +explicitly_typed_local_variable_declaration + + + +declaration_statement + + + +namespace_or_type_name + + + += + + + +) + + + +E + + + +; + + + +literal + + + +operator_declaration + + + +literal + + + +T + + + +A + + + +; + + + +method_declaration + + + +statement + + + +; + + + +: + + + +non_nullable_reference_type + + + +null + + + +} + + + +T + + + +integral_type + + + +local_variable_initializer + + + +using + + + +partial + + + +attribute_target_specifier + + + +local_variable_declaration + + + +identifier + + + +primary_expression + + + +identifier + + + +expression + + + +( + + + +member_name + + + +identifier + + + +implicitly_typed_local_variable_declarator + + + +identifier + + + +{ + + + +namespace_or_type_name + + + +statement + + + +declaration_statement + + + +local_variable_initializer + + + +block + + + +) + + + +< + + + +parameter_list + + + +literal + + + +identifier + + + +local_variable_declaration + + + +unsafe + + + +contextual_keyword + + + +true + + + +type + + + +identifier + + + +literal + + + +identifier + + + +operator_body + + + +identifier + + + +argument_list + + + +( + + + +literal + + + +namespace_member_declaration + + + +Add + + + +explicitly_typed_local_variable_declarator + + + +'\u0066' + + + +expression + + + +hex + + + +long + + + +unary_expression + + + +identifier + + + +block + + + +invocation_expression + + + +, + + + +int + + + +parameter_list + + + +multiplicative_expression + + + +statement_expression + + + +; + + + +b + + + +identifier + + + +type + + + +expression + + + +statement + + + +local_variable_initializer + + + +return + + + +fixed_pointer_initializer + + + +identifier + + + +namespace_or_type_name + + + +] + + + +{ + + + +argument_list + + + +boolean_expression + + + +point + + + +: + + + +a + + + +} + + + +class_type + + + +descending + + + +expression + + + +block + + + +non_array_type + + + +namespace_or_type_name + + + +XmlComments + + + +statement + + + +statement + + + +verbatim_interpolation + + + +shift_expression + + + +identifier + + + +type + + + +unary_expression + + + +literal + + + +unary_expression + + + +int + + + +class_type + + + +identifier + + + +type_parameter + + + +namespace_or_type_name + + + +throw_statement + + + +namespace_or_type_name + + + +namespace_or_type_name + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +B + + + +inclusive_or_expression + + + +method_header + + + +accessor_body + + + +literal + + + +parameter_list + + + +void + + + +unary_expression + + + +literal + + + +null_literal + + + +group_clause + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +struct + + + +identifier + + + +implicitly_typed_local_variable_declaration + + + +. + + + +foreach + + + +explicit_anonymous_function_signature + + + +identifier + + + +expression + + + +floating_point_type + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +〔:d〕 + + + +1 + + + +block + + + +A + + + +false + + + +expression + + + +collection_initializer + + + +class_type + + + +} + + + +{ + + + +implicitly_typed_local_variable_declaration + + + +local_variable_declaration + + + +? + + + +; + + + +, + + + +ref_method_modifier + + + +) + + + +type_arguments + + + +variable_initializer + + + +. + + + +unsafe_modifier + + + +identifier + + + +Obsolete + + + +int + + + +identifier + + + +A + + + +. + + + +identifier + + + ++ + + + +enum_declaration + + + +statement_list + + + +identifier + + + +identifier + + + +implicitly_typed_local_variable_declarator + + + +identifier + + + +local_variable_declaration + + + +using_alias_directive + + + +statement + + + +T2 + + + +} + + + +argument_list + + + +array_type + + + +NonExisting + + + +identifier + + + +} + + + +block + + + +local_variable_declaration + + + +Список + + + +public + + + +A + + + +additive_expression + + + +element_initializer + + + +identifier + + + +0 + + + +ToString + + + +dynamic + + + +2 + + + +using_directive + + + +identifier + + + +; + + + +method_header + + + +accessor_declarations + + + +public + + + +. + + + +identifier + + + +statement_expression + + + +) + + + +interface_modifier + + + +protected + + + +literal + + + +> + + + +new + + + +enum_member_declarations + + + +statement_expression + + + +primary_constraint + + + +non_nullable_value_type + + + +0XDEADBEEF + + + +literal + + + +explicitly_typed_local_variable_declarators + + + +explicitly_typed_local_variable_declarators + + + +member_name + + + +switch_statement + + + +; + + + +0 + + + +local_variable_declaration + + + +additive_expression + + + +return_type + + + +class_base + + + +5 + + + +literal + + + +if + + + +exception_specifier + + + +inclusive_or_expression + + + +, + + + +new + + + +; + + + +〔:#0.##〕 + + + +3 + + + +integral_type + + + +, + + + +} + + + +equality_expression + + + +accessor_body + + + +literal + + + +namespace + + + +statement_expression + + + +expression + + + +expression_statement + + + +literal + + + +statement + + + +. + + + +accessor_declarations + + + +fixed_size_buffer_declaration + + + +declaration_statement + + + +attribute_list + + + +string + + + +[ + + + +customers + + + +identifier + + + +namespace_member_declaration + + + +declaration_statement + + + +expression + + + +} + + + +0 + + + +f2 + + + +block + + + +] + + + +indexer_modifier + + + +type_argument_list + + + +public + + + +[ + + + +local_variable_initializer + + + +} + + + +unary_expression + + + +0 + + + +identifier + + + +A + + + +) + + + +{ + + + +else + + + +contextual_keyword + + + +identifier + + + +i + + + +local_variable_initializer + + + +identifier + + + +type_arguments + + + +local_variable_declaration + + + +stackalloc_expression + + + +Test + + + +statement + + + +identifier + + + +literal + + + +identifier + + + +: + + + +local5 + + + +( + + + +explicitly_typed_local_variable_declarator + + + +: + + + +relational_expression + + + +class_type + + + +7 + + + +, + + + +explicitly_typed_local_variable_declarator + + + +ref + + + +b + + + +public + + + +relational_expression + + + +identifier + + + +identifier + + + +identifier + + + +bool + + + +local_variable_initializer + + + +explicitly_typed_local_variable_declarator + + + +positional_argument + + + +, + + + +A + + + +attribute_target_specifier + + + +"\U00000065" + + + +block + + + +} + + + +operator_declarator + + + +integral_type + + + +> + + + +implicitly_typed_local_variable_declaration + + + += + + + +identifier + + + +myfilter + + + +new + + + +argument + + + +explicitly_typed_local_variable_declarator + + + +invocation_expression + + + +statement_list + + + +literal + + + +. + + + +primary_expression + + + +< + + + +method_modifiers + + + +Dispose + + + +unary_expression + + + +) + + + +( + + + +method + + + +CustCount + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +true + + + +; + + + +var + + + +identifier + + + +; + + + +; + + + +; + + + +int + + + +type_parameter_list + + + +{ + + + +argument_list + + + +, + + + +using_statement + + + +p + + + +class_modifier + + + +local_variable_declaration + + + +, + + + +} + + + +identifier + + + += + + + +class_member_declaration + + + +6 + + + +[ + + + +using + + + +assignment + + + +static + + + +interface_accessors + + + +1 + + + +literal + + + +identifier + + + +this + + + +{ + + + +declaration_statement + + + +contextual_keyword + + + +i + + + +namespace_member_declaration + + + +: + + + +anonymous_function_body + + + +literal + + + +explicitly_typed_local_variable_declaration + + + +3 + + + +identifier + + + +get_accessor_declaration + + + +positional_argument_list + + + +{ + + + += + + + +type + + + +Write + + + +statement + + + +( + + + +pre_decrement_expression + + + +object_creation_expression + + + +identifier + + + +constant_declarator + + + +, + + + +non_nullable_value_type + + + +field_declaration + + + +statement + + + +integral_type + + + +void + + + +unary_expression + + + +literal + + + +statement + + + +x + + + +identifier + + + +literal + + + +statement_list + + + +primary_expression + + + +implicitly_typed_local_variable_declaration + + + +integral_type + + + +{ + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +; + + + +object_or_collection_initializer + + + +uint + + + +primary_no_array_creation_expression + + + +expression + + + +switch_block + + + +c + + + +operator_declaration + + + +integral_type + + + +method_body + + + +and_expression + + + +attribute_target_specifier + + + +; + + + +2 + + + +expression_statement + + + += + + + +assignment + + + +Guid + + + +B + + + +primary_expression + + + +implicitly_typed_local_variable_declaration + + + +keyword + + + += + + + +argument + + + +statement + + + +ref_method_modifier + + + +identifier + + + +query_body + + + +@sbyte + + + +implicitly_typed_local_variable_declarator + + + +string + + + +> + + + +property_modifier + + + +Action + + + +1 + + + +null_literal + + + +, + + + +argument_list + + + +} + + + +s + + + +query_expression + + + +identifier + + + +dynamic + + + +identifier + + + += + + + +array_initializer + + + +literal + + + +statement + + + +statement + + + +implicitly_typed_local_variable_declaration + + + +〔x·〕 + + + +ul + + + +. + + + +implicit_anonymous_function_signature + + + +f + + + +implicitly_typed_local_variable_declarator + + + +assignment + + + +overloadable_unary_operator + + + +method_modifiers + + + +identifier + + + +, + + + +} + + + += + + + +global + + + +literal + + + +type_parameter + + + +expression_statement + + + +operator_modifier + + + +. + + + +declaration_statement + + + +class_member_declaration + + + +true + + + +} + + + +{ + + + +attribute + + + +T + + + +statement_list + + + +primary_expression + + + +integral_type + + + +type + + + +r + + + +numeric_type + + + +) + + + +using_namespace_directive + + + +type_argument + + + +( + + + +range + + + +< + + + +non_array_type + + + +lock + + + +{ + + + +namespace + + + +nullable_value_type + + + +0 + + + +local_variable_initializer + + + +method_modifier + + + +argument_list + + + +identifier + + + +p + + + +lambda_expression + + + +type_argument_list + + + +statement + + + +new + + + +; + + + +j + + + +explicitly_typed_local_variable_declarators + + + +; + + + +identifier + + + +&= + + + +literal + + + +type + + + +block + + + +Expressions + + + +122 + + + +> + + + +{ + + + +f + + + +relational_expression + + + +} + + + +A + + + +Bar + + + +statement + + + +identifier + + + +generic_dimension_specifier + + + +implicitly_typed_local_variable_declarator + + + +identifier + + + +class_member_declaration + + + +class + + + +( + + + +integral_type + + + +o4 + + + +q + + + +orderings + + + +t + + + +constructor_modifier + + + +statement + + + +integral_type + + + +long + + + +Country + + + +> + + + +identifier + + + +shift_expression + + + +9223372036854775808L + + + +o5 + + + +null + + + +explicitly_typed_local_variable_declarators + + + +statement_expression + + + +expression_statement + + + +!= + + + += + + + +{ + + + +0 + + + +literal + + + +namespace_or_type_name + + + +primary_expression + + + +identifier + + + +regular_interpolation + + + +attributes + + + +nameof + + + +assignment_operator + + + +where + + + +class_body + + + +explicitly_typed_local_variable_declaration + + + +null_coalescing_expression + + + +if_statement + + + +indexer_declarator + + + +; + + + +literal + + + +type + + + += + + + +WebClient + + + +dx + + + +multiplicative_expression + + + +integral_type + + + +; + + + +volatile + + + +internal + + + +{ + + + +) + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +statement_expression + + + +Person + + + +0 + + + +unary_expression + + + +expression_statement + + + +c + + + +indexer_declaration + + + +( + + + +block + + + +unary_expression + + + +expression + + + +null_coalescing_expression + + + +identifier + + + +} + + + +statement_expression + + + +intref + + + +{ + + + +identifier + + + +field_declaration + + + +type + + + +M + + + +variable_declarators + + + +return_type + + + +local + + + +type + + + +. + + + +fixed_parameter + + + +invocation_expression + + + +property_declaration + + + +statement_list + + + +method_header + + + +local_variable_initializer + + + +initializer_target + + + +( + + + +counter + + + += + + + +. + + + +return_type + + + +explicitly_typed_local_variable_declarator + + + +method_declaration + + + +return + + + +primary_expression + + + +class_member_declaration + + + +struct_member_declaration + + + +type_argument + + + +out + + + +; + + + +literal + + + +parameter_list + + + +shift_expression + + + +where + + + +type_arguments + + + +expression_statement + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +literal + + + +statement_list + + + +{ + + + +contextual_keyword + + + +( + + + +public + + + +expression + + + +; + + + +〔·year〕 + + + +declaration_statement + + + +primary_expression + + + +method_declaration + + + +> + + + +assignment + + + +goto_statement + + + +method_body + + + +additive_expression + + + +member_access + + + +parenthesized_expression + + + +string + + + +) + + + +statement_list + + + +] + + + +method_modifiers + + + +? + + + +using + + + +identifier + + + +return + + + +expression + + + +descending + + + +0 + + + +} + + + +local_variable_declaration + + + +assignment + + + +implicitly_typed_local_variable_declaration + + + +{ + + + +true + + + +type + + + +namespace_or_type_name + + + +bool + + + +] + + + +i + + + +N + + + +] + + + +identifier + + + +identifier + + + +expression_list + + + +. + + + +return + + + +unary_expression + + + +identifier + + + +identifier + + + +identifier + + + +i + + + +implicitly_typed_local_variable_declaration + + + +assignment_operator + + + +local3 + + + +yield + + + +〔$"〕 + + + +explicitly_typed_local_variable_declarators + + + +embedded_statement + + + +statement_expression + + + +goto + + + +. + + + +System + + + +explicitly_typed_local_variable_declarator + + + +c + + + +member_access + + + +empty_statement + + + +element_access + + + +object + + + +Value + + + +; + + + +simple_type + + + +attributes + + + +member_name + + + +i + + + +this + + + +; + + + +Test + + + +} + + + +initializer_target + + + +class_member_declaration + + + +rank_specifier + + + +System + + + +type + + + +; + + + +type_arguments + + + +identifier + + + +statement + + + += + + + +; + + + +invocation_expression + + + +multiplicative_expression + + + +b + + + +static + + + +implicitly_typed_local_variable_declaration + + + +; + + + +expression_statement + + + +argument_list + + + +{ + + + +literal + + + +return_type + + + +expression_statement + + + +secondary_constraint + + + +local_variable_declaration + + + += + + + +T + + + +member_access + + + +{ + + + +explicitly_typed_local_variable_declarator + + + +explicitly_typed_local_variable_declarator + + + +. + + + +const + + + +[ + + + +invocation_expression + + + +112 + + + += + + + +) + + + +. + + + +expression + + + +; + + + +else + + + +{ + + + +boolean_literal + + + +namespace_or_type_name + + + +numbers + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +attribute_section + + + +fixed_pointer_declarators + + + +anonymous_function_body + + + +local_variable_declaration + + + += + + + +multiplicative_expression + + + +initializer_value + + + +, + + + += + + + +class_body + + + +literal + + + += + + + +) + + + +; + + + +dynamic + + + +expression + + + +literal + + + +e + + + +minInt32Value + + + +{ + + + +) + + + +method_modifier + + + +type_parameter + + + +secondary_constraint + + + +< + + + +method_modifier + + + +identifier + + + +expression + + + +query_body + + + +} + + + +type + + + +label2 + + + +block + + + +; + + + +-- + + + +identifier + + + +type + + + +non_array_type + + + +block + + + +< + + + +catch + + + +x + + + +method_modifier + + + +local_variable_declaration + + + +public + + + +invocation_expression + + + +( + + + +identifier + + + +statement_list + + + +dynamic + + + +ABC + + + +; + + + +explicit_anonymous_function_parameter + + + +statement + + + +identifier + + + +positional_argument_list + + + +dy + + + +literal + + + +identifier + + + +identifier + + + +new + + + +literal + + + +0 + + + +namespace_name + + + +element_access + + + +string + + + +] + + + +@"\\\\" + + + +block + + + +get_accessor_declaration + + + +and_expression + + + +argument_list + + + +identifier + + + +return_statement + + + +{ + + + += + + + +f1 + + + +resource_acquisition + + + +; + + + +namespace_declaration + + + +statement + + + += + + + +} + + + +var + + + +namespace_name + + + +0xBADC0DE + + + +invocation_expression + + + +statement + + + +class + + + +B + + + +member_name + + + +c + + + +[ + + + +> + + + +; + + + +expression + + + +( + + + +local_variable_initializer + + + +attribute_argument_expression + + + +anonymous_function_signature + + + +identifier + + + +indexer_declarator + + + += + + + +overloadable_binary_operator + + + +field_modifier + + + +array_initializer + + + +local_variable_initializer + + + +identifier + + + +Foo + + + +[ + + + +0 + + + +explicitly_typed_local_variable_declarators + + + +method_modifiers + + + +identifier + + + +, + + + +unary_expression + + + +try_statement + + + +System + + + +identifier + + + +} + + + +literal + + + +identifier + + + +AsyncAnonymous + + + +1lu + + + +; + + + +=> + + + +, + + + +namespace_or_type_name + + + +identifier + + + +using_alias_directive + + + +} + + + +expression + + + +attribute_list + + + +local_variable_declaration + + + +identifier + + + +identifier + + + +identifier + + + +identifier + + + +. + + + += + + + +where + + + +expression + + + +d + + + +local_variable_declaration + + + +type_argument + + + +identifier + + + +declaration_statement + + + +type + + + +; + + + +explicitly_typed_local_variable_declarators + + + +5 + + + +export + + + +implicitly_typed_local_variable_declaration + + + +block + + + +expression + + + +argument + + + +integral_type + + + +identifier + + + +stackalloc_expression + + + +literal + + + +method_modifiers + + + +type + + + +post_decrement_expression + + + +explicitly_typed_local_variable_declarators + + + +declaration_statement + + + +( + + + +local_variable_declaration + + + +member_name + + + +; + + + +integral_type + + + +identifier + + + +0 + + + +identifier + + + +( + + + +using_namespace_directive + + + +implicitly_typed_local_variable_declaration + + + +) + + + +type_parameters + + + +parameter_list + + + +i + + + +; + + + +identifier + + + +return_type + + + +. + + + +0 + + + +where + + + +< + + + +class_declaration + + + +local_variable_initializer + + + +{ + + + +=> + + + +type_argument_list + + + +; + + + +equality_expression + + + +variance_annotation + + + +explicitly_typed_local_variable_declarator + + + +variable_initializer + + + +Test + + + +async + + + +namespace_or_type_name + + + +5.0 + + + +] + + + +explicitly_typed_local_variable_declarator + + + +; + + + +expression_list + + + +Test + + + +class + + + +for_condition + + + +variable_initializer_list + + + +variable_initializer + + + +x + + + +type + + + +explicitly_typed_local_variable_declarators + + + +implicitly_typed_local_variable_declarator + + + +implicitly_typed_local_variable_declaration + + + +} + + + +( + + + +identifier + + + +? + + + +identifier + + + +1 + + + +dynamic + + + +integral_type + + + +member_name + + + += + + + +{ + + + +Complex + + + +attribute_name + + + +statement + + + +namespace_or_type_name + + + +. + + + +unary_expression + + + +namespace_declaration + + + +explicitly_typed_local_variable_declarators + + + +integral_type + + + +int + + + +property_initializer + + + +} + + + +( + + + +class_type + + + +parameter_mode_modifier + + + +catch_clauses + + + +i + + + +2l + + + +declaration_statement + + + +identifier + + + +ref_method_modifier + + + +local_variable_declaration + + + +sync + + + +explicitly_typed_local_variable_declaration + + + +statement_expression + + + +statement + + + +new + + + +{ + + + +local_variable_declaration + + + +Name + + + +identifier + + + +identifier + + + +literal + + + +} + + + +〔"〕 + + + +object_or_collection_initializer + + + +] + + + +identifier + + + +let_clause + + + += + + + +{ + + + +( + + + +identifier + + + +literal + + + +unary_operator_declarator + + + +) + + + +primary_expression + + + +block + + + +integral_type + + + +identifier + + + +argument_list + + + +) + + + +&& + + + +explicitly_typed_local_variable_declaration + + + +statement + + + +operator_body + + + +additive_expression + + + +accessor_body + + + +expression_statement + + + +local_variable_initializer + + + += + + + +type + + + +Task + + + += + + + +class_type + + + +anonymous_function_body + + + +identifier + + + +statement_list + + + +var + + + +boolean_expression + + + +primary_expression + + + +and_expression + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + += + + + +literal + + + +identifier + + + +statement_expression + + + ++ + + + +> + + + +@bool + + + +type + + + +switch + + + +namespace_or_type_name + + + += + + + +A + + + +identifier + + + +class_type + + + +identifier + + + +additive_expression + + + +first + + + += + + + +; + + + +namespace_name + + + +operator + + + +rank_specifier + + + +qualified_alias_member + + + +contextual_keyword + + + +type + + + +var + + + +identifier + + + +type + + + +expression + + + +foreach + + + +variable_initializer + + + +keyword + + + +( + + + +} + + + +; + + + +length + + + +query_expression + + + +assignment + + + +. + + + +expression_statement + + + +set + + + +parenthesized_expression + + + +public + + + +expression_statement + + + +identifier + + + +enum_member_declaration + + + +, + + + +override + + + +identifier + + + +using_namespace_directive + + + +identifier + + + +literal + + + +@decimal + + + += + + + +double + + + +) + + + +< + + + +member_declarator + + + +declaration_statement + + + +new + + + +5 + + + +; + + + +lambda_expression + + + +explicitly_typed_local_variable_declarators + + + +Collections + + + +implicitly_typed_local_variable_declaration + + + +decimal + + + +float + + + +, + + + +equality_expression + + + +) + + + +) + + + +expression_statement + + + +o2 + + + += + + + +. + + + +Blah + + + +explicitly_typed_local_variable_declarator + + + +public + + + +{ + + + +return_type + + + +boolean_expression + + + +argument_list + + + +select_or_group_clause + + + +argument_list + + + +regular_interpolation + + + +explicitly_typed_local_variable_declarator + + + +equality_expression + + + +parameter_list + + + +; + + + +nullable_type_annotation + + + +identifier + + + +identifier + + + +"A" + + + +: + + + +explicit_anonymous_function_signature + + + +; + + + +object_creation_expression + + + +type + + + +identifier + + + +. + + + +identifier + + + +local_variable_declaration + + + +class_member_declaration + + + +regular_interpolation + + + +statement_expression + + + +declaration_statement + + + +additive_expression + + + +declaration_statement + + + +initializer_target + + + +} + + + +embedded_statement + + + +identifier + + + +conditional_and_expression + + + +identifier + + + +identifier + + + +variable_initializer + + + +identifier + + + +accessor_body + + + +contextual_keyword + + + +fixed_parameter + + + +type + + + +( + + + +boolean_literal + + + +type_arguments + + + +and_expression + + + +module + + + +( + + + +i + + + +argument_list + + + +MyEvent + + + +declaration_statement + + + +method_header + + + +literal + + + +< + + + +boolean_literal + + + +identifier + + + +contextual_keyword + + + +literal + + + +( + + + +[ + + + +primary_expression + + + +statement + + + +from_clause + + + +contextual_keyword + + + +Complex + + + +Math + + + +< + + + +identifier + + + +object_or_collection_initializer + + + +expression + + + +assignment + + + +literal + + + +variable_initializer + + + +. + + + +assignment + + + +0 + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +s + + + ++ + + + +) + + + +block + + + +this + + + +interpolation_minimum_width + + + +int + + + +assignment_operator + + + +expression + + + +boolean_literal + + + +} + + + +Y + + + +expression + + + +0 + + + +expression + + + +; + + + +s + + + +statement + + + +{ + + + +A + + + +; + + + +method_declaration + + + +select_clause + + + +interface_type_list + + + +await + + + += + + + +8 + + + +struct_member_declaration + + + +identifier + + + +on + + + +literal + + + +delegate_header + + + +3 + + + +expression + + + +( + + + +true + + + +{ + + + +identifier + + + +a + + + +y + + + +attribute_list + + + +method_modifiers + + + +> + + + +; + + + +2 + + + +buffer_element_type + + + +type_argument + + + +identifier + + + +identifier + + + +2 + + + +; + + + +identifier + + + +orderby + + + +protected + + + +U + + + +argument_list + + + +C + + + +type_argument_list + + + +identifier + + + +statement + + + +abstract + + + +declaration_statement + + + +interpolated_regular_string_expression + + + +field_modifier + + + +} + + + +attribute_section + + + +block + + + +explicitly_typed_local_variable_declarators + + + +&& + + + +public + + + +declaration_statement + + + +double + + + +Customer + + + +identifier + + + +t + + + +; + + + +++ + + + +type + + + +pre_increment_expression + + + +literal + + + +constant_declarators + + + +expression + + + +type_argument_list + + + +) + + + +literal + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +; + + + +1 + + + +class_member_declaration + + + +var + + + +1 + + + +primary_expression + + + +block + + + +expression + + + +expression_statement + + + +statement_expression + + + +null + + + +( + + + +identifier + + + +variable_initializer + + + +statement + + + +, + + + +struct_body + + + += + + + +assignment + + + +regular_interpolation + + + +foreach_statement + + + +query_continuation + + + +explicitly_typed_local_variable_declaration + + + +type + + + +anonymous_function_signature + + + +identifier + + + +expression + + + +3 + + + +integral_type + + + +partial + + + +integral_type + + + +statement + + + +embedded_statement + + + +b + + + +identifier + + + +, + + + +declaration_statement + + + +( + + + +var + + + +post_increment_expression + + + +G + + + +new + + + +assignment + + + +expression + + + +local_variable_initializer + + + +local_variable_declaration + + + +join_into_clause + + + +int + + + +namespace_name + + + +attribute_list + + + +statement + + + +expression + + + +A + + + +method_modifier + + + +IList + + + +i + + + +integral_type + + + +boolean_expression + + + +< + + + +> + + + +statement + + + +declaration_statement + + + +member_access + + + +relational_expression + + + +property_body + + + +unary_expression + + + +expression + + + +} + + + +implicitly_typed_local_variable_declarator + + + +) + + + +class_member_declaration + + + +parameter_list + + + +var + + + +identifier + + + +property_body + + + +parameter_list + + + +anonymous_function_signature + + + +integral_type + + + +struct_member_declaration + + + +; + + + +A + + + +argument + + + +invocation_expression + + + +using_directive + + + +expression_list + + + +explicitly_typed_local_variable_declarator + + + +explicitly_typed_local_variable_declarator + + + +] + + + +int + + + +; + + + +argument_value + + + +invocation_expression + + + +if_statement + + + +identifier + + + +method_header + + + +identifier + + + +member_access + + + +variable_initializer + + + +T + + + +public + + + +var + + + +A + + + +identifier + + + +class_body + + + +multiplicative_expression + + + +invocation_expression + + + +statement + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +identifier + + + +null_coalescing_expression + + + +declaration_statement + + + +method_declaration + + + +< + + + +resource_acquisition + + + +} + + + +pointer_member_access + + + +identifier + + + +operator + + + +primary_expression + + + +type + + + +abstract + + + +sealed + + + +( + + + +i + + + +explicitly_typed_local_variable_declaration + + + +argument + + + +type_arguments + + + +out + + + +expression + + + +{ + + + +"" + + + +type + + + +identifier + + + +( + + + +constant_expression + + + +member_name + + + +identifier + + + +Tasks + + + +. + + + +embedded_statement + + + +identifier + + + +declaration_statement + + + +pattern + + + +statement + + + +type + + + +int + + + +method_modifiers + + + +( + + + +statement_expression + + + +variable_initializer_list + + + +expression + + + +id + + + += + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +; + + + +explicitly_typed_local_variable_declarators + + + +) + + + +statement + + + +class_member_declaration + + + +return + + + +identifier + + + +[ + + + +explicitly_typed_local_variable_declarator + + + ++ + + + +struct_member_declaration + + + +First + + + +primary_expression + + + +explicitly_typed_local_variable_declarators + + + +< + + + +. + + + +identifier + + + +type + + + +method_declaration + + + +local_variable_declaration + + + +{ + + + +identifier + + + +local_variable_initializer + + + +type + + + +base + + + +] + + + +identifier + + + +named_argument + + + +p + + + +T + + + +. + + + +statement + + + +additive_expression + + + +initializer_target + + + +operator_modifier + + + +method_header + + + += + + + +( + + + +expression + + + +> + + + +c1 + + + +< + + + +мир + + + +type_argument_list + + + +statement_list + + + +dynamic + + + +literal + + + +identifier + + + +boolean_literal + + + +local_variable_declaration + + + +boolean_expression + + + +T + + + +customers + + + ++ + + + +int + + + +literal + + + +member_access + + + +@dynamic + + + +=> + + + +property_modifier + + + +member_access + + + +explicitly_typed_local_variable_declarator + + + +explicitly_typed_local_variable_declarator + + + +0 + + + +await_expression + + + +conditional_or_expression + + + +type + + + +array_initializer + + + +accessor_modifier + + + +) + + + +contextual_keyword + + + +B + + + +( + + + +; + + + += + + + +integral_type + + + += + + + +int + + + +explicitly_typed_local_variable_declarator + + + +[ + + + +integral_type + + + +explicitly_typed_local_variable_declarator + + + +switch_label + + + +expression_statement + + + +Linq + + + +; + + + +} + + + +; + + + +expression_statement + + + ++= + + + +: + + + +explicitly_typed_local_variable_declaration + + + +explicitly_typed_local_variable_declaration + + + +ref_method_modifier + + + +second + + + +local_variable_declaration + + + +int + + + +class_base + + + +i + + + +this_access + + + +b + + + +class_type + + + +, + + + +private + + + +] + + + +〔$@"〕 + + + +unary_expression + + + +fixed_parameters + + + +using + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +type_parameters + + + +local_variable_initializer + + + +struct_body + + + +type + + + +literal + + + +contextual_keyword + + + +( + + + +ref_method_modifier + + + +primary_no_array_creation_expression + + + +{ + + + +1d + + + +local_variable_declaration + + + +( + + + +string + + + +identifier + + + +argument + + + +ref_method_modifier + + + +0 + + + +embedded_statement + + + +? + + + +member_access + + + +identifier + + + +class_base + + + +catch_clauses + + + +c + + + +fixed_parameter + + + +operator + + + +== + + + +== + + + +identifier + + + +interface_member_declaration + + + +method_declaration + + + +member_name + + + +using_directive + + + +declaration_statement + + + +element_access + + + +class_body + + + +) + + + +expression_statement + + + +) + + + +object_creation_expression + + + +A + + + +[ + + + +i + + + +Obsolete + + + +I + + + +relational_expression + + + +identifier + + + +type_arguments + + + +statement + + + +argument_list + + + +{ + + + +attribute_section + + + +@uint + + + +Delegate + + + +literal + + + +do + + + +orderby + + + +non_nullable_value_type + + + +, + + + +identifier + + + +expression + + + +] + + + +false + + + +contextual_keyword + + + +initializer_target + + + +p + + + +} + + + +declaration_statement + + + +g + + + +declaration_statement + + + +unary_expression + + + +@short + + + +{ + + + +member_access + + + +class_type + + + +expression + + + +fixed_parameter + + + +1LU + + + +; + + + +3 + + + +explicitly_typed_local_variable_declarators + + + +operator + + + +local_variable_declaration + + + +{ + + + +variant_type_parameter_list + + + +literal + + + +2 + + + +nullable_value_type + + + +public + + + +throw + + + +accessor_body + + + +argument_list + + + +literal + + + +( + + + +simple_name + + + += + + + +type + + + +identifier + + + +attribute_target_specifier + + + +method_declaration + + + +literal + + + +identifier + + + +local_variable_declaration + + + +ref_method_modifier + + + +assignment_operator + + + +return_statement + + + ++ + + + ++ + + + += + + + +identifier + + + +1 + + + +} + + + +object_creation_expression + + + +i + + + +local_variable_declaration + + + +argument_list + + + +class_member_declaration + + + +expression + + + +explicitly_typed_local_variable_declarator + + + +member_access + + + +identifier + + + +statement + + + +property_declaration + + + +array_initializer + + + +property_modifier + + + +method_modifier + + + +return + + + +class + + + +primary_expression + + + +explicitly_typed_local_variable_declarators + + + +literal + + + +identifier + + + += + + + +identifier + + + +identifier + + + +literal + + + +argument_list + + + +100 + + + +identifier + + + +res + + + +; + + + +identifier + + + +local_variable_declaration + + + +literal + + + +identifier + + + +statement_list + + + +type + + + +, + + + +b + + + +statement + + + +explicit_anonymous_function_parameter_list + + + +accessor_declarations + + + +method_body + + + +; + + + +; + + + += + + + +property_modifier + + + +embedded_statement + + + +contextual_keyword + + + +statement_expression + + + +identifier + + + +event_modifier + + + +return_type + + + +++ + + + +implicitly_typed_local_variable_declarator + + + +[ + + + +class_type + + + +alias + + + +short + + + +< + + + +non_nullable_value_type + + + +explicitly_typed_local_variable_declarator + + + +method_body + + + +member_name + + + +t + + + += + + + +} + + + +remove + + + +StartNew + + + +orderby + + + +i + + + +regular_interpolation + + + +statement_expression + + + +global_attribute_target + + + +integral_type + + + +identifier + + + +{ + + + +p + + + +) + + + +variable_initializer + + + +argument_value + + + +block + + + +identifier + + + +A + + + +global_attribute_target + + + +contextual_keyword + + + +identifier + + + +attributes + + + +statement_expression + + + +{ + + + +explicitly_typed_local_variable_declaration + + + +contextual_keyword + + + +> + + + +ref_method_modifier + + + +inclusive_or_expression + + + +fixed_parameter + + + +i + + + +explicitly_typed_local_variable_declaration + + + +expression + + + +identifier + + + +; + + + +public + + + +( + + + +equality_expression + + + +int + + + +type_argument + + + +unary_expression + + + +var + + + +select_clause + + + +index + + + +implicit_anonymous_function_parameter_list + + + +declaration_statement + + + +explicitly_typed_local_variable_declarator + + + +ref_method_modifier + + + += + + + +identifier + + + +f + + + +block + + + +primary_expression + + + +method_modifiers + + + +identifier + + + +type_arguments + + + +explicitly_typed_local_variable_declarators + + + +"Jane" + + + +declaration_statement + + + +statement_expression + + + +method_body + + + +from_clause + + + +object + + + +identifier + + + +) + + + +remove_accessor_declaration + + + += + + + +[ + + + +invocation_expression + + + +return + + + +expression + + + +finally_clause + + + +member_name + + + +identifier + + + +implicitly_typed_local_variable_declarator + + + +constant_declarator + + + +identifier + + + +local_variable_declaration + + + +identifier + + + +get + + + +. + + + +identifier + + + +pattern + + + +identifier + + + +method_modifiers + + + +declaration_statement + + + +var + + + +identifier + + + +ArgumentNullException + + + +2 + + + +X + + + +{ + + + +expression + + + +} + + + +T + + + +ref_method_modifier + + + +namespace_or_type_name + + + +invocation_expression + + + +) + + + +( + + + +== + + + +namespace_or_type_name + + + +identifier + + + +attribute_section + + + +; + + + +boolean_literal + + + +string + + + +int + + + +type + + + +] + + + +? + + + +post_increment_expression + + + +implicitly_typed_local_variable_declarator + + + +block + + + +type + + + +0 + + + +arrayTypeInference + + + +ref_method_modifier + + + +simple_type + + + +statement_expression + + + +attribute_target + + + +type + + + +range + + + +] + + + +TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + + + +type + + + +identifier + + + +expression_statement + + + +explicitly_typed_local_variable_declarators + + + +) + + + +explicitly_typed_local_variable_declarators + + + +i + + + +1uL + + + +operator_declarator + + + +void + + + +set_accessor_declaration + + + +1 + + + +identifier + + + +shift_expression + + + +5 + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +implicitly_typed_local_variable_declarator + + + +expression + + + +additive_expression + + + +continue_statement + + + +. + + + +> + + + +) + + + +declaration_statement + + + +new + + + +~ + + + +identifier + + + +} + + + +statement_expression + + + +explicitly_typed_local_variable_declaration + + + +int + + + += + + + +statement_expression + + + +element_access + + + +type_argument + + + +expression + + + +type_parameter + + + +in + + + +identifier + + + +) + + + += + + + +bool + + + +implicitly_typed_local_variable_declaration + + + +type + + + +> + + + +simple_type + + + +identifier + + + +} + + + +"·" + + + +argument_list + + + +; + + + +: + + + +Exception + + + +positional_argument + + + +> + + + +using + + + +operator_declaration + + + +struct_member_declaration + + + +query_body_clauses + + + +<<= + + + +{ + + + +interface_type_list + + + +unary_expression + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +] + + + +T + + + +relational_expression + + + +〔"〕 + + + +assignment_operator + + + +equality_expression + + + +var + + + +identifier + + + +=> + + + +1lU + + + +class_member_declaration + + + +identifier + + + +class_member_declaration + + + +; + + + +assignment + + + +Foo + + + +5 + + + += + + + +local_variable_initializer + + + +floating_point_type + + + +Func + + + +} + + + +0 + + + +accessor_body + + + +contextual_keyword + + + +identifier + + + +positional_argument_list + + + +} + + + +: + + + +identifier + + + +member_initializer_list + + + +method_body + + + +member_name + + + +literal + + + +block + + + +x + + + +return + + + +class_member_declaration + + + +rank_specifier + + + +. + + + +return + + + +primary_expression + + + +declaration_statement + + + +; + + + +class_body + + + +void + + + +< + + + +rank_specifier + + + +relational_expression + + + +assignment_operator + + + +block + + + +is + + + +"A" + + + +member_name + + + +namespace_member_declaration + + + +case + + + +int + + + +implicitly_typed_local_variable_declarator + + + +explicitly_typed_local_variable_declaration + + + +member_access + + + +; + + + +identifier + + + +i + + + +i + + + +block + + + +local_variable_initializer + + + +local_variable_declaration + + + +SetLastError + + + +{ + + + +namespace_member_declaration + + + +identifier + + + +string + + + +. + + + +primary_expression + + + +[ + + + +declaration_statement + + + +var + + + +0 + + + +Count + + + +regular_interpolation + + + +operator_body + + + +assignment_operator + + + +literal + + + +int + + + += + + + +literal + + + +declaration_statement + + + +while + + + +[ + + + +yield + + + +array_type + + + +return + + + +; + + + +primary_expression + + + +. + + + +A + + + +rank_specifier + + + +identifier + + + +type_parameter_constraints + + + +Foo + + + +c1 + + + +, + + + +nullable_value_type + + + +{ + + + +; + + + +; + + + +ref_method_modifier + + + +additive_expression + + + +implicit + + + +identifier + + + +identifier + + + +unmanaged_type + + + +field_modifier + + + +primary_expression + + + +method_modifiers + + + +using + + + +by + + + +} + + + +string + + + +i + + + +. + + + +relational_expression + + + +* + + + +overloadable_binary_operator + + + +? + + + +. + + + +variable_initializer_list + + + +unary_expression + + + +declaration_statement + + + +; + + + +var + + + +=> + + + +sealed + + + +variant_type_parameters + + + +enum_modifier + + + +method_declaration + + + +primary_expression + + + +] + + + +explicitly_typed_local_variable_declaration + + + +argument_list + + + +local_variable_declaration + + + +additive_expression + + + +argument + + + +identifier + + + +local_variable_initializer + + + +private + + + +literal + + + +member_access + + + +) + + + +statement + + + +operator_modifier + + + +class + + + +explicitly_typed_local_variable_declarator + + + +type_parameter_list + + + += + + + +identifier + + + += + + + +integral_type + + + +member_name + + + +Recursive + + + +P + + + +assignment + + + +expression + + + +; + + + ++= + + + +new + + + +[ + + + +statement + + + +local_variable_declaration + + + +attribute_list + + + +; + + + +invocation_expression + + + +type + + + +params + + + +assignment + + + +boolean_literal + + + +; + + + +a + + + +indexer_body + + + +/= + + + +-- + + + +integral_type + + + +struct_interfaces + + + +type + + + += + + + +< + + + +equality_expression + + + +, + + + += + + + +argument_name + + + +implicitly_typed_local_variable_declaration + + + +operator_body + + + +literal + + + +unary_expression + + + +command + + + +fixed_parameter + + + +identifier + + + +: + + + +( + + + +static + + + +argument_list + + + +member_access + + + +base + + + +invocation_expression + + + +attribute_section + + + +literal + + + +BeginScope + + + +expression + + + +invocation_expression + + + +operator_modifier + + + +; + + + +statement_list + + + +variable_initializer + + + +argument + + + +assignment + + + +operator_declaration + + + +parameter_mode_modifier + + + +method_modifier + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +identifier + + + +literal + + + +explicitly_typed_local_variable_declaration + + + +; + + + +fixed_parameter + + + +get + + + +local_variable_initializer + + + +Boo + + + +{ + + + ++ + + + +invocation_expression + + + +, + + + +unary_expression + + + +identifier + + + +, + + + +explicitly_typed_local_variable_declaration + + + +type_argument_list + + + +type_argument_list + + + +10 + + + +resource_acquisition + + + +type + + + +using_directive + + + +person + + + +identifier + + + +non_array_type + + + +, + + + +attribute_list + + + +static + + + +type_argument_list + + + +statement + + + +Recursive + + + +. + + + +? + + + +query_body_clause + + + +attribute_section + + + +c + + + +argument + + + +literal + + + +d + + + += + + + +3 + + + +identifier + + + +Bar3 + + + +public + + + +type + + + +fixed_parameter + + + +5 + + + +additive_expression + + + +; + + + +property_declaration + + + +Point + + + +MyException + + + +; + + + +] + + + +identifier + + + +'\x0130' + + + +method_modifier + + + +5 + + + +identifier + + + +( + + + +; + + + ++ + + + +set + + + += + + + +nullable_type_annotation + + + +; + + + +; + + + +enum_member_declaration + + + +simple_type + + + +expression + + + +namespace_or_type_name + + + +} + + + +C + + + +literal + + + +declaration_statement + + + +additive_expression + + + +=> + + + +identifier + + + +using + + + +public + + + +relational_expression + + + +identifier + + + +unary_expression + + + +array_initializer + + + +; + + + +Invoke + + + +Recursive + + + +r + + + +UndocumentedKeywords + + + +1ul + + + +statement + + + +literal + + + +argument_list + + + +y + + + +primary_expression + + + +and_expression + + + +identifier + + + +contextual_keyword + + + +local_variable_initializer + + + +integral_type + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +@"(C)""·\n\n2009" + + + +explicitly_typed_local_variable_declaration + + + +expression + + + +namespace_member_declaration + + + +identifier + + + +type_argument + + + +local_variable_initializer + + + +using_directive + + + +using + + + +identifier + + + +public + + + +type_parameter + + + +object + + + +type + + + +〔Color·[·R=〕 + + + +identifier + + + +namespace_or_type_name + + + +nullable_value_type + + + +unsafe + + + +type_argument_list + + + +set + + + +Last + + + +S + + + +unary_expression + + + +[ + + + +) + + + +[ + + + +null_literal + + + +; + + + +event + + + +initializer_target + + + +fixed_parameter + + + +T + + + +local_variable_declaration + + + +boolean_literal + + + +identifier + + + +[ + + + +) + + + +rank_specifier + + + +identifier + + + +Factory + + + +statement + + + +; + + + += + + + +local_variable_declaration + + + +identifier + + + +} + + + +< + + + +) + + + +〔"〕 + + + +expression + + + +System + + + +positional_argument_list + + + +} + + + +implicit + + + +namespace_or_type_name + + + +4 + + + +statement_expression + + + +local_variable_declaration + + + +P + + + +] + + + +contextual_keyword + + + +} + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +) + + + +equality_expression + + + +contextual_keyword + + + +identifier + + + +primary_expression + + + +namespace_member_declaration + + + +A + + + +; + + + +; + + + +local_variable_declaration + + + +( + + + +Power + + + +public + + + +2 + + + +{ + + + +ConsoleApplication1 + + + +( + + + +sbyte + + + +identifier + + + +attribute_name + + + +statement + + + +. + + + +anonymous_function_signature + + + +void + + + +floating_point_type + + + +5 + + + +identifier + + + +return_statement + + + +привет + + + +partial + + + +integral_type + + + +relational_expression + + + +int + + + +literal + + + +: + + + +shift_expression + + + +identifier + + + +T + + + +> + + + +literal + + + +explicitly_typed_local_variable_declarator + + + +fixed_parameter + + + +Handler + + + +; + + + +set_accessor_declaration + + + +local_variable_initializer + + + +exception_filter + + + +non_array_type + + + +( + + + +M + + + +anonymous_function_signature + + + +declaration_statement + + + +unary_expression + + + +invocation_expression + + + +identifier + + + +unary_expression + + + +identifier + + + +lambda_expression + + + +U + + + +type + + + +conditional_and_expression + + + +statement_expression + + + +block + + + +type + + + +primary_expression + + + +) + + + +exclusive_or_expression + + + +) + + + +string + + + +statement_expression_list + + + +} + + + +literal + + + +class_modifier + + + +namespace_or_type_name + + + +identifier + + + +{ + + + +statement + + + +relational_expression + + + +P + + + +conversion_operator_declarator + + + +identifier + + + +argument_list + + + +unary_expression + + + +< + + + +assignment_operator + + + +identifier + + + +nullable_type_annotation + + + +"a" + + + +type + + + +method_body + + + +i + + + += + + + +implicitly_typed_local_variable_declaration + + + +statement + + + ++ + + + +, + + + +statement + + + +expression_statement + + + +statement + + + +identifier + + + +; + + + +return_type + + + +expression_statement + + + +fixed + + + +namespace_declaration + + + +0 + + + +non_array_type + + + +public + + + +namespace_or_type_name + + + +identifier + + + +expression + + + +identifier + + + += + + + +constant_modifier + + + +identifier + + + +member_declarator_list + + + +local_variable_initializer + + + += + + + +conditional_and_expression + + + +method_modifiers + + + +identifier + + + +type_parameters + + + +identifier + + + +items + + + +finally + + + +block + + + +non_array_type + + + +literal + + + +multiplicative_expression + + + +element_initializer + + + += + + + +type_parameter_constraints + + + +statement + + + +( + + + +} + + + +M + + + +expression_statement + + + +expression + + + +identifier + + + +int + + + += + + + +statement + + + +block + + + +method + + + +type_argument + + + +declaration_statement + + + +value + + + +using_namespace_directive + + + +< + + + +statement_list + + + +declaration_statement + + + +identifier + + + += + + + += + + + +abstract + + + +[ + + + +statement + + + +identifier + + + +var + + + +explicitly_typed_local_variable_declaration + + + +primary_expression + + + +if + + + +type + + + +boolean_literal + + + +return_type + + + +public + + + +identifier + + + += + + + +dynamic + + + +explicitly_typed_local_variable_declarator + + + +interface_type + + + +u + + + +explicitly_typed_local_variable_declarator + + + +equality_expression + + + +Handler + + + +A + + + +== + + + +attributes + + + +return_type + + + += + + + +expression + + + +T + + + +, + + + +unary_expression + + + +type_arguments + + + +literal + + + +== + + + +local_variable_declaration + + + +explicitly_typed_local_variable_declaration + + + +{ + + + +binary_operator_declarator + + + +return_type + + + +integral_type + + + +interface_type + + + +array_type + + + +if_statement + + + +logical_negation_operator + + + +; + + + +0 + + + += + + + +statement + + + +int + + + +implicitly_typed_local_variable_declarator + + + +initializer_value + + + +explicitly_typed_local_variable_declarators + + + +) + + + +attribute_arguments + + + +; + + + +identifier + + + +class_type + + + +argument + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +> + + + +integral_type + + + +block + + + +simple_type + + + +member_access + + + +identifier + + + +property_initializer + + + +get_accessor_declaration + + + +parameter_list + + + +statement + + + +integral_type + + + +implicitly_typed_local_variable_declarator + + + +) + + + +[ + + + +fixed_parameter + + + +, + + + +identifier + + + +unary_expression + + + +k + + + +constant_declarators + + + +5 + + + +assignment + + + +var + + + +identifier + + + +member_access + + + +} + + + +; + + + += + + + +integral_type + + + +) + + + +int1 + + + +local_variable_declaration + + + +, + + + +expression + + + +member_access + + + +object_creation_expression + + + +local_variable_declaration + + + +} + + + +explicit_anonymous_function_parameter + + + +private + + + +type + + + +i + + + +identifier + + + +protected + + + +statement + + + +equality_expression + + + += + + + +await + + + +using + + + +public + + + +__ + + + +fixed_size_buffer_declarator + + + +primary_no_array_creation_expression + + + +identifier + + + +statement + + + +assignment_operator + + + +^= + + + +int + + + +A + + + +identifier + + + +literal + + + +} + + + +i + + + +assignment_operator + + + +identifier + + + += + + + +identifier + + + +break_statement + + + +i + + + +local_variable_declaration + + + +member_name + + + +number + + + +multiplicative_expression + + + +attribute + + + +element_initializer + + + +GetHashCode + + + +identifier + + + += + + + +statement + + + +string + + + +i + + + +invocation_expression + + + +literal + + + +identifier + + + +object_creation_expression + + + +declaration_statement + + + +var + + + +return_type + + + +@double + + + +Список + + + +query_expression + + + +literal + + + +namespace_or_type_name + + + +identifier + + + +1Ul + + + +( + + + +literal + + + +identifier + + + +assignment_operator + + + +{ + + + +, + + + +statement + + + +declaration_statement + + + +catch_clauses + + + +〔"〕 + + + +declaration_statement + + + +] + + + +assignment + + + +contextual_keyword + + + +identifier + + + +expression + + + +method_body + + + +identifier + + + +i + + + +literal + + + +statement + + + +statement + + + +t + + + +namespace_or_type_name + + + +literal + + + +member_name + + + +; + + + +X + + + +ascending + + + +expression + + + +explicitly_typed_local_variable_declarators + + + +shift_expression + + + +argument_list + + + +local_variable_initializer + + + +identifier + + + +} + + + +implicitly_typed_local_variable_declarator + + + +var + + + +identifier + + + +assignment + + + +operator_body + + + +; + + + +relational_expression + + + +into + + + +member_access + + + +literal + + + +for_statement + + + +type_argument_list + + + +namespace_or_type_name + + + +while_statement + + + +statement + + + +type_argument + + + +, + + + +- + + + +〔$@"〕 + + + +identifier + + + +literal + + + += + + + +{ + + + +return_statement + + + +type_argument_list + + + +conditional_and_expression + + + +"\n\t\u0123(C)·\"2009" + + + +continue_statement + + + +object_creation_expression + + + +E + + + +identifier + + + +class_body + + + +IEnumerable + + + +namespace_or_type_name + + + +attribute_argument_expression + + + +static_constructor_declaration + + + +fixed_parameter + + + +Obsolete + + + +Point + + + +identifier + + + +integral_type + + + +) + + + +relational_expression + + + +) + + + +type_argument_list + + + +T + + + +embedded_statement + + + +block + + + +; + + + +overloadable_binary_operator + + + +A + + + +} + + + +statement + + + +argument_list + + + +identifier + + + +{ + + + +Country + + + +literal + + + +statement + + + +] + + + +statement_list + + + +local_variable_declaration + + + +expression + + + +++ + + + +in + + + +variable_initializer + + + +even + + + +identifier + + + +@float + + + +null_literal + + + +pointer_indirection_expression + + + +identifier + + + +variable_initializer + + + +) + + + +catch + + + +} + + + +type_argument_list + + + +var + + + +0 + + + +null_coalescing_expression + + + +local_variable_initializer + + + +declaration_statement + + + +statement + + + +operator_modifier + + + +local_variable_initializer + + + +attribute_list + + + +rank_specifier + + + +namespace_or_type_name + + + +identifier + + + +local_variable_declaration + + + +statement + + + +invocation_expression + + + +System + + + +int + + + +} + + + +implicitly_typed_local_variable_declaration + + + +MyObject + + + +expression_statement + + + +this + + + +method_declaration + + + +anonymous_method_expression + + + +: + + + +explicitly_typed_local_variable_declarator + + + +member_access + + + +< + + + +statement + + + +identifier + + + +out + + + +block + + + +return_statement + + + +& + + + +f2 + + + +) + + + +namespace_body + + + +floating_point_type + + + +assignment + + + +statement + + + +. + + + +[ + + + +f + + + += + + + +namespace_name + + + +) + + + +type + + + +; + + + +; + + + +ref_method_modifier + + + +; + + + +struct_member_declaration + + + +literal + + + +if_statement + + + +identifier + + + +) + + + +statement + + + +rank_specifier + + + +statement + + + +property_body + + + +WriteLine + + + +object_initializer + + + +Blah + + + +, + + + +identifier + + + +using + + + +identifier + + + +additive_expression + + + +identifier + + + +named_argument_list + + + +namespace + + + +attribute_list + + + +{ + + + +integral_type + + + += + + + +] + + + +foo + + + += + + + +type + + + +} + + + +long + + + +block + + + +Third + + + +statement_expression + + + +identifier + + + +local_variable_initializer + + + +( + + + +primary_no_array_creation_expression + + + +] + + + +public + + + +identifier + + + +{ + + + +statement + + + +( + + + +identifier + + + +var + + + +intref + + + +named_argument + + + +) + + + +expression_statement + + + +false + + + +multiplicative_expression + + + +primary_expression + + + +( + + + +declaration_statement + + + +select + + + +literal + + + +break + + + +, + + + +using_directive + + + +literal + + + +local_variable_declaration + + + +- + + + +method_modifiers + + + +element_access + + + +statement_list + + + +namespace_or_type_name + + + +identifier + + + +null_conditional_invocation_expression + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +i + + + +local + + + +member_access + + + +implicitly_typed_local_variable_declarator + + + +declaration_statement + + + +statement + + + +member_name + + + +identifier + + + +block + + + +method_declaration + + + +if + + + +object_initializer + + + +namespace_member_declaration + + + +unary_expression + + + +implicitly_typed_local_variable_declaration + + + +goto + + + +statement_list + + + +"a" + + + +class_member_declaration + + + +class_member_declaration + + + +; + + + +< + + + +fixed_parameter + + + +contextual_keyword + + + +local_variable_initializer + + + +identifier + + + +declaration_statement + + + +string + + + +object + + + +primary_expression + + + +local_variable_declaration + + + +identifier + + + +identifier + + + +int + + + += + + + +expression + + + +{ + + + +type + + + +} + + + +using + + + +t + + + +explicitly_typed_local_variable_declarator + + + +; + + + +primary_expression + + + +* + + + +variable_initializer + + + +invocation_expression + + + +identifier + + + +variable_declarators + + + +i + + + +where + + + +expression + + + +; + + + +b + + + +regular_interpolation + + + +; + + + +positional_argument + + + +identifier + + + +identifier + + + +ref_method_modifier + + + +variable_declarators + + + +( + + + +identifier + + + +< + + + +expression + + + +ref_method_modifier + + + +type + + + +, + + + +) + + + +identifier + + + +assignment_operator + + + +return_type + + + +expression_statement + + + +anonymous_object_creation_expression + + + +attribute_section + + + +non_array_type + + + +primary_expression + + + +identifier + + + +identifier + + + +class_member_declaration + + + +local_variable_declaration + + + +Range + + + +fixed_parameter + + + +attribute_arguments + + + +literal + + + +identifier + + + +statement + + + +type + + + +identifier + + + +local_variable_declaration + + + +keyword + + + +{ + + + +literal + + + +identifier + + + +identifier + + + +) + + + +identifier + + + +statement + + + +return_type + + + +CoContra + + + +ref_method_modifier + + + +; + + + +< + + + +unary_expression + + + +@float + + + +type_arguments + + + += + + + +local_variable_initializer + + + +member_access + + + +Method + + + +type + + + +. + + + +; + + + +int + + + += + + + +a + + + +member_name + + + +length + + + +explicitly_typed_local_variable_declarators + + + +explicitly_typed_local_variable_declarators + + + +type_arguments + + + +statement + + + +block + + + +implicitly_typed_local_variable_declaration + + + +) + + + +expression + + + +goto_statement + + + +identifier + + + +integral_type + + + +operator_modifier + + + +assignment + + + +Sqrt + + + +identifier + + + +argument + + + +event_modifier + + + +block + + + +expression + + + +unary_expression + + + +type + + + +where_clause + + + +query_body_clauses + + + +identifier + + + +PI + + + +} + + + +non_array_type + + + += + + + +argument_value + + + +constructor_initializer + + + +Test + + + +unary_expression + + + +type + + + +expression + + + +unary_expression + + + +{ + + + +float + + + +identifier + + + +( + + + +class_declaration + + + +1 + + + +121 + + + +argument_list + + + +Obsolete + + + +{ + + + +{ + + + +, + + + +unary_expression + + + +identifier + + + +type_parameter_list + + + +shift_expression + + + +qualified_alias_member + + + +identifier + + + +conditional_expression + + + +argument + + + +; + + + +identifier + + + +literal + + + +WriteLine + + + +literal + + + +type_argument + + + +explicitly_typed_local_variable_declarator + + + +boolean_expression + + + +explicitly_typed_local_variable_declarator + + + +; + + + +method + + + +throw + + + +method_declaration + + + +fixed_parameter + + + +member_access + + + +boolean_literal + + + +class + + + +block + + + +-> + + + +relational_expression + + + +assignment + + + +; + + + +} + + + +} + + + +enum_member_declaration + + + +Recursive + + + +identifier + + + +implicitly_typed_local_variable_declaration + + + +identifier + + + +primary_expression + + + +literal + + + +local + + + +int + + + +identifier + + + +constructor_declaration + + + +; + + + +type + + + +primary_no_array_creation_expression + + + +integral_type + + + +block + + + +i + + + +namespace + + + +second + + + +method_body + + + +identifier + + + +public + + + +statement + + + +integral_type + + + +: + + + +; + + + +method_modifiers + + + +{ + + + +} + + + +stackalloc + + + +; + + + +expression + + + ++ + + + +field_declaration + + + +T + + + +statement_list + + + +Params + + + +this_access + + + +; + + + +method_declaration + + + +block + + + +identifier + + + +binary_operator_declarator + + + +< + + + += + + + +LogAsync + + + +if_statement + + + +attribute + + + +Constants + + + +identifier + + + +Exception + + + +member_access + + + +] + + + +) + + + +} + + + +member_name + + + +explicitly_typed_local_variable_declarators + + + +class_member_declaration + + + += + + + +statement_list + + + +) + + + +accessor_body + + + +; + + + +s + + + +@double + + + += + + + +explicit + + + +event + + + +identifier + + + +identifier + + + +identifier + + + +namespace_or_type_name + + + +System + + + +; + + + +implicitly_typed_local_variable_declarator + + + +C + + + +fixed_parameter + + + +b + + + +rank_specifier + + + +null_conditional_member_access + + + +contextual_keyword + + + +element_initializer + + + +=> + + + +〔"〕 + + + +initializer_value + + + +query_body_clauses + + + +: + + + +{ + + + +statement_expression + + + +expression + + + +statement + + + +return_type + + + +assignment_operator + + + +; + + + +; + + + +explicitly_typed_local_variable_declarators + + + +type + + + +literal + + + +; + + + +expression_statement + + + +identifier + + + +interface_declaration + + + +literal + + + +{ + + + +i + + + +expression + + + +. + + + +try + + + +variable_initializer + + + +expression + + + +{ + + + +( + + + +expression_statement + + + +namespace_or_type_name + + + +argument_list + + + +integral_type + + + +namespace_or_type_name + + + +new + + + +null + + + +multiplicative_expression + + + +type_argument_list + + + +identifier + + + +. + + + +positional_argument_list + + + +literal + + + +identifier + + + +object_creation_expression + + + +using_statement + + + += + + + +} + + + +implicitly_typed_local_variable_declarator + + + +literal + + + +( + + + += + + + +type + + + +++ + + + +class_member_declaration + + + +null_coalescing_expression + + + +literal + + + +element_initializer + + + +expression + + + +p + + + +i + + + +Length + + + +method_body + + + +method_header + + + +statement + + + +type_parameter_constraints + + + +local_variable_declaration + + + +{ + + + +integral_type + + + +type + + + +literal + + + +fixed_size_buffer_declarators + + + +2 + + + +nullable_reference_type + + + +assignment + + + +( + + + +equality_expression + + + +x + + + +operator_modifier + + + +int + + + +primary_expression + + + +identifier + + + +f2 + + + +fixed_parameter + + + +null_literal + + + +statement_list + + + +statement_list + + + +) + + + +namespace_name + + + +1u + + + +embedded_statement + + + +Expression + + + +block + + + +( + + + +Resource + + + +Recursive + + + +implicitly_typed_local_variable_declarator + + + +1UL + + + +identifier + + + +identifier + + + +j + + + +[ + + + +explicitly_typed_local_variable_declaration + + + +; + + + += + + + +statement + + + +identifier + + + +; + + + +explicit_anonymous_function_parameter + + + +member_name + + + +( + + + +public + + + +unary_expression + + + +1 + + + +) + + + +explicitly_typed_local_variable_declarators + + + +; + + + +statement_expression + + + +) + + + +0 + + + +literal + + + +explicitly_typed_local_variable_declarators + + + +foo + + + +i + + + += + + + +method_modifiers + + + +explicitly_typed_local_variable_declaration + + + +( + + + +type_arguments + + + +accessor_body + + + +statement_expression + + + += + + + +primary_no_array_creation_expression + + + +interpolated_regular_string_expression + + + +break + + + +method_declaration + + + +declaration_statement + + + +identifier + + + +i + + + +) + + + +( + + + +index + + + +local_variable_declaration + + + +"·" + + + +embedded_statement + + + +constant_expression + + + +contextual_keyword + + + +identifier + + + +field_modifier + + + +member_access + + + +primary_expression + + + +case + + + +string + + + +; + + + +type_argument + + + +statement + + + +s + + + +< + + + +expression + + + +member_access + + + +primary_expression + + + +"kernel32" + + + +identifier + + + +type_argument_list + + + +initializer_value + + + +method_header + + + +local_variable_declaration + + + +} + + + +identifier + + + +identifier + + + +statement + + + +rank_specifier + + + +NonExisting + + + +additive_expression + + + +expression + + + +T + + + +identifier + + + +, + + + +type_argument + + + +% + + + +== + + + +additive_expression + + + +multiplicative_expression + + + +; + + + +class_member_declaration + + + +} + + + +identifier + + + +assignment_operator + + + +expression_statement + + + +〔x·〕 + + + +fixed_parameters + + + +identifier + + + +ZipCode + + + +second + + + +( + + + +0 + + + +identifier + + + +] + + + +static + + + +{ + + + +primary_expression + + + +: + + + +> + + + +in + + + +( + + + +, + + + +; + + + +get + + + +inclusive_or_expression + + + +IDisposable + + + +field_modifier + + + +expression_statement + + + +unary_expression + + + +assignment + + + +new + + + +unary_expression + + + +argument_list + + + +identifier + + + +) + + + +throw + + + +int + + + +type_argument + + + +event_declaration + + + +simple_type + + + +object_initializer + + + +int + + + +211 + + + += + + + +identifier + + + +statement_expression + + + +explicitly_typed_local_variable_declarator + + + +) + + + +integral_type + + + +statement + + + +[ + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +integral_type + + + +local0 + + + +func + + + +identifier + + + +b + + + +expression + + + +; + + + +public + + + +identifier + + + +primary_expression + + + +indexer_modifier + + + +statement + + + +0 + + + +int + + + +{ + + + +method_modifiers + + + +identifier + + + +non_nullable_value_type + + + +, + + + +literal + + + +identifier + + + +literal + + + +type_parameter_constraints + + + +} + + + +, + + + +statement_list + + + +; + + + +type_argument + + + +. + + + +( + + + +identifier + + + +( + + + +customers + + + +exception_specifier + + + +literal + + + +] + + + +primary_expression + + + +{ + + + +identifier + + + +set_accessor_declaration + + + +) + + + +primary_expression + + + +L + + + +identifier + + + +block + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +qualified_identifier + + + +; + + + +statement_expression + + + +{ + + + +( + + + +( + + + +literal + + + +for_iterator + + + +argument_list + + + +identifier + + + +literal + + + +P + + + +statement_list + + + +positional_argument_list + + + +expression + + + +identifier + + + +object_creation_expression + + + +identifier + + + +} + + + +operator_declaration + + + +attribute_target_specifier + + + +local_variable_initializer + + + +identifier + + + +type_arguments + + + +identifier + + + +variable_initializer + + + +argument_list + + + +[ + + + +local_variable_declaration + + + +method_modifiers + + + +local_variable_declaration + + + +] + + + +relational_expression + + + +{ + + + += + + + +var + + + +variance_annotation + + + +class_member_declaration + + + +void + + + +interpolated_verbatim_string_expression + + + +boolean_literal + + + +type + + + += + + + +additive_expression + + + +integral_type + + + +explicitly_typed_local_variable_declarator + + + +assignment + + + +method_header + + + +embedded_statement + + + +implicitly_typed_local_variable_declaration + + + +continue + + + +int + + + +identifier + + + +( + + + +method_declaration + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +argument_list + + + +operator_declarator + + + +null_coalescing_expression + + + +using_directive + + + +explicitly_typed_local_variable_declarator + + + +attribute_list + + + +; + + + +string + + + +res + + + +) + + + +return_type + + + +implicitly_typed_local_variable_declaration + + + +when + + + +statement + + + +additive_expression + + + +contextual_keyword + + + +identifier + + + +expression_statement + + + +expression + + + +( + + + +explicitly_typed_local_variable_declarator + + + +( + + + +] + + + +identifier + + + +identifier + + + += + + + +; + + + +expression_statement + + + +return_statement + + + +String + + + +statement_expression + + + +identifier + + + +public + + + +[ + + + +declaration_statement + + + +? + + + +using + + + +switch_statement + + + +( + + + +implicitly_typed_local_variable_declarator + + + +identifier + + + +; + + + +interface_property_declaration + + + += + + + +default + + + +expression + + + +statement + + + +R + + + +primary_expression + + + +identifier + + + +statement + + + +type_name + + + +attribute_list + + + +identifier + + + +primary_expression + + + +implicitly_typed_local_variable_declarator + + + +array_type + + + +method_declaration + + + +; + + + +identifier + + + +method_modifiers + + + +identifier + + + +expression + + + +identifier + + + +; + + + +case + + + +( + + + +identifier + + + +} + + + +invocation_expression + + + +primary_expression + + + +explicitly_typed_local_variable_declaration + + + +A + + + +object_creation_expression + + + +primary_expression + + + +; + + + +for_condition + + + +identifier + + + += + + + +=> + + + +namespace_or_type_name + + + +> + + + +parameter_mode_modifier + + + +type_argument + + + +assignment_operator + + + +) + + + +explicitly_typed_local_variable_declaration + + + +, + + + +global_attributes + + + +nullable_value_type + + + +UL + + + +identifier + + + +method_header + + + +explicitly_typed_local_variable_declarator + + + +| + + + +declaration_statement + + + +) + + + +; + + + +null_conditional_member_access + + + +do_statement + + + +identifier + + + +identifier + + + +1D + + + +statement_expression + + + +expression + + + +statement_expression + + + +{ + + + +type + + + +identifier + + + +method_header + + + +; + + + +identifier + + + +, + + + +expression + + + +. + + + +expression + + + +block + + + +accessor_declarations + + + +return_statement + + + +variable_initializer + + + +T + + + +local_variable_initializer + + + +type_parameter_constraints + + + +< + + + +member_name + + + +) + + + +; + + + +> + + + +] + + + +identifier + + + +return_type + + + +statement + + + +expression_statement + + + +{ + + + +class_type + + + +identifier + + + +await_expression + + + +identifier + + + +S + + + +expression + + + +exclusive_or_expression + + + +statement + + + +method_header + + + +identifier + + + ++ + + + +identifier + + + +query_body_clauses + + + +declaration_statement + + + +B + + + +type + + + +local_variable_initializer + + + +identifier + + + +statement + + + +type + + + +statement_expression + + + +. + + + +interface_type + + + +block + + + +literal + + + +{ + + + +statement + + + +identifier + + + +1 + + + +block + + + +variable_initializer + + + +A + + + += + + + +local_variable_initializer + + + +, + + + +statement + + + +variance_annotation + + + +) + + + +primary_expression + + + +var + + + +property_initializer + + + +* + + + +expression_statement + + + +l2 + + + +object_creation_expression + + + += + + + +statement + + + +non_array_type + + + +[ + + + +type_argument_list + + + +e + + + +primary_expression + + + +true + + + +implicitly_typed_local_variable_declaration + + + +namespace_or_type_name + + + +type + + + +assembly + + + +operator_body + + + +literal + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +if_statement + + + +identifier + + + +local3 + + + +: + + + +A + + + +> + + + +statement + + + +this + + + +local_variable_initializer + + + +array_type + + + +identifier + + + +struct_member_declaration + + + +^ + + + +statement + + + +Point + + + +, + + + +type + + + +uL + + + +select_clause + + + +implicitly_typed_local_variable_declarator + + + +identifier + + + +System + + + += + + + +local_variable_declaration + + + +case + + + +, + + + +( + + + +) + + + +attribute_section + + + +method_modifier + + + +Recursive + + + +literal + + + +i + + + +statement + + + +a + + + +accessor_modifier + + + +new + + + +identifier + + + +class_type + + + +( + + + +int + + + +primary_expression + + + +local_variable_initializer + + + +=> + + + +"" + + + +contextual_keyword + + + +invocation_expression + + + +identifier + + + +; + + + +primary_expression + + + +implicitly_typed_local_variable_declarator + + + +; + + + +f2 + + + +argument_list + + + +expression_statement + + + +"hello" + + + +throw_statement + + + +class_declaration + + + +new + + + +object_creation_expression + + + +( + + + +CLSCompliant + + + +unary_expression + + + +attribute + + + +first + + + +array_creation_expression + + + +statement_expression + + + +primary_expression + + + +1 + + + +event_accessor_declarations + + + +literal + + + +event_declaration + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +block + + + +local_variable_initializer + + + +return + + + +statement + + + +type + + + +identifier + + + +Test + + + +statement + + + +local_variable_initializer + + + +keyword + + + +identifier + + + +identifier + + + +"sss" + + + +type_argument_list + + + +pointer_indirection_expression + + + +0 + + + +NonSerialized + + + +method_body + + + +dynamic + + + +, + + + +multiplicative_expression + + + +invocation_expression + + + +namespace_or_type_name + + + +identifier + + + +identifier + + + +statement + + + +declaration_statement + + + +; + + + +explicitly_typed_local_variable_declaration + + + +byte + + + +switch_section + + + +foreach_statement + + + +identifier + + + +type_arguments + + + +statement + + + +; + + + +literal + + + +try + + + +null_literal + + + +local_variable_initializer + + + +statement + + + +async + + + +statement + + + +method_modifier + + + += + + + +additive_expression + + + +invocation_expression + + + +assignment + + + += + + + +literal + + + +namespace_member_declaration + + + ++ + + + +named_argument_list + + + +( + + + +i + + + +identifier + + + +member_name + + + +〔$"〕 + + + +identifier + + + +( + + + +b + + + += + + + +variable_initializer + + + +type + + + +assignment_operator + + + +expression + + + +; + + + +explicitly_typed_local_variable_declaration + + + +> + + + +literal + + + +array_initializer + + + +{ + + + +explicitly_typed_local_variable_declarators + + + +i + + + +statement + + + +; + + + +3 + + + +; + + + +statement + + + +; + + + +assignment + + + +identifier + + + +implicitly_typed_local_variable_declarator + + + +{ + + + +identifier + + + +invocation_expression + + + +local_variable_declaration + + + +. + + + +, + + + +operator_declarator + + + +{ + + + +new + + + +statement + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +( + + + +inclusive_or_expression + + + +} + + + +) + + + += + + + +type + + + +type_arguments + + + +method + + + +statement + + + +~ + + + +0 + + + +integral_type + + + +type_parameter_list + + + +statement_list + + + +0 + + + +ref_method_modifier + + + +get + + + +) + + + +assignment_operator + + + +{ + + + +identifier + + + +; + + + +local_variable_declaration + + + +, + + + +indexer_body + + + +relational_expression + + + +return + + + +; + + + +, + + + +class_modifier + + + +set + + + +type + + + +identifier + + + +unsafe + + + +identifier + + + += + + + +Obsolete + + + +assignment_operator + + + +declaration_statement + + + +literal + + + +attribute_name + + + +local_constant_declaration + + + +type_arguments + + + +) + + + +[ + + + +identifier + + + +assignment_operator + + + +identifier + + + +, + + + +multiplicative_expression + + + +. + + + +expression + + + +:: + + + +, + + + +identifier + + + +expression_statement + + + +Handler + + + +identifier + + + +identifier + + + +assignment_operator + + + +121 + + + +Count + + + +var + + + +statement + + + +{ + + + +declaration_expression + + + +object_creation_expression + + + +type_argument_list + + + +in + + + +new + + + +identifier + + + +++ + + + +attribute_list + + + +local_variable_initializer + + + +type + + + +class_declaration + + + +property_modifier + + + +〔\n···································""\〕 + + + +method_modifiers + + + +identifier + + + +method_modifiers + + + +identifier + + + +label + + + +} + + + +type + + + +join + + + +statement_list + + + +type_argument_list + + + +identifier + + + +variant_type_parameters + + + +string + + + +identifier + + + +2 + + + +identifier + + + += + + + +} + + + +local_variable_declaration + + + +dictionaryInitializer + + + +Params + + + +type_parameter_constraints + + + += + + + +delegate_declaration + + + +i + + + +inclusive_or_expression + + + +identifier + + + +expression + + + +member_name + + + +identifier + + + +constant_expression + + + +primary_expression + + + +a + + + +namespace_or_type_name + + + +in + + + +select + + + +prog + + + +} + + + +unary_expression + + + +block + + + +* + + + +identifier + + + +pattern + + + +property_body + + + +assignment + + + +result + + + +> + + + +select_or_group_clause + + + +local_variable_initializer + + + +lambda_expression + + + +null + + + +member_access + + + +> + + + +type + + + +Length + + + +) + + + +anonymous_function_signature + + + +expression + + + +assignment + + + +literal + + + +identifier + + + +member_name + + + +boolean_literal + + + +identifier + + + +identifier + + + +class_member_declaration + + + +) + + + +additive_expression + + + +res + + + +identifier + + + +} + + + +invocation_expression + + + +, + + + +) + + + +expression + + + +initializer_target + + + +statement_list + + + +namespace_member_declaration + + + +type + + + +invocation_expression + + + +( + + + +; + + + +} + + + +integral_type + + + +member_access + + + +3 + + + +> + + + +identifier + + + +new + + + +identifier + + + +, + + + +get_accessor_declaration + + + +implicitly_typed_local_variable_declaration + + + +ref_method_modifier + + + +explicitly_typed_local_variable_declarators + + + +class_member_declaration + + + +expression + + + +assignment_operator + + + +nullable_type_annotation + + + +type_arguments + + + +〔$"〕 + + + +identifier + + + +return_type + + + +; + + + +post_increment_expression + + + +, + + + +statement + + + +local_variable_declaration + + + += + + + +identifier + + + +statement_list + + + +type_arguments + + + +additive_expression + + + +literal + + + +statement + + + +literal + + + +parameter_mode_modifier + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +post_increment_expression + + + +identifier + + + +statement + + + +partial + + + +class_member_declaration + + + +expression + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +args + + + +identifier + + + +> + + + +〔$"〕 + + + +literal + + + +type_arguments + + + +. + + + +〔:d〕 + + + +type + + + +namespace_or_type_name + + + +implicitly_typed_local_variable_declarator + + + +abstract + + + +int + + + +type + + + +attribute_list + + + +yield + + + +literal + + + +ConstructedType + + + +identifier + + + +value + + + +void + + + +statement + + + +return_type + + + +public + + + +type + + + +operator_declaration + + + +primary_expression + + + +statement + + + +attributes + + + +identifier + + + +implicitly_typed_local_variable_declaration + + + +literal + + + +parenthesized_expression + + + +unary_expression + + + +for_statement + + + +=> + + + +accessor_declarations + + + +local_variable_declaration + + + +. + + + +{ + + + +local_variable_declaration + + + +class_member_declaration + + + +non_array_type + + + +finally + + + +break + + + +unary_expression + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + += + + + +Comments + + + +method_modifiers + + + +( + + + += + + + +identifier + + + +fixed_parameter + + + +} + + + +C + + + += + + + +iefSupplied + + + +statement + + + +( + + + +statement + + + +@decimal + + + +additive_expression + + + +customers + + + +declaration_statement + + + +identifier + + + +member_initializer + + + +type_parameter_constraints_clause + + + +expression_statement + + + +statement_expression + + + +variable_initializer + + + +local_variable_type + + + +namespace + + + +equality_expression + + + +assignment + + + +namespace_body + + + +simple_type + + + +expression + + + +join_clause + + + +statement_list + + + +return_statement + + + +literal + + + +method_body + + + +primary_expression + + + +%= + + + +Age + + + +i + + + +implicitly_typed_local_variable_declaration + + + +statement + + + +literal + + + +using + + + +arr + + + +true + + + +class_declaration + + + +method_modifiers + + + +statement_list + + + +compilation_unit + + + +statement_expression + + + +literal + + + +] + + + +expression_statement + + + +statement_list + + + +type + + + +invocation_expression + + + +identifier + + + +void + + + +type_name + + + +non_nullable_value_type + + + +event + + + +declaration_statement + + + +declaration_statement + + + +element_initializer_list + + + +t + + + +set + + + +identifier + + + +Point + + + +declaration_statement + + + +namespace_declaration + + + +assignment + + + +statement_list + + + +< + + + +type + + + +statement + + + +( + + + +] + + + +"Jane" + + + +statement_expression + + + +counter + + + +ref_method_modifier + + + +identifier + + + +statement + + + +type + + + +verbatimStr + + + +( + + + +i + + + +fixed_parameter + + + +int + + + +type_arguments + + + +; + + + +statement + + + +using_directive + + + +) + + + +local_variable_declaration + + + +identifier + + + +block + + + +type + + + +( + + + +return + + + +expression + + + +expression_statement + + + +res + + + +void + + + +break_statement + + + +unmanaged_type + + + +attribute_name + + + +attribute_section + + + +< + + + +local_constant_declaration + + + +MyClass + + + +method_body + + + += + + + +interface + + + +var + + + +fixed + + + +4 + + + +expression_list + + + +type_parameter_list + + + +method_modifiers + + + +[ + + + +class_member_declaration + + + +: + + + +anonymous_function_body + + + +MyObject + + + +method_body + + + +} + + + +return_type + + + +; + + + +explicitly_typed_local_variable_declaration + + + +expression + + + +0 + + + +( + + + +contextual_keyword + + + +type + + + +block + + + +type + + + +: + + + +statement + + + +i + + + +"Use·Script·instead" + + + +class_type + + + +query_body_clause + + + +statement + + + +Items + + + +A + + + +var + + + +collection_initializer + + + +Console + + + +primary_expression + + + +〔$"〕 + + + +> + + + +ToString + + + +get + + + +type_parameter_list + + + +dependent_access + + + +x + + + +public + + + +static + + + +member_access + + + +literal + + + +attribute_name + + + +, + + + +operator + + + +accessor_declarations + + + +; + + + +expression + + + +primary_expression + + + +[ + + + +. + + + +Where + + + +; + + + +K + + + +EventHandler + + + +> + + + +implicitly_typed_local_variable_declaration + + + +multiplicative_expression + + + +member_name + + + +namespace_or_type_name + + + +"{0}·" + + + +explicitly_typed_local_variable_declarator + + + +^ + + + +primary_expression + + + +Obsolete + + + +number + + + +< + + + +member_access + + + +; + + + +( + + + +: + + + +using_statement + + + +hexchar2 + + + += + + + +additive_expression + + + +implicitly_typed_local_variable_declaration + + + +type_arguments + + + +static + + + +initializer_value + + + +ref_method_modifier + + + += + + + +var + + + +and_expression + + + +class_member_declaration + + + +block + + + +int + + + +av + + + +null + + + +attribute_list + + + +explicitly_typed_local_variable_declarators + + + +literal + + + +integral_type + + + +type + + + ++ + + + +identifier + + + +expression_statement + + + +< + + + +declaration_statement + + + +0 + + + +anonymous_object_initializer + + + +using_static_directive + + + +explicitly_typed_local_variable_declarators + + + +IComparable + + + +namespace_member_declaration + + + +implicitly_typed_local_variable_declarator + + + +identifier + + + +type + + + +unary_expression + + + +object_creation_expression + + + +primary_expression + + + +identifier + + + +static + + + +contextual_keyword + + + +expression_statement + + + +} + + + +Foo + + + +local_variable_initializer + + + +i + + + += + + + +P + + + +System + + + +local_variable_declaration + + + +relational_expression + + + +operator_declaration + + + +statement + + + +; + + + +unary_expression + + + +expression + + + +namespace_or_type_name + + + +for + + + +attribute + + + +operator_declarator + + + +u + + + +identifier + + + +int + + + +identifier + + + +type + + + +Enumerable + + + +unary_expression + + + +identifier + + + +statement + + + +identifier + + + +local_variable_declaration + + + +( + + + += + + + +method_body + + + +identifier + + + +break + + + +explicitly_typed_local_variable_declarator + + + +method_modifiers + + + +〔,·G=〕 + + + +return_type + + + +implicitly_typed_local_variable_declarator + + + +"str" + + + +member_access + + + +var + + + +expression_statement + + + +identifier + + + +statement_expression + + + +exception_specifier + + + += + + + +explicitly_typed_local_variable_declarators + + + +unary_expression + + + +declaration_statement + + + +statement + + + +Obsolete + + + +1U + + + +statement + + + +additive_expression + + + +T + + + +delegate_modifier + + + +] + + + += + + + +:: + + + +local_variable_declaration + + + +; + + + +identifier + + + +} + + + +) + + + +{ + + + +} + + + +type + + + +} + + + +remove + + + +argument_list + + + +identifier + + + +invocation_expression + + + +primary_expression + + + +) + + + +) + + + +. + + + +identifier + + + +literal + + + +explicitly_typed_local_variable_declarator + + + +expression + + + += + + + +identifier + + + +object + + + +. + + + +public + + + +null_literal + + + +expression + + + +multiplicative_expression + + + +typeof + + + +〔"〕 + + + +using + + + +explicitly_typed_local_variable_declarator + + + +b + + + +statement + + + +; + + + +x + + + +; + + + +variable_initializer + + + +identifier + + + +{ + + + +attribute + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +> + + + +using_directive + + + +variable_initializer + + + +Dictionary + + + +System + + + +accessor_body + + + +boolean_expression + + + +point + + + +Main + + + +BinaryReader + + + +object_creation_expression + + + +multiplicative_expression + + + +null + + + +virtual + + + +. + + + +field_declaration + + + +i + + + +explicitly_typed_local_variable_declarators + + + +argument + + + +conditional_and_expression + + + +; + + + +attribute_target_specifier + + + +identifier + + + +shift_expression + + + +type_arguments + + + +multiplicative_expression + + + +< + + + +, + + + +contextual_keyword + + + +} + + + +> + + + +; + + + +identifier + + + +0 + + + += + + + +second + + + +collection_initializer + + + +First + + + +jagged + + + +identifier + + + +d + + + +inclusive_or_expression + + + +0 + + + +identifier + + + +( + + + +local_variable_declaration + + + +5 + + + +property_modifier + + + +++ + + + +local_variable_declaration + + + +block + + + +) + + + +local_variable_initializer + + + +identifier + + + +method_header + + + +{ + + + +if_statement + + + +identifier + + + +} + + + +class_member_declaration + + + += + + + +( + + + +contextual_keyword + + + +B + + + +; + + + +2 + + + +identifier + + + +struct_modifier + + + +} + + + +variable_initializer_list + + + +literal + + + +identifier + + + +A + + + +return_statement + + + +contextual_keyword + + + +Add + + + +implicitly_typed_local_variable_declaration + + + +p + + + +equality_expression + + + +OpenAsync + + + +namespace_or_type_name + + + +111 + + + +variable_initializer_list + + + +literal + + + +identifier + + + +local_variable_declaration + + + +expression + + + +identifier + + + +〔,·A=〕 + + + +false + + + +@double + + + +explicitly_typed_local_variable_declaration + + + +namespace_or_type_name + + + +Obsolete + + + +attributes + + + +query + + + +identifier + + + += + + + +identifier + + + +constant_expression + + + +[ + + + +literal + + + +operator_modifier + + + +integral_type + + + +expression + + + +100 + + + +literal + + + +; + + + +method_body + + + += + + + +variant_type_parameters + + + +{ + + + +assignment_operator + + + +attributes + + + +first + + + +anonymous_function_signature + + + +"a" + + + +local_variable_declaration + + + +Nullable + + + +identifier + + + +block + + + +strValue + + + +class + + + +explicitly_typed_local_variable_declarators + + + +override + + + +Count + + + +return_type + + + +integral_type + + + +identifier + + + +Orders + + + +DownloadStringTaskAsync + + + +int + + + +identifier + + + +assignment + + + +expression + + + +anonymous_function_body + + + +type + + + +identifier + + + +specific_catch_clause + + + +( + + + +contextual_keyword + + + +statement_list + + + +class_body + + + +multiplicative_expression + + + +attributes + + + +( + + + +R + + + +explicitly_typed_local_variable_declaration + + + +argument_list + + + +13 + + + +type + + + +class_type + + + +specific_catch_clause + + + +multiplicative_expression + + + +expression + + + +method_declaration + + + +false + + + +type + + + +> + + + +contextual_keyword + + + +identifier + + + +int + + + +"Name" + + + +local_variable_declaration + + + +class_base + + + +null_coalescing_expression + + + +assignment_operator + + + +< + + + +int + + + +for + + + +relational_expression + + + +var + + + +attribute_section + + + +type + + + +unary_expression + + + +type + + + +Expression + + + +) + + + +; + + + +bool + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +void + + + +conversion_operator_declarator + + + +identifier + + + +identifier + + + +multiplicative_expression + + + +identifier + + + +attribute_section + + + +block + + + +namespace_body + + + +} + + + +; + + + +array_initializer + + + +event + + + +g + + + +identifier + + + +method_header + + + +? + + + +lambda_expression + + + +primary_expression + + + +implicitly_typed_local_variable_declarator + + + +, + + + +finalizer_declaration + + + +< + + + +if + + + +block + + + +: + + + +p + + + +regular_interpolation + + + +using_namespace_directive + + + +throw + + + +integral_type + + + +expression_statement + + + +local_variable_declaration + + + +identifier + + + +right_shift_assignment + + + +invocation_expression + + + +struct_member_declaration + + + +declaration_statement + + + +System + + + +protected + + + +explicitly_typed_local_variable_declaration + + + +object_creation_expression + + + +statement + + + +constructor_declarator + + + +element_access + + + +multiplicative_expression + + + +literal + + + +; + + + +A + + + +public + + + +; + + + +expression_statement + + + +declaration_statement + + + +( + + + +GetHashCode + + + +fixed_parameters + + + +set_accessor_declaration + + + +) + + + +lu + + + +method_modifier + + + +expression + + + +=> + + + +assignment + + + +statement + + + +} + + + +} + + + +fixed_pointer_declarator + + + +identifier + + + +unary_expression + + + +) + + + +declaration_statement + + + +identifier + + + +, + + + +expression_list + + + +Action + + + +multiplicative_expression + + + +int + + + +contextual_keyword + + + +dynamic + + + +; + + + +identifier + + + +identifier + + + +multiplicative_expression + + + += + + + +invocation_expression + + + +i + + + +) + + + +1 + + + +explicitly_typed_local_variable_declaration + + + +integral_type + + + +2 + + + +Threading + + + +accessor_declarations + + + +member_initializer + + + +local_variable_declaration + + + +value + + + +literal + + + +=> + + + +primary_expression + + + +{ + + + +; + + + +variable_initializer + + + +, + + + +statement_expression + + + +( + + + +parameter_modifier + + + +null_literal + + + +namespace_declaration + + + +internal + + + +; + + + +int + + + +Age + + + +primary_expression + + + +identifier + + + +} + + + +local_variable_initializer + + + +var + + + +; + + + +primary_expression + + + +equality_expression + + + +{ + + + +class_member_declaration + + + +) + + + +delegate_declaration + + + +b + + + +9 + + + +specific_catch_clause + + + +this + + + +explicitly_typed_local_variable_declarators + + + +{ + + + +( + + + +type_argument + + + +namespace_or_type_name + + + +explicitly_typed_local_variable_declaration + + + +lambda_expression + + + +expression_statement + + + +additive_expression + + + +type + + + +array_initializer + + + += + + + +equals + + + +A + + + +identifier + + + +type + + + +( + + + +) + + + +conditional_or_expression + + + +[ + + + +statement + + + +method_body + + + +attribute_target_specifier + + + +] + + + += + + + +statement + + + +identifier + + + +conversion_operator_declarator + + + +block + + + +identifier + + + +statement + + + +identifier + + + +statement_list + + + +multiplicative_expression + + + +declaration_statement + + + +; + + + +} + + + +identifier + + + +statement + + + +literal + + + +Ul + + + +equality_expression + + + +using_static_directive + + + +identifier + + + +; + + + +class_member_declaration + + + +< + + + +> + + + +) + + + +method_body + + + +get_accessor_declaration + + + +ref_method_modifier + + + +; + + + +expression_statement + + + +type_argument_list + + + +multiplicative_expression + + + +declaration_statement + + + +literal + + + +> + + + +declaration_statement + + + +literal + + + +. + + + +System + + + +for_iterator + + + +Method + + + +i + + + +i + + + +set + + + +method_header + + + += + + + +handler + + + +CoContra2 + + + +identifier + + + +identifier + + + +* + + + +argument + + + +, + + + +event_declaration + + + +identifier + + + +; + + + +operator_modifier + + + +typeof_expression + + + +namespace_or_type_name + + + +unary_expression + + + +relational_expression + + + +variable_declarators + + + +protected + + + +* + + + +contextual_keyword + + + +primary_expression + + + +literal + + + +WriteLine + + + +exclusive_or_expression + + + +; + + + +a + + + +literal + + + +identifier + + + +void + + + +default_argument + + + +, + + + +explicitly_typed_local_variable_declarators + + + +expression + + + +argument_list + + + +type + + + +await_expression + + + +constant_expression + + + +statement + + + +get_accessor_declaration + + + +identifier + + + +embedded_statement + + + +) + + + +implicitly_typed_local_variable_declarator + + + +A + + + +. + + + +; + + + +expression + + + +identifier + + + +member_access + + + +'c' + + + +statement_expression + + + +implicitly_typed_local_variable_declarator + + + +accessor_body + + + +u + + + +literal + + + +method_declaration + + + +void + + + +fixed_parameter + + + +type_arguments + + + +additive_expression + + + +( + + + +: + + + +parameter_list + + + +assignment_operator + + + +s + + + +M + + + +( + + + +( + + + +contextual_keyword + + + += + + + +boolean_expression + + + +e + + + +literal + + + +identifier + + + +additive_expression + + + +( + + + +unary_expression + + + +} + + + +local_variable_initializer + + + +var + + + +primary_expression + + + += + + + +assignment + + + +) + + + +B + + + +operator + + + +type_argument_list + + + +( + + + +yield_statement + + + +relational_expression + + + +) + + + +identifier + + + +T + + + +( + + + +variant_type_parameters + + + +. + + + +expression + + + +MaxValue + + + +attribute + + + +contextual_keyword + + + +array_initializer + + + +type + + + +7 + + + +v + + + +type + + + +identifier + + + +statement_expression + + + +[ + + + +identifier + + + +identifier + + + +identifier + + + +implicitly_typed_local_variable_declaration + + + +intValue + + + +literal + + + +0 + + + +cube + + + +set + + + +class_type + + + +explicitly_typed_local_variable_declaration + + + +} + + + +interface_member_declaration + + + += + + + +return_type + + + +statement_expression + + + +volatile + + + +expression + + + +primary_expression + + + +] + + + +declaration_statement + + + +array_type + + + +0 + + + +statement_expression + + + +namespace_or_type_name + + + +int + + + +inclusive_or_expression + + + +using + + + +non_array_type + + + +"Doe" + + + +namespace_body + + + +type + + + +. + + + +{ + + + +} + + + +assignment + + + +type_argument_list + + + +local_variable_declaration + + + +} + + + +block + + + +statement + + + +continue + + + +type_arguments + + + +literal + + + +statement + + + +namespace_or_type_name + + + +class_member_declaration + + + +method_declaration + + + += + + + +local_variable_declaration + + + +attribute_section + + + +; + + + +20 + + + +namespace_declaration + + + +identifier + + + +var + + + +contextual_keyword + + + +bool + + + +X + + + +literal + + + +int + + + +; + + + +primary_expression + + + +argument + + + +identifier + + + +conditional_expression + + + +method_declaration + + + +primary_expression + + + +boolean_expression + + + += + + + +var + + + +in + + + +try_statement + + + +identifier + + + +array_initializer + + + +type_argument + + + +A + + + +identifier + + + +var + + + +statement_list + + + +unary_expression + + + +) + + + +{ + + + +attribute_arguments + + + +var + + + +/ + + + +local_variable_declaration + + + +type_parameters + + + +char + + + +string + + + +yield + + + +; + + + +class_member_declaration + + + +null_conditional_member_access + + + +B + + + +identifier + + + +pointer_type + + + +false + + + +customers + + + +explicitly_typed_local_variable_declarators + + + +method_modifier + + + +implicitly_typed_local_variable_declaration + + + +{ + + + +p + + + +( + + + +int + + + +additive_expression + + + +contextual_keyword + + + +interpolated_verbatim_string_expression + + + +interface_method_declaration + + + +identifier + + + +type + + + +cast_expression + + + +fixed_pointer_initializer + + + +class_type + + + +identifier + + + +j + + + +literal + + + +literal + + + +implicitly_typed_local_variable_declarator + + + +, + + + +value + + + +identifier + + + +B + + + +attribute_arguments + + + +identifier + + + +My + + + +E + + + +10 + + + +statement + + + +statement + + + +constructor_body + + + +class_body + + + +literal + + + +expression_statement + + + +argument_name + + + +, + + + +local_variable_declaration + + + +statement + + + +literal + + + +constant_declarators + + + +additive_expression + + + += + + + +boolean_literal + + + +expression_statement + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +( + + + +, + + + +class_type + + + +identifier + + + +assignment_operator + + + +identifier + + + +local_variable_declaration + + + += + + + +unary_expression + + + += + + + +identifier + + + +into + + + +variable_initializer_list + + + +type + + + +local4 + + + +@long + + + +assignment + + + +declaration_statement + + + +additive_expression + + + +expression + + + +{ + + + +attribute_arguments + + + +exclusive_or_expression + + + +class_declaration + + + +float + + + +identifier + + + +type + + + +identifier + + + +) + + + +class_member_declaration + + + += + + + +implicitly_typed_local_variable_declaration + + + +identifier + + + +identifier + + + +declaration_statement + + + +. + + + +( + + + +0 + + + +; + + + +type_arguments + + + +rank_specifier + + + +type + + + +type + + + +Bar2 + + + +literal + + + +ulong + + + +explicitly_typed_local_variable_declaration + + + +multiplicative_expression + + + +{ + + + +identifier + + + +local_variable_initializer + + + +variable_declarators + + + +type_parameters + + + +) + + + +type_argument_list + + + +additive_expression + + + +value_type + + + +relational_expression + + + +local_variable_declaration + + + +( + + + +identifier + + + +type_parameter + + + +for_initializer + + + +identifier + + + +attribute_section + + + +< + + + +Список + + + +[ + + + +expression + + + +protected + + + +integral_type + + + +{ + + + +statement_list + + + +boolean_literal + + + +identifier + + + +nullable_value_type + + + +new + + + +( + + + +assignment + + + +first + + + +primary_expression + + + +T + + + +constant_declarator + + + +anonymous_object_initializer + + + +local_variable_initializer + + + +ref_method_modifier + + + +( + + + +class_member_declaration + + + +identifier + + + +accessor_body + + + +WriteLine + + + +?? + + + +type + + + +identifier + + + +; + + + +assignment + + + +type + + + +struct_member_declaration + + + +void + + + +expression_statement + + + +empty_statement + + + +literal + + + +literal + + + +i + + + +member_access + + + +- + + + +new + + + +namespace_member_declaration + + + +ref_method_modifier + + + +boolean_expression + + + +a + + + +return + + + +indexer_modifier + + + +statement + + + +type_argument + + + +attribute_list + + + +[ + + + +identifier + + + +assignment + + + +relational_expression + + + +local_variable_initializer + + + +identifier + + + +identifier + + + +method_header + + + +false + + + +type + + + +3 + + + +implicitly_typed_local_variable_declaration + + + +local_variable_type + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/_Sample_Options.txt new file mode 100644 index 000000000..e5715448f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Base -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/AllInOneNoPreprocessor-v7.cs b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/AllInOneNoPreprocessor-v7.cs new file mode 100755 index 000000000..398168839 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/AllInOneNoPreprocessor-v7.cs @@ -0,0 +1,208 @@ +class CSharp70 +{ + void PatternMatching(string arg, int b) + { + switch (arg) + { + case "A" when b > 50: + case "B" when b < 50: + default: + break; + } + + (A D, E H) = e; + + if (x?.y?.z is Type value2) + { + // code using value2 + } + + if (expr is Type v) { Hello(); } + } + + public static async Task LocalFunctions(string[] args) + { + string Hello2(int i) + { + return args[i]; + } + + async Task Hello(T i) => await Task.FromResult(args[i]); + await Hello(1); + } + + public static void OutVar(string[] args) + { + int.TryParse(Hello(1), out var item); + int.TryParse(Hello(1), out int item); + } + + public void ThrowExpression() + { + var result = nullableResult ?? throw new NullReferenceException(); + } + + public void BinaryLiterals() + { + int nineteen = 0b10011; + } + + public void DigitSeparators() + { + int bin = 0b1001_1010_0001_0100; + int hex = 0x1b_a0_44_fe; + int dec = 33_554_432; + int weird = 1_2__3___4____5_____6______7_______8________9; + double real = 1_000.111_1e-1_000; + } +} + +class CSharp71 +{ + void DefaultWithoutTypeName(string content = default) + { + DefaultWithoutTypeName(default); + } + + void TupleRecognize(int a, (int, int) b, (int, int, int)? c) + { + var result = list.Select(c => (c.f1, f3: c.f2)).Where(t => t.f2 == 1); + } +} + +class CSharp72 +{ + readonly struct ReadonlyRef1 + { + Func s = (in int x) => x; + ref TValue this[in TKey index] => ref null; + public static Vector3 operator+(in Vector3 x, in Vector3 y) => null; + + static ref readonly Vector3 M1_Trace() + { + // OK + ref readonly var r1 = ref M1(); + + // Not valid. Need an LValue + ref readonly Vector3 r2 = ref default(Vector3); + + // Not valid. r1 is readonly. + Mutate(ref r1); + + // OK. + Print(in r1); + + // OK. + return ref r1; + } + } + + ref struct ReadonlyRef2 + { + ref readonly Guid Test(in Vector3 v1, in Vector3 v2) + { + // not OK!! + v1 = default(Vector3); + + // not OK!! + v1.X = 0; + + // not OK!! + foo(ref v1.X); + + return ref (arr != null ? ref arr[0]: ref otherArr[0]); + + Span span = stackalloc int[1]; + + // OK + return new Vector3(v1.X + v2.X, v1.Y + v2.Y, v1.Z + v2.Z); + } + + ref T Choice(bool condition, ref T consequence, ref T alternative) + { + if (condition) + { + return ref consequence; + } + else + { + return ref alternative; + } + } + } + + public void DoSomething(bool isEmployed, string personName, int personAge) { } + + public void NonTrailingNamedArguments() + { + DoSomething(isEmployed:true, name, age); // currently CS1738, but would become legal + DoSomething(true, personName:name, age); // currently CS1738, but would become legal + DoSomething(name, isEmployed:true, age); // remains illegal + DoSomething(name, age, isEmployed:true); // remains illegal + DoSomething(true, personAge:age, personName:name); // already legal + } + + public void ConditionalRef() + { + ref var r = ref (arr != null ? ref arr[0]: ref otherArr[0]); + } + + public void LeadingSeparator() + { + var res = 0 + + 123 // permitted in C# 1.0 and later + + 1_2_3 // permitted in C# 7.0 and later + + 0x1_2_3 // permitted in C# 7.0 and later + + 0b101 // binary literals added in C# 7.0 + + 0b1_0_1 // permitted in C# 7.0 and later + + // in C# 7.2, _ is permitted after the `0x` or `0b` + + 0x_1_2 // permitted in C# 7.2 and later + + 0b_1_0_1 // permitted in C# 7.2 and later + ; + } +} + +class CSharp73 +{ + void Blittable(T value) where T : unmanaged + { + var unmanaged = 666; + } + + unsafe struct IndexingMovableFixed + { + public fixed int myFixedField[10]; + } + + static IndexingMovableFixed s; + + public unsafe void IndexingMovableFixedFields() + { + int* ptr = s.myFixedField; + int t = s.myFixedField[5]; + } + + public void PatternBasedFixed() + { + fixed(byte* ptr = byteArray) + { + // ptr is a native pointer to the first element of the array + // byteArray is protected from being moved/collected by the GC for the duration of this block + } + } + + public void StackallocArrayInitializer() + { + Span a = stackalloc int[3]; // currently allowed + Span a = stackalloc int[3] { 1, 2, 3 }; + Span a = stackalloc int[] { 1, 2, 3 }; + Span a = stackalloc[] { 1, 2, 3 }; + } + + public void TupleEquality() + { + (int, (int, int)) t1, t2; + var res = t1 == (1, (2, 3)); + } +} diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/ReadMe.md new file mode 100644 index 000000000..d97a56a9c --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v7 + +This is a standard sample based off a test file originating with the Roslyn project. + +This version contains samples of the C# constructs introduced in C# v7. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.gruntree.red.txt new file mode 100644 index 000000000..3e12b69eb --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.gruntree.red.txt @@ -0,0 +1,4853 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ CSharp70 +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ PatternMatching +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arg +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arg +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_label +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ case +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "A" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ case_guard +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ when +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 50 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_label +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ case +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "B" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ case_guard +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ when +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 50 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_label +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ F +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ H +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ z +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ is +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_designation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expr +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ is +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_designation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Hello +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Task +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ LocalFunctions +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ args +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_function_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_function_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Hello2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ args +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_function_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_function_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Task +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_function_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Hello +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Task +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ FromResult +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ args +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Hello +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ OutVar +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ args +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ predefined_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ TryParse +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Hello +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ item +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ predefined_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ TryParse +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Hello +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ item +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ThrowExpression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ result +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullableResult +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ?? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ NullReferenceException +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ BinaryLiterals +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nineteen +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0b10011 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DigitSeparators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bin +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0b1001_1010_0001_0100 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ hex +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0x1b_a0_44_fe +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dec +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 33_554_432 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ weird +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1_2__3___4____5_____6______7_______8________9 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ floating_point_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ double +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ real +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1_000.111_1e-1_000 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ CSharp71 +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DefaultWithoutTypeName +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ content +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DefaultWithoutTypeName +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ TupleRecognize +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_type_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_type_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_type_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_type_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_type_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ result +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Select +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ CSharp72 +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ readonly +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ReadonlyRef1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Func +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_parameter_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_kind +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ TValue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ TKey +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ index +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_indexer_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ binary_operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Vector3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ overloadable_binary_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Vector3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Vector3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_kind +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ readonly +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Vector3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M1_Trace +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_kind +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ readonly +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ r1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_ref_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_kind +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ readonly +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Vector3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ r2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explictly_typed_default +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Vector3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Mutate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ r1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Print +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ r1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ r1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ReadonlyRef2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_kind +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ readonly +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Guid +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Vector3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Vector3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explictly_typed_default +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Vector3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ X +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ X +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parenthesized_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arr +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ != +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arr +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ otherArr +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Span +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ span +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unmanaged_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Vector3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ X +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ X +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Z +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Z +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_kind +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Choice +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ condition +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ consequence +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ alternative +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ condition +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ consequence +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ else +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ alternative +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DoSomething +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ isEmployed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ personName +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ personAge +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ NonTrailingNamedArguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DoSomething +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ isEmployed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ age +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DoSomething +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ personName +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ age +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DoSomething +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ isEmployed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ age +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DoSomething +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ age +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ isEmployed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DoSomething +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ personAge +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ age +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ personName +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ConditionalRef +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_kind +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ r +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parenthesized_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arr +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ != +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arr +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ otherArr +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ LeadingSeparator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ res +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 123 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1_2_3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0x1_2_3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0b101 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0b1_0_1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0x_1_2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0b_1_0_1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ CSharp73 +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Blittable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unmanaged +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unmanaged +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 666 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IndexingMovableFixed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_size_buffer_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_size_buffer_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ buffer_element_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_size_buffer_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_size_buffer_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ myFixedField +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 10 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IndexingMovableFixed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IndexingMovableFixedFields +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ptr +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ myFixedField +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ myFixedField +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ PatternBasedFixed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ byte +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ptr +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ byteArray +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ StackallocArrayInitializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Span +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unmanaged_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Span +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unmanaged_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_initializer_element_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Span +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unmanaged_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_initializer_element_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Span +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_initializer_element_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ TupleEquality +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_type_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_type_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_type_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_type_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ res +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tokens.txt new file mode 100644 index 000000000..705add90f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tokens.txt @@ -0,0 +1,888 @@ +[@0,0:4='class',<'class'>,1:0] +[@1,6:13='CSharp70',,1:6] +[@2,15:15='{',<'{'>,2:0] +[@3,21:24='void',<'void'>,3:4] +[@4,26:40='PatternMatching',,3:9] +[@5,41:41='(',<'('>,3:24] +[@6,42:47='string',<'string'>,3:25] +[@7,49:51='arg',,3:32] +[@8,52:52=',',<','>,3:35] +[@9,54:56='int',<'int'>,3:37] +[@10,58:58='b',,3:41] +[@11,59:59=')',<')'>,3:42] +[@12,65:65='{',<'{'>,4:4] +[@13,75:80='switch',<'switch'>,5:8] +[@14,82:82='(',<'('>,5:15] +[@15,83:85='arg',,5:16] +[@16,86:86=')',<')'>,5:19] +[@17,96:96='{',<'{'>,6:8] +[@18,110:113='case',<'case'>,7:12] +[@19,115:117='"A"',,7:17] +[@20,119:122='when',<'when'>,7:21] +[@21,124:124='b',,7:26] +[@22,126:126='>',<'>'>,7:28] +[@23,128:129='50',,7:30] +[@24,130:130=':',<':'>,7:32] +[@25,144:147='case',<'case'>,8:12] +[@26,149:151='"B"',,8:17] +[@27,153:156='when',<'when'>,8:21] +[@28,158:158='b',,8:26] +[@29,160:160='<',<'<'>,8:28] +[@30,162:163='50',,8:30] +[@31,164:164=':',<':'>,8:32] +[@32,178:184='default',<'default'>,9:12] +[@33,185:185=':',<':'>,9:19] +[@34,203:207='break',<'break'>,10:16] +[@35,208:208=';',<';'>,10:21] +[@36,218:218='}',<'}'>,11:8] +[@37,229:229='(',<'('>,13:8] +[@38,230:230='A',,13:9] +[@39,231:231='<',<'<'>,13:10] +[@40,232:232='B',,13:11] +[@41,233:233=',',<','>,13:12] +[@42,234:234='C',,13:13] +[@43,235:235='>',<'>'>,13:14] +[@44,237:237='D',,13:16] +[@45,238:238=',',<','>,13:17] +[@46,240:240='E',,13:19] +[@47,241:241='<',<'<'>,13:20] +[@48,242:242='F',,13:21] +[@49,243:243=',',<','>,13:22] +[@50,244:244='G',,13:23] +[@51,245:245='>',<'>'>,13:24] +[@52,247:247='H',,13:26] +[@53,248:248=')',<')'>,13:27] +[@54,250:250='=',<'='>,13:29] +[@55,252:252='e',,13:31] +[@56,253:253=';',<';'>,13:32] +[@57,264:265='if',<'if'>,15:8] +[@58,267:267='(',<'('>,15:11] +[@59,268:268='x',,15:12] +[@60,269:269='?',<'?'>,15:13] +[@61,270:270='.',<'.'>,15:14] +[@62,271:271='y',,15:15] +[@63,272:272='?',<'?'>,15:16] +[@64,273:273='.',<'.'>,15:17] +[@65,274:274='z',,15:18] +[@66,276:277='is',<'is'>,15:20] +[@67,279:282='Type',,15:23] +[@68,284:289='value2',,15:28] +[@69,290:290=')',<')'>,15:34] +[@70,300:300='{',<'{'>,16:8] +[@71,343:343='}',<'}'>,18:8] +[@72,354:355='if',<'if'>,20:8] +[@73,357:357='(',<'('>,20:11] +[@74,358:361='expr',,20:12] +[@75,363:364='is',<'is'>,20:17] +[@76,366:369='Type',,20:20] +[@77,371:371='v',,20:25] +[@78,372:372=')',<')'>,20:26] +[@79,374:374='{',<'{'>,20:28] +[@80,376:380='Hello',,20:30] +[@81,381:381='(',<'('>,20:35] +[@82,382:382=')',<')'>,20:36] +[@83,383:383=';',<';'>,20:37] +[@84,385:385='}',<'}'>,20:39] +[@85,391:391='}',<'}'>,21:4] +[@86,395:400='public',<'public'>,23:1] +[@87,402:407='static',<'static'>,23:8] +[@88,409:413='async',<'async'>,23:15] +[@89,415:418='Task',,23:21] +[@90,420:433='LocalFunctions',,23:26] +[@91,434:434='(',<'('>,23:40] +[@92,435:440='string',<'string'>,23:41] +[@93,441:441='[',<'['>,23:47] +[@94,442:442=']',<']'>,23:48] +[@95,444:447='args',,23:50] +[@96,448:448=')',<')'>,23:54] +[@97,451:451='{',<'{'>,24:1] +[@98,455:460='string',<'string'>,25:2] +[@99,462:467='Hello2',,25:9] +[@100,468:468='(',<'('>,25:15] +[@101,469:471='int',<'int'>,25:16] +[@102,473:473='i',,25:20] +[@103,474:474=')',<')'>,25:21] +[@104,484:484='{',<'{'>,26:8] +[@105,498:503='return',<'return'>,27:12] +[@106,505:508='args',,27:19] +[@107,509:509='[',<'['>,27:23] +[@108,510:510='i',,27:24] +[@109,511:511=']',<']'>,27:25] +[@110,512:512=';',<';'>,27:26] +[@111,522:522='}',<'}'>,28:8] +[@112,527:531='async',<'async'>,30:2] +[@113,533:536='Task',,30:8] +[@114,537:537='<',<'<'>,30:12] +[@115,538:543='string',<'string'>,30:13] +[@116,544:544='>',<'>'>,30:19] +[@117,546:550='Hello',,30:21] +[@118,551:551='<',<'<'>,30:26] +[@119,552:552='T',,30:27] +[@120,553:553='>',<'>'>,30:28] +[@121,554:554='(',<'('>,30:29] +[@122,555:555='T',,30:30] +[@123,557:557='i',,30:32] +[@124,558:558=')',<')'>,30:33] +[@125,560:561='=>',<'=>'>,30:35] +[@126,563:567='await',<'await'>,30:38] +[@127,569:572='Task',,30:44] +[@128,573:573='.',<'.'>,30:48] +[@129,574:583='FromResult',,30:49] +[@130,584:584='(',<'('>,30:59] +[@131,585:588='args',,30:60] +[@132,589:589='[',<'['>,30:64] +[@133,590:590='i',,30:65] +[@134,591:591=']',<']'>,30:66] +[@135,592:592=')',<')'>,30:67] +[@136,593:593=';',<';'>,30:68] +[@137,597:601='await',<'await'>,31:2] +[@138,603:607='Hello',,31:8] +[@139,608:608='(',<'('>,31:13] +[@140,609:609='1',,31:14] +[@141,610:610=')',<')'>,31:15] +[@142,611:611=';',<';'>,31:16] +[@143,614:614='}',<'}'>,32:1] +[@144,618:623='public',<'public'>,34:1] +[@145,625:630='static',<'static'>,34:8] +[@146,632:635='void',<'void'>,34:15] +[@147,637:642='OutVar',,34:20] +[@148,643:643='(',<'('>,34:26] +[@149,644:649='string',<'string'>,34:27] +[@150,650:650='[',<'['>,34:33] +[@151,651:651=']',<']'>,34:34] +[@152,653:656='args',,34:36] +[@153,657:657=')',<')'>,34:40] +[@154,660:660='{',<'{'>,35:1] +[@155,664:666='int',<'int'>,36:2] +[@156,667:667='.',<'.'>,36:5] +[@157,668:675='TryParse',,36:6] +[@158,676:676='(',<'('>,36:14] +[@159,677:681='Hello',,36:15] +[@160,682:682='(',<'('>,36:20] +[@161,683:683='1',,36:21] +[@162,684:684=')',<')'>,36:22] +[@163,685:685=',',<','>,36:23] +[@164,687:689='out',<'out'>,36:25] +[@165,691:693='var',<'var'>,36:29] +[@166,695:698='item',,36:33] +[@167,699:699=')',<')'>,36:37] +[@168,700:700=';',<';'>,36:38] +[@169,704:706='int',<'int'>,37:2] +[@170,707:707='.',<'.'>,37:5] +[@171,708:715='TryParse',,37:6] +[@172,716:716='(',<'('>,37:14] +[@173,717:721='Hello',,37:15] +[@174,722:722='(',<'('>,37:20] +[@175,723:723='1',,37:21] +[@176,724:724=')',<')'>,37:22] +[@177,725:725=',',<','>,37:23] +[@178,727:729='out',<'out'>,37:25] +[@179,731:733='int',<'int'>,37:29] +[@180,735:738='item',,37:33] +[@181,739:739=')',<')'>,37:37] +[@182,740:740=';',<';'>,37:38] +[@183,743:743='}',<'}'>,38:1] +[@184,750:755='public',<'public'>,40:4] +[@185,757:760='void',<'void'>,40:11] +[@186,762:776='ThrowExpression',,40:16] +[@187,777:777='(',<'('>,40:31] +[@188,778:778=')',<')'>,40:32] +[@189,784:784='{',<'{'>,41:4] +[@190,794:796='var',<'var'>,42:8] +[@191,798:803='result',,42:12] +[@192,805:805='=',<'='>,42:19] +[@193,807:820='nullableResult',,42:21] +[@194,822:823='??',<'??'>,42:36] +[@195,825:829='throw',<'throw'>,42:39] +[@196,831:833='new',<'new'>,42:45] +[@197,835:856='NullReferenceException',,42:49] +[@198,857:857='(',<'('>,42:71] +[@199,858:858=')',<')'>,42:72] +[@200,859:859=';',<';'>,42:73] +[@201,865:865='}',<'}'>,43:4] +[@202,872:877='public',<'public'>,45:4] +[@203,879:882='void',<'void'>,45:11] +[@204,884:897='BinaryLiterals',,45:16] +[@205,898:898='(',<'('>,45:30] +[@206,899:899=')',<')'>,45:31] +[@207,905:905='{',<'{'>,46:4] +[@208,915:917='int',<'int'>,47:8] +[@209,919:926='nineteen',,47:12] +[@210,928:928='=',<'='>,47:21] +[@211,930:936='0b10011',,47:23] +[@212,937:937=';',<';'>,47:30] +[@213,943:943='}',<'}'>,48:4] +[@214,950:955='public',<'public'>,50:4] +[@215,957:960='void',<'void'>,50:11] +[@216,962:976='DigitSeparators',,50:16] +[@217,977:977='(',<'('>,50:31] +[@218,978:978=')',<')'>,50:32] +[@219,984:984='{',<'{'>,51:4] +[@220,994:996='int',<'int'>,52:8] +[@221,998:1000='bin',,52:12] +[@222,1002:1002='=',<'='>,52:16] +[@223,1004:1024='0b1001_1010_0001_0100',,52:18] +[@224,1025:1025=';',<';'>,52:39] +[@225,1035:1037='int',<'int'>,53:8] +[@226,1039:1041='hex',,53:12] +[@227,1043:1043='=',<'='>,53:16] +[@228,1045:1057='0x1b_a0_44_fe',,53:18] +[@229,1058:1058=';',<';'>,53:31] +[@230,1068:1070='int',<'int'>,54:8] +[@231,1072:1074='dec',,54:12] +[@232,1076:1076='=',<'='>,54:16] +[@233,1078:1087='33_554_432',,54:18] +[@234,1088:1088=';',<';'>,54:28] +[@235,1098:1100='int',<'int'>,55:8] +[@236,1102:1106='weird',,55:12] +[@237,1108:1108='=',<'='>,55:18] +[@238,1110:1154='1_2__3___4____5_____6______7_______8________9',,55:20] +[@239,1155:1155=';',<';'>,55:65] +[@240,1165:1170='double',<'double'>,56:8] +[@241,1172:1175='real',,56:15] +[@242,1177:1177='=',<'='>,56:20] +[@243,1179:1196='1_000.111_1e-1_000',,56:22] +[@244,1197:1197=';',<';'>,56:40] +[@245,1203:1203='}',<'}'>,57:4] +[@246,1205:1205='}',<'}'>,58:0] +[@247,1208:1212='class',<'class'>,60:0] +[@248,1214:1221='CSharp71',,60:6] +[@249,1223:1223='{',<'{'>,61:0] +[@250,1229:1232='void',<'void'>,62:4] +[@251,1234:1255='DefaultWithoutTypeName',,62:9] +[@252,1256:1256='(',<'('>,62:31] +[@253,1257:1262='string',<'string'>,62:32] +[@254,1264:1270='content',,62:39] +[@255,1272:1272='=',<'='>,62:47] +[@256,1274:1280='default',<'default'>,62:49] +[@257,1281:1281=')',<')'>,62:56] +[@258,1287:1287='{',<'{'>,63:4] +[@259,1297:1318='DefaultWithoutTypeName',,64:8] +[@260,1319:1319='(',<'('>,64:30] +[@261,1320:1326='default',<'default'>,64:31] +[@262,1327:1327=')',<')'>,64:38] +[@263,1328:1328=';',<';'>,64:39] +[@264,1334:1334='}',<'}'>,65:4] +[@265,1341:1344='void',<'void'>,67:4] +[@266,1346:1359='TupleRecognize',,67:9] +[@267,1360:1360='(',<'('>,67:23] +[@268,1361:1363='int',<'int'>,67:24] +[@269,1365:1365='a',,67:28] +[@270,1366:1366=',',<','>,67:29] +[@271,1368:1368='(',<'('>,67:31] +[@272,1369:1371='int',<'int'>,67:32] +[@273,1372:1372=',',<','>,67:35] +[@274,1374:1376='int',<'int'>,67:37] +[@275,1377:1377=')',<')'>,67:40] +[@276,1379:1379='b',,67:42] +[@277,1380:1380=',',<','>,67:43] +[@278,1382:1382='(',<'('>,67:45] +[@279,1383:1385='int',<'int'>,67:46] +[@280,1386:1386=',',<','>,67:49] +[@281,1388:1390='int',<'int'>,67:51] +[@282,1391:1391=',',<','>,67:54] +[@283,1393:1395='int',<'int'>,67:56] +[@284,1396:1396=')',<')'>,67:59] +[@285,1397:1397='?',<'?'>,67:60] +[@286,1399:1399='c',,67:62] +[@287,1400:1400=')',<')'>,67:63] +[@288,1406:1406='{',<'{'>,68:4] +[@289,1416:1418='var',<'var'>,69:8] +[@290,1420:1425='result',,69:12] +[@291,1427:1427='=',<'='>,69:19] +[@292,1429:1432='list',,69:21] +[@293,1433:1433='.',<'.'>,69:25] +[@294,1434:1439='Select',,69:26] +[@295,1440:1440='(',<'('>,69:32] +[@296,1441:1441='c',,69:33] +[@297,1443:1444='=>',<'=>'>,69:35] +[@298,1446:1446='(',<'('>,69:38] +[@299,1447:1447='c',,69:39] +[@300,1448:1448='.',<'.'>,69:40] +[@301,1449:1450='f1',,69:41] +[@302,1451:1451=',',<','>,69:43] +[@303,1453:1454='f3',,69:45] +[@304,1455:1455=':',<':'>,69:47] +[@305,1457:1457='c',,69:49] +[@306,1458:1458='.',<'.'>,69:50] +[@307,1459:1460='f2',,69:51] +[@308,1461:1461=')',<')'>,69:53] +[@309,1462:1462=')',<')'>,69:54] +[@310,1463:1463='.',<'.'>,69:55] +[@311,1464:1468='Where',,69:56] +[@312,1469:1469='(',<'('>,69:61] +[@313,1470:1470='t',,69:62] +[@314,1472:1473='=>',<'=>'>,69:64] +[@315,1475:1475='t',,69:67] +[@316,1476:1476='.',<'.'>,69:68] +[@317,1477:1478='f2',,69:69] +[@318,1480:1481='==',<'=='>,69:72] +[@319,1483:1483='1',,69:75] +[@320,1484:1484=')',<')'>,69:76] +[@321,1485:1485=';',<';'>,69:77] +[@322,1491:1491='}',<'}'>,70:4] +[@323,1493:1493='}',<'}'>,71:0] +[@324,1496:1500='class',<'class'>,73:0] +[@325,1502:1509='CSharp72',,73:6] +[@326,1511:1511='{',<'{'>,74:0] +[@327,1517:1524='readonly',<'readonly'>,75:4] +[@328,1526:1531='struct',<'struct'>,75:13] +[@329,1533:1544='ReadonlyRef1',,75:20] +[@330,1550:1550='{',<'{'>,76:4] +[@331,1564:1567='Func',,77:8] +[@332,1568:1568='<',<'<'>,77:12] +[@333,1569:1571='int',<'int'>,77:13] +[@334,1572:1572=',',<','>,77:16] +[@335,1574:1576='int',<'int'>,77:18] +[@336,1577:1577='>',<'>'>,77:21] +[@337,1579:1579='s',,77:23] +[@338,1581:1581='=',<'='>,77:25] +[@339,1583:1583='(',<'('>,77:27] +[@340,1584:1585='in',<'in'>,77:28] +[@341,1587:1589='int',<'int'>,77:31] +[@342,1591:1591='x',,77:35] +[@343,1592:1592=')',<')'>,77:36] +[@344,1594:1595='=>',<'=>'>,77:38] +[@345,1597:1597='x',,77:41] +[@346,1598:1598=';',<';'>,77:42] +[@347,1608:1610='ref',<'ref'>,78:8] +[@348,1612:1617='TValue',,78:12] +[@349,1619:1622='this',<'this'>,78:19] +[@350,1623:1623='[',<'['>,78:23] +[@351,1624:1625='in',<'in'>,78:24] +[@352,1627:1630='TKey',,78:27] +[@353,1632:1636='index',,78:32] +[@354,1637:1637=']',<']'>,78:37] +[@355,1639:1640='=>',<'=>'>,78:39] +[@356,1642:1644='ref',<'ref'>,78:42] +[@357,1646:1649='null',<'null'>,78:46] +[@358,1650:1650=';',<';'>,78:50] +[@359,1660:1665='public',<'public'>,79:8] +[@360,1667:1672='static',<'static'>,79:15] +[@361,1674:1680='Vector3',,79:22] +[@362,1682:1689='operator',<'operator'>,79:30] +[@363,1690:1690='+',<'+'>,79:38] +[@364,1691:1691='(',<'('>,79:39] +[@365,1692:1693='in',<'in'>,79:40] +[@366,1695:1701='Vector3',,79:43] +[@367,1703:1703='x',,79:51] +[@368,1704:1704=',',<','>,79:52] +[@369,1706:1707='in',<'in'>,79:54] +[@370,1709:1715='Vector3',,79:57] +[@371,1717:1717='y',,79:65] +[@372,1718:1718=')',<')'>,79:66] +[@373,1720:1721='=>',<'=>'>,79:68] +[@374,1723:1726='null',<'null'>,79:71] +[@375,1727:1727=';',<';'>,79:75] +[@376,1738:1743='static',<'static'>,81:8] +[@377,1745:1747='ref',<'ref'>,81:15] +[@378,1749:1756='readonly',<'readonly'>,81:19] +[@379,1758:1764='Vector3',,81:28] +[@380,1766:1773='M1_Trace',,81:36] +[@381,1774:1774='(',<'('>,81:44] +[@382,1775:1775=')',<')'>,81:45] +[@383,1785:1785='{',<'{'>,82:8] +[@384,1817:1819='ref',<'ref'>,84:12] +[@385,1821:1828='readonly',<'readonly'>,84:16] +[@386,1830:1832='var',<'var'>,84:25] +[@387,1834:1835='r1',,84:29] +[@388,1837:1837='=',<'='>,84:32] +[@389,1839:1841='ref',<'ref'>,84:34] +[@390,1843:1844='M1',,84:38] +[@391,1845:1845='(',<'('>,84:40] +[@392,1846:1846=')',<')'>,84:41] +[@393,1847:1847=';',<';'>,84:42] +[@394,1903:1905='ref',<'ref'>,87:12] +[@395,1907:1914='readonly',<'readonly'>,87:16] +[@396,1916:1922='Vector3',,87:25] +[@397,1924:1925='r2',,87:33] +[@398,1927:1927='=',<'='>,87:36] +[@399,1929:1931='ref',<'ref'>,87:38] +[@400,1933:1939='default',<'default'>,87:42] +[@401,1940:1940='(',<'('>,87:49] +[@402,1941:1947='Vector3',,87:50] +[@403,1948:1948=')',<')'>,87:57] +[@404,1949:1949=';',<';'>,87:58] +[@405,2006:2011='Mutate',,90:12] +[@406,2012:2012='(',<'('>,90:18] +[@407,2013:2015='ref',<'ref'>,90:19] +[@408,2017:2018='r1',,90:23] +[@409,2019:2019=')',<')'>,90:25] +[@410,2020:2020=';',<';'>,90:26] +[@411,2054:2058='Print',,93:12] +[@412,2059:2059='(',<'('>,93:17] +[@413,2060:2061='in',<'in'>,93:18] +[@414,2063:2064='r1',,93:21] +[@415,2065:2065=')',<')'>,93:23] +[@416,2066:2066=';',<';'>,93:24] +[@417,2100:2105='return',<'return'>,96:12] +[@418,2107:2109='ref',<'ref'>,96:19] +[@419,2111:2112='r1',,96:23] +[@420,2113:2113=';',<';'>,96:25] +[@421,2123:2123='}',<'}'>,97:8] +[@422,2129:2129='}',<'}'>,98:4] +[@423,2136:2138='ref',<'ref'>,100:4] +[@424,2140:2145='struct',<'struct'>,100:8] +[@425,2147:2158='ReadonlyRef2',,100:15] +[@426,2164:2164='{',<'{'>,101:4] +[@427,2174:2176='ref',<'ref'>,102:8] +[@428,2178:2185='readonly',<'readonly'>,102:12] +[@429,2187:2190='Guid',,102:21] +[@430,2192:2195='Test',,102:26] +[@431,2196:2196='(',<'('>,102:30] +[@432,2197:2198='in',<'in'>,102:31] +[@433,2200:2206='Vector3',,102:34] +[@434,2208:2209='v1',,102:42] +[@435,2210:2210=',',<','>,102:44] +[@436,2212:2213='in',<'in'>,102:46] +[@437,2215:2221='Vector3',,102:49] +[@438,2223:2224='v2',,102:57] +[@439,2225:2225=')',<')'>,102:59] +[@440,2235:2235='{',<'{'>,103:8] +[@441,2273:2274='v1',,105:12] +[@442,2276:2276='=',<'='>,105:15] +[@443,2278:2284='default',<'default'>,105:17] +[@444,2285:2285='(',<'('>,105:24] +[@445,2286:2292='Vector3',,105:25] +[@446,2293:2293=')',<')'>,105:32] +[@447,2294:2294=';',<';'>,105:33] +[@448,2333:2334='v1',,108:12] +[@449,2335:2335='.',<'.'>,108:14] +[@450,2336:2336='X',,108:15] +[@451,2338:2338='=',<'='>,108:17] +[@452,2340:2340='0',,108:19] +[@453,2341:2341=';',<';'>,108:20] +[@454,2380:2382='foo',,111:12] +[@455,2383:2383='(',<'('>,111:15] +[@456,2384:2386='ref',<'ref'>,111:16] +[@457,2388:2389='v1',,111:20] +[@458,2390:2390='.',<'.'>,111:22] +[@459,2391:2391='X',,111:23] +[@460,2392:2392=')',<')'>,111:24] +[@461,2393:2393=';',<';'>,111:25] +[@462,2408:2413='return',<'return'>,113:12] +[@463,2415:2417='ref',<'ref'>,113:19] +[@464,2419:2419='(',<'('>,113:23] +[@465,2420:2422='arr',,113:24] +[@466,2424:2425='!=',<'!='>,113:28] +[@467,2427:2430='null',<'null'>,113:31] +[@468,2432:2432='?',<'?'>,113:36] +[@469,2434:2436='ref',<'ref'>,113:38] +[@470,2438:2440='arr',,113:42] +[@471,2441:2441='[',<'['>,113:45] +[@472,2442:2442='0',,113:46] +[@473,2443:2443=']',<']'>,113:47] +[@474,2444:2444=':',<':'>,113:48] +[@475,2446:2448='ref',<'ref'>,113:50] +[@476,2450:2457='otherArr',,113:54] +[@477,2458:2458='[',<'['>,113:62] +[@478,2459:2459='0',,113:63] +[@479,2460:2460=']',<']'>,113:64] +[@480,2461:2461=')',<')'>,113:65] +[@481,2462:2462=';',<';'>,113:66] +[@482,2477:2480='Span',,115:12] +[@483,2481:2481='<',<'<'>,115:16] +[@484,2482:2484='int',<'int'>,115:17] +[@485,2485:2485='>',<'>'>,115:20] +[@486,2487:2490='span',,115:22] +[@487,2492:2492='=',<'='>,115:27] +[@488,2494:2503='stackalloc',<'stackalloc'>,115:29] +[@489,2505:2507='int',<'int'>,115:40] +[@490,2508:2508='[',<'['>,115:43] +[@491,2509:2509='1',,115:44] +[@492,2510:2510=']',<']'>,115:45] +[@493,2511:2511=';',<';'>,115:46] +[@494,2544:2549='return',<'return'>,118:12] +[@495,2551:2553='new',<'new'>,118:19] +[@496,2555:2561='Vector3',,118:23] +[@497,2562:2562='(',<'('>,118:30] +[@498,2563:2564='v1',,118:31] +[@499,2565:2565='.',<'.'>,118:33] +[@500,2566:2566='X',,118:34] +[@501,2568:2568='+',<'+'>,118:36] +[@502,2570:2571='v2',,118:38] +[@503,2572:2572='.',<'.'>,118:40] +[@504,2573:2573='X',,118:41] +[@505,2574:2574=',',<','>,118:42] +[@506,2576:2577='v1',,118:44] +[@507,2578:2578='.',<'.'>,118:46] +[@508,2579:2579='Y',,118:47] +[@509,2581:2581='+',<'+'>,118:49] +[@510,2583:2584='v2',,118:51] +[@511,2585:2585='.',<'.'>,118:53] +[@512,2586:2586='Y',,118:54] +[@513,2587:2587=',',<','>,118:55] +[@514,2589:2590='v1',,118:57] +[@515,2591:2591='.',<'.'>,118:59] +[@516,2592:2592='Z',,118:60] +[@517,2594:2594='+',<'+'>,118:62] +[@518,2596:2597='v2',,118:64] +[@519,2598:2598='.',<'.'>,118:66] +[@520,2599:2599='Z',,118:67] +[@521,2600:2600=')',<')'>,118:68] +[@522,2601:2601=';',<';'>,118:69] +[@523,2611:2611='}',<'}'>,119:8] +[@524,2622:2624='ref',<'ref'>,121:8] +[@525,2626:2626='T',,121:12] +[@526,2628:2633='Choice',,121:14] +[@527,2634:2634='(',<'('>,121:20] +[@528,2635:2638='bool',<'bool'>,121:21] +[@529,2640:2648='condition',,121:26] +[@530,2649:2649=',',<','>,121:35] +[@531,2651:2653='ref',<'ref'>,121:37] +[@532,2655:2655='T',,121:41] +[@533,2657:2667='consequence',,121:43] +[@534,2668:2668=',',<','>,121:54] +[@535,2670:2672='ref',<'ref'>,121:56] +[@536,2674:2674='T',,121:60] +[@537,2676:2686='alternative',,121:62] +[@538,2687:2687=')',<')'>,121:73] +[@539,2697:2697='{',<'{'>,122:8] +[@540,2711:2712='if',<'if'>,123:12] +[@541,2714:2714='(',<'('>,123:15] +[@542,2715:2723='condition',,123:16] +[@543,2724:2724=')',<')'>,123:25] +[@544,2738:2738='{',<'{'>,124:12] +[@545,2757:2762='return',<'return'>,125:17] +[@546,2764:2766='ref',<'ref'>,125:24] +[@547,2768:2778='consequence',,125:28] +[@548,2779:2779=';',<';'>,125:39] +[@549,2793:2793='}',<'}'>,126:12] +[@550,2807:2810='else',<'else'>,127:12] +[@551,2824:2824='{',<'{'>,128:12] +[@552,2843:2848='return',<'return'>,129:17] +[@553,2850:2852='ref',<'ref'>,129:24] +[@554,2854:2864='alternative',,129:28] +[@555,2865:2865=';',<';'>,129:39] +[@556,2879:2879='}',<'}'>,130:12] +[@557,2889:2889='}',<'}'>,131:8] +[@558,2895:2895='}',<'}'>,132:4] +[@559,2902:2907='public',<'public'>,134:4] +[@560,2909:2912='void',<'void'>,134:11] +[@561,2914:2924='DoSomething',,134:16] +[@562,2925:2925='(',<'('>,134:27] +[@563,2926:2929='bool',<'bool'>,134:28] +[@564,2931:2940='isEmployed',,134:33] +[@565,2941:2941=',',<','>,134:43] +[@566,2943:2948='string',<'string'>,134:45] +[@567,2950:2959='personName',,134:52] +[@568,2960:2960=',',<','>,134:62] +[@569,2962:2964='int',<'int'>,134:64] +[@570,2966:2974='personAge',,134:68] +[@571,2975:2975=')',<')'>,134:77] +[@572,2977:2977='{',<'{'>,134:79] +[@573,2979:2979='}',<'}'>,134:81] +[@574,2986:2991='public',<'public'>,136:4] +[@575,2993:2996='void',<'void'>,136:11] +[@576,2998:3022='NonTrailingNamedArguments',,136:16] +[@577,3023:3023='(',<'('>,136:41] +[@578,3024:3024=')',<')'>,136:42] +[@579,3030:3030='{',<'{'>,137:4] +[@580,3040:3050='DoSomething',,138:8] +[@581,3051:3051='(',<'('>,138:19] +[@582,3052:3061='isEmployed',,138:20] +[@583,3062:3062=':',<':'>,138:30] +[@584,3063:3066='true',<'true'>,138:31] +[@585,3067:3067=',',<','>,138:35] +[@586,3069:3072='name',,138:37] +[@587,3073:3073=',',<','>,138:41] +[@588,3075:3077='age',,138:43] +[@589,3078:3078=')',<')'>,138:46] +[@590,3079:3079=';',<';'>,138:47] +[@591,3133:3143='DoSomething',,139:8] +[@592,3144:3144='(',<'('>,139:19] +[@593,3145:3148='true',<'true'>,139:20] +[@594,3149:3149=',',<','>,139:24] +[@595,3151:3160='personName',,139:26] +[@596,3161:3161=':',<':'>,139:36] +[@597,3162:3165='name',,139:37] +[@598,3166:3166=',',<','>,139:41] +[@599,3168:3170='age',,139:43] +[@600,3171:3171=')',<')'>,139:46] +[@601,3172:3172=';',<';'>,139:47] +[@602,3226:3236='DoSomething',,140:8] +[@603,3237:3237='(',<'('>,140:19] +[@604,3238:3241='name',,140:20] +[@605,3242:3242=',',<','>,140:24] +[@606,3244:3253='isEmployed',,140:26] +[@607,3254:3254=':',<':'>,140:36] +[@608,3255:3258='true',<'true'>,140:37] +[@609,3259:3259=',',<','>,140:41] +[@610,3261:3263='age',,140:43] +[@611,3264:3264=')',<')'>,140:46] +[@612,3265:3265=';',<';'>,140:47] +[@613,3294:3304='DoSomething',,141:8] +[@614,3305:3305='(',<'('>,141:19] +[@615,3306:3309='name',,141:20] +[@616,3310:3310=',',<','>,141:24] +[@617,3312:3314='age',,141:26] +[@618,3315:3315=',',<','>,141:29] +[@619,3317:3326='isEmployed',,141:31] +[@620,3327:3327=':',<':'>,141:41] +[@621,3328:3331='true',<'true'>,141:42] +[@622,3332:3332=')',<')'>,141:46] +[@623,3333:3333=';',<';'>,141:47] +[@624,3362:3372='DoSomething',,142:8] +[@625,3373:3373='(',<'('>,142:19] +[@626,3374:3377='true',<'true'>,142:20] +[@627,3378:3378=',',<','>,142:24] +[@628,3380:3388='personAge',,142:26] +[@629,3389:3389=':',<':'>,142:35] +[@630,3390:3392='age',,142:36] +[@631,3393:3393=',',<','>,142:39] +[@632,3395:3404='personName',,142:41] +[@633,3405:3405=':',<':'>,142:51] +[@634,3406:3409='name',,142:52] +[@635,3410:3410=')',<')'>,142:56] +[@636,3411:3411=';',<';'>,142:57] +[@637,3434:3434='}',<'}'>,143:4] +[@638,3441:3446='public',<'public'>,145:4] +[@639,3448:3451='void',<'void'>,145:11] +[@640,3453:3466='ConditionalRef',,145:16] +[@641,3467:3467='(',<'('>,145:30] +[@642,3468:3468=')',<')'>,145:31] +[@643,3474:3474='{',<'{'>,146:4] +[@644,3484:3486='ref',<'ref'>,147:8] +[@645,3488:3490='var',<'var'>,147:12] +[@646,3492:3492='r',,147:16] +[@647,3494:3494='=',<'='>,147:18] +[@648,3496:3498='ref',<'ref'>,147:20] +[@649,3500:3500='(',<'('>,147:24] +[@650,3501:3503='arr',,147:25] +[@651,3505:3506='!=',<'!='>,147:29] +[@652,3508:3511='null',<'null'>,147:32] +[@653,3513:3513='?',<'?'>,147:37] +[@654,3515:3517='ref',<'ref'>,147:39] +[@655,3519:3521='arr',,147:43] +[@656,3522:3522='[',<'['>,147:46] +[@657,3523:3523='0',,147:47] +[@658,3524:3524=']',<']'>,147:48] +[@659,3525:3525=':',<':'>,147:49] +[@660,3527:3529='ref',<'ref'>,147:51] +[@661,3531:3538='otherArr',,147:55] +[@662,3539:3539='[',<'['>,147:63] +[@663,3540:3540='0',,147:64] +[@664,3541:3541=']',<']'>,147:65] +[@665,3542:3542=')',<')'>,147:66] +[@666,3543:3543=';',<';'>,147:67] +[@667,3549:3549='}',<'}'>,148:4] +[@668,3556:3561='public',<'public'>,150:4] +[@669,3563:3566='void',<'void'>,150:11] +[@670,3568:3583='LeadingSeparator',,150:16] +[@671,3584:3584='(',<'('>,150:32] +[@672,3585:3585=')',<')'>,150:33] +[@673,3591:3591='{',<'{'>,151:4] +[@674,3601:3603='var',<'var'>,152:8] +[@675,3605:3607='res',,152:12] +[@676,3609:3609='=',<'='>,152:16] +[@677,3611:3611='0',,152:18] +[@678,3621:3621='+',<'+'>,153:8] +[@679,3623:3625='123',,153:10] +[@680,3673:3673='+',<'+'>,154:8] +[@681,3675:3679='1_2_3',,154:10] +[@682,3725:3725='+',<'+'>,155:8] +[@683,3727:3733='0x1_2_3',,155:10] +[@684,3777:3777='+',<'+'>,156:8] +[@685,3779:3783='0b101',,156:10] +[@686,3831:3831='+',<'+'>,157:8] +[@687,3833:3839='0b1_0_1',,157:10] +[@688,3944:3944='+',<'+'>,160:8] +[@689,3946:3951='0x_1_2',,160:10] +[@690,3996:3996='+',<'+'>,161:8] +[@691,3998:4005='0b_1_0_1',,161:10] +[@692,4048:4048=';',<';'>,162:8] +[@693,4054:4054='}',<'}'>,163:4] +[@694,4056:4056='}',<'}'>,164:0] +[@695,4059:4063='class',<'class'>,166:0] +[@696,4065:4072='CSharp73',,166:6] +[@697,4074:4074='{',<'{'>,167:0] +[@698,4080:4083='void',<'void'>,168:4] +[@699,4085:4093='Blittable',,168:9] +[@700,4094:4094='<',<'<'>,168:18] +[@701,4095:4095='T',,168:19] +[@702,4096:4096='>',<'>'>,168:20] +[@703,4097:4097='(',<'('>,168:21] +[@704,4098:4098='T',,168:22] +[@705,4100:4104='value',<'value'>,168:24] +[@706,4105:4105=')',<')'>,168:29] +[@707,4107:4111='where',<'where'>,168:31] +[@708,4113:4113='T',,168:37] +[@709,4115:4115=':',<':'>,168:39] +[@710,4117:4125='unmanaged',<'unmanaged'>,168:41] +[@711,4131:4131='{',<'{'>,169:4] +[@712,4141:4143='var',<'var'>,170:8] +[@713,4145:4153='unmanaged',<'unmanaged'>,170:12] +[@714,4155:4155='=',<'='>,170:22] +[@715,4157:4159='666',,170:24] +[@716,4160:4160=';',<';'>,170:27] +[@717,4166:4166='}',<'}'>,171:4] +[@718,4173:4178='unsafe',<'unsafe'>,173:4] +[@719,4180:4185='struct',<'struct'>,173:11] +[@720,4187:4206='IndexingMovableFixed',,173:18] +[@721,4212:4212='{',<'{'>,174:4] +[@722,4222:4227='public',<'public'>,175:8] +[@723,4229:4233='fixed',<'fixed'>,175:15] +[@724,4235:4237='int',<'int'>,175:21] +[@725,4239:4250='myFixedField',,175:25] +[@726,4251:4251='[',<'['>,175:37] +[@727,4252:4253='10',,175:38] +[@728,4254:4254=']',<']'>,175:40] +[@729,4255:4255=';',<';'>,175:41] +[@730,4261:4261='}',<'}'>,176:4] +[@731,4268:4273='static',<'static'>,178:4] +[@732,4275:4294='IndexingMovableFixed',,178:11] +[@733,4296:4296='s',,178:32] +[@734,4297:4297=';',<';'>,178:33] +[@735,4304:4309='public',<'public'>,180:4] +[@736,4311:4316='unsafe',<'unsafe'>,180:11] +[@737,4318:4321='void',<'void'>,180:18] +[@738,4323:4348='IndexingMovableFixedFields',,180:23] +[@739,4349:4349='(',<'('>,180:49] +[@740,4350:4350=')',<')'>,180:50] +[@741,4356:4356='{',<'{'>,181:4] +[@742,4366:4368='int',<'int'>,182:8] +[@743,4369:4369='*',<'*'>,182:11] +[@744,4371:4373='ptr',,182:13] +[@745,4375:4375='=',<'='>,182:17] +[@746,4377:4377='s',,182:19] +[@747,4378:4378='.',<'.'>,182:20] +[@748,4379:4390='myFixedField',,182:21] +[@749,4391:4391=';',<';'>,182:33] +[@750,4401:4403='int',<'int'>,183:8] +[@751,4405:4405='t',,183:12] +[@752,4407:4407='=',<'='>,183:14] +[@753,4409:4409='s',,183:16] +[@754,4410:4410='.',<'.'>,183:17] +[@755,4411:4422='myFixedField',,183:18] +[@756,4423:4423='[',<'['>,183:30] +[@757,4424:4424='5',,183:31] +[@758,4425:4425=']',<']'>,183:32] +[@759,4426:4426=';',<';'>,183:33] +[@760,4432:4432='}',<'}'>,184:4] +[@761,4439:4444='public',<'public'>,186:4] +[@762,4446:4449='void',<'void'>,186:11] +[@763,4451:4467='PatternBasedFixed',,186:16] +[@764,4468:4468='(',<'('>,186:33] +[@765,4469:4469=')',<')'>,186:34] +[@766,4475:4475='{',<'{'>,187:4] +[@767,4485:4489='fixed',<'fixed'>,188:8] +[@768,4490:4490='(',<'('>,188:13] +[@769,4491:4494='byte',<'byte'>,188:14] +[@770,4495:4495='*',<'*'>,188:18] +[@771,4497:4499='ptr',,188:20] +[@772,4501:4501='=',<'='>,188:24] +[@773,4503:4511='byteArray',,188:26] +[@774,4512:4512=')',<')'>,188:35] +[@775,4522:4522='{',<'{'>,189:8] +[@776,4710:4710='}',<'}'>,192:8] +[@777,4716:4716='}',<'}'>,193:4] +[@778,4723:4728='public',<'public'>,195:4] +[@779,4730:4733='void',<'void'>,195:11] +[@780,4735:4760='StackallocArrayInitializer',,195:16] +[@781,4761:4761='(',<'('>,195:42] +[@782,4762:4762=')',<')'>,195:43] +[@783,4768:4768='{',<'{'>,196:4] +[@784,4778:4781='Span',,197:8] +[@785,4782:4782='<',<'<'>,197:12] +[@786,4783:4785='int',<'int'>,197:13] +[@787,4786:4786='>',<'>'>,197:16] +[@788,4788:4788='a',,197:18] +[@789,4790:4790='=',<'='>,197:20] +[@790,4792:4801='stackalloc',<'stackalloc'>,197:22] +[@791,4803:4805='int',<'int'>,197:33] +[@792,4806:4806='[',<'['>,197:36] +[@793,4807:4807='3',,197:37] +[@794,4808:4808=']',<']'>,197:38] +[@795,4809:4809=';',<';'>,197:39] +[@796,4854:4857='Span',,198:8] +[@797,4858:4858='<',<'<'>,198:12] +[@798,4859:4861='int',<'int'>,198:13] +[@799,4862:4862='>',<'>'>,198:16] +[@800,4864:4864='a',,198:18] +[@801,4866:4866='=',<'='>,198:20] +[@802,4868:4877='stackalloc',<'stackalloc'>,198:22] +[@803,4879:4881='int',<'int'>,198:33] +[@804,4882:4882='[',<'['>,198:36] +[@805,4883:4883='3',,198:37] +[@806,4884:4884=']',<']'>,198:38] +[@807,4886:4886='{',<'{'>,198:40] +[@808,4888:4888='1',,198:42] +[@809,4889:4889=',',<','>,198:43] +[@810,4891:4891='2',,198:45] +[@811,4892:4892=',',<','>,198:46] +[@812,4894:4894='3',,198:48] +[@813,4896:4896='}',<'}'>,198:50] +[@814,4897:4897=';',<';'>,198:51] +[@815,4907:4910='Span',,199:8] +[@816,4911:4911='<',<'<'>,199:12] +[@817,4912:4914='int',<'int'>,199:13] +[@818,4915:4915='>',<'>'>,199:16] +[@819,4917:4917='a',,199:18] +[@820,4919:4919='=',<'='>,199:20] +[@821,4921:4930='stackalloc',<'stackalloc'>,199:22] +[@822,4932:4934='int',<'int'>,199:33] +[@823,4935:4935='[',<'['>,199:36] +[@824,4936:4936=']',<']'>,199:37] +[@825,4938:4938='{',<'{'>,199:39] +[@826,4940:4940='1',,199:41] +[@827,4941:4941=',',<','>,199:42] +[@828,4943:4943='2',,199:44] +[@829,4944:4944=',',<','>,199:45] +[@830,4946:4946='3',,199:47] +[@831,4948:4948='}',<'}'>,199:49] +[@832,4949:4949=';',<';'>,199:50] +[@833,4959:4962='Span',,200:8] +[@834,4963:4963='<',<'<'>,200:12] +[@835,4964:4966='int',<'int'>,200:13] +[@836,4967:4967='>',<'>'>,200:16] +[@837,4969:4969='a',,200:18] +[@838,4971:4971='=',<'='>,200:20] +[@839,4973:4982='stackalloc',<'stackalloc'>,200:22] +[@840,4983:4983='[',<'['>,200:32] +[@841,4984:4984=']',<']'>,200:33] +[@842,4986:4986='{',<'{'>,200:35] +[@843,4988:4988='1',,200:37] +[@844,4989:4989=',',<','>,200:38] +[@845,4991:4991='2',,200:40] +[@846,4992:4992=',',<','>,200:41] +[@847,4994:4994='3',,200:43] +[@848,4996:4996='}',<'}'>,200:45] +[@849,4997:4997=';',<';'>,200:46] +[@850,5003:5003='}',<'}'>,201:4] +[@851,5010:5015='public',<'public'>,203:4] +[@852,5017:5020='void',<'void'>,203:11] +[@853,5022:5034='TupleEquality',,203:16] +[@854,5035:5035='(',<'('>,203:29] +[@855,5036:5036=')',<')'>,203:30] +[@856,5042:5042='{',<'{'>,204:4] +[@857,5052:5052='(',<'('>,205:8] +[@858,5053:5055='int',<'int'>,205:9] +[@859,5056:5056=',',<','>,205:12] +[@860,5058:5058='(',<'('>,205:14] +[@861,5059:5061='int',<'int'>,205:15] +[@862,5062:5062=',',<','>,205:18] +[@863,5064:5066='int',<'int'>,205:20] +[@864,5067:5067=')',<')'>,205:23] +[@865,5068:5068=')',<')'>,205:24] +[@866,5070:5071='t1',,205:26] +[@867,5072:5072=',',<','>,205:28] +[@868,5074:5075='t2',,205:30] +[@869,5076:5076=';',<';'>,205:32] +[@870,5086:5088='var',<'var'>,206:8] +[@871,5090:5092='res',,206:12] +[@872,5094:5094='=',<'='>,206:16] +[@873,5096:5097='t1',,206:18] +[@874,5099:5100='==',<'=='>,206:21] +[@875,5102:5102='(',<'('>,206:24] +[@876,5103:5103='1',,206:25] +[@877,5104:5104=',',<','>,206:26] +[@878,5106:5106='(',<'('>,206:28] +[@879,5107:5107='2',,206:29] +[@880,5108:5108=',',<','>,206:30] +[@881,5110:5110='3',,206:32] +[@882,5111:5111=')',<')'>,206:33] +[@883,5112:5112=')',<')'>,206:34] +[@884,5113:5113=';',<';'>,206:35] +[@885,5119:5119='}',<'}'>,207:4] +[@886,5121:5121='}',<'}'>,208:0] +[@887,5123:5122='',,209:0] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.red.txt new file mode 100644 index 000000000..27473dc76 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_member_declaration (class_declaration class (identifier CSharp70) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier PatternMatching)) ( (parameter_list (fixed_parameters (fixed_parameter (type (class_type string)) (identifier arg)) , (fixed_parameter (type (integral_type int)) (identifier b)))) )) (method_body (block { (statement_list (statement (switch_statement switch ( (expression (identifier arg)) ) (switch_block { (switch_section (switch_label case (pattern (literal "A")) (case_guard when (expression (relational_expression (relational_expression (identifier b)) > (shift_expression (literal 50))))) :) (switch_label case (pattern (literal "B")) (case_guard when (expression (relational_expression (relational_expression (identifier b)) < (shift_expression (literal 50))))) :) (switch_label default :) (statement_list (break_statement break ;))) }))) (statement (expression_statement (statement_expression (assignment (unary_expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) (identifier D))) , (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier E) (type_argument_list < (type_arguments (type_argument (identifier F)) , (type_argument (identifier G))) >))) (identifier H))) ))) (assignment_operator =) (expression (identifier e)))) ;)) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (null_conditional_member_access (primary_expression (null_conditional_member_access (primary_expression (identifier x)) ? . (identifier y))) ? . (identifier z))) is (pattern (declaration_pattern (type (identifier Type)) (simple_designation (identifier value2)))))) ) (embedded_statement (block { })))) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier expr)) is (pattern (declaration_pattern (type (identifier Type)) (simple_designation (identifier v)))))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (invocation_expression (primary_expression (identifier Hello)) ( ))) ;)) }))))) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier static)) (method_modifier async)) (return_type (identifier Task)) (method_header (member_name (identifier LocalFunctions)) ( (parameter_list (fixed_parameter (type (array_type (non_array_type (class_type string)) (rank_specifier [ ]))) (identifier args))) )) (method_body (block { (statement_list (statement (local_function_declaration (return_type (class_type string)) (local_function_header (identifier Hello2) ( (parameter_list (fixed_parameter (type (integral_type int)) (identifier i))) )) (local_function_body (block { (statement_list (return_statement return (expression (element_access (primary_no_array_creation_expression (identifier args)) [ (argument_list (identifier i)) ])) ;)) })))) (statement (local_function_declaration (local_function_modifier async) (return_type (namespace_or_type_name (identifier Task) (type_argument_list < (type_arguments (class_type string)) >))) (local_function_header (identifier Hello) (type_parameter_list < (type_parameters (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier i))) )) (local_function_body => (expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Task)) . (identifier FromResult))) ( (argument_list (element_access (primary_no_array_creation_expression (identifier args)) [ (argument_list (identifier i)) ])) ))))) ;))) (statement (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (identifier Hello)) ( (argument_list (literal 1)) ))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier static))) (return_type void) (method_header (member_name (identifier OutVar)) ( (parameter_list (fixed_parameter (type (array_type (non_array_type (class_type string)) (rank_specifier [ ]))) (identifier args))) )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (predefined_type int) . (identifier TryParse))) ( (argument_list (argument (invocation_expression (primary_expression (identifier Hello)) ( (argument_list (literal 1)) ))) , (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (contextual_keyword var)) (identifier item)))))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (predefined_type int) . (identifier TryParse))) ( (argument_list (argument (invocation_expression (primary_expression (identifier Hello)) ( (argument_list (literal 1)) ))) , (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (integral_type int)) (identifier item)))))) ))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ThrowExpression)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier result) = (expression (null_coalescing_expression (conditional_or_expression (identifier nullableResult)) ?? (null_coalescing_expression (throw_expression throw (null_coalescing_expression (object_creation_expression new (type (identifier NullReferenceException)) ( )))))))))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier BinaryLiterals)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier nineteen) = (local_variable_initializer (literal 0b10011)))))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier DigitSeparators)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier bin) = (local_variable_initializer (literal 0b1001_1010_0001_0100)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier hex) = (local_variable_initializer (literal 0x1b_a0_44_fe)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier dec) = (local_variable_initializer (literal 33_554_432)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier weird) = (local_variable_initializer (literal 1_2__3___4____5_____6______7_______8________9)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type double)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier real) = (local_variable_initializer (literal 1_000.111_1e-1_000)))))) ;))) })))) }))) (namespace_member_declaration (class_declaration class (identifier CSharp71) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier DefaultWithoutTypeName)) ( (parameter_list (fixed_parameter (type (class_type string)) (identifier content) (default_argument = (expression (default_literal default))))) )) (method_body (block { (statement_list (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DefaultWithoutTypeName)) ( (argument_list (default_literal default)) ))) ;)) })))) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier TupleRecognize)) ( (parameter_list (fixed_parameters (fixed_parameter (type (integral_type int)) (identifier a)) , (fixed_parameter (type (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) ))) (identifier b)) , (fixed_parameter (type (nullable_value_type (non_nullable_value_type (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) ))) (nullable_type_annotation ?))) (identifier c)))) )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier result) = (expression (invocation_expression (primary_expression (member_access (primary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier list)) . (identifier Select))) ( (argument_list (lambda_expression (anonymous_function_signature (identifier c)) => (anonymous_function_body (tuple_expression ( (tuple_element (member_access (primary_expression (identifier c)) . (identifier f1))) , (tuple_element (identifier f3) : (expression (member_access (primary_expression (identifier c)) . (identifier f2)))) ))))) ))) . (identifier Where))) ( (argument_list (lambda_expression (anonymous_function_signature (identifier t)) => (anonymous_function_body (equality_expression (equality_expression (member_access (primary_expression (identifier t)) . (identifier f2))) == (relational_expression (literal 1)))))) )))))) ;)) })))) }))) (namespace_member_declaration (class_declaration class (identifier CSharp72) (class_body { (class_member_declaration (struct_declaration (struct_modifier readonly) struct (identifier ReadonlyRef1) (struct_body { (struct_member_declaration (field_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (integral_type int))) >))) (variable_declarators (variable_declarator (identifier s) = (variable_initializer (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (anonymous_function_parameter_modifier in) (type (integral_type int)) (identifier x))) ))) => (anonymous_function_body (identifier x)))))) ;)) (struct_member_declaration (indexer_declaration (ref_kind ref) (indexer_declarator (type (identifier TValue)) this [ (parameter_list (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier TKey)) (identifier index))) ]) (ref_indexer_body => ref (variable_reference (null_literal null)) ;))) (struct_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (binary_operator_declarator (type (identifier Vector3)) operator (overloadable_binary_operator +) ( (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier x)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier y)) ))) (operator_body => (expression (null_literal null)) ;))) (struct_member_declaration (method_declaration (ref_method_modifiers (ref_method_modifier static)) (ref_kind ref readonly) (ref_return_type (identifier Vector3)) (method_header (member_name (identifier M1_Trace)) ( )) (ref_method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration (ref_kind ref readonly) var (ref_local_variable_declarator (identifier r1) = ref (variable_reference (invocation_expression (primary_expression (identifier M1)) ( )))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_ref_local_variable_declaration (ref_kind ref readonly) (type (identifier Vector3)) (ref_local_variable_declarators (ref_local_variable_declarator (identifier r2) = ref (variable_reference (explictly_typed_default default ( (type (identifier Vector3)) ))))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier Mutate)) ( (argument_list (argument_value ref (variable_reference (identifier r1)))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier Print)) ( (argument_list (argument_value in (variable_reference (identifier r1)))) ))) ;)) (statement (return_statement return ref (variable_reference (identifier r1)) ;))) })))) }))) (class_member_declaration (struct_declaration ref struct (identifier ReadonlyRef2) (struct_body { (struct_member_declaration (method_declaration ref_method_modifiers (ref_kind ref readonly) (ref_return_type (identifier Guid)) (method_header (member_name (identifier Test)) ( (parameter_list (fixed_parameters (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier v1)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier v2)))) )) (ref_method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier v1)) (assignment_operator =) (expression (explictly_typed_default default ( (type (identifier Vector3)) ))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (member_access (primary_expression (identifier v1)) . (identifier X))) (assignment_operator =) (expression (literal 0)))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier foo)) ( (argument_list (argument_value ref (variable_reference (member_access (primary_expression (identifier v1)) . (identifier X))))) ))) ;)) (statement (return_statement return ref (variable_reference (parenthesized_expression ( (expression (conditional_expression (null_coalescing_expression (equality_expression (equality_expression (identifier arr)) != (relational_expression (null_literal null)))) ? ref (variable_reference (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) : ref (variable_reference (element_access (primary_no_array_creation_expression (identifier otherArr)) [ (argument_list (literal 0)) ])))) ))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier span) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 1)) ])))))) ;)) (statement (return_statement return (expression (object_creation_expression new (type (identifier Vector3)) ( (argument_list (argument (additive_expression (additive_expression (member_access (primary_expression (identifier v1)) . (identifier X))) + (multiplicative_expression (member_access (primary_expression (identifier v2)) . (identifier X))))) , (argument (additive_expression (additive_expression (member_access (primary_expression (identifier v1)) . (identifier Y))) + (multiplicative_expression (member_access (primary_expression (identifier v2)) . (identifier Y))))) , (argument (additive_expression (additive_expression (member_access (primary_expression (identifier v1)) . (identifier Z))) + (multiplicative_expression (member_access (primary_expression (identifier v2)) . (identifier Z)))))) ))) ;))) })))) (struct_member_declaration (method_declaration ref_method_modifiers (ref_kind ref) (ref_return_type (identifier T)) (method_header (member_name (identifier Choice)) ( (parameter_list (fixed_parameters (fixed_parameter (type (simple_type bool)) (identifier condition)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (identifier T)) (identifier consequence)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (identifier T)) (identifier alternative)))) )) (ref_method_body (block { (statement_list (if_statement if ( (boolean_expression (identifier condition)) ) (embedded_statement (block { (statement_list (return_statement return ref (variable_reference (identifier consequence)) ;)) })) else (embedded_statement (block { (statement_list (return_statement return ref (variable_reference (identifier alternative)) ;)) })))) })))) }))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier DoSomething)) ( (parameter_list (fixed_parameters (fixed_parameter (type (simple_type bool)) (identifier isEmployed)) , (fixed_parameter (type (class_type string)) (identifier personName)) , (fixed_parameter (type (integral_type int)) (identifier personAge)))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier NonTrailingNamedArguments)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (argument_name (identifier isEmployed) :) (argument_value (boolean_literal true))) , (argument (identifier name)) , (argument (identifier age))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (boolean_literal true)) , (argument (argument_name (identifier personName) :) (argument_value (identifier name))) , (argument (identifier age))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (identifier name)) , (argument (argument_name (identifier isEmployed) :) (argument_value (boolean_literal true))) , (argument (identifier age))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (identifier name)) , (argument (identifier age)) , (argument (argument_name (identifier isEmployed) :) (argument_value (boolean_literal true)))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (boolean_literal true)) , (argument (argument_name (identifier personAge) :) (argument_value (identifier age))) , (argument (argument_name (identifier personName) :) (argument_value (identifier name)))) ))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ConditionalRef)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration (ref_kind ref) var (ref_local_variable_declarator (identifier r) = ref (variable_reference (parenthesized_expression ( (expression (conditional_expression (null_coalescing_expression (equality_expression (equality_expression (identifier arr)) != (relational_expression (null_literal null)))) ? ref (variable_reference (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) : ref (variable_reference (element_access (primary_no_array_creation_expression (identifier otherArr)) [ (argument_list (literal 0)) ])))) )))))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier LeadingSeparator)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier res) = (expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (literal 0)) + (multiplicative_expression (literal 123))) + (multiplicative_expression (literal 1_2_3))) + (multiplicative_expression (literal 0x1_2_3))) + (multiplicative_expression (literal 0b101))) + (multiplicative_expression (literal 0b1_0_1))) + (multiplicative_expression (literal 0x_1_2))) + (multiplicative_expression (literal 0b_1_0_1))))))) ;)) })))) }))) (namespace_member_declaration (class_declaration class (identifier CSharp73) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Blittable)) (type_parameter_list < (type_parameters (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier (contextual_keyword value)))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (contextual_keyword unmanaged)))) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword unmanaged)) = (expression (literal 666))))) ;)) })))) (class_member_declaration (struct_declaration (struct_modifier (unsafe_modifier unsafe)) struct (identifier IndexingMovableFixed) (struct_body { (struct_member_declaration (fixed_size_buffer_declaration (fixed_size_buffer_modifier public) fixed (buffer_element_type (integral_type int)) (fixed_size_buffer_declarators (fixed_size_buffer_declarator (identifier myFixedField) [ (constant_expression (literal 10)) ])) ;)) }))) (class_member_declaration (field_declaration (field_modifier static) (type (identifier IndexingMovableFixed)) (variable_declarators (identifier s)) ;)) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (unsafe_modifier unsafe))) (return_type void) (method_header (member_name (identifier IndexingMovableFixedFields)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (pointer_type (value_type (integral_type int)) *)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier ptr) = (local_variable_initializer (member_access (primary_expression (identifier s)) . (identifier myFixedField))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier t) = (local_variable_initializer (element_access (primary_no_array_creation_expression (member_access (primary_expression (identifier s)) . (identifier myFixedField))) [ (argument_list (literal 5)) ])))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier PatternBasedFixed)) ( )) (method_body (block { (statement_list (fixed_statement fixed ( (pointer_type (value_type (integral_type byte)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier ptr) = (fixed_pointer_initializer (identifier byteArray)))) ) (embedded_statement (block { })))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier StackallocArrayInitializer)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 3)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (constant_expression (literal 3)) ] (stackalloc_initializer { (stackalloc_initializer_element_list (stackalloc_element_initializer (literal 1)) , (stackalloc_element_initializer (literal 2)) , (stackalloc_element_initializer (literal 3))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ ] (stackalloc_initializer { (stackalloc_initializer_element_list (stackalloc_element_initializer (literal 1)) , (stackalloc_element_initializer (literal 2)) , (stackalloc_element_initializer (literal 3))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc [ ] (stackalloc_initializer { (stackalloc_initializer_element_list (stackalloc_element_initializer (literal 1)) , (stackalloc_element_initializer (literal 2)) , (stackalloc_element_initializer (literal 3))) }))))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier TupleEquality)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) ))) ))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier t1)) , (explicitly_typed_local_variable_declarator (identifier t2))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier res) = (expression (equality_expression (equality_expression (identifier t1)) == (relational_expression (tuple_expression ( (tuple_element (literal 1)) , (tuple_element (tuple_expression ( (tuple_element (literal 2)) , (tuple_element (literal 3)) ))) )))))))) ;))) })))) }))))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.svg new file mode 100644 index 000000000..af57f8c21 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.svg @@ -0,0 +1,11065 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +declaration_expression + + + +identifier + + + +throw_expression + + + +method_modifiers + + + +parameter_list + + + +explicitly_typed_local_variable_declarators + + + +1 + + + +stackalloc_element_initializer + + + +readonly + + + +ref_method_modifier + + + +] + + + +namespace_member_declaration + + + +identifier + + + +local_variable_declaration + + + +class_member_declaration + + + +type + + + +pattern + + + +value2 + + + +: + + + +name + + + +) + + + +ref + + + +ref + + + +method_declaration + + + +statement + + + +method_header + + + +null_literal + + + +( + + + +method_modifiers + + + +, + + + +primary_expression + + + +identifier + + + +block + + + +declaration_statement + + + +DigitSeparators + + + +ref + + + +additive_expression + + + +stackalloc_element_initializer + + + +method_header + + + +invocation_expression + + + +method_declaration + + + +default_literal + + + +implicitly_typed_local_variable_declaration + + + +; + + + +block + + + +statement_list + + + +var + + + +method_modifiers + + + +33_554_432 + + + ++ + + + +local_variable_initializer + + + +simple_designation + + + +variable_initializer + + + +primary_expression + + + +statement_expression + + + +member_name + + + +class_member_declaration + + + +local_variable_initializer + + + +50 + + + +( + + + +0 + + + +method_header + + + +literal + + + +literal + + + +namespace_member_declaration + + + +public + + + +) + + + +parameter_mode_modifier + + + +; + + + +relational_expression + + + +element_access + + + +type_argument_list + + + +parenthesized_expression + + + +type + + + +unsafe + + + +int + + + +ref_return_type + + + +statement_list + + + +multiplicative_expression + + + +local_variable_initializer + + + +primary_expression + + + +stackalloc_expression + + + +parameter_list + + + +public + + + +member_access + + + +local_variable_type + + + +identifier + + + +argument_name + + + +stackalloc_initializer_element_list + + + +identifier + + + +primary_expression + + + +method_modifier + + + +identifier + + + +3 + + + +identifier + + + +ref + + + +stackalloc_element_initializer + + + +] + + + +{ + + + +expression + + + +null_conditional_member_access + + + +type_argument_list + + + +{ + + + +identifier + + + +ref + + + +argument_value + + + +( + + + +Vector3 + + + +struct_body + + + +method_modifiers + + + +return_type + + + +integral_type + + + +{ + + + +< + + + +identifier + + + +declaration_statement + + + +local_variable_initializer + + + +( + + + +; + + + +identifier + + + +type + + + +type + + + +PatternBasedFixed + + + +argument_value + + + +, + + + +return_type + + + +statement_list + + + +identifier + + + +simple_designation + + + +equality_expression + + + +, + + + +byteArray + + + +stackalloc_element_initializer + + + +assignment_operator + + + +CSharp72 + + + +method_modifiers + + + +operator_body + + + +statement + + + +, + + + +identifier + + + +ref + + + +{ + + + +type_argument_list + + + +local_variable_initializer + + + +method_header + + + +10 + + + +public + + + +ref + + + +method_modifier + + + +ref_method_modifier + + + +identifier + + + +primary_expression + + + +method_header + + + +identifier + + + +expression + + + +arr + + + +0x_1_2 + + + +fixed + + + +statement_expression + + + +{ + + + +] + + + +* + + + +statement + + + +new + + + +) + + + +( + + + +expression_statement + + + +Test + + + +argument + + + +local_function_header + + + +invocation_expression + + + +; + + + +constant_expression + + + +namespace_or_type_name + + + +identifier + + + +literal + + + +{ + + + +? + + + +literal + + + +result + + + +{ + + + +null_literal + + + +x + + + +simple_type + + + +switch_label + + + +identifier + + + +identifier + + + +statement_list + + + +ref_method_modifiers + + + +tuple_element + + + +equality_expression + + + +member_name + + + +literal + + + +type_arguments + + + +{ + + + += + + + +argument_list + + + +variable_reference + + + +explicitly_typed_local_variable_declaration + + + +s + + + +identifier + + + +) + + + +identifier + + + +method_modifiers + + + +) + + + +personAge + + + +member_name + + + +statement + + + +out + + + +type_argument + + + +default + + + +statement + + + +class_member_declaration + + + +equality_expression + + + +identifier + + + +int + + + +v1 + + + +} + + + +type + + + +Span + + + +primary_expression + + + +member_access + + + +throw + + + +identifier + + + +argument_value + + + +} + + + +primary_expression + + + +fixed_parameters + + + +identifier + + + +statement_list + + + +literal + + + +object_creation_expression + + + +argument + + + +pointer_type + + + +M1 + + + +variable_reference + + + +boolean_expression + + + +stackalloc_expression + + + +namespace_or_type_name + + + +implicitly_typed_local_variable_declaration + + + +T + + + +: + + + +ref + + + +statement_list + + + +relational_expression + + + +relational_expression + + + +member_access + + + +< + + + +local_function_declaration + + + +a + + + +assignment_operator + + + +argument_list + + + +method_modifiers + + + +b + + + +type_arguments + + + +( + + + +statement + + + +declaration_expression + + + +statement_expression + + + +. + + + +expression + + + +type_argument + + + +member_access + + + +r1 + + + +2 + + + +tuple_type + + + +class_member_declaration + + + +} + + + +compilation_unit + + + +; + + + +consequence + + + +) + + + +=> + + + +integral_type + + + +switch_label + + + +} + + + +return + + + +> + + + +type + + + +; + + + +multiplicative_expression + + + += + + + +[ + + + +embedded_statement + + + +v2 + + + +isEmployed + + + +0 + + + +identifier + + + +identifier + + + +ref_method_modifier + + + +literal + + + +member_access + + + +additive_expression + + + +type + + + +identifier + + + +member_access + + + +identifier + + + +isEmployed + + + +public + + + +void + + + +, + + + +this + + + +explicitly_typed_local_variable_declaration + + + +int + + + +var + + + +primary_expression + + + +local_variable_declaration + + + +expression + + + +> + + + +implicitly_typed_local_variable_declaration + + + +Span + + + +integral_type + + + +literal + + + +( + + + +CSharp71 + + + +) + + + +ref_kind + + + +namespace_or_type_name + + + +type + + + +) + + + +identifier + + + +public + + + +argument + + + +struct_modifier + + + +declaration_statement + + + +, + + + +primary_expression + + + +{ + + + +ref_local_variable_declarator + + + +fixed_parameter + + + += + + + +object_creation_expression + + + +identifier + + + +value_type + + + +implicitly_typed_local_variable_declarator + + + +simple_type + + + +identifier + + + +variable_declarators + + + +local_variable_type + + + +explicitly_typed_local_variable_declaration + + + +primary_expression + + + +local_variable_initializer + + + +int + + + +; + + + +; + + + +identifier + + + +identifier + + + +ref_local_variable_declarator + + + +unmanaged_type + + + +member_access + + + +identifier + + + +literal + + + +identifier + + + +type_arguments + + + +( + + + +: + + + +IndexingMovableFixed + + + +, + + + +fixed_parameter + + + +C + + + +[ + + + +local_variable_declaration + + + +; + + + +return_statement + + + +"A" + + + +method_modifiers + + + +member_access + + + +i + + + +member_name + + + +type_argument_list + + + +argument + + + +boolean_literal + + + +int + + + +stackalloc_element_initializer + + + +arg + + + +declaration_statement + + + +identifier + + + +TValue + + + +member_name + + + +ref_method_modifier + + + +identifier + + + +) + + + +PatternMatching + + + +void + + + +identifier + + + +ref + + + +type_arguments + + + +1 + + + +identifier + + + +if_statement + + + +) + + + +argument + + + +age + + + +identifier + + + +identifier + + + +result + + + +operator_declaration + + + +: + + + +integral_type + + + +( + + + +local_variable_initializer + + + +boolean_literal + + + +type_parameter_constraints_clause + + + +anonymous_function_parameter_modifier + + + +null_coalescing_expression + + + +nullable_value_type + + + +contextual_keyword + + + +method_declaration + + + +. + + + +indexer_declarator + + + +identifier + + + +? + + + +local_function_declaration + + + +type + + + +class + + + +variable_declarator + + + +variable_reference + + + +struct + + + +identifier + + + +LeadingSeparator + + + +case_guard + + + +explicitly_typed_local_variable_declarator + + + +( + + + +member_name + + + +0b1_0_1 + + + +ReadonlyRef2 + + + +ref_method_modifier + + + +statement + + + +implicitly_typed_local_variable_declaration + + + +v2 + + + +literal + + + +) + + + +argument + + + +expression_statement + + + +method_body + + + +identifier + + + +member_name + + + +equality_expression + + + +declaration_statement + + + +return + + + +a + + + +, + + + +literal + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +string + + + +primary_expression + + + ++ + + + +args + + + +identifier + + + +if_statement + + + +pattern + + + +; + + + +a + + + +) + + + +method_header + + + +identifier + + + +struct_modifier + + + +integral_type + + + +void + + + +( + + + +statement_expression + + + +var + + + +statement_list + + + +CSharp70 + + + +FromResult + + + +fixed_parameters + + + +v1 + + + +[ + + + +parameter_modifier + + + +type_argument_list + + + +identifier + + + +identifier + + + +expression + + + +identifier + + + +equality_expression + + + +int + + + +var + + + +ref + + + +primary_expression + + + ++ + + + +variable_reference + + + +method_body + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +void + + + +identifier + + + +identifier + + + +argument_list + + + +identifier + + + +[ + + + +primary_expression + + + +return_type + + + +null + + + +class_member_declaration + + + += + + + +unary_expression + + + +identifier + + + +e + + + +) + + + +identifier + + + +unary_expression + + + +type_parameter_list + + + +statement_expression + + + +method_declaration + + + +[ + + + +Print + + + +argument + + + +void + + + +{ + + + +expression + + + +identifier + + + +parameter_modifier + + + +) + + + +type + + + +) + + + +return_type + + + +ref_method_modifier + + + +G + + + +argument_list + + + +parameter_mode_modifier + + + +ref + + + +argument + + + +. + + + +; + + + +ref + + + +; + + + +identifier + + + +expression_statement + + + +await_expression + + + +{ + + + +type_argument_list + + + +] + + + +; + + + +parameter_list + + + +rank_specifier + + + +method_declaration + + + +type + + + +; + + + +field_modifier + + + +unmanaged_type + + + += + + + +ref + + + +identifier + + + +statement + + + +block + + + +identifier + + + +embedded_statement + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +type_arguments + + + +argument_list + + + +myFixedField + + + +) + + + +expression_statement + + + +integral_type + + + +int + + + +; + + + +integral_type + + + +identifier + + + ++ + + + +identifier + + + +public + + + +null_literal + + + +X + + + +1_2_3 + + + +local_variable_initializer + + + +statement + + + +literal + + + +bool + + + +method_modifiers + + + +fixed_pointer_declarator + + + +local_variable_declaration + + + +local_variable_declaration + + + +block + + + +identifier + + + +return_type + + + +statement + + + +struct_member_declaration + + + +identifier + + + +literal + + + +explicitly_typed_local_variable_declaration + + + +is + + + +primary_expression + + + +additive_expression + + + +parameter_mode_modifier + + + +identifier + + + +null_coalescing_expression + + + +identifier + + + +local_function_modifier + + + +identifier + + + +multiplicative_expression + + + +ref_kind + + + +literal + + + +personName + + + +relational_expression + + + +type_parameters + + + +. + + + +{ + + + +relational_expression + + + +method_declaration + + + +additive_expression + + + +unmanaged + + + +( + + + +} + + + +) + + + +, + + + +stackalloc_initializer_element_list + + + +personAge + + + +foo + + + +> + + + +argument_list + + + +anonymous_function_body + + + +identifier + + + +literal + + + +literal + + + +, + + + +identifier + + + +} + + + +, + + + +DoSomething + + + +( + + + +declaration_statement + + + +equality_expression + + + +string + + + +primary_expression + + + +case + + + +is + + + +struct_member_declaration + + + +personName + + + +identifier + + + +{ + + + +; + + + +type_arguments + + + +multiplicative_expression + + + +struct + + + +statement + + + +personName + + + +[ + + + +string + + + +primary_no_array_creation_expression + + + +tuple_type_element + + + +x + + + +int + + + +< + + + +? + + + +t + + + +namespace_member_declaration + + + +ReadonlyRef1 + + + +fixed_size_buffer_declarator + + + +) + + + +implicitly_typed_local_variable_declaration + + + +statement_list + + + +int + + + +IndexingMovableFixed + + + +; + + + +local_variable_declaration + + + +argument_value + + + +{ + + + +identifier + + + +member_access + + + +. + + + +) + + + +conditional_expression + + + +tuple_type_element + + + +identifier + + + +identifier + + + +; + + + +) + + + +anonymous_function_signature + + + +( + + + +stackalloc + + + +argument_value + + + +block + + + +type + + + +] + + + +explicitly_typed_ref_local_variable_declaration + + + +statement + + + +argument + + + +element_access + + + +parameter_modifier + + + +] + + + +method_modifiers + + + +identifier + + + +, + + + +ref + + + +tuple_type_element + + + +assignment + + + +declaration_statement + + + +TryParse + + + +type + + + +hex + + + +identifier + + + +identifier + + + +local_variable_declaration + + + +identifier + + + +identifier + + + +statement_expression + + + +variable_reference + + + +ref_method_body + + + +identifier + + + +identifier + + + += + + + +} + + + +identifier + + + +. + + + +, + + + +ref_kind + + + +} + + + +identifier + + + +invocation_expression + + + +literal + + + +v1 + + + +declaration_statement + + + +explicitly_typed_local_variable_declarator + + + +; + + + +public + + + +fixed_size_buffer_modifier + + + +Hello + + + +argument_list + + + +) + + + +; + + + +== + + + +class_type + + + +parameter_list + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +name + + + +additive_expression + + + +int + + + +1 + + + +type_argument_list + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +( + + + +void + + + += + + + +identifier + + + +ref_local_variable_declarator + + + +return_type + + + +{ + + + +member_name + + + +declaration_pattern + + + +expression + + + +; + + + +, + + + +double + + + +primary_expression + + + +additive_expression + + + +; + + + +explicitly_typed_local_variable_declaration + + + +argument_list + + + +null_coalescing_expression + + + +literal + + + +fixed_pointer_initializer + + + +identifier + + + +( + + + +statement + + + +) + + + +{ + + + +integral_type + + + +literal + + + +class_declaration + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +method_header + + + +identifier + + + +. + + + +B + + + +f3 + + + +block + + + +explicitly_typed_local_variable_declaration + + + +0 + + + +type + + + +2 + + + +method_modifier + + + +primary_expression + + + +literal + + + +identifier + + + +Select + + + +] + + + +local_variable_declaration + + + +statement + + + +explicitly_typed_local_variable_declarator + + + +tuple_element + + + +{ + + + +ref_method_modifier + + + +args + + + +integral_type + + + +Vector3 + + + +( + + + +fixed_parameter + + + +argument_list + + + +fixed_parameter + + + +declaration_pattern + + + +default_literal + + + +1 + + + +multiplicative_expression + + + +identifier + + + +tuple_element + + + +; + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +argument + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +explicitly_typed_local_variable_declarator + + + +statement_expression + + + +method_modifiers + + + +primary_no_array_creation_expression + + + +s + + + +fixed_parameter + + + +. + + + +declaration_statement + + + +Vector3 + + + +return_type + + + +M1_Trace + + + +method_body + + + +explicitly_typed_local_variable_declarator + + + += + + + += + + + +invocation_expression + + + +. + + + +?? + + + +expression_statement + + + +stackalloc_expression + + + +identifier + + + +type + + + +unmanaged + + + +statement + + + +else + + + +literal + + + +r1 + + + +type + + + ++ + + + +type_arguments + + + +stackalloc_expression + + + +when + + + +byte + + + +i + + + +parameter_list + + + +, + + + +public + + + +lambda_expression + + + +return_statement + + + +class_declaration + + + +, + + + +relational_expression + + + +) + + + +) + + + +parameter_mode_modifier + + + +null + + + +int + + + +ref + + + +identifier + + + +local_variable_declaration + + + +member_name + + + +variable_reference + + + +statement + + + +c + + + +!= + + + +Choice + + + +0x1b_a0_44_fe + + + +} + + + +argument_list + + + +block + + + +( + + + +fixed_parameter + + + +expression_statement + + + +stackalloc + + + +declaration_statement + + + +string + + + +explicitly_typed_local_variable_declarators + + + +( + + + +) + + + +tuple_type + + + +return_statement + + + +; + + + +return_type + + + +identifier + + + +) + + + +argument_list + + + +expression + + + +boolean_literal + + + +local_variable_type + + + +literal + + + +return_type + + + +expression_statement + + + +in + + + +explicitly_typed_local_variable_declaration + + + +bin + + + +indexer_declaration + + + +true + + + +statement_list + + + +method_header + + + +index + + + +array_type + + + +int + + + +argument_value + + + +t2 + + + +identifier + + + +public + + + +unary_expression + + + +fixed_parameter + + + +identifier + + + += + + + +( + + + +age + + + +literal + + + +statement + + + +statement_list + + + +isEmployed + + + +=> + + + +} + + + +) + + + +member_access + + + +literal + + + +s + + + +t1 + + + += + + + +primary_expression + + + +ThrowExpression + + + +; + + + +identifier + + + +parameter_modifier + + + +primary_expression + + + +static + + + +identifier + + + +block + + + +method_modifiers + + + +await_expression + + + +expression + + + +static + + + +integral_type + + + +. + + + +expression_statement + + + +struct_declaration + + + +class_member_declaration + + + +fixed_parameters + + + +member_name + + + +member_name + + + +int + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +class_member_declaration + + + +> + + + +local_function_header + + + +statement + + + +integral_type + + + +; + + + +return_type + + + +fixed_parameter + + + +argument + + + +condition + + + +list + + + +} + + + +identifier + + + +3 + + + +, + + + += + + + +argument_name + + + +explicitly_typed_local_variable_declarator + + + +return_statement + + + +( + + + +{ + + + +implicitly_typed_local_variable_declaration + + + +r + + + +anonymous_function_signature + + + +relational_expression + + + +type + + + +: + + + +identifier + + + += + + + +name + + + +explicitly_typed_local_variable_declarator + + + +type_parameter_constraints + + + +embedded_statement + + + +, + + + +literal + + + +) + + + +lambda_expression + + + +Z + + + +identifier + + + +public + + + +member_name + + + += + + + +binary_operator_declarator + + + +] + + + +class_member_declaration + + + +anonymous_function_body + + + +fixed_parameter + + + +block + + + +struct + + + +type + + + +return_type + + + +argument_list + + + +( + + + +statement_list + + + +local_variable_initializer + + + +=> + + + +non_nullable_value_type + + + +[ + + + +identifier + + + +method_declaration + + + +literal + + + +integral_type + + + +ref_return_type + + + +pattern + + + +. + + + +identifier + + + +identifier + + + +3 + + + +fixed_parameters + + + +int + + + += + + + +void + + + +stackalloc + + + +public + + + +type + + + +default_argument + + + +explicitly_typed_local_variable_declarator + + + +ref_method_modifier + + + +async + + + +statement_list + + + +; + + + +primary_no_array_creation_expression + + + +type + + + +parameter_modifier + + + +type_argument + + + +class_body + + + +int + + + +in + + + +identifier + + + +{ + + + +, + + + +; + + + +) + + + +method_body + + + +( + + + +: + + + +parameter_list + + + +method_body + + + +[ + + + +block + + + +arr + + + +literal + + + +local_variable_declaration + + + +relational_expression + + + +contextual_keyword + + + +struct_member_declaration + + + +identifier + + + +unsafe_modifier + + + +primary_expression + + + +Hello + + + +await + + + +return_type + + + +public + + + +null_literal + + + +) + + + +return + + + +int + + + +identifier + + + +element_access + + + +void + + + +a + + + +void + + + +} + + + +argument_list + + + +, + + + +identifier + + + +F + + + +statement_expression + + + +Z + + + +} + + + +identifier + + + +struct_member_declaration + + + +) + + + +{ + + + +primary_expression + + + +argument + + + +primary_expression + + + +expression + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +relational_expression + + + +identifier + + + +t + + + +identifier + + + +type + + + +stackalloc_element_initializer + + + +var + + + +type_arguments + + + +weird + + + +statement + + + +member_access + + + +literal + + + +) + + + +fixed_parameters + + + +) + + + +public + + + +variable_reference + + + +} + + + +identifier + + + +identifier + + + +} + + + +type + + + +type_argument + + + +prog + + + +class_type + + + ++ + + + +conditional_or_expression + + + +) + + + +ref_local_variable_declarators + + + +) + + + +fixed_size_buffer_declaration + + + +integral_type + + + +local_variable_initializer + + + +E + + + +identifier + + + +parameter_mode_modifier + + + +i + + + +identifier + + + +; + + + +identifier + + + +member_access + + + +X + + + +, + + + +( + + + +( + + + +return_type + + + +identifier + + + +{ + + + +variable_reference + + + +declaration_statement + + + +content + + + +type + + + +public + + + +readonly + + + +identifier + + + +literal + + + +anonymous_function_body + + + +integral_type + + + +boolean_literal + + + +string + + + +declaration_statement + + + +> + + + +invocation_expression + + + +> + + + +identifier + + + +identifier + + + +} + + + +statement_expression + + + +overloadable_binary_operator + + + +in + + + +method_body + + + +Task + + + +, + + + +fixed_parameter + + + +statement + + + +primary_no_array_creation_expression + + + +unsafe_modifier + + + +argument + + + +local_variable_declaration + + + +explicitly_typed_local_variable_declarators + + + +type + + + +statement + + + +identifier + + + +T + + + +member_name + + + +Mutate + + + +identifier + + + +IndexingMovableFixedFields + + + +in + + + +, + + + +0 + + + +explicit_anonymous_function_parameter_list + + + +{ + + + +field_declaration + + + +predefined_type + + + +identifier + + + +) + + + +a + + + +statement + + + +ptr + + + +statement + + + +explictly_typed_default + + + +{ + + + +contextual_keyword + + + +member_access + + + +argument_value + + + +class_member_declaration + + + +Vector3 + + + +statement + + + +A + + + +2 + + + +shift_expression + + + +multiplicative_expression + + + +assignment + + + +type + + + +local_variable_declaration + + + +operator_modifier + + + +static + + + +integral_type + + + +; + + + +identifier + + + +0b_1_0_1 + + + ++ + + + +statement + + + +class_body + + + +method_modifiers + + + +( + + + +identifier + + + +name + + + +Hello + + + +parameter_list + + + +parameter_list + + + +invocation_expression + + + +block + + + +type + + + +ref_method_modifier + + + +method_body + + + +identifier + + + +block + + + +DoSomething + + + +identifier + + + +, + + + +true + + + +additive_expression + + + +variable_reference + + + +( + + + +fixed_parameter + + + +} + + + +( + + + +dec + + + +variable_reference + + + +where + + + +} + + + +identifier + + + +invocation_expression + + + +local_variable_initializer + + + +implicitly_typed_local_variable_declaration + + + +return + + + +class_member_declaration + + + +public + + + +( + + + +; + + + +struct_declaration + + + +item + + + +explicitly_typed_local_variable_declarator + + + +method_body + + + +default + + + +0b1001_1010_0001_0100 + + + +] + + + +stackalloc + + + +statement + + + +method_declaration + + + +s + + + +identifier + + + +identifier + + + +parameter_modifier + + + +integral_type + + + +type_arguments + + + +int + + + +identifier + + + +v1 + + + +ref_method_modifiers + + + +, + + + +} + + + +local_variable_initializer + + + +; + + + +block + + + +fixed_parameter + + + +50 + + + +{ + + + +int + + + +literal + + + +true + + + +method_body + + + +return_type + + + +switch_section + + + +identifier + + + +: + + + +literal + + + +) + + + +block + + + +tuple_element + + + +) + + + +method_header + + + +class_member_declaration + + + +T + + + +argument_list + + + +explicitly_typed_local_variable_declarators + + + +multiplicative_expression + + + +} + + + +struct_declaration + + + +expression + + + +type + + + +int + + + +c + + + +statement_list + + + +int + + + +null + + + +var + + + +< + + + +argument + + + +; + + + +type + + + +variable_reference + + + +method_header + + + +explicitly_typed_local_variable_declaration + + + +T + + + +identifier + + + +additive_expression + + + +primary_expression + + + +assignment_operator + + + +nineteen + + + +floating_point_type + + + +statement_expression + + + +( + + + +otherArr + + + +void + + + +argument_name + + + +element_access + + + +( + + + +statement + + + +identifier + + + +declaration_statement + + + +member_access + + + +) + + + +namespace_or_type_name + + + +ref + + + +method_modifier + + + +pointer_type + + + +v2 + + + +block + + + +f2 + + + +unmanaged_type + + + +X + + + +statement + + + +operator_modifier + + + +; + + + +declaration_statement + + + +switch_block + + + +namespace_or_type_name + + + +integral_type + + + +( + + + +, + + + +void + + + +ref_method_modifier + + + +explictly_typed_default + + + +invocation_expression + + + +OutVar + + + +ConditionalRef + + + +identifier + + + +v2 + + + +int + + + +type + + + +x + + + +0 + + + +local_variable_declaration + + + +< + + + +fixed_parameter + + + +primary_expression + + + +expression_statement + + + +identifier + + + +( + + + +. + + + +in + + + +item + + + +[ + + + +) + + + +( + + + +operator_declarator + + + +type + + + +"B" + + + +primary_expression + + + +( + + + +int + + + +class_member_declaration + + + +Func + + + +identifier + + + +block + + + +explicitly_typed_local_variable_declarators + + + +2 + + + +) + + + +. + + + +> + + + +invocation_expression + + + +Task + + + +fixed_parameter + + + +otherArr + + + +class_type + + + +NullReferenceException + + + +identifier + + + +shift_expression + + + +( + + + +( + + + +, + + + +method_header + + + +identifier + + + +( + + + +] + + + +method_modifiers + + + +identifier + + + +Type + + + +Vector3 + + + +element_access + + + +int + + + +v + + + +block + + + +embedded_statement + + + += + + + +class_member_declaration + + + +int + + + +declaration_statement + + + +variable_reference + + + +true + + + +ref_return_type + + + +) + + + +struct_member_declaration + + + +identifier + + + +namespace_or_type_name + + + +} + + + +implicitly_typed_local_variable_declarator + + + +when + + + +primary_expression + + + +block + + + +additive_expression + + + +expression + + + +local_variable_declaration + + + +return_type + + + +identifier + + + +] + + + +statement_list + + + +) + + + +expression_statement + + + +{ + + + +switch_label + + + +explicitly_typed_local_variable_declarators + + + +) + + + +statement_list + + + +expression_statement + + + +< + + + +identifier + + + +3 + + + +) + + + +argument_list + + + +[ + + + +non_array_type + + + +{ + + + +identifier + + + +1_000.111_1e-1_000 + + + +stackalloc_element_initializer + + + +member_name + + + +await + + + +primary_expression + + + +primary_expression + + + +Span + + + +; + + + +} + + + +Hello2 + + + +ref_method_modifier + + + +> + + + +explicitly_typed_local_variable_declarators + + + ++ + + + +] + + + +parameter_mode_modifier + + + +method_modifier + + + +; + + + +Where + + + +ref_kind + + + +ref + + + +( + + + +( + + + +invocation_expression + + + +identifier + + + +) + + + +class_declaration + + + +identifier + + + +t + + + +switch_statement + + + +invocation_expression + + + +) + + + +, + + + +variable_reference + + + +declaration_statement + + + +class_member_declaration + + + +, + + + +return_type + + + +int + + + +identifier + + + +parameter_modifier + + + +null_coalescing_expression + + + +literal + + + +class_member_declaration + + + +stackalloc_expression + + + +{ + + + +identifier + + + +[ + + + +: + + + +argument + + + +identifier + + + +declaration_expression + + + +c + + + +identifier + + + +readonly + + + +return_statement + + + +z + + + +statement + + + +argument_name + + + +res + + + +< + + + +( + + + +fixed_parameter + + + +} + + + +struct_body + + + +( + + + +type + + + +identifier + + + +name + + + +value_type + + + +class_member_declaration + + + +if + + + +class_member_declaration + + + +identifier + + + +; + + + +argument + + + +member_name + + + +( + + + +parameter_list + + + +( + + + +method_body + + + +declaration_statement + + + +tuple_expression + + + +statement_list + + + +< + + + +identifier + + + +y + + + +identifier + + + +? + + + +isEmployed + + + +expression + + + +{ + + + +tuple_type_element + + + +( + + + +identifier + + + +struct_member_declaration + + + +expression_statement + + + +block + + + +} + + + +int + + + +argument_list + + + +void + + + +identifier + + + +fixed_parameter + + + +identifier + + + +{ + + + += + + + +statement_expression + + + +=> + + + +identifier + + + +default + + + +argument + + + +=> + + + +; + + + +statement_list + + + +argument_value + + + +class_member_declaration + + + +: + + + +fixed_parameter + + + +block + + + +, + + + +fixed_parameter + + + +expr + + + +explicit_anonymous_function_signature + + + +boolean_expression + + + +identifier + + + +type_parameter_list + + + +block + + + +identifier + + + +TupleEquality + + + +fixed + + + +0x1_2_3 + + + +identifier + + + +identifier + + + +string + + + +; + + + +( + + + +) + + + +X + + + +; + + + +null_conditional_member_access + + + +< + + + +} + + + +, + + + +c + + + +) + + + +int + + + +identifier + + + +Type + + + +identifier + + + +ref_method_modifier + + + +integral_type + + + +method_declaration + + + +v1 + + + +argument + + + +assignment + + + +explicitly_typed_local_variable_declaration + + + +( + + + +DoSomething + + + +method_header + + + +member_access + + + +type + + + +case_guard + + + +( + + + +statement_list + + + +integral_type + + + +] + + + +expression_statement + + + +int + + + +DefaultWithoutTypeName + + + +method_header + + + +1 + + + +) + + + +integral_type + + + +type_parameter + + + +namespace_or_type_name + + + +rank_specifier + + + +type + + + +explicit_anonymous_function_parameter + + + += + + + +identifier + + + +identifier + + + +local_function_body + + + +( + + + += + + + +fixed_parameter + + + +method_header + + + +multiplicative_expression + + + +identifier + + + +identifier + + + +type + + + +consequence + + + +additive_expression + + + +declaration_statement + + + +condition + + + +identifier + + + +tuple_expression + + + +argument_list + + + +ref_method_modifier + + + +namespace_member_declaration + + + +out + + + +, + + + +method_modifier + + + +argument + + + +BinaryLiterals + + + +conditional_expression + + + +identifier + + + +new + + + +3 + + + +T + + + +integral_type + + + +return_type + + + +argument + + + +0 + + + +; + + + +identifier + + + +ref + + + +tuple_element + + + +< + + + +{ + + + +. + + + +ref + + + +local_variable_declaration + + + +struct_member_declaration + + + +{ + + + +arg + + + +tuple_type + + + +> + + + +tuple_type_element + + + +expression + + + +argument_list + + + +, + + + +null_coalescing_expression + + + +identifier + + + +literal + + + +literal + + + +primary_expression + + + +type + + + +identifier + + + +equality_expression + + + +type + + + +args + + + +statement + + + +ptr + + + +} + + + +[ + + + +statement_expression + + + +expression_statement + + + +tuple_element + + + +ref_method_modifier + + + +integral_type + + + +ref_method_modifiers + + + +args + + + +) + + + +class_member_declaration + + + +value + + + +alternative + + + +tuple_element + + + +} + + + +identifier + + + +break + + + +age + + + +method_declaration + + + +} + + + +class_type + + + +literal + + + +tuple_expression + + + +int + + + +r1 + + + +) + + + +type + + + +additive_expression + + + +integral_type + + + +. + + + +Vector3 + + + +ref_kind + + + +int + + + +integral_type + + + +] + + + +identifier + + + +primary_expression + + + +local_function_body + + + +identifier + + + +expression + + + +123 + + + +{ + + + +integral_type + + + +static + + + +type + + + +void + + + +identifier + + + +statement + + + +identifier + + + +identifier + + + +Blittable + + + +statement + + + +DoSomething + + + +class_type + + + +identifier + + + +array_type + + + +. + + + +primary_expression + + + +block + + + +type + + + +. + + + +embedded_statement + + + +0b101 + + + +) + + + +arr + + + +stackalloc_initializer_element_list + + + +; + + + +statement + + + +; + + + +r1 + + + +; + + + +local_variable_type + + + +ref_indexer_body + + + +argument_name + + + +statement_list + + + +method_body + + + +DoSomething + + + +stackalloc_initializer + + + +type + + + +relational_expression + + + +if_statement + + + +block + + + +literal + + + +. + + + +identifier + + + +class + + + +: + + + +method_header + + + +type_parameters + + + +Span + + + +local_variable_declaration + + + +0b10011 + + + +unary_expression + + + +non_array_type + + + +operator + + + +LocalFunctions + + + +member_access + + + +break_statement + + + +type + + + +identifier + + + +argument_list + + + +) + + + +block + + + +stackalloc_element_initializer + + + +statement_expression + + + +type + + + +statement_expression + + + +class_body + + + +identifier + + + +stackalloc_initializer + + + +!= + + + +) + + + +integral_type + + + +identifier + + + +identifier + + + +stackalloc_element_initializer + + + +int + + + +argument_list + + + +} + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +method_header + + + +x + + + +member_name + + + +{ + + + +* + + + += + + + +{ + + + +method_body + + + +) + + + +type + + + +parameter_list + + + +explicitly_typed_local_variable_declarators + + + +arr + + + +identifier + + + +parameter_list + + + +method_declaration + + + +Span + + + +identifier + + + +b + + + +, + + + +class_member_declaration + + + +) + + + +readonly + + + +identifier + + + +} + + + +f2 + + + +tuple_type_element + + + +f1 + + + +1 + + + +method_declaration + + + +identifier + + + +integral_type + + + +3 + + + ++ + + + +; + + + +member_name + + + +? + + + +{ + + + += + + + +integral_type + + + +ref + + + +tuple_type_element + + + +method_declaration + + + +1_2__3___4____5_____6______7_______8________9 + + + +; + + + +TupleRecognize + + + +, + + + +1 + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +identifier + + + +D + + + +bool + + + +expression_statement + + + +statement + + + +argument_name + + + +{ + + + +Vector3 + + + +] + + + +. + + + +} + + + +int + + + +parameter_list + + + +literal + + + +return + + + +v1 + + + +NonTrailingNamedArguments + + + +primary_no_array_creation_expression + + + +expression + + + +element_access + + + +int + + + +identifier + + + +invocation_expression + + + +statement + + + +< + + + +unary_expression + + + +( + + + +literal + + + +in + + + +res + + + +nullable_type_annotation + + + +argument_list + + + +identifier + + + +v1 + + + +local_variable_declaration + + + +method_declaration + + + +argument_list + + + +class_type + + + +; + + + +fixed_parameter + + + +class_member_declaration + + + +argument_list + + + +variable_reference + + + +method_header + + + +fixed_parameter + + + +if + + + +} + + + +class_type + + + +< + + + +method_header + + + +identifier + + + +{ + + + +void + + + +tuple_element + + + +primary_expression + + + +member_name + + + +namespace_or_type_name + + + +tuple_type_element + + + +var + + + +age + + + +) + + + +pattern + + + +; + + + += + + + +Hello + + + +local_variable_declaration + + + +type + + + +multiplicative_expression + + + +class + + + +explicitly_typed_local_variable_declaration + + + +( + + + +expression + + + +( + + + +ref_kind + + + +method_declaration + + + +T + + + +integral_type + + + +invocation_expression + + + +T + + + +( + + + +primary_no_array_creation_expression + + + +real + + + +ref + + + +default + + + +integral_type + + + +ref + + + +member_access + + + +explicitly_typed_local_variable_declarators + + + +primary_expression + + + +Y + + + +( + + + +1 + + + +identifier + + + +statement + + + +implicitly_typed_local_variable_declarator + + + +type + + + +( + + + +] + + + +fixed_parameter + + + +integral_type + + + +declaration_statement + + + +in + + + +method_modifiers + + + +=> + + + +async + + + +identifier + + + +identifier + + + +block + + + +[ + + + +member_name + + + += + + + +boolean_literal + + + +ref + + + +expression + + + +method_modifiers + + + +type + + + +( + + + +statement_list + + + +, + + + +additive_expression + + + +invocation_expression + + + +void + + + +b + + + +method_body + + + +int + + + +method_declaration + + + +stackalloc + + + +string + + + ++ + + + +method_body + + + +statement_list + + + +; + + + +explicitly_typed_local_variable_declarator + + + +variable_declarators + + + +type + + + +; + + + +Vector3 + + + +argument + + + +argument_value + + + +return_type + + + +contextual_keyword + + + +) + + + +: + + + +implicitly_typed_local_variable_declarator + + + += + + + +method_declaration + + + +identifier + + + +expression + + + +integral_type + + + +method_header + + + +primary_no_array_creation_expression + + + +buffer_element_type + + + +declaration_statement + + + +implicitly_typed_local_variable_declarator + + + +variable_reference + + + +readonly + + + +type_argument + + + +invocation_expression + + + +primary_expression + + + +method_body + + + +r2 + + + +local_variable_declaration + + + +b + + + +void + + + +additive_expression + + + +tuple_type + + + +> + + + +relational_expression + + + +T + + + +identifier + + + +fixed_statement + + + +, + + + +, + + + +primary_expression + + + +statement_expression + + + +member_name + + + +multiplicative_expression + + + +identifier + + + +method_declaration + + + +switch + + + +member_access + + + +field_declaration + + + +( + + + +) + + + +} + + + +unmanaged_type + + + +method_declaration + + + +method_modifier + + + +if + + + +1 + + + +( + + + +ref_method_modifier + + + +stackalloc_initializer + + + +primary_expression + + + +identifier + + + +argument_value + + + +ref_method_modifier + + + +666 + + + +, + + + +Vector3 + + + +y + + + +span + + + +identifier + + + +literal + + + +argument_list + + + +argument_list + + + +Task + + + +H + + + +null + + + +statement_expression + + + +invocation_expression + + + +ref_kind + + + +int + + + +statement_list + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +myFixedField + + + +statement + + + +parameter_mode_modifier + + + +identifier + + + +CSharp73 + + + +local_variable_initializer + + + +5 + + + +DefaultWithoutTypeName + + + +fixed_size_buffer_declarators + + + +expression + + + +StackallocArrayInitializer + + + +true + + + +[ + + + +relational_expression + + + +method_header + + + +. + + + +identifier + + + +method_modifiers + + + +integral_type + + + +} + + + +namespace_or_type_name + + + += + + + +identifier + + + +anonymous_function_signature + + + +> + + + +integral_type + + + +( + + + +parenthesized_expression + + + +class_declaration + + + +element_access + + + +} + + + +local_variable_declaration + + + +identifier + + + +local_variable_declaration + + + +type_argument_list + + + +variable_reference + + + +return + + + +TKey + + + +( + + + +identifier + + + +Y + + + +struct_body + + + +} + + + +alternative + + + +class + + + +literal + + + +return_type + + + +age + + + +additive_expression + + + +var + + + +identifier + + + +literal + + + +variable_reference + + + +) + + + +explicitly_typed_local_variable_declarator + + + +method_declaration + + + +i + + + +method_body + + + +static + + + +local_variable_declaration + + + +identifier + + + +Guid + + + +literal + + + +identifier + + + +; + + + +equality_expression + + + += + + + +identifier + + + +expression + + + +DoSomething + + + +literal + + + +tuple_expression + + + +Hello + + + +tuple_type_element + + + +case + + + +expression_statement + + + +block + + + +statement + + + +[ + + + +literal + + + +type_argument_list + + + +) + + + +invocation_expression + + + +invocation_expression + + + +: + + + +ref_method_body + + + +declaration_statement + + + +default + + + +( + + + +ref + + + +argument + + + +type + + + +statement_list + + + +, + + + +: + + + +, + + + ++ + + + +declaration_statement + + + +identifier + + + +TryParse + + + +Vector3 + + + += + + + +return_statement + + + +unsafe + + + +boolean_expression + + + +lambda_expression + + + +declaration_expression + + + +ref_method_body + + + +[ + + + +invocation_expression + + + +class_body + + + +argument_value + + + +> + + + +constant_expression + + + +predefined_type + + + +( + + + +== + + + +fixed_pointer_declarators + + + +identifier + + + +nullableResult + + + +} + + + +method_body + + + +primary_expression + + + +myFixedField + + + +t1 + + + +, + + + +statement_list + + + +literal + + + +type_argument + + + +identifier + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/_Sample_Options.txt new file mode 100644 index 000000000..e5715448f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Base -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/ReadMe.md b/tools/GrammarTesting/Tests/ReadMe.md new file mode 100644 index 000000000..099e0386e --- /dev/null +++ b/tools/GrammarTesting/Tests/ReadMe.md @@ -0,0 +1,10 @@ +# Tests + +The tests are divided into grammar checks, in `Grammar`, and parsing tests, in `Parsing`. + +There is an environment parallel of this directory, its path can be found in the +environment variable `BG_LIB_TESTS` (currently `Environment/Tests`). + +If `Grammar` is missing here look in the environment, ditto for `Parsing` but that +is less likely not to be here. + diff --git a/tools/validate-grammar.sh b/tools/validate-grammar.sh index 722f8b80f..5b1432a22 100755 --- a/tools/validate-grammar.sh +++ b/tools/validate-grammar.sh @@ -1,10 +1,52 @@ #!/bin/bash -set -eu -o pipefail +set -o pipefail -declare -r SPEC_DIRECTORY=../standard +# Grammar Testing 2.1.0 +# cwd when called is /tools -dotnet csharpgrammar ../test-grammar CSharp $SPEC_DIRECTORY -m ../.github/workflows/dependencies/ReplaceAndAdd.md +# the tarball is in /.github/workflows/dependencies/GrammarTestingEnv.tgz +TarBall=$(realpath ../.github/workflows/dependencies/GrammarTestingEnv.tgz) + +# the testing directory is /tools/GrammarTesting +GrammarTesting=$(realpath ./GrammarTesting) + +# the Standard source is in ../standard +StandardSource=$(realpath ../standard) + +# unpack the tarball +pushd "${GrammarTesting}" >& /dev/null +tar -xf "${TarBall}" +# all unpacked and cwd now $GrammarTesting + +# The testing package comes without the antlr jar or executable versions of BuildGrammar & TextModify +# - users download the first and build the others from source +# For V1 this script downloaded the JAR and the grammar-validator.yaml installed BuildGrammar from +# a nupkg as a dotnet tool called "csharpgrammar". TextModify was not required. +# For V2: +# - Download the JAR to where the testing package expects. +# - Leave the YAML to install BuildGrammar as a dotnet tool as before +# - Create a BuildGrammar script which invokes "dotnet csharpgrammar" +# - Create a TextModify script which does nothing - it is not used but santity checking looks for it + +# Download the JAR +curl -H "Accept: application/zip" --no-progress-meter https://repo1.maven.org/maven2/org/antlr/antlr4/4.9.2/antlr4-4.9.2-complete.jar -o Environment/Antlr/antlr-4.9.2-complete.jar + +# Move to the bin folder and create the two shell scripts +pushd Environment/Tools/bin >& /dev/null + +cat >BuildGrammar <TextModify <& /dev/null + +# We should now be able to run the testing package scripts... +./SetupAndTest "${StandardSource}" -# Now, validate it: -curl -H "Accept: application/zip" https://repo1.maven.org/maven2/com/tunnelvisionlabs/antlr4/4.9.0/antlr4-4.9.0-complete.jar -o antlr-4.9.0-complete.jar -java -jar antlr-4.9.0-complete.jar ../test-grammar/CSharpLexer.g4 ../test-grammar/CSharpParser.g4 From 81d9d57826f289fbf772e10dfec776227fab1006 Mon Sep 17 00:00:00 2001 From: Roman Ustinov Date: Fri, 27 Dec 2024 21:48:53 +0300 Subject: [PATCH 192/259] Fix typing error (#1241) --- standard/expressions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/expressions.md b/standard/expressions.md index 446e53e0f..7148ef876 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -4809,7 +4809,7 @@ In a null coalescing expression of the form `a ?? b`, if `a` is non-`null`, th The null coalescing operator is right-associative, meaning that operations are grouped from right to left. -> *Example*: An expression of the form `a ?? b ?? c` is evaluated as a `?? (b ?? c)`. In general terms, an expression of the form `E1 ?? E2 ?? ... ?? EN` returns the first of the operands that is non-`null`, or `null` if all operands are `null`. *end example* +> *Example*: An expression of the form `a ?? b ?? c` is evaluated as `a ?? (b ?? c)`. In general terms, an expression of the form `E1 ?? E2 ?? ... ?? EN` returns the first of the operands that is non-`null`, or `null` if all operands are `null`. *end example* The type of the expression `a ?? b` depends on which implicit conversions are available on the operands. In order of preference, the type of `a ?? b` is `A₀`, `A`, or `B`, where `A` is the type of `a` (provided that `a` has a type), `B` is the type of `b`(provided that `b` has a type), and `A₀` is the underlying type of `A` if `A` is a nullable value type, or `A` otherwise. Specifically, `a ?? b` is processed as follows: From e68671fbfd34f04b8357e3869f6f1f68d6d97538 Mon Sep 17 00:00:00 2001 From: sapph42 <31635854+sapph42@users.noreply.github.com> Date: Wed, 8 Jan 2025 21:55:49 -0500 Subject: [PATCH 193/259] Update expressions.md Fix formatting typo in 12.15 The null coalescing operator --- standard/expressions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/expressions.md b/standard/expressions.md index 7148ef876..f12ef9125 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -4820,7 +4820,7 @@ The type of the expression `a ?? b` depends on which implicit conversions are - Otherwise, if `A` exists and is a nullable value type, `b` has a type `B` and an implicit conversion exists from `A₀` to `B`, the result type is `B`. At run-time, `a` is first evaluated. If `a` is not `null`, `a` is unwrapped to type `A₀` and converted to type `B`, and this becomes the result. Otherwise, `b` is evaluated and becomes the result. - Otherwise, if `b` has a type `B` and an implicit conversion exists from `a` to `B`, the result type is `B`. At run-time, `a` is first evaluated. If `a` is not `null`, `a` is converted to type `B`, and this becomes the result. Otherwise, `b` is evaluated and becomes the result. -Otherwise, `a` and `b` are incompatible, and `a` compile-time error occurs. +Otherwise, `a` and `b` are incompatible, and a compile-time error occurs. ## 12.16 The throw expression operator From bc1b6e33b0decdd27cfa7e9b4b3425e0cfb0628e Mon Sep 17 00:00:00 2001 From: Daniel Parvin Date: Mon, 2 Sep 2024 13:22:45 -0500 Subject: [PATCH 194/259] Performed copyediting of the expressions document. --- standard/expressions.md | 46 ++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index f12ef9125..40c7b2b64 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -156,9 +156,9 @@ The precedence of an operator is established by the definition of its associated > | [§12.12](expressions.md#1212-relational-and-type-testing-operators) | Equality | `==` `!=` | > | [§12.13](expressions.md#1213-logical-operators) | Logical AND | `&` | > | [§12.13](expressions.md#1213-logical-operators) | Logical XOR | `^` | -> | [§12.13](expressions.md#1213-logical-operators) | Logical OR | `\|` | +> | [§12.13](expressions.md#1213-logical-operators) | Logical OR | | | > | [§12.14](expressions.md#1214-conditional-logical-operators) | Conditional AND | `&&` | -> | [§12.14](expressions.md#1214-conditional-logical-operators) | Conditional OR | `\|\|` | +> | [§12.14](expressions.md#1214-conditional-logical-operators) | Conditional OR | || | > | [§12.15](expressions.md#1215-the-null-coalescing-operator) and [§12.16](expressions.md#1216-the-throw-expression-operator) | Null coalescing and throw expression | `??` `throw x` | > | [§12.18](expressions.md#1218-conditional-operator) | Conditional | `?:` | > | [§12.21](expressions.md#1221-assignment-operators) and [§12.19](expressions.md#1219-anonymous-function-expressions) | Assignment and lambda expression | `=` `= ref` `*=` `/=` `%=` `+=` `-=` `<<=` `>>=` `&=` `^=` `\|=` `=>` | @@ -2348,7 +2348,7 @@ Use of `this` in a *primary_expression* in a context other than the ones listed ### 12.8.15 Base access -A *base_access* consists of the keyword base followed by either a “`.`” token and an identifier and optional *type_argument_list* or an *argument_list* enclosed in square brackets: +A *base_access* consists of the keyword `base` followed by either a “`.`” token and an identifier and optional *type_argument_list* or an *argument_list* enclosed in square brackets: ```ANTLR base_access @@ -2357,7 +2357,7 @@ base_access ; ``` -A *base_access* is used to access base class members that are hidden by similarly named members in the current class or struct. A *base_access* is permitted only in the body of an instance constructor, an instance method, an instance accessor ([§12.2.1](expressions.md#1221-general)), or a finalizer. When `base.I` occurs in a class or struct, I shall denote a member of the base class of that class or struct. Likewise, when `base[E]` occurs in a class, an applicable indexer shall exist in the base class. +A *base_access* is used to access base class members that are hidden by similarly named members in the current class or struct. A *base_access* is permitted only in the body of an instance constructor, an instance method, an instance accessor ([§12.2.1](expressions.md#1221-general)), or a finalizer. When `base.I` occurs in a class or struct, `I` shall denote a member of the base class of that class or struct. Likewise, when `base[E]` occurs in a class, an applicable indexer shall exist in the base class. At binding-time, *base_access* expressions of the form `base.I` and `base[E]` are evaluated exactly as if they were written `((B)this).I` and `((B)this)[E]`, where `B` is the base class of the class or struct in which the construct occurs. Thus, `base.I` and `base[E]` correspond to `this.I` and `this[E]`, except `this` is viewed as an instance of the base class. @@ -2448,7 +2448,7 @@ Processing of an object creation expression that includes an object initializer If any of the arguments in the optional *argument_list* has the compile-time type `dynamic` then the *object_creation_expression* is dynamically bound ([§12.3.3](expressions.md#1233-dynamic-binding)) and the following rules are applied at run-time using the run-time type of those arguments of the *argument_list* that have the compile-time type `dynamic`. However, the object creation undergoes a limited compile-time check as described in [§12.6.5](expressions.md#1265-compile-time-checking-of-dynamic-member-invocation). -The binding-time processing of an *object_creation_expression* of the form new `T(A)`, where `T` is a *class_type*, or a *value_type*, and `A` is an optional *argument_list*, consists of the following steps: +The binding-time processing of an *object_creation_expression* of the form `new T(A)`, where `T` is a *class_type*, or a *value_type*, and `A` is an optional *argument_list*, consists of the following steps: - If `T` is a *value_type* and `A` is not present: - The *object_creation_expression* is a default constructor invocation. The result of the *object_creation_expression* is a value of type `T`, namely the default value for `T` as defined in [§8.3.3](types.md#833-default-constructors). @@ -2457,7 +2457,7 @@ The binding-time processing of an *object_creation_expression* of the form new ` - The result of the *object_creation_expression* is a value of the run-time type that the type parameter has been bound to, namely the result of invoking the default constructor of that type. The run-time type may be a reference type or a value type. - Otherwise, if `T` is a *class_type* or a *struct_type*: - If `T` is an abstract or static *class_type*, a compile-time error occurs. - - The instance constructor to invoke is determined using the overload resolution rules of [§12.6.4](expressions.md#1264-overload-resolution). The set of candidate instance constructors consists of all accessible instance constructors declared in `T`, which are applicable with respect to A ([§12.6.4.2](expressions.md#12642-applicable-function-member)). If the set of candidate instance constructors is empty, or if a single best instance constructor cannot be identified, a binding-time error occurs. + - The instance constructor to invoke is determined using the overload resolution rules of [§12.6.4](expressions.md#1264-overload-resolution). The set of candidate instance constructors consists of all accessible instance constructors declared in `T`, which are applicable with respect to `A` ([§12.6.4.2](expressions.md#12642-applicable-function-member)). If the set of candidate instance constructors is empty, or if a single best instance constructor cannot be identified, a binding-time error occurs. - The result of the *object_creation_expression* is a value of type `T`, namely the value produced by invoking the instance constructor determined in the step above. - Otherwise, the *object_creation_expression* is invalid, and a binding-time error occurs. @@ -2661,7 +2661,8 @@ A collection initializer consists of a sequence of element initializers, enclose The collection object to which a collection initializer is applied shall be of a type that implements `System.Collections.IEnumerable` or a compile-time error occurs. For each specified element in order from left to right, normal member lookup is applied to find a member named `Add`. If the result of the member lookup is not a method group, a compile-time error occurs. Otherwise, overload resolution is applied with the expression list of the element initializer as the argument list, and the collection initializer invokes the resulting method. Thus, the collection object shall contain an applicable instance or extension method with the name `Add` for each element initializer. -> *Example*:The following shows a class that represents a contact with a name and a list of phone numbers, and the creation and initialization of a `List`: +> *Example*: +> The following shows a class that represents a contact with a name and a list of phone numbers, and the creation and initialization of a `List`: > > > ```csharp @@ -3582,8 +3583,7 @@ The run-time processing of a prefix increment or decrement operation of the form - If `x` is classified as a variable: - `x` is evaluated to produce the variable. - The value of `x` is converted to the operand type of the selected operator and the operator is invoked with this value as its argument. - - The value returned by the operator is converted to the type of `x`. The resulting value is stored in the location given by the evaluation of `x`. - - and becomes the result of the operation. + - The value returned by the operator is converted to the type of `x`. The resulting value is stored in the location given by the evaluation of `x` and becomes the result of the operation. - If `x` is classified as a property or indexer access: - The instance expression (if `x` is not `static`) and the argument list (if `x` is an indexer access) associated with `x` are evaluated, and the results are used in the subsequent get and set accessor invocations. - The get accessor of `x` is invoked. @@ -3747,7 +3747,7 @@ The predefined multiplication operators are listed below. The operators all comp | **`-∞`** | `-∞` | `+∞` | `NaN` | `NaN` | `-∞` | `+∞` | `NaN` | | **`NaN`** | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | `NaN` | - (Except were otherwise noted, in the floating-point tables in [§12.10.2](expressions.md#12102-multiplication-operator)–[§12.10.6](expressions.md#12106-subtraction-operator) the use of “`+`” means the value is positive; the use of “`-`” means the value is negative; and the lack of a sign means the value may be positive or negative or has no sign (NaN).) + (Except where otherwise noted, in the floating-point tables in [§12.10.2](expressions.md#12102-multiplication-operator)–[§12.10.6](expressions.md#12106-subtraction-operator) the use of “`+`” means the value is positive; the use of “`-`” means the value is negative; and the lack of a sign means the value may be positive or negative or has no sign (NaN).) - Decimal multiplication: ```csharp @@ -4458,7 +4458,7 @@ bool operator !=(System.Delegate x, System.Delegate y); Two delegate instances are considered equal as follows: - If either of the delegate instances is `null`, they are equal if and only if both are `null`. -- If the delegates have different run-time type, they are never equal. +- If the delegates have different run-time types, they are never equal. - If both of the delegate instances have an invocation list ([§20.2](delegates.md#202-delegate-declarations)), those instances are equal if and only if their invocation lists are the same length, and each entry in one’s invocation list is equal (as defined below) to the corresponding entry, in order, in the other’s invocation list. The following rules govern the equality of invocation list entries: @@ -4529,7 +4529,7 @@ The *is-type operator* is used to check if the run-time type of an object is com The operation is evaluated as follows: -1. If `E` is an anonymous function or method group, a compile-time error occurs +1. If `E` is an anonymous function or method group, a compile-time error occurs. 1. If `E` is the `null` literal, or if the value of `E` is `null`, the result is `false`. 1. Otherwise: 1. Let `R` be the runtime type of `E`. @@ -4630,7 +4630,7 @@ Note that some conversions, such as user defined conversions, are not possible w ### 12.13.1 General -The `&,` `^`, and `|` operators are called the logical operators. +The `&`, `^`, and `|` operators are called the logical operators. ```ANTLR and_expression @@ -4816,7 +4816,7 @@ The type of the expression `a ?? b` depends on which implicit conversions are - If `A` exists and is not a nullable value type or a reference type, a compile-time error occurs. - Otherwise, if `A` exists and `b` is a dynamic expression, the result type is `dynamic`. At run-time, `a` is first evaluated. If `a` is not `null`, `a` is converted to `dynamic`, and this becomes the result. Otherwise, `b` is evaluated, and this becomes the result. - Otherwise, if `A` exists and is a nullable value type and an implicit conversion exists from `b` to `A₀`, the result type is `A₀`. At run-time, `a` is first evaluated. If `a` is not `null`, `a` is unwrapped to type `A₀`, and this becomes the result. Otherwise, `b` is evaluated and converted to type `A₀`, and this becomes the result. -- Otherwise, if `A` exists and an implicit conversion exists from `b` to `A`, the result type is `A`. At run-time, a is first evaluated. If a is not null, a becomes the result. Otherwise, `b` is evaluated and converted to type `A`, and this becomes the result. +- Otherwise, if `A` exists and an implicit conversion exists from `b` to `A`, the result type is `A`. At run-time, `a` is first evaluated. If `a` is not `null`, `a` becomes the result. Otherwise, `b` is evaluated and converted to type `A`, and this becomes the result. - Otherwise, if `A` exists and is a nullable value type, `b` has a type `B` and an implicit conversion exists from `A₀` to `B`, the result type is `B`. At run-time, `a` is first evaluated. If `a` is not `null`, `a` is unwrapped to type `A₀` and converted to type `B`, and this becomes the result. Otherwise, `b` is evaluated and becomes the result. - Otherwise, if `b` has a type `B` and an implicit conversion exists from `a` to `B`, the result type is `B`. At run-time, `a` is first evaluated. If `a` is not `null`, `a` is converted to type `B`, and this becomes the result. Otherwise, `b` is evaluated and becomes the result. @@ -5501,7 +5501,7 @@ class Test } ``` -This can be translated to a delegate instantiation that references a compiler generated static method in which the code of the anonymous function is placed: +This can be translated to a delegate instantiation that references a compiler-generated static method in which the code of the anonymous function is placed: ```csharp @@ -5538,7 +5538,7 @@ class Test } ``` -This can be translated to a compiler generated instance method containing the code of the anonymous function: +This can be translated to a compiler-generated instance method containing the code of the anonymous function: ```csharp @@ -5576,7 +5576,7 @@ class Test } ``` -The lifetime of the local variable must now be extended to at least the lifetime of the anonymous function delegate. This can be achieved by “hoisting” the local variable into a field of a compiler-generated class. Instantiation of the local variable ([§12.19.6.3](expressions.md#121963-instantiation-of-local-variables)) then corresponds to creating an instance of the compiler generated class, and accessing the local variable corresponds to accessing a field in the instance of the compiler generated class. Furthermore, the anonymous function becomes an instance method of the compiler-generated class: +The lifetime of the local variable must now be extended to at least the lifetime of the anonymous function delegate. This can be achieved by “hoisting” the local variable into a field of a compiler-generated class. Instantiation of the local variable ([§12.19.6.3](expressions.md#121963-instantiation-of-local-variables)) then corresponds to creating an instance of the compiler-generated class, and accessing the local variable corresponds to accessing a field in the instance of the compiler-generated class. Furthermore, the anonymous function becomes an instance method of the compiler-generated class: ```csharp @@ -5625,7 +5625,7 @@ class Test } ``` -Here, a compiler-generated class is created for each block in which locals are captured such that the locals in the different blocks can have independent lifetimes. An instance of `__Locals2`, the compiler generated class for the inner block, contains the local variable `z` and a field that references an instance of `__Locals1`. An instance of `__Locals1`, the compiler generated class for the outer block, contains the local variable `y` and a field that references `this` of the enclosing function member. With these data structures, it is possible to reach all captured outer variables through an instance of `__Local2`, and the code of the anonymous function can thus be implemented as an instance method of that class. +Here, a compiler-generated class is created for each block in which locals are captured such that the locals in the different blocks can have independent lifetimes. An instance of `__Locals2`, the compiler-generated class for the inner block, contains the local variable `z` and a field that references an instance of `__Locals1`. An instance of `__Locals1`, the compiler-generated class for the outer block, contains the local variable `y` and a field that references `this` of the enclosing function member. With these data structures, it is possible to reach all captured outer variables through an instance of `__Local2`, and the code of the anonymous function can thus be implemented as an instance method of that class. ```csharp @@ -5992,7 +5992,7 @@ Q > Select(x => new { x.c.Name, x.o.OrderID, x.o.Total }) > ``` > -> where `x` is a compiler generated identifier that is otherwise invisible and inaccessible. +> where `x` is a compiler-generated identifier that is otherwise invisible and inaccessible. > > *end example* @@ -6038,7 +6038,7 @@ from * in ( «e» ) . Select ( «x» => new { «x» , «y» = «f» } ) > .Select(x => new { x.o.OrderID, Total = x.t }) > ``` > -> where `x` is a compiler generated identifier that is otherwise invisible and inaccessible. +> where `x` is a compiler-generated identifier that is otherwise invisible and inaccessible. > > *end example* @@ -6074,7 +6074,7 @@ is translated into > *Example*: The example > > ```csharp -> from c in customersh +> from c in customers > join o in orders on c.CustomerID equals o.CustomerID > select new { c.Name, o.OrderDate, o.Total } > ``` @@ -6175,7 +6175,7 @@ from * in ( «e1» ) . GroupJoin( > .Select(y => new { y.x.c.Name, OrderCount = y.n }) > ``` > -> where `x` and `y` are compiler generated identifiers that are otherwise invisible and inaccessible. +> where `x` and `y` are compiler-generated identifiers that are otherwise invisible and inaccessible. > > *end example* @@ -6337,7 +6337,7 @@ In the translation steps described above, transparent identifiers are always int > .Select(x => new { x.c.Name, x.o.Total }) > ``` > -> where `x` is a compiler generated identifier that is otherwise invisible and inaccessible. +> where `x` is a compiler-generated identifier that is otherwise invisible and inaccessible. > > The example > From 14f83e2ba72bb39417e59660ee7ee792843e8bf8 Mon Sep 17 00:00:00 2001 From: Daniel Parvin Date: Mon, 2 Sep 2024 13:28:12 -0500 Subject: [PATCH 195/259] Performed copyediting of the classes document. --- standard/classes.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index d32fc4407..283d32840 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -1089,7 +1089,7 @@ A type declared within a class or struct is called a ***nested type***. A type t #### 15.3.9.2 Fully qualified name -The fully qualified name ([§7.8.3](basic-concepts.md#783-fully-qualified-names)) for a nested type declarationis `S.N` where `S` is the fully qualified name of the type declarationin which type `N` is declared and `N` is the unqualified name ([§7.8.2](basic-concepts.md#782-unqualified-names)) of the nested type declaration (including any *generic_dimension_specifier* ([§12.8.18](expressions.md#12818-the-typeof-operator))). +The fully qualified name ([§7.8.3](basic-concepts.md#783-fully-qualified-names)) for a nested type declaration is `S.N` where `S` is the fully qualified name of the type declarationin which type `N` is declared and `N` is the unqualified name ([§7.8.2](basic-concepts.md#782-unqualified-names)) of the nested type declaration (including any *generic_dimension_specifier* ([§12.8.18](expressions.md#12817-the-typeof-operator))). #### 15.3.9.3 Declared accessibility @@ -2937,7 +2937,7 @@ An abstract method declaration is permitted to override a virtual method. This a When a method declaration includes an `extern` modifier, the method is said to be an ***external method***. External methods are implemented externally, typically using a language other than C#. Because an external method declaration provides no actual implementation, the method body of an external method simply consists of a semicolon. An external method shall not be generic. -The mechanism by which linkage to an external method is achieved, is implementation-defined. +The mechanism by which linkage to an external method is achieved is implementation-defined. > *Example*: The following example demonstrates the use of the `extern` modifier and the `DllImport` attribute: > @@ -3837,7 +3837,7 @@ Once a particular non-ref-valued property or non-ref-valued indexer has been sel > > *end example* -Once a particular ref-valued property or ref-valued indexer has been selected; whether the usage is as a value, the target of a simple assignment, or the target of a compound assignment; the accessibility domain of the get accessor involved is used to determine if that usage is valid. +Once a particular ref-valued property or ref-valued indexer has been selected--whether the usage is as a value, the target of a simple assignment, or the target of a compound assignment--the accessibility domain of the get accessor involved is used to determine if that usage is valid. An accessor that is used to implement an interface shall not have an *accessor_modifier*. If only one accessor is used to implement an interface, the other accessor may be declared with an *accessor_modifier*: @@ -4472,7 +4472,7 @@ Indexers and properties are very similar in concept, but differ in the following - A set accessor of a property corresponds to a method with a single parameter named `value`, whereas a set accessor of an indexer corresponds to a method with the same parameter list as the indexer, plus an additional parameter named `value`. - It is a compile-time error for an indexer accessor to declare a local variable or local constant with the same name as an indexer parameter. - In an overriding property declaration, the inherited property is accessed using the syntax `base.P`, where `P` is the property name. In an overriding indexer declaration, the inherited indexer is accessed using the syntax `base[E]`, where `E` is a comma-separated list of expressions. -- There is no concept of an “automatically implemented indexer”. It is an error to have a non-abstract, non-external indexer with semicolon *accessor_body*s. +- There is no concept of an “automatically implemented indexer.” It is an error to have a non-abstract, non-external indexer with semicolon *accessor_body*s. Aside from these differences, all rules defined in [§15.7.3](classes.md#1573-accessors), [§15.7.5](classes.md#1575-accessibility) and [§15.7.6](classes.md#1576-virtual-sealed-override-and-abstract-accessors) apply to indexer accessors as well as to property accessors. @@ -4521,7 +4521,7 @@ binary_operator_declarator overloadable_binary_operator : '+' | '-' | '*' | '/' | '%' | '&' | '|' | '^' | '<<' - | right_shift | '==' | '!=' | '>' | '<' | '>=' | '<=' + | '>>' | '==' | '!=' | '>' | '<' | '>=' | '<=' ; conversion_operator_declarator @@ -4616,7 +4616,7 @@ The `true` and `false` unary operators require pair-wise declaration. A compile- The following rules apply to binary operator declarations, where `T` denotes the instance type of the class or struct that contains the operator declaration: - A binary non-shift operator shall take two parameters, at least one of which shall have type `T` or `T?`, and can return any type. -- A binary `<<` or `>>` operator ([§12.11](expressions.md#1211-shift-operators)) shall take two parameters, the first of which shall have type `T` or T? and the second of which shall have type `int` or `int?`, and can return any type. +- A binary `<<` or `>>` operator ([§12.11](expressions.md#1211-shift-operators)) shall take two parameters, the first of which shall have type `T` or `T?` and the second of which shall have type `int` or `int?`, and can return any type. The signature of a binary operator consists of the operator token (`+`, `-`, `*`, `/`, `%`, `&`, `|`, `^`, `<<`, `>>`, `==`, `!=`, `>`, `<`, `>=`, or `<=`) and the types of the two parameters. The return type and the names of the parameters are not part of a binary operator’s signature. From e242d89c0e1dd3961ca2c748d0b01b0d46f5359a Mon Sep 17 00:00:00 2001 From: Daniel Parvin Date: Mon, 2 Sep 2024 13:35:53 -0500 Subject: [PATCH 196/259] Performed copyediting of attributes, delegates, interfaces, and structs documents. --- standard/attributes.md | 2 +- standard/delegates.md | 6 +++--- standard/interfaces.md | 2 +- standard/structs.md | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/standard/attributes.md b/standard/attributes.md index 4083101c0..eeb790aab 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -339,7 +339,7 @@ If exactly one of the two steps above results in a type derived from `System.Att > class Class4 {} > ``` > -> shows two attribute classes named `Example` and `ExampleAttribute`. The attribute `[Example]` is ambiguous, since it could refer to either `Example` or `ExampleAttribute`. Using a verbatim identifier allows the exact intent to be specified in such rare cases. The attribute `[ExampleAttribute]` is not ambiguous (although it would be if there was an attribute class named `ExampleAttributeAttribute`!). If the declaration for class `Example` is removed, then both attributes refer to the attribute class named `ExampleAttribute`, as follows: +> shows two attribute classes named `Example` and `ExampleAttribute`. The attribute `[Example]` is ambiguous, since it could refer to either `Example` or `ExampleAttribute`. Using a verbatim identifier allows the exact intent to be specified in such rare cases. The attribute `[ExampleAttribute]` is not ambiguous (although it would be if there were an attribute class named `ExampleAttributeAttribute`!). If the declaration for class `Example` is removed, then both attributes refer to the attribute class named `ExampleAttribute`, as follows: > > > ```csharp diff --git a/standard/delegates.md b/standard/delegates.md index e087dee27..7c353c292 100644 --- a/standard/delegates.md +++ b/standard/delegates.md @@ -97,7 +97,7 @@ A method or delegate type `M` is ***compatible*** with a delegate type `D` if al - For each value parameter, an identity conversion ([§10.2.2](conversions.md#1022-identity-conversion)) or implicit reference conversion ([§10.2.8](conversions.md#1028-implicit-reference-conversions)) exists from the parameter type in `D` to the corresponding parameter type in `M`. - For each by-reference parameter, the parameter type in `D` is the same as the parameter type in `M`. - One of the following is true: - - `D` and `M` are both *returns-no-value* + - `D` and `M` are both *returns-no-value*. - `D` and `M` are returns-by-value ([§15.6.1](classes.md#1561-general), [§20.2](delegates.md#202-delegate-declarations)), and an identity or implicit reference conversion exists from the return type of `M` to the return type of `D`. - `D` and `M` are both returns-by-ref, an identity conversion exists between the return type of `M` and the return type of `D`, and both have the same *ref_kind*. @@ -262,9 +262,9 @@ Once instantiated, a delegate instance always refers to the same invocation list ## 20.6 Delegate invocation -C# provides special syntax for invoking a delegate. When a non-`null` delegate instance whose invocation list contains one entry, is invoked, it invokes the one method with the same arguments it was given, and returns the same value as the referred to method. (See [§12.8.10.4](expressions.md#128104-delegate-invocations) for detailed information on delegate invocation.) If an exception occurs during the invocation of such a delegate, and that exception is not caught within the method that was invoked, the search for an exception catch clause continues in the method that called the delegate, as if that method had directly called the method to which that delegate referred. +C# provides special syntax for invoking a delegate. When a non-`null` delegate instance whose invocation list contains one entry is invoked, it invokes the one method with the same arguments it was given and returns the same value as the referred-to method. (See [§12.8.10.4](expressions.md#12894-delegate-invocations) for detailed information on delegate invocation.) If an exception occurs during the invocation of such a delegate, and that exception is not caught within the method that was invoked, the search for an exception catch clause continues in the method that called the delegate, as if that method had directly called the method to which that delegate referred. -Invocation of a delegate instance whose invocation list contains multiple entries, proceeds by invoking each of the methods in the invocation list, synchronously, in order. Each method so called is passed the same set of arguments as was given to the delegate instance. If such a delegate invocation includes reference parameters ([§15.6.2.3.3](classes.md#156233-reference-parameters)), each method invocation will occur with a reference to the same variable; changes to that variable by one method in the invocation list will be visible to methods further down the invocation list. If the delegate invocation includes output parameters or a return value, their final value will come from the invocation of the last delegate in the list. If an exception occurs during processing of the invocation of such a delegate, and that exception is not caught within the method that was invoked, the search for an exception catch clause continues in the method that called the delegate, and any methods further down the invocation list are not invoked. +Invocation of a delegate instance whose invocation list contains multiple entries proceeds by invoking each of the methods in the invocation list synchronously, in order. Each method so called is passed the same set of arguments as was given to the delegate instance. If such a delegate invocation includes reference parameters ([§15.6.2.3.3](classes.md#156233-reference-parameters)), each method invocation will occur with a reference to the same variable; changes to that variable by one method in the invocation list will be visible to methods further down the invocation list. If the delegate invocation includes output parameters or a return value, their final value will come from the invocation of the last delegate in the list. If an exception occurs during processing of the invocation of such a delegate, and that exception is not caught within the method that was invoked, the search for an exception catch clause continues in the method that called the delegate, and any methods further down the invocation list are not invoked. Attempting to invoke a delegate instance whose value is `null` results in an exception of type `System.NullReferenceException`. diff --git a/standard/interfaces.md b/standard/interfaces.md index 89f0a3ac7..e9bccb789 100644 --- a/standard/interfaces.md +++ b/standard/interfaces.md @@ -911,7 +911,7 @@ Notable implications of the interface-mapping algorithm are: > } > ``` > -> the `ICloneable.Clone` member of `C` becomes the implementation of `Clone` in ‘ICloneable’ because explicit interface member implementations take precedence over other members. +> the `ICloneable.Clone` member of `C` becomes the implementation of `Clone` in `ICloneable` because explicit interface member implementations take precedence over other members. > > *end example* diff --git a/standard/structs.md b/standard/structs.md index a7d3d0208..49736aaf4 100644 --- a/standard/structs.md +++ b/standard/structs.md @@ -159,7 +159,7 @@ Structs differ from classes in several important ways: Structs are value types ([§8.3](types.md#83-value-types)) and are said to have value semantics. Classes, on the other hand, are reference types ([§8.2](types.md#82-reference-types)) and are said to have reference semantics. -A variable of a struct type directly contains the data of the struct, whereas a variable of a class type contains a reference to an object that contains the data. When a struct `B` contains an instance field of type `A` and `A` is a struct type, it is a compile-time error for `A` to depend on `B` or a type constructed from `B`. `A struct X` *directly depends on* a struct `Y` if `X` contains an instance field of type `Y`. Given this definition, the complete set of structs upon which a struct depends is the transitive closure of the *directly depends on* relationship. +A variable of a struct type directly contains the data of the struct, whereas a variable of a class type contains a reference to an object that contains the data. When a struct `B` contains an instance field of type `A` and `A` is a struct type, it is a compile-time error for `A` to depend on `B` or a type constructed from `B`. A struct `X` *directly depends on* a struct `Y` if `X` contains an instance field of type `Y`. Given this definition, the complete set of structs upon which a struct depends is the transitive closure of the *directly depends on* relationship. > *Example*: > From e218d9ae23cc282bbed99ea2ae9b33ae6345e221 Mon Sep 17 00:00:00 2001 From: Daniel Parvin Date: Mon, 2 Sep 2024 13:45:34 -0500 Subject: [PATCH 197/259] Performed copyediting of the conversions document. --- standard/conversions.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/standard/conversions.md b/standard/conversions.md index 17b952d18..536d6af5f 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -460,7 +460,7 @@ The explicit enumeration conversions are: An explicit enumeration conversion between two types is processed by treating any participating *enum_type* as the underlying type of that *enum_type*, and then performing an implicit or explicit numeric conversion between the resulting types. -> *Example*: Given an *enum_type* `E` with and underlying type of `int`, a conversion from `E` to `byte` is processed as an explicit numeric conversion ([§10.3.2](conversions.md#1032-explicit-numeric-conversions)) from `int` to `byte`, and a conversion from `byte` to `E` is processed as an implicit numeric conversion ([§10.2.3](conversions.md#1023-implicit-numeric-conversions)) from `byte` to `int`. *end example* +> *Example*: Given an *enum_type* `E` with an underlying type of `int`, a conversion from `E` to `byte` is processed as an explicit numeric conversion ([§10.3.2](conversions.md#1032-explicit-numeric-conversions)) from `int` to `byte`, and a conversion from `byte` to `E` is processed as an implicit numeric conversion ([§10.2.3](conversions.md#1023-implicit-numeric-conversions)) from `byte` to `int`. *end example* ### 10.3.4 Explicit nullable conversions @@ -509,7 +509,7 @@ An unboxing conversion permits a *reference_type* to be explicitly converted to - From the type `System.Enum` to any *enum_type*. - From any *interface_type* to any *non_nullable_value_type* that implements the *interface_type*. - From any *interface_type* `I` to any *non_nullable_value_type* where there is an unboxing conversion from an *interface_type* `I₀` to the *non_nullable_value-type* and an identity conversion from `I` to `I₀`. -- From any *interface_type* `I` to any *non_nullable_value_type* where there is an unboxing conversion from an *interface_type* `I₀` to the *non_nullable_value_type* and either either `I₀` is variance_convertible to `I` or `I` is variance-convertible to `I₀` ([§18.2.3.3](interfaces.md#18233-variance-conversion)). +- From any *interface_type* `I` to any *non_nullable_value_type* where there is an unboxing conversion from an *interface_type* `I₀` to the *non_nullable_value_type* and either `I₀` is variance_convertible to `I` or `I` is variance-convertible to `I₀` ([§18.2.3.3](interfaces.md#18233-variance-conversion)). - From any *reference_type* to any *nullable_value_type* where there is an unboxing conversion from *reference_type* to the underlying *non_nullable_value_type* of the *nullable_value_type*. - From a type parameter which is not known to be a value type to any type such that the conversion is permitted by [§10.3.8](conversions.md#1038-explicit-conversions-involving-type-parameters). @@ -661,8 +661,8 @@ Once a most-specific user-defined conversion operator has been identified, the a Evaluation of a user-defined conversion never involves more than one user-defined or lifted conversion operator. In other words, a conversion from type `S` to type `T` will never first execute a user-defined conversion from `S` to `X` and then execute a user-defined conversion from `X` to `T`. - Exact definitions of evaluation of user-defined implicit or explicit conversions are given in the following subclauses. The definitions make use of the following terms: -- If a standard implicit conversion ([§10.4.2](conversions.md#1042-standard-implicit-conversions)) exists from a type `A` to a type `B`, and if neither `A` nor `B` are *interface_type* `s`, then `A` is said to be ***encompassed by*** `B`, and `B` is said to ***encompass*** `A`. -- If a standard implicit conversion ([§10.4.2](conversions.md#1042-standard-implicit-conversions)) exists from an expression `E` to a type `B`, and if neither `B` nor the type of `E` (if it has one) are *interface_type* `s`, then `E` is said to be *encompassed by* `B`, and `B` is said to *encompass* `E`. +- If a standard implicit conversion ([§10.4.2](conversions.md#1042-standard-implicit-conversions)) exists from a type `A` to a type `B`, and if neither `A` nor `B` are *interface_type* `S`, then `A` is said to be ***encompassed by*** `B`, and `B` is said to ***encompass*** `A`. +- If a standard implicit conversion ([§10.4.2](conversions.md#1042-standard-implicit-conversions)) exists from an expression `E` to a type `B`, and if neither `B` nor the type of `E` (if it has one) are *interface_type* `S`, then `E` is said to be *encompassed by* `B`, and `B` is said to *encompass* `E`. - The ***most-encompassing type*** in a set of types is the one type that encompasses all other types in the set. If no single type encompasses all other types, then the set has no most-encompassing type. In more intuitive terms, the most-encompassing type is the “largest” type in the set—the one type to which each of the other types can be implicitly converted. - The ***most-encompassed type*** in a set of types is the one type that is encompassed by all other types in the set. If no single type is encompassed by all other types, then the set has no most-encompassed type. In more intuitive terms, the most-encompassed type is the “smallest” type in the set—the one type that can be implicitly converted to each of the other types. @@ -701,7 +701,7 @@ A user-defined explicit conversion from an expression `E` to a type `T` is pro - If `E` has a type, let `S` be that type. - If `S` or `T` are nullable value types, let `Sᵢ` and `Tᵢ` be their underlying types, otherwise let `Sᵢ` and `Tᵢ` be `S` and `T`, respectively. - If `Sᵢ` or `Tᵢ` are type parameters, let `S₀` and `T₀` be their effective base classes, otherwise let `S₀` and `T₀` be `Sᵢ` and `Tᵢ`, respectively. -- Find the set of types, `D`, from which user-defined conversion operators will be considered. This set consists of `S₀` (if `S₀` exists and is a class or struct), the base classes of `S₀` (if `S₀` exists and is a class), `T₀` (if `T₀` is a class or struct), and the base classes of `T₀` (if `T₀` is a class). `A` type is added to the set `D` only if an identity conversion to another type already included in the set doesn’t exist. +- Find the set of types, `D`, from which user-defined conversion operators will be considered. This set consists of `S₀` (if `S₀` exists and is a class or struct), the base classes of `S₀` (if `S₀` exists and is a class), `T₀` (if `T₀` is a class or struct), and the base classes of `T₀` (if `T₀` is a class). A type is added to the set `D` only if an identity conversion to another type already included in the set doesn’t exist. - Find the set of applicable user-defined and lifted conversion operators, `U`. This set consists of the user-defined and lifted implicit or explicit conversion operators declared by the classes or structs in `D` that convert from a type encompassing `E` or encompassed by `S` (if it exists) to a type encompassing or encompassed by `T`. If `U` is empty, the conversion is undefined and a compile-time error occurs. - Find the most-specific source type, `Sₓ`, of the operators in `U`: - If S exists and any of the operators in `U` convert from `S`, then `Sₓ` is `S`. From ffaeef055c2bbcae6c77171d168236fd07b81a98 Mon Sep 17 00:00:00 2001 From: Daniel Parvin Date: Mon, 2 Sep 2024 13:48:59 -0500 Subject: [PATCH 198/259] Performed additional copyediting of the expressions document. --- standard/expressions.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index 40c7b2b64..b7d5e78a7 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -25,7 +25,7 @@ For expressions which occur as subexpressions of larger expressions, with the no - A type. An expression with this classification can only appear as the left-hand side of a *member_access* ([§12.8.7](expressions.md#1287-member-access)). In any other context, an expression classified as a type causes a compile-time error. - A method group, which is a set of overloaded methods resulting from a member lookup ([§12.5](expressions.md#125-member-lookup)). A method group may have an associated instance expression and an associated type argument list. When an instance method is invoked, the result of evaluating the instance expression becomes the instance represented by `this` ([§12.8.14](expressions.md#12814-this-access)). A method group is permitted in an *invocation_expression* ([§12.8.10](expressions.md#12810-invocation-expressions)) or a *delegate_creation_expression* ([§12.8.17.6](expressions.md#128176-delegate-creation-expressions)), and can be implicitly converted to a compatible delegate type ([§10.8](conversions.md#108-method-group-conversions)). In any other context, an expression classified as a method group causes a compile-time error. - An event access. Every event access has an associated type, namely the type of the event. Furthermore, an event access may have an associated instance expression. An event access may appear as the left operand of the `+=` and `-=` operators ([§12.21.5](expressions.md#12215-event-assignment)). In any other context, an expression classified as an event access causes a compile-time error. When an accessor of an instance event access is invoked, the result of evaluating the instance expression becomes the instance represented by `this` ([§12.8.14](expressions.md#12814-this-access)). -- A throw expression, which may be used is several contexts to throw an exception in an expression. A throw expression may be converted by an implicit conversion to any type. +- A throw expression, which may be used in several contexts to throw an exception in an expression. A throw expression may be converted by an implicit conversion to any type. A property access or indexer access is always reclassified as a value by performing an invocation of the get accessor or the set accessor. The particular accessor is determined by the context of the property or indexer access: If the access is the target of an assignment, the set accessor is invoked to assign a new value ([§12.21.2](expressions.md#12212-simple-assignment)). Otherwise, the get accessor is invoked to obtain the current value ([§12.2.2](expressions.md#1222-values-of-expressions)). @@ -93,7 +93,7 @@ Static binding takes place at compile-time, whereas dynamic binding takes place **This subclause is informative.** -Dynamic binding allows C# programs to interact with dynamic objects, i.e., objects that do not follow the normal rules of the C# type system. Dynamic objects may be objects from other programming languages with different types systems, or they may be objects that are programmatically setup to implement their own binding semantics for different operations. +Dynamic binding allows C# programs to interact with dynamic objects, i.e., objects that do not follow the normal rules of the C# type system. Dynamic objects may be objects from other programming languages with different types systems, or they may be objects that are programmatically set up to implement their own binding semantics for different operations. The mechanism by which a dynamic object implements its own semantics is implementation-defined. A given interface – again implementation-defined – is implemented by dynamic objects to signal to the C# run-time that they have special semantics. Thus, whenever operations on a dynamic object are dynamically bound, their own binding semantics, rather than those of C# as specified in this specification, take over. @@ -951,7 +951,7 @@ The ***inferred return type*** is determined as follows: > } > ``` > -> type inference for the invocation proceeds as follows: First, the argument “1:15:30” is related to the value parameter, inferring `X` to be string. Then, the parameter of the first anonymous function, `s`, is given the inferred type `string`, and the expression `TimeSpan.Parse(s)` is related to the return type of `f1`, inferring `Y` to be `System.TimeSpan`. Finally, the parameter of the second anonymous function, `t`, is given the inferred type `System.TimeSpan`, and the expression `t.TotalHours` is related to the return type of `f2`, inferring `Z` to be `double`. Thus, the result of the invocation is of type `double`. +> type inference for the invocation proceeds as follows: First, the argument “1:15:30” is related to the value parameter, inferring `X` to be `string`. Then, the parameter of the first anonymous function, `s`, is given the inferred type `string`, and the expression `TimeSpan.Parse(s)` is related to the return type of `f1`, inferring `Y` to be `System.TimeSpan`. Finally, the parameter of the second anonymous function, `t`, is given the inferred type `System.TimeSpan`, and the expression `t.TotalHours` is related to the return type of `f2`, inferring `Z` to be `double`. Thus, the result of the invocation is of type `double`. > > *end example* @@ -1022,7 +1022,7 @@ For a function member that includes a parameter array, if the function member is - the parameter-passing mode of the argument is identical to the parameter-passing mode of the corresponding parameter, and - for a fixed value parameter or a value parameter created by the expansion, an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from the argument expression to the type of the corresponding parameter, or - for a by-reference parameter, the type of the argument expression is identical to the type of the corresponding parameter. - - the parameter-passing mode of the argument is value, and the parameter-passing mode of the corresponding parameter is input, and an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from the argument expression to the type of the corresponding parameter + - the parameter-passing mode of the argument is value, and the parameter-passing mode of the corresponding parameter is input, and an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from the argument expression to the type of the corresponding parameter. When the implicit conversion from the argument type to the parameter type of an input parameter is a dynamic implicit conversion ([§10.2.10](conversions.md#10210-implicit-dynamic-conversions)), the results are undefined. From 1359e5c879feee932467a4fec2d864264c0e7d68 Mon Sep 17 00:00:00 2001 From: Daniel Parvin Date: Sat, 21 Sep 2024 14:17:26 -0500 Subject: [PATCH 199/259] Incorporated feedback --- standard/classes.md | 6 +++--- standard/conversions.md | 4 ++-- standard/expressions.md | 7 +++---- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index 283d32840..324fb4b0a 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -1089,7 +1089,7 @@ A type declared within a class or struct is called a ***nested type***. A type t #### 15.3.9.2 Fully qualified name -The fully qualified name ([§7.8.3](basic-concepts.md#783-fully-qualified-names)) for a nested type declaration is `S.N` where `S` is the fully qualified name of the type declarationin which type `N` is declared and `N` is the unqualified name ([§7.8.2](basic-concepts.md#782-unqualified-names)) of the nested type declaration (including any *generic_dimension_specifier* ([§12.8.18](expressions.md#12817-the-typeof-operator))). +The fully qualified name ([§7.8.3](basic-concepts.md#783-fully-qualified-names)) for a nested type declaration is `S.N` where `S` is the fully qualified name of the type declaration in which type `N` is declared and `N` is the unqualified name ([§7.8.2](basic-concepts.md#782-unqualified-names)) of the nested type declaration (including any *generic_dimension_specifier* ([§12.8.18](expressions.md#12817-the-typeof-operator))). #### 15.3.9.3 Declared accessibility @@ -3837,7 +3837,7 @@ Once a particular non-ref-valued property or non-ref-valued indexer has been sel > > *end example* -Once a particular ref-valued property or ref-valued indexer has been selected--whether the usage is as a value, the target of a simple assignment, or the target of a compound assignment--the accessibility domain of the get accessor involved is used to determine if that usage is valid. +Once a particular ref-valued property or ref-valued indexer has been selected---whether the usage is as a value, the target of a simple assignment, or the target of a compound assignment---the accessibility domain of the get accessor involved is used to determine if that usage is valid. An accessor that is used to implement an interface shall not have an *accessor_modifier*. If only one accessor is used to implement an interface, the other accessor may be declared with an *accessor_modifier*: @@ -4521,7 +4521,7 @@ binary_operator_declarator overloadable_binary_operator : '+' | '-' | '*' | '/' | '%' | '&' | '|' | '^' | '<<' - | '>>' | '==' | '!=' | '>' | '<' | '>=' | '<=' + | right_shift | '==' | '!=' | '>' | '<' | '>=' | '<=' ; conversion_operator_declarator diff --git a/standard/conversions.md b/standard/conversions.md index 536d6af5f..9b9b4a13c 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -661,8 +661,8 @@ Once a most-specific user-defined conversion operator has been identified, the a Evaluation of a user-defined conversion never involves more than one user-defined or lifted conversion operator. In other words, a conversion from type `S` to type `T` will never first execute a user-defined conversion from `S` to `X` and then execute a user-defined conversion from `X` to `T`. - Exact definitions of evaluation of user-defined implicit or explicit conversions are given in the following subclauses. The definitions make use of the following terms: -- If a standard implicit conversion ([§10.4.2](conversions.md#1042-standard-implicit-conversions)) exists from a type `A` to a type `B`, and if neither `A` nor `B` are *interface_type* `S`, then `A` is said to be ***encompassed by*** `B`, and `B` is said to ***encompass*** `A`. -- If a standard implicit conversion ([§10.4.2](conversions.md#1042-standard-implicit-conversions)) exists from an expression `E` to a type `B`, and if neither `B` nor the type of `E` (if it has one) are *interface_type* `S`, then `E` is said to be *encompassed by* `B`, and `B` is said to *encompass* `E`. +- If a standard implicit conversion ([§10.4.2](conversions.md#1042-standard-implicit-conversions)) exists from a type `A` to a type `B`, and if neither `A` nor `B` are *interface_type*s, then `A` is said to be ***encompassed by*** `B`, and `B` is said to ***encompass*** `A`. +- If a standard implicit conversion ([§10.4.2](conversions.md#1042-standard-implicit-conversions)) exists from an expression `E` to a type `B`, and if neither `B` nor the type of `E` (if it has one) are *interface_type*s, then `E` is said to be *encompassed by* `B`, and `B` is said to *encompass* `E`. - The ***most-encompassing type*** in a set of types is the one type that encompasses all other types in the set. If no single type encompasses all other types, then the set has no most-encompassing type. In more intuitive terms, the most-encompassing type is the “largest” type in the set—the one type to which each of the other types can be implicitly converted. - The ***most-encompassed type*** in a set of types is the one type that is encompassed by all other types in the set. If no single type is encompassed by all other types, then the set has no most-encompassed type. In more intuitive terms, the most-encompassed type is the “smallest” type in the set—the one type that can be implicitly converted to each of the other types. diff --git a/standard/expressions.md b/standard/expressions.md index b7d5e78a7..c68aef018 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -156,9 +156,9 @@ The precedence of an operator is established by the definition of its associated > | [§12.12](expressions.md#1212-relational-and-type-testing-operators) | Equality | `==` `!=` | > | [§12.13](expressions.md#1213-logical-operators) | Logical AND | `&` | > | [§12.13](expressions.md#1213-logical-operators) | Logical XOR | `^` | -> | [§12.13](expressions.md#1213-logical-operators) | Logical OR | | | +> | [§12.13](expressions.md#1213-logical-operators) | Logical OR | `\|` | > | [§12.14](expressions.md#1214-conditional-logical-operators) | Conditional AND | `&&` | -> | [§12.14](expressions.md#1214-conditional-logical-operators) | Conditional OR | || | +> | [§12.14](expressions.md#1214-conditional-logical-operators) | Conditional OR | `\|\|` | > | [§12.15](expressions.md#1215-the-null-coalescing-operator) and [§12.16](expressions.md#1216-the-throw-expression-operator) | Null coalescing and throw expression | `??` `throw x` | > | [§12.18](expressions.md#1218-conditional-operator) | Conditional | `?:` | > | [§12.21](expressions.md#1221-assignment-operators) and [§12.19](expressions.md#1219-anonymous-function-expressions) | Assignment and lambda expression | `=` `= ref` `*=` `/=` `%=` `+=` `-=` `<<=` `>>=` `&=` `^=` `\|=` `=>` | @@ -2661,8 +2661,7 @@ A collection initializer consists of a sequence of element initializers, enclose The collection object to which a collection initializer is applied shall be of a type that implements `System.Collections.IEnumerable` or a compile-time error occurs. For each specified element in order from left to right, normal member lookup is applied to find a member named `Add`. If the result of the member lookup is not a method group, a compile-time error occurs. Otherwise, overload resolution is applied with the expression list of the element initializer as the argument list, and the collection initializer invokes the resulting method. Thus, the collection object shall contain an applicable instance or extension method with the name `Add` for each element initializer. -> *Example*: -> The following shows a class that represents a contact with a name and a list of phone numbers, and the creation and initialization of a `List`: +> *Example*: The following shows a class that represents a contact with a name and a list of phone numbers, and the creation and initialization of a `List`: > > > ```csharp From 1eafa3ea74eb2189f1734f63ef59f55cd5769b49 Mon Sep 17 00:00:00 2001 From: Daniel Parvin Date: Tue, 15 Oct 2024 07:06:00 -0500 Subject: [PATCH 200/259] Updated expressions section 12.6.4.2 based on PR comments --- standard/expressions.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index c68aef018..06d61b3f8 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -1019,12 +1019,12 @@ For a function member that includes a parameter array, if the function member is - The expanded form is constructed by replacing the parameter array in the function member declaration with zero or more value parameters of the element type of the parameter array such that the number of arguments in the argument list `A` matches the total number of parameters. If `A` has fewer arguments than the number of fixed parameters in the function member declaration, the expanded form of the function member cannot be constructed and is thus not applicable. - Otherwise, the expanded form is applicable if for each argument in `A`, one of the following is true: - - the parameter-passing mode of the argument is identical to the parameter-passing mode of the corresponding parameter, and - - for a fixed value parameter or a value parameter created by the expansion, an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from the argument expression to the type of the corresponding parameter, or + - the parameter-passing mode of the argument is identical to the parameter-passing mode of the corresponding parameter, and: + - for a fixed value parameter or a value parameter created by the expansion, an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from the argument expression to the type of the corresponding parameter; or - for a by-reference parameter, the type of the argument expression is identical to the type of the corresponding parameter. - the parameter-passing mode of the argument is value, and the parameter-passing mode of the corresponding parameter is input, and an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from the argument expression to the type of the corresponding parameter. -When the implicit conversion from the argument type to the parameter type of an input parameter is a dynamic implicit conversion ([§10.2.10](conversions.md#10210-implicit-dynamic-conversions)), the results are undefined. +When the implicit conversion from the argument type to the parameter type of an `in` parameter is a dynamic implicit conversion ([§10.2.10](conversions.md#10210-implicit-dynamic-conversions)), the results are undefined. > *Example*: Given the following declarations and method calls: > From 8b32f3fac304e4fe432c8d9370ac9d582de862a4 Mon Sep 17 00:00:00 2001 From: Daniel Parvin Date: Tue, 15 Oct 2024 11:26:45 -0500 Subject: [PATCH 201/259] Reverted change of 'input parameter' --- standard/expressions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/expressions.md b/standard/expressions.md index 06d61b3f8..cf3fcd4ea 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -1024,7 +1024,7 @@ For a function member that includes a parameter array, if the function member is - for a by-reference parameter, the type of the argument expression is identical to the type of the corresponding parameter. - the parameter-passing mode of the argument is value, and the parameter-passing mode of the corresponding parameter is input, and an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) exists from the argument expression to the type of the corresponding parameter. -When the implicit conversion from the argument type to the parameter type of an `in` parameter is a dynamic implicit conversion ([§10.2.10](conversions.md#10210-implicit-dynamic-conversions)), the results are undefined. +When the implicit conversion from the argument type to the parameter type of an input parameter is a dynamic implicit conversion ([§10.2.10](conversions.md#10210-implicit-dynamic-conversions)), the results are undefined. > *Example*: Given the following declarations and method calls: > From deb1a52aec989bf31403f92f0dcc1fc9a4e187d1 Mon Sep 17 00:00:00 2001 From: Daniel Parvin Date: Thu, 14 Nov 2024 07:35:37 -0600 Subject: [PATCH 202/259] Made minor updates to hyperlinks that I had missed in previous merge commit --- standard/classes.md | 2 +- standard/delegates.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index 324fb4b0a..0d619e526 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -1089,7 +1089,7 @@ A type declared within a class or struct is called a ***nested type***. A type t #### 15.3.9.2 Fully qualified name -The fully qualified name ([§7.8.3](basic-concepts.md#783-fully-qualified-names)) for a nested type declaration is `S.N` where `S` is the fully qualified name of the type declaration in which type `N` is declared and `N` is the unqualified name ([§7.8.2](basic-concepts.md#782-unqualified-names)) of the nested type declaration (including any *generic_dimension_specifier* ([§12.8.18](expressions.md#12817-the-typeof-operator))). +The fully qualified name ([§7.8.3](basic-concepts.md#783-fully-qualified-names)) for a nested type declaration is `S.N` where `S` is the fully qualified name of the type declaration in which type `N` is declared and `N` is the unqualified name ([§7.8.2](basic-concepts.md#782-unqualified-names)) of the nested type declaration (including any *generic_dimension_specifier* ([§12.8.18](expressions.md#12818-the-typeof-operator))). #### 15.3.9.3 Declared accessibility diff --git a/standard/delegates.md b/standard/delegates.md index 7c353c292..a96829963 100644 --- a/standard/delegates.md +++ b/standard/delegates.md @@ -262,7 +262,7 @@ Once instantiated, a delegate instance always refers to the same invocation list ## 20.6 Delegate invocation -C# provides special syntax for invoking a delegate. When a non-`null` delegate instance whose invocation list contains one entry is invoked, it invokes the one method with the same arguments it was given and returns the same value as the referred-to method. (See [§12.8.10.4](expressions.md#12894-delegate-invocations) for detailed information on delegate invocation.) If an exception occurs during the invocation of such a delegate, and that exception is not caught within the method that was invoked, the search for an exception catch clause continues in the method that called the delegate, as if that method had directly called the method to which that delegate referred. +C# provides special syntax for invoking a delegate. When a non-`null` delegate instance whose invocation list contains one entry is invoked, it invokes the one method with the same arguments it was given and returns the same value as the referred-to method. (See [§12.8.10.4](expressions.md#128104-delegate-invocations) for detailed information on delegate invocation.) If an exception occurs during the invocation of such a delegate, and that exception is not caught within the method that was invoked, the search for an exception catch clause continues in the method that called the delegate, as if that method had directly called the method to which that delegate referred. Invocation of a delegate instance whose invocation list contains multiple entries proceeds by invoking each of the methods in the invocation list synchronously, in order. Each method so called is passed the same set of arguments as was given to the delegate instance. If such a delegate invocation includes reference parameters ([§15.6.2.3.3](classes.md#156233-reference-parameters)), each method invocation will occur with a reference to the same variable; changes to that variable by one method in the invocation list will be visible to methods further down the invocation list. If the delegate invocation includes output parameters or a return value, their final value will come from the invocation of the last delegate in the list. If an exception occurs during processing of the invocation of such a delegate, and that exception is not caught within the method that was invoked, the search for an exception catch clause continues in the method that called the delegate, and any methods further down the invocation list are not invoked. From dcfbe0a482acd93ef41c15dbee431d4a0ad6d6c2 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 15 Jan 2025 10:59:48 -0500 Subject: [PATCH 203/259] NuGet updates (#1251) It appears that dependabot missed some of the updates when creating #1248. As a result, there were some incompatibilities. This PR (if successful) replaces that one and updates our tools to the latest packages --- tools/ExampleTester/ExampleTester.csproj | 4 ++-- .../MarkdownConverter.Tests/MarkdownConverter.Tests.csproj | 4 ++-- tools/MarkdownConverter/MarkdownConverter.csproj | 6 +++--- tools/Utilities/Utilities.csproj | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tools/ExampleTester/ExampleTester.csproj b/tools/ExampleTester/ExampleTester.csproj index 582e6ac54..a6923d2bd 100644 --- a/tools/ExampleTester/ExampleTester.csproj +++ b/tools/ExampleTester/ExampleTester.csproj @@ -9,8 +9,8 @@ - - + + diff --git a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj index 440b0e60f..2e30c08b4 100644 --- a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj +++ b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj @@ -16,8 +16,8 @@ - - + + runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/tools/MarkdownConverter/MarkdownConverter.csproj b/tools/MarkdownConverter/MarkdownConverter.csproj index fcbee266c..eb0bc9534 100644 --- a/tools/MarkdownConverter/MarkdownConverter.csproj +++ b/tools/MarkdownConverter/MarkdownConverter.csproj @@ -10,10 +10,10 @@ - - + + - + diff --git a/tools/Utilities/Utilities.csproj b/tools/Utilities/Utilities.csproj index 195a51a2a..b04c9d095 100644 --- a/tools/Utilities/Utilities.csproj +++ b/tools/Utilities/Utilities.csproj @@ -7,8 +7,8 @@ - - + + From 3339c442893e9e7c4bfde5cdc20facfb2988c975 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 22 Jan 2025 16:15:19 -0500 Subject: [PATCH 204/259] [create-pull-request] automated change (#1252) Co-authored-by: BillWagner --- standard/classes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/classes.md b/standard/classes.md index 0d619e526..c578f30fc 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -3837,7 +3837,7 @@ Once a particular non-ref-valued property or non-ref-valued indexer has been sel > > *end example* -Once a particular ref-valued property or ref-valued indexer has been selected---whether the usage is as a value, the target of a simple assignment, or the target of a compound assignment---the accessibility domain of the get accessor involved is used to determine if that usage is valid. +Once a particular ref-valued property or ref-valued indexer has been selected—whether the usage is as a value, the target of a simple assignment, or the target of a compound assignment—the accessibility domain of the get accessor involved is used to determine if that usage is valid. An accessor that is used to implement an interface shall not have an *accessor_modifier*. If only one accessor is used to implement an interface, the other accessor may be declared with an *accessor_modifier*: From f4fe0f1a6a934cfdf8e1cb59c10fe780d0f10935 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma <6654683+Nigel-Ecma@users.noreply.github.com> Date: Mon, 3 Feb 2025 15:23:27 +0000 Subject: [PATCH 205/259] Address issue #1246 (#1258) Adds `notnull` as a contextual keyword and defines how the ambiguity with *class_type* is resolved. Co-authored-by: Nigel-Ecma --- standard/classes.md | 6 ++++-- standard/lexical-structure.md | 12 ++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index c578f30fc..2caf2184d 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -493,14 +493,16 @@ For a type parameter `T` when the type argument is a nullable reference type `C? The ***not null*** constraint specifies that a type argument used for the type parameter should be a non-nullable value type or a non-nullable reference type. A type argument that isn’t a non-nullable value type or a non-nullable reference type is allowed, but a compiler may produce a diagnostic warning. +Because `notnull` is not a keyword, in *primary_constraint* the not null constraint is always syntactically ambiguous with *class_type*. For compatibility reasons, if a name lookup ([§12.8.4](expressions.md#1284-simple-names)) of the name `notnull` succeeds it is treated as a `class_type`. Otherwise it is treated as the not null constraint. + The value type constraint specifies that a type argument used for the type parameter shall be a non-nullable value type. All non-nullable struct types, enum types, and type parameters having the value type constraint satisfy this constraint. Note that although classified as a value type, a nullable value type ([§8.3.12](types.md#8312-nullable-value-types)) does not satisfy the value type constraint. A type parameter having the value type constraint shall not also have the *constructor_constraint*, although it may be used as a type argument for another type parameter with a *constructor_constraint*. > *Note*: The `System.Nullable` type specifies the non-nullable value type constraint for `T`. Thus, recursively constructed types of the forms `T??` and `Nullable>` are prohibited. *end note* -Because `unmanaged` is not a keyword, in *primary_constraint* the unmanaged constraint is always syntactically ambiguous with *class_type*. For compatibility reasons, if a name lookup ([§12.8.4](expressions.md#1284-simple-names)) of the name `unmanaged` succeeds it is treated as a `class_type`. Otherwise it is treated as the unmanaged constraint. - The unmanaged type constraint specifies that a type argument used for the type parameter shall be a non-nullable unmanaged type ([§8.8](types.md#88-unmanaged-types)). +Because `unmanaged` is not a keyword, in *primary_constraint* the unmanaged constraint is always syntactically ambiguous with *class_type*. For compatibility reasons, if a name lookup ([§12.8.4](expressions.md#1284-simple-names)) of the name `unmanaged` succeeds it is treated as a `class_type`. Otherwise it is treated as the unmanaged constraint. + Pointer types are never allowed to be type arguments, and don’t satisfy any type constraints, even unmanaged, despite being unmanaged types. If a constraint is a class type, an interface type, or a type parameter, that type specifies a minimal “base type” that every type argument used for that type parameter shall support. Whenever a constructed type or generic method is used, the type argument is checked against the constraints on the type parameter at compile-time. The type argument supplied shall satisfy the conditions described in [§8.4.5](types.md#845-satisfying-constraints). diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index 56302ba93..49c0a1008 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -591,12 +591,12 @@ A ***contextual keyword*** is an identifier-like sequence of characters that has ```ANTLR contextual_keyword - : 'add' | 'alias' | 'ascending' | 'async' | 'await' - | 'by' | 'descending' | 'dynamic' | 'equals' | 'from' - | 'get' | 'global' | 'group' | 'into' | 'join' - | 'let' | 'nameof' | 'on' | 'orderby' | 'partial' - | 'remove' | 'select' | 'set' | 'unmanaged' | 'value' - | 'var' | 'when' | 'where' | 'yield' + : 'add' | 'alias' | 'ascending' | 'async' | 'await' + | 'by' | 'descending' | 'dynamic' | 'equals' | 'from' + | 'get' | 'global' | 'group' | 'into' | 'join' + | 'let' | 'nameof' | 'notnull' | 'on' | 'orderby' + | 'partial' | 'remove' | 'select' | 'set' | 'unmanaged' + | 'value' | 'var' | 'when' | 'where' | 'yield' ; ``` From 99f9b5d92d9b67667878e179bb2d43ddd61e5fa6 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Tue, 4 Feb 2025 09:56:41 -0500 Subject: [PATCH 206/259] Reconcile library type name lists (#1259) * Reconcile library type name lists * tweak md --- standard/standard-library.md | 217 ++++++++++++++++++++--------------- 1 file changed, 125 insertions(+), 92 deletions(-) diff --git a/standard/standard-library.md b/standard/standard-library.md index ab432b70e..f9a7f68f6 100644 --- a/standard/standard-library.md +++ b/standard/standard-library.md @@ -236,6 +236,13 @@ namespace System public static string Format(string format, params object[] args); } + public class SystemException : Exception + { + public SystemException(); + public SystemException(string? message); + public SystemException(string? message, Exception? innerException); + } + public abstract class Type : MemberInfo { } public sealed class TypeInitializationException : Exception @@ -490,6 +497,73 @@ namespace System.Collections.Generic } } +namespace System.Diagnostics.CodeAnalysis +{ + [System.AttributeUsage(System.AttributeTargets.Field | + System.AttributeTargets.Parameter | System.AttributeTargets.Property, + Inherited=false)] + public sealed class AllowNullAttribute : Attribute + { + public AllowNullAttribute() { } + } + + [System.AttributeUsage(System.AttributeTargets.Field | + System.AttributeTargets.Parameter | System.AttributeTargets.Property, + Inherited=false)] + public sealed class DisallowNullAttribute : Attribute + { + public DisallowNullAttribute() {} + } + + [System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)] + public sealed class DoesNotReturnAttribute : Attribute + { + public DoesNotReturnAttribute() {} + } + + [System.AttributeUsage(System.AttributeTargets.Parameter, Inherited=false)] + public sealed class DoesNotReturnIfAttribute : Attribute + { + public DoesNotReturnIfAttribute(bool parameterValue) {} + } + + [System.AttributeUsage(System.AttributeTargets.Field | + System.AttributeTargets.Parameter | System.AttributeTargets.Property | + System.AttributeTargets.ReturnValue, Inherited=false)] + public sealed class MaybeNullAttribute : Attribute + { + public MaybeNullAttribute() {} + } + + [System.AttributeUsage(System.AttributeTargets.Parameter, Inherited=false)] + public sealed class MaybeNullWhenAttribute : Attribute + { + public MaybeNullWhenAttribute(bool returnValue) {} + } + + [System.AttributeUsage(System.AttributeTargets.Field | + System.AttributeTargets.Parameter | System.AttributeTargets.Property | + System.AttributeTargets.ReturnValue, Inherited=false)] + public sealed class NotNullAttribute : Attribute + { + public NotNullAttribute() {} + } + + [System.AttributeUsage(System.AttributeTargets.Parameter | + System.AttributeTargets.Property | System.AttributeTargets.ReturnValue, + AllowMultiple=true, Inherited=false)] + public sealed class NotNullIfNotNullAttribute : Attribute + { + public NotNullIfNotNullAttribute(string parameterName) {} + } + + [System.AttributeUsage(System.AttributeTargets.Parameter, Inherited=false)] + public sealed class NotNullWhenAttribute : Attribute + { + public NotNullWhenAttribute(bool returnValue) {} + } +} + namespace System.Linq.Expressions { public sealed class Expression @@ -571,70 +645,6 @@ namespace System.Runtime.CompilerServices public bool IsCompleted { get; } public TResult GetResult(); } - - [System.AttributeUsage(System.AttributeTargets.Field | - System.AttributeTargets.Parameter | System.AttributeTargets.Property, - Inherited=false)] - public sealed class AllowNullAttribute : Attribute - { - public AllowNullAttribute() { } - } - - [System.AttributeUsage(System.AttributeTargets.Field | - System.AttributeTargets.Parameter | System.AttributeTargets.Property, - Inherited=false)] - public sealed class DisallowNullAttribute : Attribute - { - public DisallowNullAttribute() {} - } - - [System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)] - public sealed class DoesNotReturnAttribute : Attribute - { - public DoesNotReturnAttribute() {} - } - - [System.AttributeUsage(System.AttributeTargets.Parameter, Inherited=false)] - public sealed class DoesNotReturnIfAttribute : Attribute - { - public DoesNotReturnIfAttribute(bool parameterValue) {} - } - - [System.AttributeUsage(System.AttributeTargets.Field | - System.AttributeTargets.Parameter | System.AttributeTargets.Property | - System.AttributeTargets.ReturnValue, Inherited=false)] - public sealed class MaybeNullAttribute : Attribute - { - public MaybeNullAttribute() {} - } - - [System.AttributeUsage(System.AttributeTargets.Parameter, Inherited=false)] - public sealed class MaybeNullWhenAttribute : Attribute - { - public MaybeNullWhenAttribute(bool returnValue) {} - } - - [System.AttributeUsage(System.AttributeTargets.Field | - System.AttributeTargets.Parameter | System.AttributeTargets.Property | - System.AttributeTargets.ReturnValue, Inherited=false)] - public sealed class NotNullAttribute : Attribute - { - public NotNullAttribute() {} - } - - [System.AttributeUsage(System.AttributeTargets.Parameter | - System.AttributeTargets.Property | System.AttributeTargets.ReturnValue, - AllowMultiple=true, Inherited=false)] - public sealed class NotNullIfNotNullAttribute : Attribute - { - public NotNullIfNotNullAttribute(string parameterName) {} - } - - [System.AttributeUsage(System.AttributeTargets.Parameter, Inherited=false)] - public sealed class NotNullWhenAttribute : Attribute - { - public NotNullWhenAttribute(bool returnValue) {} - } } namespace System.Threading.Tasks @@ -1057,29 +1067,16 @@ The following library types are referenced in this specification. The full names - `global::System.Boolean` - `global::System.Byte` - `global::System.Char` -- `global::System.Collections.Generic.ICollection` -- `global::System.Collections.Generic.IEnumerable` -- `global::System.Collections.Generic.IEnumerator` -- `global::System.Collections.Generic.IList` -- `global::System.Collections.Generic.IReadonlyCollection` -- `global::System.Collections.Generic.IReadOnlyList` -- `global::System.Collections.ICollection` -- `global::System.Collections.IEnumerable` -- `global::System.Collections.IList` -- `global::System.Collections.IEnumerator` - `global::System.Decimal` - `global::System.Delegate` -- `global::System.Diagnostics.ConditionalAttribute` - `global::System.DivideByZeroException` - `global::System.Double` - `global::System.Enum` - `global::System.Exception` +- `global::System.FormattableString` - `global::System.GC` -- `global::System.ICollection` - `global::System.IDisposable` -- `global::System.IEnumerable` -- `global::System.IEnumerable` -- `global::System.IList` +- `global::System.IFormattable` - `global::System.IndexOutOfRangeException` - `global::System.Int16` - `global::System.Int32` @@ -1087,37 +1084,73 @@ The following library types are referenced in this specification. The full names - `global::System.IntPtr` - `global::System.InvalidCastException` - `global::System.InvalidOperationException` -- `global::System.Linq.Expressions.Expression` -- `global::System.MemberInfo` - `global::System.NotSupportedException` - `global::System.Nullable` - `global::System.NullReferenceException` - `global::System.Object` - `global::System.ObsoleteAttribute` +- `global::System.OperationCanceledException` - `global::System.OutOfMemoryException` - `global::System.OverflowException` -- `global::System.Runtime.CompilerServices.CallerFileAttribute` -- `global::System.Runtime.CompilerServices.CallerLineNumberAttribute` -- `global::System.Runtime.CompilerServices.CallerMemberNameAttribute` -- `global::System.Runtime.CompilerServices.ICriticalNotifyCompletion` -- `global::System.Runtime.CompilerServices.IndexerNameAttribute` -- `global::System.Runtime.CompilerServices.INotifyCompletion` -- `global::System.Runtime.CompilerServices.TaskAwaiter` -- `global::System.Runtime.CompilerServices.TaskAwaiter` +- `global::System.ReadOnlySpan` - `global::System.SByte` - `global::System.Single` +- `global::System.Span` - `global::System.StackOverflowException` - `global::System.String` - `global::System.SystemException` -- `global::System.Threading.Monitor` -- `global::System.Threading.Tasks.Task` -- `global::System.Threading.Tasks.Task` - `global::System.Type` - `global::System.TypeInitializationException` - `global::System.UInt16` - `global::System.UInt32` - `global::System.UInt64` - `global::System.UIntPtr` +- `global::System.ValueTuple` +- `global::System.ValueTuple` +- `global::System.ValueTuple` +- `global::System.ValueTuple` +- `global::System.ValueTuple` +- `global::System.ValueTuple` +- `global::System.ValueTuple` +- `global::System.ValueTuple` - `global::System.ValueType` +- `global::System.Collections.ICollection` +- `global::System.Collections.IEnumerable` +- `global::System.Collections.IEnumerator` +- `global::System.Collections.IList` +- `global::System.Collections.Generic.ICollection` +- `global::System.Collections.Generic.IEnumerable` +- `global::System.Collections.Generic.IEnumerator` +- `global::System.Collections.Generic.IList` +- `global::System.Collections.Generic.IReadonlyCollection` +- `global::System.Collections.Generic.IReadOnlyList` +- `global::System.Diagnostics.ConditionalAttribute` +- `global::System.Diagnostics.CodeAnalysis.AllowNullAttribute` +- `global::System.Diagnostics.CodeAnalysis.DisallowNullAttribute` +- `global::System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute` +- `global::System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute` +- `global::System.Diagnostics.CodeAnalysis.MaybeNullAttribute` +- `global::System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute` +- `global::System.Diagnostics.CodeAnalysis.NotNullAttribute` +- `global::System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute` +- `global::System.Diagnostics.CodeAnalysis.NotNullWhenAttribute` +- `global::System.Linq.Expressions.Expression` +- `global::System.Reflection.MemberInfo` +- `global::System.Runtime.CompilerServices.AsyncMethodBuilderAttribute` +- `global::System.Runtime.CompilerServices.CallerFileAttribute` +- `global::System.Runtime.CompilerServices.CallerLineNumberAttribute` +- `global::System.Runtime.CompilerServices.CallerMemberNameAttribute` +- `global::System.Runtime.CompilerServices.FormattableStringFactory` +- `global::System.Runtime.CompilerServices.ICriticalNotifyCompletion` +- `global::System.Runtime.CompilerServices.IndexerNameAttribute` +- `global::System.Runtime.CompilerServices.INotifyCompletion` +- `global::System.Runtime.CompilerServices.TaskAwaiter` +- `global::System.Runtime.CompilerServices.TaskAwaiter` +- `global::System.Runtime.CompilerServices.ValueTaskAwaiter` +- `global::System.Runtime.CompilerServices.ValueTaskAwaiter` +- `global::System.Runtime.CompilerServices.Unsafe` +- `global::System.Threading.Monitor` +- `global::System.Threading.Tasks.Task` +- `global::System.Threading.Tasks.Task` **End of informative text.** From 4041a8a1f7325ebd6122b0b9456d186b251f7832 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Tue, 4 Feb 2025 12:12:19 -0500 Subject: [PATCH 207/259] update dependency action (#1260) The action that generates the PR when we merge changes is failing because the dependent action for uploading the Word doc is deprecated. Update it, and configure dependabot to tell us about these updates so this doesn't happen again. --- .github/dependabot.yml | 6 ++++++ .github/workflows/update-on-merge.yaml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 500c26c17..c4a249476 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,5 +1,11 @@ version: 2 updates: + - package-ecosystem: "github-actions" # Core GitHub Actions + directory: "/" + schedule: + interval: "weekly" + day: "wednesday" + open-pull-requests-limit: 10 - package-ecosystem: "nuget" directory: "/tools" #tools.sln schedule: diff --git a/.github/workflows/update-on-merge.yaml b/.github/workflows/update-on-merge.yaml index c85f5b65a..56fe69db8 100644 --- a/.github/workflows/update-on-merge.yaml +++ b/.github/workflows/update-on-merge.yaml @@ -69,7 +69,7 @@ jobs: shell: bash - name: Upload Word artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: > ${{ steps.renumber-sections.outputs.status }} == 'success' && ${{ steps.update-grammar.outputs.status }} == 'success' && From 1094cace592be46f83f48f7a4711e3a7dff43b75 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 12:24:25 -0500 Subject: [PATCH 208/259] [create-pull-request] automated change (#1261) Co-authored-by: BillWagner --- standard/grammar.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/standard/grammar.md b/standard/grammar.md index a9a775471..0437c8b9a 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -208,12 +208,12 @@ keyword // Source: §6.4.4 Keywords contextual_keyword - : 'add' | 'alias' | 'ascending' | 'async' | 'await' - | 'by' | 'descending' | 'dynamic' | 'equals' | 'from' - | 'get' | 'global' | 'group' | 'into' | 'join' - | 'let' | 'nameof' | 'on' | 'orderby' | 'partial' - | 'remove' | 'select' | 'set' | 'unmanaged' | 'value' - | 'var' | 'when' | 'where' | 'yield' + : 'add' | 'alias' | 'ascending' | 'async' | 'await' + | 'by' | 'descending' | 'dynamic' | 'equals' | 'from' + | 'get' | 'global' | 'group' | 'into' | 'join' + | 'let' | 'nameof' | 'notnull' | 'on' | 'orderby' + | 'partial' | 'remove' | 'select' | 'set' | 'unmanaged' + | 'value' | 'var' | 'when' | 'where' | 'yield' ; // Source: §6.4.5.1 General From bebb8358d440a0e4ae7ec3546fd1740ce287de30 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Thu, 6 Feb 2025 09:09:43 -0500 Subject: [PATCH 209/259] Add Nullable Annotation To Some Library Methods (#1268) * Add Nullable Annotation To Library Methods * minor tweak --- standard/standard-library.md | 94 ++++++++++++++++++------------------ 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/standard/standard-library.md b/standard/standard-library.md index f9a7f68f6..5aa2dace7 100644 --- a/standard/standard-library.md +++ b/standard/standard-library.md @@ -32,15 +32,15 @@ namespace System public class ArgumentException : SystemException { public ArgumentException(); - public ArgumentException(string message); - public ArgumentException(string message, Exception innerException); + public ArgumentException(string? message); + public ArgumentException(string? message, Exception? innerException); } public class ArithmeticException : Exception { public ArithmeticException(); - public ArithmeticException(string message); - public ArithmeticException(string message, Exception innerException); + public ArithmeticException(string? message); + public ArithmeticException(string? message, Exception? innerException); } public abstract class Array : IList, ICollection, IEnumerable @@ -53,9 +53,9 @@ namespace System public class ArrayTypeMismatchException : Exception { public ArrayTypeMismatchException(); - public ArrayTypeMismatchException(string message); - public ArrayTypeMismatchException(string message, - Exception innerException); + public ArrayTypeMismatchException(string? message); + public ArrayTypeMismatchException(string? message, + Exception? innerException); } [AttributeUsageAttribute(AttributeTargets.All, Inherited = true, @@ -103,8 +103,8 @@ namespace System public class DivideByZeroException : ArithmeticException { public DivideByZeroException(); - public DivideByZeroException(string message); - public DivideByZeroException(string message, Exception innerException); + public DivideByZeroException(string? message); + public DivideByZeroException(string? message, Exception? innerException); } public readonly struct Double { } @@ -117,9 +117,9 @@ namespace System public class Exception { public Exception(); - public Exception(string message); - public Exception(string message, Exception innerException); - public sealed Exception InnerException { get; } + public Exception(string? message); + public Exception(string? message, Exception? innerException); + public sealed Exception? InnerException { get; } public virtual string Message { get; } } @@ -135,9 +135,9 @@ namespace System public sealed class IndexOutOfRangeException : Exception { public IndexOutOfRangeException(); - public IndexOutOfRangeException(string message); - public IndexOutOfRangeException(string message, - Exception innerException); + public IndexOutOfRangeException(string? message); + public IndexOutOfRangeException(string? message, + Exception? innerException); } public readonly struct Int16 { } @@ -148,24 +148,24 @@ namespace System public class InvalidCastException : Exception { public InvalidCastException(); - public InvalidCastException(string message); - public InvalidCastException(string message, Exception innerException); + public InvalidCastException(string? message); + public InvalidCastException(string? message, Exception? innerException); } public class InvalidOperationException : Exception { public InvalidOperationException(); - public InvalidOperationException(string message); - public InvalidOperationException(string message, - Exception innerException); + public InvalidOperationException(string? message); + public InvalidOperationException(string? message, + Exception? innerException); } public class NotSupportedException : Exception { public NotSupportedException(); - public NotSupportedException(string message); - public NotSupportedException(string message, - Exception innerException); + public NotSupportedException(string? message); + public NotSupportedException(string? message, + Exception? innerException); } public struct Nullable @@ -177,8 +177,8 @@ namespace System public class NullReferenceException : Exception { public NullReferenceException(); - public NullReferenceException(string message); - public NullReferenceException(string message, Exception innerException); + public NullReferenceException(string? message); + public NullReferenceException(string? message, Exception? innerException); } public class Object @@ -188,7 +188,7 @@ namespace System public virtual bool Equals(object obj); public virtual int GetHashCode(); public Type GetType(); - public virtual string ToString(); + public virtual string? ToString(); } [AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Struct | @@ -199,24 +199,24 @@ namespace System public sealed class ObsoleteAttribute : Attribute { public ObsoleteAttribute(); - public ObsoleteAttribute(string message); - public ObsoleteAttribute(string message, bool error); + public ObsoleteAttribute(string? message); + public ObsoleteAttribute(string? message, bool error); public bool IsError { get; } - public string Message { get; } + public string Message? { get; } } public class OutOfMemoryException : Exception { public OutOfMemoryException(); - public OutOfMemoryException(string message); - public OutOfMemoryException(string message, Exception innerException); + public OutOfMemoryException(string? message); + public OutOfMemoryException(string? message, Exception? innerException); } public class OverflowException : ArithmeticException { public OverflowException(); - public OverflowException(string message); - public OverflowException(string message, Exception innerException); + public OverflowException(string? message); + public OverflowException(string? message, Exception? innerException); } public readonly struct SByte { } @@ -225,15 +225,15 @@ namespace System public sealed class StackOverflowException : Exception { public StackOverflowException(); - public StackOverflowException(string message); - public StackOverflowException(string message, Exception innerException); + public StackOverflowException(string? message); + public StackOverflowException(string? message, Exception? innerException); } public sealed class String : IEnumerable, IEnumerable { public int Length { get; } public char this [int index] { get; } - public static string Format(string format, params object[] args); + public static string Format(string format, params object?[] args); } public class SystemException : Exception @@ -248,7 +248,7 @@ namespace System public sealed class TypeInitializationException : Exception { public TypeInitializationException(string fullTypeName, - Exception innerException); + Exception? innerException); } public readonly struct UInt16 { } @@ -288,13 +288,13 @@ namespace System.Collections { bool IsFixedSize { get; } bool IsReadOnly { get; } - object this [int index] { get; set; } - int Add(object value); + object? this [int index] { get; set; } + int Add(object? value); void Clear(); - bool Contains(object value); - int IndexOf(object value); - void Insert(int index, object value); - void Remove(object value); + bool Contains(object? value); + int IndexOf(object? value); + void Insert(int index, object? value); + void Remove(object? value); void RemoveAt(int index); } } @@ -354,7 +354,7 @@ namespace System.Runtime.CompilerServices { public sealed class IndexerNameAttribute : Attribute { - public IndexerNameAttribute(String indexerName); + public IndexerNameAttribute(string indexerName); } public static class Unsafe @@ -387,8 +387,8 @@ namespace System public class OperationCanceledException : Exception { public OperationCanceledException(); - public OperationCanceledException(string message); - public OperationCanceledException(string message, Exception innerException); + public OperationCanceledException(string? message); + public OperationCanceledException(string? message, Exception? innerException); } public readonly ref struct ReadOnlySpan @@ -605,7 +605,7 @@ namespace System.Runtime.CompilerServices public static class FormattableStringFactory { public static FormattableString Create(string format, - params object[] arguments); + params object?[] arguments); } public interface ICriticalNotifyCompletion : INotifyCompletion From f577893865f7799fa422cb237332de1f1693f62f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Feb 2025 15:08:13 -0500 Subject: [PATCH 210/259] Bump actions/setup-java from 1 to 4 (#1262) Bumps [actions/setup-java](https://github.com/actions/setup-java) from 1 to 4. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v1...v4) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/grammar-validator.yaml | 2 +- .github/workflows/update-on-merge.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/grammar-validator.yaml b/.github/workflows/grammar-validator.yaml index 1e86eac61..22a635f95 100644 --- a/.github/workflows/grammar-validator.yaml +++ b/.github/workflows/grammar-validator.yaml @@ -27,7 +27,7 @@ jobs: dotnet-version: 8.0.x - name: Set up JDK 15 - uses: actions/setup-java@v2 + uses: actions/setup-java@v4 with: java-version: 15.0 distribution: zulu diff --git a/.github/workflows/update-on-merge.yaml b/.github/workflows/update-on-merge.yaml index 56fe69db8..ff3287154 100644 --- a/.github/workflows/update-on-merge.yaml +++ b/.github/workflows/update-on-merge.yaml @@ -36,7 +36,7 @@ jobs: dotnet-version: 8.0.x - name: Set up JDK 15 - uses: actions/setup-java@v1 + uses: actions/setup-java@v4 with: java-version: 15.0 From b4fb5cc273aca7d3e8dd37f270480b6752f6f7f9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Feb 2025 15:08:38 -0500 Subject: [PATCH 211/259] Bump peter-evans/create-pull-request from 3.4.1 to 7.0.6 (#1264) Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3.4.1 to 7.0.6. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.4.1...v7.0.6) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/smart-quotes.yaml | 2 +- .github/workflows/update-on-merge.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/smart-quotes.yaml b/.github/workflows/smart-quotes.yaml index 551084179..0e757226e 100644 --- a/.github/workflows/smart-quotes.yaml +++ b/.github/workflows/smart-quotes.yaml @@ -37,7 +37,7 @@ jobs: shell: bash - name: Create pull request - uses: peter-evans/create-pull-request@v3.4.1 + uses: peter-evans/create-pull-request@v7.0.6 with: title: 'Run smarten on demand' body: 'Run the smarten action to create smart quotes' \ No newline at end of file diff --git a/.github/workflows/update-on-merge.yaml b/.github/workflows/update-on-merge.yaml index ff3287154..fb7b734ef 100644 --- a/.github/workflows/update-on-merge.yaml +++ b/.github/workflows/update-on-merge.yaml @@ -55,7 +55,7 @@ jobs: shell: bash - name: Create pull request - uses: peter-evans/create-pull-request@v3.4.1 + uses: peter-evans/create-pull-request@v7.0.6 if: ${{ steps.renumber-sections.outputs.status }} == 'success' && ${{ steps.update-grammar.outputs.status }} == 'success' with: title: "Automated Section renumber and grammar extraction" From dd9ac5893b9c2a4451f2b4f1a8227106c69f9213 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Feb 2025 15:09:12 -0500 Subject: [PATCH 212/259] Bump actions/setup-dotnet from 1 to 4 (#1265) Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 1 to 4. - [Release notes](https://github.com/actions/setup-dotnet/releases) - [Commits](https://github.com/actions/setup-dotnet/compare/v1...v4) --- updated-dependencies: - dependency-name: actions/setup-dotnet dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/grammar-validator.yaml | 2 +- .github/workflows/renumber-sections.yaml | 2 +- .github/workflows/smart-quotes.yaml | 2 +- .github/workflows/test-examples.yaml | 2 +- .github/workflows/tools-tests.yaml | 2 +- .github/workflows/update-on-merge.yaml | 2 +- .github/workflows/word-converter.yaml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/grammar-validator.yaml b/.github/workflows/grammar-validator.yaml index 22a635f95..ea8df1fcf 100644 --- a/.github/workflows/grammar-validator.yaml +++ b/.github/workflows/grammar-validator.yaml @@ -22,7 +22,7 @@ jobs: uses: actions/checkout@v2 - name: Setup .NET 8.0 - uses: actions/setup-dotnet@v1 + uses: actions/setup-dotnet@v4 with: dotnet-version: 8.0.x diff --git a/.github/workflows/renumber-sections.yaml b/.github/workflows/renumber-sections.yaml index 13f4ecba7..77563cca7 100644 --- a/.github/workflows/renumber-sections.yaml +++ b/.github/workflows/renumber-sections.yaml @@ -27,7 +27,7 @@ jobs: uses: actions/checkout@v2 - name: Setup .NET 8.0 - uses: actions/setup-dotnet@v1 + uses: actions/setup-dotnet@v4 with: dotnet-version: 8.0.x diff --git a/.github/workflows/smart-quotes.yaml b/.github/workflows/smart-quotes.yaml index 0e757226e..3ad8051af 100644 --- a/.github/workflows/smart-quotes.yaml +++ b/.github/workflows/smart-quotes.yaml @@ -25,7 +25,7 @@ jobs: uses: actions/checkout@v2 - name: Setup .NET 8.0 - uses: actions/setup-dotnet@v1 + uses: actions/setup-dotnet@v4 with: dotnet-version: 8.0.x diff --git a/.github/workflows/test-examples.yaml b/.github/workflows/test-examples.yaml index 727e996fb..93957872a 100644 --- a/.github/workflows/test-examples.yaml +++ b/.github/workflows/test-examples.yaml @@ -33,7 +33,7 @@ jobs: # are to the target language version we're standardising, # the better.) - name: Setup .NET 6.0 and 8.0 - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: dotnet-version: | 6.0.x diff --git a/.github/workflows/tools-tests.yaml b/.github/workflows/tools-tests.yaml index ff3790536..de06d6b48 100644 --- a/.github/workflows/tools-tests.yaml +++ b/.github/workflows/tools-tests.yaml @@ -26,7 +26,7 @@ jobs: uses: actions/checkout@v2 - name: Setup .NET 8.0 - uses: actions/setup-dotnet@v1 + uses: actions/setup-dotnet@v4 with: dotnet-version: 8.0.x diff --git a/.github/workflows/update-on-merge.yaml b/.github/workflows/update-on-merge.yaml index fb7b734ef..7251c4d3c 100644 --- a/.github/workflows/update-on-merge.yaml +++ b/.github/workflows/update-on-merge.yaml @@ -31,7 +31,7 @@ jobs: uses: actions/checkout@v2 - name: Setup .NET 8.0 - uses: actions/setup-dotnet@v1 + uses: actions/setup-dotnet@v4 with: dotnet-version: 8.0.x diff --git a/.github/workflows/word-converter.yaml b/.github/workflows/word-converter.yaml index 696f998fd..fe377d780 100644 --- a/.github/workflows/word-converter.yaml +++ b/.github/workflows/word-converter.yaml @@ -27,7 +27,7 @@ jobs: uses: actions/checkout@v2 - name: Setup .NET 8.0 - uses: actions/setup-dotnet@v1 + uses: actions/setup-dotnet@v4 with: dotnet-version: 8.0.x From ebbc3f337978bb86482a3c3518c667b38f2982db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Feb 2025 15:13:55 -0500 Subject: [PATCH 213/259] Bump actions/checkout from 2 to 4 (#1266) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Commits](https://github.com/actions/checkout/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/grammar-validator.yaml | 2 +- .github/workflows/markdownlint.yml | 2 +- .github/workflows/renumber-sections.yaml | 2 +- .github/workflows/smart-quotes.yaml | 2 +- .github/workflows/test-examples.yaml | 2 +- .github/workflows/tools-tests.yaml | 2 +- .github/workflows/update-on-merge.yaml | 2 +- .github/workflows/word-converter.yaml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/grammar-validator.yaml b/.github/workflows/grammar-validator.yaml index ea8df1fcf..978395f62 100644 --- a/.github/workflows/grammar-validator.yaml +++ b/.github/workflows/grammar-validator.yaml @@ -19,7 +19,7 @@ jobs: steps: - name: Check out our repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup .NET 8.0 uses: actions/setup-dotnet@v4 diff --git a/.github/workflows/markdownlint.yml b/.github/workflows/markdownlint.yml index 1bbfa4f59..0649d635d 100644 --- a/.github/workflows/markdownlint.yml +++ b/.github/workflows/markdownlint.yml @@ -28,7 +28,7 @@ jobs: statuses: write steps: - - uses: actions/checkout@24cb9080177205b6e8c946b17badbe402adc938f + - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 - name: Use Node.js uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c with: diff --git a/.github/workflows/renumber-sections.yaml b/.github/workflows/renumber-sections.yaml index 77563cca7..aa1187617 100644 --- a/.github/workflows/renumber-sections.yaml +++ b/.github/workflows/renumber-sections.yaml @@ -24,7 +24,7 @@ jobs: steps: - name: Check out our repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup .NET 8.0 uses: actions/setup-dotnet@v4 diff --git a/.github/workflows/smart-quotes.yaml b/.github/workflows/smart-quotes.yaml index 3ad8051af..c75db1bfb 100644 --- a/.github/workflows/smart-quotes.yaml +++ b/.github/workflows/smart-quotes.yaml @@ -22,7 +22,7 @@ jobs: steps: - name: Check out our repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup .NET 8.0 uses: actions/setup-dotnet@v4 diff --git a/.github/workflows/test-examples.yaml b/.github/workflows/test-examples.yaml index 93957872a..9bf24123b 100644 --- a/.github/workflows/test-examples.yaml +++ b/.github/workflows/test-examples.yaml @@ -26,7 +26,7 @@ jobs: steps: - name: Check out our repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 # We build examples against .NET 6.0, but use # 8.0 for the tools themselves. (The closer we diff --git a/.github/workflows/tools-tests.yaml b/.github/workflows/tools-tests.yaml index de06d6b48..22073f036 100644 --- a/.github/workflows/tools-tests.yaml +++ b/.github/workflows/tools-tests.yaml @@ -23,7 +23,7 @@ jobs: steps: - name: Check out our repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup .NET 8.0 uses: actions/setup-dotnet@v4 diff --git a/.github/workflows/update-on-merge.yaml b/.github/workflows/update-on-merge.yaml index 7251c4d3c..7ddf7ee9d 100644 --- a/.github/workflows/update-on-merge.yaml +++ b/.github/workflows/update-on-merge.yaml @@ -28,7 +28,7 @@ jobs: steps: - name: Check out our repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup .NET 8.0 uses: actions/setup-dotnet@v4 diff --git a/.github/workflows/word-converter.yaml b/.github/workflows/word-converter.yaml index fe377d780..b49ebc0cc 100644 --- a/.github/workflows/word-converter.yaml +++ b/.github/workflows/word-converter.yaml @@ -24,7 +24,7 @@ jobs: steps: - name: Check out our repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup .NET 8.0 uses: actions/setup-dotnet@v4 From 0f02405191ad0f4d704df41003f8a3eaa5bdef23 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Feb 2025 15:14:25 -0500 Subject: [PATCH 214/259] Bump actions/setup-node from 3.6.0 to 4.2.0 (#1267) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.6.0 to 4.2.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c...1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/markdownlint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/markdownlint.yml b/.github/workflows/markdownlint.yml index 0649d635d..a917d7cea 100644 --- a/.github/workflows/markdownlint.yml +++ b/.github/workflows/markdownlint.yml @@ -30,7 +30,7 @@ jobs: steps: - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 - name: Use Node.js - uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c + uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a with: node-version: 16.x - name: Run Markdownlint From 74c52d48b11357fe173836c0060893cca31c8e67 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Feb 2025 15:15:34 -0500 Subject: [PATCH 215/259] Bump step-security/harden-runner from 2.10.1 to 2.11.0 (#1272) Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.10.1 to 2.11.0. - [Release notes](https://github.com/step-security/harden-runner/releases) - [Commits](https://github.com/step-security/harden-runner/compare/91182cccc01eb5e619899d80e4e971d6181294a7...4d991eb9b905ef189e4c376166672c3f2f230481) --- updated-dependencies: - dependency-name: step-security/harden-runner dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/do-not-merge-label-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/do-not-merge-label-check.yml b/.github/workflows/do-not-merge-label-check.yml index 3140df500..75e18e840 100644 --- a/.github/workflows/do-not-merge-label-check.yml +++ b/.github/workflows/do-not-merge-label-check.yml @@ -22,7 +22,7 @@ jobs: - 'do not merge' steps: - name: Harden Runner - uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1 + uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0 with: egress-policy: audit From e6debd5adf6066692da88c4e9b05b198913ce1b6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Feb 2025 15:16:20 -0500 Subject: [PATCH 216/259] Bump the dotnet group in /tools with 4 updates (#1270) Bumps the dotnet group in /tools with 4 updates: [System.Text.Json](https://github.com/dotnet/runtime), [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest), [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) and [xunit.runner.visualstudio](https://github.com/xunit/visualstudio.xunit). Updates `System.Text.Json` from 9.0.1 to 9.0.2 - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](https://github.com/dotnet/runtime/compare/v9.0.1...v9.0.2) Updates `Microsoft.NET.Test.Sdk` from 17.12.0 to 17.13.0 - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](https://github.com/microsoft/vstest/compare/v17.12.0...v17.13.0) Updates `Newtonsoft.Json` from 13.0.3 to 13.0.1 - [Release notes](https://github.com/JamesNK/Newtonsoft.Json/releases) - [Commits](https://github.com/JamesNK/Newtonsoft.Json/compare/13.0.3...13.0.1) Updates `xunit.runner.visualstudio` from 3.0.1 to 3.0.2 - [Release notes](https://github.com/xunit/visualstudio.xunit/releases) - [Commits](https://github.com/xunit/visualstudio.xunit/compare/3.0.1...3.0.2) --- updated-dependencies: - dependency-name: System.Text.Json dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Newtonsoft.Json dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: xunit.runner.visualstudio dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj | 4 ++-- tools/Utilities/Utilities.csproj | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj index 2e30c08b4..969797cad 100644 --- a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj +++ b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj @@ -13,11 +13,11 @@ - + - + runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/tools/Utilities/Utilities.csproj b/tools/Utilities/Utilities.csproj index b04c9d095..f373b8a68 100644 --- a/tools/Utilities/Utilities.csproj +++ b/tools/Utilities/Utilities.csproj @@ -8,7 +8,7 @@ - + From 7a58947173acefbc62391bbc8aa05f2ae1645269 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 20 Feb 2025 08:57:17 -0500 Subject: [PATCH 217/259] fix the step to setup the JDK (#1273) Because the update requires a new parameter. --- .github/workflows/update-on-merge.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/update-on-merge.yaml b/.github/workflows/update-on-merge.yaml index 7ddf7ee9d..3a49c2c3f 100644 --- a/.github/workflows/update-on-merge.yaml +++ b/.github/workflows/update-on-merge.yaml @@ -39,6 +39,7 @@ jobs: uses: actions/setup-java@v4 with: java-version: 15.0 + distribution: zulu - name: Smarten quotes id: smarten-quote From afbf099302ef483005deea22da77110f77248f14 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Thu, 20 Feb 2025 09:16:38 -0500 Subject: [PATCH 218/259] =?UTF-8?q?Refactor=20the=20subsections=20of=20?= =?UTF-8?q?=C2=A712.8.17,=20"The=20new=20operator"=20(#1247)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Rearrange New Expr Sections * Rearrange New Expr Sections * Rearrange New Expr Sections * Rearrange New Expr Sections * Rearrange New Expr Sections * Rearrange New Expr Sections * Rearrange New Expr Sections * Rearrange New Expr Sections * Rearrange New Expr Sections --- standard/README.md | 11 +- standard/arrays.md | 4 +- standard/classes.md | 2 +- standard/conversions.md | 2 +- standard/delegates.md | 6 +- standard/expressions.md | 206 +++++++++++++++++---------------- standard/portability-issues.md | 2 +- standard/unsafe-code.md | 4 +- standard/variables.md | 2 +- 9 files changed, 121 insertions(+), 118 deletions(-) diff --git a/standard/README.md b/standard/README.md index 477c99a20..7032211f7 100644 --- a/standard/README.md +++ b/standard/README.md @@ -346,11 +346,12 @@ - [§12.8.17](expressions.md#12817-the-new-operator) The new operator - [§12.8.17.1](expressions.md#128171-general) General - [§12.8.17.2](expressions.md#128172-object-creation-expressions) Object creation expressions - - [§12.8.17.3](expressions.md#128173-object-initializers) Object initializers - - [§12.8.17.4](expressions.md#128174-collection-initializers) Collection initializers - - [§12.8.17.5](expressions.md#128175-array-creation-expressions) Array creation expressions - - [§12.8.17.6](expressions.md#128176-delegate-creation-expressions) Delegate creation expressions - - [§12.8.17.7](expressions.md#128177-anonymous-object-creation-expressions) Anonymous object creation expressions + - [§12.8.17.2.1](§NewGeneral) General + - [§12.8.17.2.2](expressions.md#1281722-object-initializers) Object initializers + - [§12.8.17.2.3](expressions.md#1281723-collection-initializers) Collection initializers + - [§12.8.17.2.4](expressions.md#1281724-anonymous-object-creation-expressions) Anonymous object creation expressions + - [§12.8.17.3](expressions.md#128173-array-creation-expressions) Array creation expressions + - [§12.8.17.4](expressions.md#128174-delegate-creation-expressions) Delegate creation expressions - [§12.8.18](expressions.md#12818-the-typeof-operator) The typeof operator - [§12.8.19](expressions.md#12819-the-sizeof-operator) The sizeof operator - [§12.8.20](expressions.md#12820-the-checked-and-unchecked-operators) The checked and unchecked operators diff --git a/standard/arrays.md b/standard/arrays.md index 90e14a46e..b5c815cd9 100644 --- a/standard/arrays.md +++ b/standard/arrays.md @@ -102,7 +102,7 @@ When an array type `S[]` implements `IList`, some of the members of the imple ## 17.3 Array creation -Array instances are created by *array_creation_expression*s ([§12.8.17.5](expressions.md#128175-array-creation-expressions)) or by field or local variable declarations that include an *array_initializer* ([§17.7](arrays.md#177-array-initializers)). Array instances can also be created implicitly as part of evaluating an argument list involving a parameter array ([§15.6.2.4](classes.md#15624-parameter-arrays)). +Array instances are created by *array_creation_expression*s ([§12.8.17.3](expressions.md#128173-array-creation-expressions)) or by field or local variable declarations that include an *array_initializer* ([§17.7](arrays.md#177-array-initializers)). Array instances can also be created implicitly as part of evaluating an argument list involving a parameter array ([§15.6.2.4](classes.md#15624-parameter-arrays)). When an array instance is created, the rank and length of each dimension are established and then remain constant for the entire lifetime of the instance. In other words, it is not possible to change the rank of an existing array instance, nor is it possible to resize its dimensions. @@ -158,7 +158,7 @@ Array covariance specifically does not extend to arrays of *value_type*s. For ex ## 17.7 Array initializers -Array initializers may be specified in field declarations ([§15.5](classes.md#155-fields)), local variable declarations ([§13.6.2](statements.md#1362-local-variable-declarations)), and array creation expressions ([§12.8.17.5](expressions.md#128175-array-creation-expressions)): +Array initializers may be specified in field declarations ([§15.5](classes.md#155-fields)), local variable declarations ([§13.6.2](statements.md#1362-local-variable-declarations)), and array creation expressions ([§12.8.17.3](expressions.md#128173-array-creation-expressions)): ```ANTLR array_initializer diff --git a/standard/classes.md b/standard/classes.md index 2caf2184d..f82716165 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -3015,7 +3015,7 @@ If an implementing declaration exists for a given partial method, the invocation If a defining declaration but not an implementing declaration is given for a partial method `M`, the following restrictions apply: -- It is a compile-time error to create a delegate from `M` ([§12.8.17.6](expressions.md#128176-delegate-creation-expressions)). +- It is a compile-time error to create a delegate from `M` ([§12.8.17.4](expressions.md#128174-delegate-creation-expressions)). - It is a compile-time error to refer to `M` inside an anonymous function that is converted to an expression tree type ([§8.6](types.md#86-expression-tree-types)). diff --git a/standard/conversions.md b/standard/conversions.md index 9b9b4a13c..439d53ec9 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -849,7 +849,7 @@ Anonymous functions may influence overload resolution, and participate in type i ### 10.7.2 Evaluation of anonymous function conversions to delegate types -Conversion of an anonymous function to a delegate type produces a delegate instance that references the anonymous function and the (possibly empty) set of captured outer variables that are active at the time of the evaluation. When the delegate is invoked, the body of the anonymous function is executed. The code in the body is executed using the set of captured outer variables referenced by the delegate. A *delegate_creation_expression* ([§12.8.17.6](expressions.md#128176-delegate-creation-expressions)) can be used as an alternate syntax for converting an anonymous method to a delegate type. +Conversion of an anonymous function to a delegate type produces a delegate instance that references the anonymous function and the (possibly empty) set of captured outer variables that are active at the time of the evaluation. When the delegate is invoked, the body of the anonymous function is executed. The code in the body is executed using the set of captured outer variables referenced by the delegate. A *delegate_creation_expression* ([§12.8.17.4](expressions.md#128174-delegate-creation-expressions)) can be used as an alternate syntax for converting an anonymous method to a delegate type. The invocation list of a delegate produced from an anonymous function contains a single entry. The exact target object and target method of the delegate are unspecified. In particular, it is unspecified whether the target object of the delegate is `null`, the `this` value of the enclosing function member, or some other object. diff --git a/standard/delegates.md b/standard/delegates.md index a96829963..f9245eb19 100644 --- a/standard/delegates.md +++ b/standard/delegates.md @@ -178,11 +178,11 @@ This definition of compatibility allows covariance in return type and contravari ## 20.5 Delegate instantiation -An instance of a delegate is created by a *delegate_creation_expression* ([§12.8.17.6](expressions.md#128176-delegate-creation-expressions)), a conversion to a delegate type, delegate combination or delegate removal. The newly created delegate instance then refers to one or more of: +An instance of a delegate is created by a *delegate_creation_expression* ([§12.8.17.4](expressions.md#128174-delegate-creation-expressions)), a conversion to a delegate type, delegate combination or delegate removal. The newly created delegate instance then refers to one or more of: - The static method referenced in the *delegate_creation_expression*, or - The target object (which cannot be `null`) and instance method referenced in the *delegate_creation_expression*, or -- Another delegate ([§12.8.17.6](expressions.md#128176-delegate-creation-expressions)). +- Another delegate ([§12.8.17.4](expressions.md#128174-delegate-creation-expressions)). > *Example*: > @@ -212,7 +212,7 @@ An instance of a delegate is created by a *delegate_creation_expression* ([§12. The set of methods encapsulated by a delegate instance is called an *invocation list*. When a delegate instance is created from a single method, it encapsulates that method, and its invocation list contains only one entry. However, when two non-`null` delegate instances are combined, their invocation lists are concatenated—in the order left operand then right operand—to form a new invocation list, which contains two or more entries. -When a new delegate is created from a single delegate the resultant invocation list has just one entry, which is the source delegate ([§12.8.17.6](expressions.md#128176-delegate-creation-expressions)). +When a new delegate is created from a single delegate the resultant invocation list has just one entry, which is the source delegate ([§12.8.17.4](expressions.md#128174-delegate-creation-expressions)). Delegates are combined using the binary `+` ([§12.10.5](expressions.md#12105-addition-operator)) and `+=` operators ([§12.21.4](expressions.md#12214-compound-assignment)). A delegate can be removed from a combination of delegates, using the binary `-` ([§12.10.6](expressions.md#12106-subtraction-operator)) and `-=` operators ([§12.21.4](expressions.md#12214-compound-assignment)). Delegates can be compared for equality ([§12.12.9](expressions.md#12129-delegate-equality-operators)). diff --git a/standard/expressions.md b/standard/expressions.md index cf3fcd4ea..5b41a2aba 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -23,7 +23,7 @@ For expressions which occur as subexpressions of larger expressions, with the no - A namespace. An expression with this classification can only appear as the left-hand side of a *member_access* ([§12.8.7](expressions.md#1287-member-access)). In any other context, an expression classified as a namespace causes a compile-time error. - A type. An expression with this classification can only appear as the left-hand side of a *member_access* ([§12.8.7](expressions.md#1287-member-access)). In any other context, an expression classified as a type causes a compile-time error. -- A method group, which is a set of overloaded methods resulting from a member lookup ([§12.5](expressions.md#125-member-lookup)). A method group may have an associated instance expression and an associated type argument list. When an instance method is invoked, the result of evaluating the instance expression becomes the instance represented by `this` ([§12.8.14](expressions.md#12814-this-access)). A method group is permitted in an *invocation_expression* ([§12.8.10](expressions.md#12810-invocation-expressions)) or a *delegate_creation_expression* ([§12.8.17.6](expressions.md#128176-delegate-creation-expressions)), and can be implicitly converted to a compatible delegate type ([§10.8](conversions.md#108-method-group-conversions)). In any other context, an expression classified as a method group causes a compile-time error. +- A method group, which is a set of overloaded methods resulting from a member lookup ([§12.5](expressions.md#125-member-lookup)). A method group may have an associated instance expression and an associated type argument list. When an instance method is invoked, the result of evaluating the instance expression becomes the instance represented by `this` ([§12.8.14](expressions.md#12814-this-access)). A method group is permitted in an *invocation_expression* ([§12.8.10](expressions.md#12810-invocation-expressions)) or a *delegate_creation_expression* ([§12.8.17.4](expressions.md#128174-delegate-creation-expressions)), and can be implicitly converted to a compatible delegate type ([§10.8](conversions.md#108-method-group-conversions)). In any other context, an expression classified as a method group causes a compile-time error. - An event access. Every event access has an associated type, namely the type of the event. Furthermore, an event access may have an associated instance expression. An event access may appear as the left operand of the `+=` and `-=` operators ([§12.21.5](expressions.md#12215-event-assignment)). In any other context, an expression classified as an event access causes a compile-time error. When an accessor of an instance event access is invoked, the result of evaluating the instance expression becomes the instance represented by `this` ([§12.8.14](expressions.md#12814-this-access)). - A throw expression, which may be used in several contexts to throw an exception in an expression. A throw expression may be converted by an implicit conversion to any type. @@ -685,7 +685,7 @@ The expressions of an argument list are always evaluated in textual order. > > *end example* -When a function member with a parameter array is invoked in its expanded form with at least one expanded argument, the invocation is processed as if an array creation expression with an array initializer ([§12.8.17.5](expressions.md#128175-array-creation-expressions)) was inserted around the expanded arguments. An empty array is passed when there are no arguments for the parameter array; it is unspecified whether the reference passed is to a newly allocated or existing empty array. +When a function member with a parameter array is invoked in its expanded form with at least one expanded argument, the invocation is processed as if an array creation expression with an array initializer ([§12.8.17.3](expressions.md#128173-array-creation-expressions)) was inserted around the expanded arguments. An empty array is passed when there are no arguments for the parameter array; it is unspecified whether the reference passed is to a newly allocated or existing empty array. > *Example*: Given the declaration > @@ -1822,7 +1822,7 @@ A *null_conditional_member_access* expression `E` is of the form `P?.A`. The me > > *end note* -A *null_conditional_projection_initializer* is a restriction of *null_conditional_member_access* and has the same semantics. It only occurs as a projection initializer in an anonymous object creation expression ([§12.8.17.7](expressions.md#128177-anonymous-object-creation-expressions)). +A *null_conditional_projection_initializer* is a restriction of *null_conditional_member_access* and has the same semantics. It only occurs as a projection initializer in an anonymous object creation expression ([§12.8.17.2.4](expressions.md#1281724-anonymous-object-creation-expressions)). ### 12.8.9 Null-forgiving expressions @@ -2414,7 +2414,7 @@ The `new` operator is used to create new instances of types. There are three forms of new expressions: -- Object creation expressions and anonymous object creation expressions are used to create new instances of class types and value types. +- Object creation expressions are used to create new instances of class types and value types. - Array creation expressions are used to create new instances of array types. - Delegate creation expressions are used to obtain instances of delegate types. @@ -2424,6 +2424,8 @@ The `new` operator implies creation of an instance of a type, but does not neces #### 12.8.17.2 Object creation expressions +##### §NewGeneral General + An *object_creation_expression* is used to create a new instance of a *class_type* or a *value_type*. ```ANTLR @@ -2444,7 +2446,7 @@ The optional *argument_list* ([§12.6.2](expressions.md#1262-argument-lists)) is An object creation expression can omit the constructor argument list and enclosing parentheses provided it includes an object initializer or collection initializer. Omitting the constructor argument list and enclosing parentheses is equivalent to specifying an empty argument list. -Processing of an object creation expression that includes an object initializer or collection initializer consists of first processing the instance constructor and then processing the member or element initializations specified by the object initializer ([§12.8.17.3](expressions.md#128173-object-initializers)) or collection initializer ([§12.8.17.4](expressions.md#128174-collection-initializers)). +Processing of an object creation expression that includes an object initializer or collection initializer consists of first processing the instance constructor and then processing the member or element initializations specified by the object initializer ([§12.8.17.2.2](expressions.md#1281722-object-initializers)) or collection initializer ([§12.8.17.2.3](expressions.md#1281723-collection-initializers)). If any of the arguments in the optional *argument_list* has the compile-time type `dynamic` then the *object_creation_expression* is dynamically bound ([§12.3.3](expressions.md#1233-dynamic-binding)) and the following rules are applied at run-time using the run-time type of those arguments of the *argument_list* that have the compile-time type `dynamic`. However, the object creation undergoes a limited compile-time check as described in [§12.6.5](expressions.md#1265-compile-time-checking-of-dynamic-member-invocation). @@ -2473,7 +2475,7 @@ The run-time processing of an *object_creation_expression* of the form new `T(A) - An instance of type `T` is created by allocating a temporary local variable. Since an instance constructor of a *struct_type* is required to definitely assign a value to each field of the instance being created, no initialization of the temporary variable is necessary. - The instance constructor is invoked according to the rules of function member invocation ([§12.6.6](expressions.md#1266-function-member-invocation)). A reference to the newly allocated instance is automatically passed to the instance constructor and the instance can be accessed from within that constructor as this. -#### 12.8.17.3 Object initializers +##### 12.8.17.2.2 Object initializers An ***object initializer*** specifies values for zero or more fields, properties, or indexed elements of an object. @@ -2512,7 +2514,7 @@ A member initializer that specifies an expression after the equals sign is proce A member initializer that specifies an object initializer after the equals sign is a ***nested object initializer***, i.e., an initialization of an embedded object. Instead of assigning a new value to the field or property, the assignments in the nested object initializer are treated as assignments to members of the field or property. Nested object initializers cannot be applied to properties with a value type, or to read-only fields with a value type. -A member initializer that specifies a collection initializer after the equals sign is an initialization of an embedded collection. Instead of assigning a new collection to the target field, property, or indexer, the elements given in the initializer are added to the collection referenced by the target. The target shall be of a collection type that satisfies the requirements specified in [§12.8.17.4](expressions.md#128174-collection-initializers). +A member initializer that specifies a collection initializer after the equals sign is an initialization of an embedded collection. Instead of assigning a new collection to the target field, property, or indexer, the elements given in the initializer are added to the collection referenced by the target. The target shall be of a collection type that satisfies the requirements specified in [§12.8.17.2.3](expressions.md#1281723-collection-initializers). When an initializer target refers to an indexer, the arguments to the indexer shall always be evaluated exactly once. Thus, even if the arguments end up never getting used (e.g., because of an empty nested initializer), they are evaluated for their side effects. @@ -2622,7 +2624,7 @@ When an initializer target refers to an indexer, the arguments to the indexer sh > > *end example* -#### 12.8.17.4 Collection initializers +##### 12.8.17.2.3 Collection initializers A collection initializer specifies the elements of a collection. @@ -2712,7 +2714,96 @@ The collection object to which a collection initializer is applied shall be of a > > *end example* -#### 12.8.17.5 Array creation expressions +#### 12.8.17.2.4 Anonymous object creation expressions + +An *anonymous_object_creation_expression* is used to create an object of an anonymous type. + +```ANTLR +anonymous_object_creation_expression + : 'new' anonymous_object_initializer + ; + +anonymous_object_initializer + : '{' member_declarator_list? '}' + | '{' member_declarator_list ',' '}' + ; + +member_declarator_list + : member_declarator (',' member_declarator)* + ; + +member_declarator + : simple_name + | member_access + | null_conditional_projection_initializer + | base_access + | identifier '=' expression + ; +``` + +An anonymous object initializer declares an anonymous type and returns an instance of that type. An anonymous type is a nameless class type that inherits directly from `object`. The members of an anonymous type are a sequence of read-only properties inferred from the anonymous object initializer used to create an instance of the type. Specifically, an anonymous object initializer of the form + +`new {` *p₁* `=` *e₁* `,` *p₂* `=` *e₂* `,` … *pᵥ* `=` *eᵥ* `}` + +declares an anonymous type of the form + +```csharp +class __Anonymous1 +{ + private readonly «T1» «f1»; + private readonly «T2» «f2»; + ... + private readonly «Tn» «fn»; + + public __Anonymous1(«T1» «a1», «T2» «a2»,..., «Tn» «an») + { + «f1» = «a1»; + «f2» = «a2»; + ... + «fn» = «an»; + } + + public «T1» «p1» { get { return «f1»; } } + public «T2» «p2» { get { return «f2»; } } + ... + public «Tn» «pn» { get { return «fn»; } } + public override bool Equals(object __o) { ... } + public override int GetHashCode() { ... } +} +``` + +where each «Tx» is the type of the corresponding expression «ex». The expression used in a *member_declarator* shall have a type. Thus, it is a compile-time error for an expression in a *member_declarator* to be `null` or an anonymous function. + +The names of an anonymous type and of the parameter to its `Equals` method are automatically generated by the compiler and cannot be referenced in program text. + +Within the same program, two anonymous object initializers that specify a sequence of properties of the same names and compile-time types in the same order will produce instances of the same anonymous type. + +> *Example*: In the example +> +> +> ```csharp +> var p1 = new { Name = "Lawnmower", Price = 495.00 }; +> var p2 = new { Name = "Shovel", Price = 26.95 }; +> p1 = p2; +> ``` +> +> the assignment on the last line is permitted because `p1` and `p2` are of the same anonymous type. +> +> *end example* + +The `Equals` and `GetHashcode` methods on anonymous types override the methods inherited from `object`, and are defined in terms of the `Equals` and `GetHashcode` of the properties, so that two instances of the same anonymous type are equal if and only if all their properties are equal. + +A member declarator can be abbreviated to a simple name ([§12.8.4](expressions.md#1284-simple-names)), a member access ([§12.8.7](expressions.md#1287-member-access)), a null conditional projection initializer [§12.8.8](expressions.md#1288-null-conditional-member-access) or a base access ([§12.8.15](expressions.md#12815-base-access)). This is called a ***projection initializer*** and is shorthand for a declaration of and assignment to a property with the same name. Specifically, member declarators of the forms + +`«identifier»`, `«expr» . «identifier»` and `«expr» ? . «identifier»` + +are precisely equivalent to the following, respectively: + +`«identifer» = «identifier»`, `«identifier» = «expr» . «identifier»` and `«identifier» = «expr» ? . «identifier»` + +Thus, in a projection initializer the identifier selects both the value and the field or property to which the value is assigned. Intuitively, a projection initializer projects not just a value, but also the name of the value. + +#### 12.8.17.3 Array creation expressions An *array_creation_expression* is used to create a new instance of an *array_type*. @@ -2819,7 +2910,7 @@ An array creation expression permits instantiation of an array with elements of > > *end example* -Implicitly typed array creation expressions can be combined with anonymous object initializers ([§12.8.17.7](expressions.md#128177-anonymous-object-creation-expressions)) to create anonymously typed data structures. +Implicitly typed array creation expressions can be combined with anonymous object initializers ([§12.8.17.2.4](expressions.md#1281724-anonymous-object-creation-expressions)) to create anonymously typed data structures. > *Example*: > @@ -2842,7 +2933,7 @@ Implicitly typed array creation expressions can be combined with anonymous objec > > *end example* -#### 12.8.17.6 Delegate creation expressions +#### 12.8.17.4 Delegate creation expressions A *delegate_creation_expression* is used to obtain an instance of a *delegate_type*. @@ -2854,7 +2945,7 @@ delegate_creation_expression The argument of a delegate creation expression shall be a method group, an anonymous function, or a value of either the compile-time type `dynamic` or a *delegate_type*. If the argument is a method group, it identifies the method and, for an instance method, the object for which to create a delegate. If the argument is an anonymous function it directly defines the parameters and method body of the delegate target. If the argument is a value it identifies a delegate instance of which to create a copy. -If the *expression* has the compile-time type `dynamic`, the *delegate_creation_expression* is dynamically bound ([§12.8.17.6](expressions.md#128176-delegate-creation-expressions)), and the rules below are applied at run-time using the run-time type of the *expression*. Otherwise, the rules are applied at compile-time. +If the *expression* has the compile-time type `dynamic`, the *delegate_creation_expression* is dynamically bound ([§12.8.17.4](expressions.md#128174-delegate-creation-expressions)), and the rules below are applied at run-time using the run-time type of the *expression*. Otherwise, the rules are applied at compile-time. The binding-time processing of a *delegate_creation_expression* of the form new `D(E)`, where `D` is a *delegate_type* and `E` is an *expression*, consists of the following steps: @@ -2898,95 +2989,6 @@ It is not possible to create a delegate that refers to a property, indexer, user > > *end example* -#### 12.8.17.7 Anonymous object creation expressions - -An *anonymous_object_creation_expression* is used to create an object of an anonymous type. - -```ANTLR -anonymous_object_creation_expression - : 'new' anonymous_object_initializer - ; - -anonymous_object_initializer - : '{' member_declarator_list? '}' - | '{' member_declarator_list ',' '}' - ; - -member_declarator_list - : member_declarator (',' member_declarator)* - ; - -member_declarator - : simple_name - | member_access - | null_conditional_projection_initializer - | base_access - | identifier '=' expression - ; -``` - -An anonymous object initializer declares an anonymous type and returns an instance of that type. An anonymous type is a nameless class type that inherits directly from `object`. The members of an anonymous type are a sequence of read-only properties inferred from the anonymous object initializer used to create an instance of the type. Specifically, an anonymous object initializer of the form - -`new {` *p₁* `=` *e₁* `,` *p₂* `=` *e₂* `,` … *pᵥ* `=` *eᵥ* `}` - -declares an anonymous type of the form - -```csharp -class __Anonymous1 -{ - private readonly «T1» «f1»; - private readonly «T2» «f2»; - ... - private readonly «Tn» «fn»; - - public __Anonymous1(«T1» «a1», «T2» «a2»,..., «Tn» «an») - { - «f1» = «a1»; - «f2» = «a2»; - ... - «fn» = «an»; - } - - public «T1» «p1» { get { return «f1»; } } - public «T2» «p2» { get { return «f2»; } } - ... - public «Tn» «pn» { get { return «fn»; } } - public override bool Equals(object __o) { ... } - public override int GetHashCode() { ... } -} -``` - -where each «Tx» is the type of the corresponding expression «ex». The expression used in a *member_declarator* shall have a type. Thus, it is a compile-time error for an expression in a *member_declarator* to be `null` or an anonymous function. - -The names of an anonymous type and of the parameter to its `Equals` method are automatically generated by the compiler and cannot be referenced in program text. - -Within the same program, two anonymous object initializers that specify a sequence of properties of the same names and compile-time types in the same order will produce instances of the same anonymous type. - -> *Example*: In the example -> -> -> ```csharp -> var p1 = new { Name = "Lawnmower", Price = 495.00 }; -> var p2 = new { Name = "Shovel", Price = 26.95 }; -> p1 = p2; -> ``` -> -> the assignment on the last line is permitted because `p1` and `p2` are of the same anonymous type. -> -> *end example* - -The `Equals` and `GetHashcode` methods on anonymous types override the methods inherited from `object`, and are defined in terms of the `Equals` and `GetHashcode` of the properties, so that two instances of the same anonymous type are equal if and only if all their properties are equal. - -A member declarator can be abbreviated to a simple name ([§12.8.4](expressions.md#1284-simple-names)), a member access ([§12.8.7](expressions.md#1287-member-access)), a null conditional projection initializer [§12.8.8](expressions.md#1288-null-conditional-member-access) or a base access ([§12.8.15](expressions.md#12815-base-access)). This is called a ***projection initializer*** and is shorthand for a declaration of and assignment to a property with the same name. Specifically, member declarators of the forms - -`«identifier»`, `«expr» . «identifier»` and `«expr» ? . «identifier»` - -are precisely equivalent to the following, respectively: - -`«identifer» = «identifier»`, `«identifier» = «expr» . «identifier»` and `«identifier» = «expr» ? . «identifier»` - -Thus, in a projection initializer the identifier selects both the value and the field or property to which the value is assigned. Intuitively, a projection initializer projects not just a value, but also the name of the value. - ### 12.8.18 The typeof operator The `typeof` operator is used to obtain the `System.Type` object for a type. @@ -6806,7 +6808,7 @@ Constant expressions are required in the contexts listed below and this is indic - Default arguments of parameter lists ([§15.6.2](classes.md#1562-method-parameters)) - `case` labels of a `switch` statement ([§13.8.3](statements.md#1383-the-switch-statement)). - `goto case` statements ([§13.10.4](statements.md#13104-the-goto-statement)) -- Dimension lengths in an array creation expression ([§12.8.17.5](expressions.md#128175-array-creation-expressions)) that includes an initializer. +- Dimension lengths in an array creation expression ([§12.8.17.3](expressions.md#128173-array-creation-expressions)) that includes an initializer. - Attributes ([§22](attributes.md#22-attributes)) - In a *constant_pattern* ([§11.2.3](patterns.md#1123-constant-pattern)) diff --git a/standard/portability-issues.md b/standard/portability-issues.md index 6383d4fb7..822aaa8db 100644 --- a/standard/portability-issues.md +++ b/standard/portability-issues.md @@ -58,7 +58,7 @@ A conforming implementation is required to document its choice of behavior in ea 1. The representation of `true` ([§8.3.9](types.md#839-the-bool-type)). 1. The value of the result when converting out-of-range values from `float` or `double` values to an integral type in an `unchecked` context ([§10.3.2](conversions.md#1032-explicit-numeric-conversions)). 1. The exact target object and target method of the delegate produced from an *anonymous_method_expression* contains ([§10.7.2](conversions.md#1072-evaluation-of-anonymous-function-conversions-to-delegate-types)). -1. The layout of arrays, except in an unsafe context ([§12.8.17.5](expressions.md#128175-array-creation-expressions)). +1. The layout of arrays, except in an unsafe context ([§12.8.17.3](expressions.md#128173-array-creation-expressions)). 1. Whether there is any way to execute the *block* of an anonymous function other than through evaluation and invocation of the *lambda_expression* or *anonymous_method-expression* ([§12.19.3](expressions.md#12193-anonymous-function-bodies)). 1. The exact timing of static field initialization ([§15.5.6.2](classes.md#15562-static-field-initialization)). 1. The result of invoking `MoveNext` when an enumerator object is running ([§15.14.5.2](classes.md#151452-the-movenext-method)). diff --git a/standard/unsafe-code.md b/standard/unsafe-code.md index dacf2f149..2e03e728f 100644 --- a/standard/unsafe-code.md +++ b/standard/unsafe-code.md @@ -176,7 +176,7 @@ A *pointer_type* may be used as the type of a volatile field ([§15.5.4](classes The *dynamic erasure* of a type `E*` is the pointer type with referent type of the dynamic erasure of `E`. -An expression with a pointer type cannot be used to provide the value in a *member_declarator* within an *anonymous_object_creation_expression* ([§12.8.17.7](expressions.md#128177-anonymous-object-creation-expressions)). +An expression with a pointer type cannot be used to provide the value in a *member_declarator* within an *anonymous_object_creation_expression* ([§12.8.17.2.4](expressions.md#1281724-anonymous-object-creation-expressions)). The default value ([§9.3](variables.md#93-default-values)) for any pointer type is `null`. @@ -345,7 +345,7 @@ Mappings between pointers and integers are implementation-defined. ### 23.5.2 Pointer arrays -Arrays of pointers can be constructed using *array_creation_expression* ([§12.8.17.5](expressions.md#128175-array-creation-expressions)) in an unsafe context. Only some of the conversions that apply to other array types are allowed on pointer arrays: +Arrays of pointers can be constructed using *array_creation_expression* ([§12.8.17.3](expressions.md#128173-array-creation-expressions)) in an unsafe context. Only some of the conversions that apply to other array types are allowed on pointer arrays: - The implicit reference conversion ([§10.2.8](conversions.md#1028-implicit-reference-conversions)) from any *array_type* to `System.Array` and the interfaces it implements also applies to pointer arrays. However, any attempt to access the array elements through `System.Array` or the interfaces it implements may result in an exception at run-time, as pointer types are not convertible to `object`. - The implicit and explicit reference conversions ([§10.2.8](conversions.md#1028-implicit-reference-conversions), [§10.3.5](conversions.md#1035-explicit-reference-conversions)) from a single-dimensional array type `S[]` to `System.Collections.Generic.IList` and its generic base interfaces never apply to pointer arrays. diff --git a/standard/variables.md b/standard/variables.md index 390d79250..1db36a4f8 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -697,7 +697,7 @@ new «type» ( «arg₁», «arg₂», … , «argₓ» ) - For each argument *argᵢ*, the definite assignment state of *v* after *argᵢ* is determined by the normal expression rules, ignoring any `in`, `out`, or `ref` modifiers. - For each argument *argᵢ* for any *i* greater than one, the definite assignment state of *v* before *argᵢ* is the same as the state of *v* after *argᵢ₋₁*. - If the variable *v* is passed as an `out` argument (i.e., an argument of the form “out *v*”) in any of the arguments, then the state of *v* after *expr* is definitely assigned. Otherwise, the state of *v* after *expr* is the same as the state of *v* after *argₓ*. -- For array initializers ([§12.8.17.5](expressions.md#128175-array-creation-expressions)), object initializers ([§12.8.17.3](expressions.md#128173-object-initializers)), collection initializers ([§12.8.17.4](expressions.md#128174-collection-initializers)) and anonymous object initializers ([§12.8.17.7](expressions.md#128177-anonymous-object-creation-expressions)), the definite-assignment state is determined by the expansion that these constructs are defined in terms of. +- For array initializers ([§12.8.17.3](expressions.md#128173-array-creation-expressions)), object initializers ([§12.8.17.2.2](expressions.md#1281722-object-initializers)), collection initializers ([§12.8.17.2.3](expressions.md#1281723-collection-initializers)) and anonymous object initializers ([§12.8.17.2.4](expressions.md#1281724-anonymous-object-creation-expressions)), the definite-assignment state is determined by the expansion that these constructs are defined in terms of. #### 9.4.4.25 Simple assignment expressions From 20adffbe32ee10fab0992d5bd7bad9dfaad715c2 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 20 Feb 2025 09:53:11 -0500 Subject: [PATCH 219/259] Fast follow on renumbering (#1275) AFter #1247 was merged, fixup section numbers by hand. I did run all the tools locally, as a test. --- standard/README.md | 8 ++++---- standard/arrays.md | 4 ++-- standard/classes.md | 2 +- standard/conversions.md | 2 +- standard/delegates.md | 6 +++--- standard/expressions.md | 20 ++++++++++---------- standard/grammar.md | 34 +++++++++++++++++----------------- standard/portability-issues.md | 2 +- standard/unsafe-code.md | 4 ++-- standard/variables.md | 2 +- 10 files changed, 42 insertions(+), 42 deletions(-) diff --git a/standard/README.md b/standard/README.md index 7032211f7..0604e6623 100644 --- a/standard/README.md +++ b/standard/README.md @@ -346,12 +346,12 @@ - [§12.8.17](expressions.md#12817-the-new-operator) The new operator - [§12.8.17.1](expressions.md#128171-general) General - [§12.8.17.2](expressions.md#128172-object-creation-expressions) Object creation expressions - - [§12.8.17.2.1](§NewGeneral) General + - [§12.8.17.2.1](expressions.md#1281721-general) General - [§12.8.17.2.2](expressions.md#1281722-object-initializers) Object initializers - [§12.8.17.2.3](expressions.md#1281723-collection-initializers) Collection initializers - - [§12.8.17.2.4](expressions.md#1281724-anonymous-object-creation-expressions) Anonymous object creation expressions - - [§12.8.17.3](expressions.md#128173-array-creation-expressions) Array creation expressions - - [§12.8.17.4](expressions.md#128174-delegate-creation-expressions) Delegate creation expressions + - [§12.8.17.3](expressions.md#128173-anonymous-object-creation-expressions) Anonymous object creation expressions + - [§12.8.17.4](expressions.md#128174-array-creation-expressions) Array creation expressions + - [§12.8.17.5](expressions.md#128175-delegate-creation-expressions) Delegate creation expressions - [§12.8.18](expressions.md#12818-the-typeof-operator) The typeof operator - [§12.8.19](expressions.md#12819-the-sizeof-operator) The sizeof operator - [§12.8.20](expressions.md#12820-the-checked-and-unchecked-operators) The checked and unchecked operators diff --git a/standard/arrays.md b/standard/arrays.md index b5c815cd9..ccfcfe278 100644 --- a/standard/arrays.md +++ b/standard/arrays.md @@ -102,7 +102,7 @@ When an array type `S[]` implements `IList`, some of the members of the imple ## 17.3 Array creation -Array instances are created by *array_creation_expression*s ([§12.8.17.3](expressions.md#128173-array-creation-expressions)) or by field or local variable declarations that include an *array_initializer* ([§17.7](arrays.md#177-array-initializers)). Array instances can also be created implicitly as part of evaluating an argument list involving a parameter array ([§15.6.2.4](classes.md#15624-parameter-arrays)). +Array instances are created by *array_creation_expression*s ([§12.8.17.4](expressions.md#128174-array-creation-expressions)) or by field or local variable declarations that include an *array_initializer* ([§17.7](arrays.md#177-array-initializers)). Array instances can also be created implicitly as part of evaluating an argument list involving a parameter array ([§15.6.2.4](classes.md#15624-parameter-arrays)). When an array instance is created, the rank and length of each dimension are established and then remain constant for the entire lifetime of the instance. In other words, it is not possible to change the rank of an existing array instance, nor is it possible to resize its dimensions. @@ -158,7 +158,7 @@ Array covariance specifically does not extend to arrays of *value_type*s. For ex ## 17.7 Array initializers -Array initializers may be specified in field declarations ([§15.5](classes.md#155-fields)), local variable declarations ([§13.6.2](statements.md#1362-local-variable-declarations)), and array creation expressions ([§12.8.17.3](expressions.md#128173-array-creation-expressions)): +Array initializers may be specified in field declarations ([§15.5](classes.md#155-fields)), local variable declarations ([§13.6.2](statements.md#1362-local-variable-declarations)), and array creation expressions ([§12.8.17.4](expressions.md#128174-array-creation-expressions)): ```ANTLR array_initializer diff --git a/standard/classes.md b/standard/classes.md index f82716165..48fd27e07 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -3015,7 +3015,7 @@ If an implementing declaration exists for a given partial method, the invocation If a defining declaration but not an implementing declaration is given for a partial method `M`, the following restrictions apply: -- It is a compile-time error to create a delegate from `M` ([§12.8.17.4](expressions.md#128174-delegate-creation-expressions)). +- It is a compile-time error to create a delegate from `M` ([§12.8.17.5](expressions.md#128175-delegate-creation-expressions)). - It is a compile-time error to refer to `M` inside an anonymous function that is converted to an expression tree type ([§8.6](types.md#86-expression-tree-types)). diff --git a/standard/conversions.md b/standard/conversions.md index 439d53ec9..a68a539d7 100644 --- a/standard/conversions.md +++ b/standard/conversions.md @@ -849,7 +849,7 @@ Anonymous functions may influence overload resolution, and participate in type i ### 10.7.2 Evaluation of anonymous function conversions to delegate types -Conversion of an anonymous function to a delegate type produces a delegate instance that references the anonymous function and the (possibly empty) set of captured outer variables that are active at the time of the evaluation. When the delegate is invoked, the body of the anonymous function is executed. The code in the body is executed using the set of captured outer variables referenced by the delegate. A *delegate_creation_expression* ([§12.8.17.4](expressions.md#128174-delegate-creation-expressions)) can be used as an alternate syntax for converting an anonymous method to a delegate type. +Conversion of an anonymous function to a delegate type produces a delegate instance that references the anonymous function and the (possibly empty) set of captured outer variables that are active at the time of the evaluation. When the delegate is invoked, the body of the anonymous function is executed. The code in the body is executed using the set of captured outer variables referenced by the delegate. A *delegate_creation_expression* ([§12.8.17.5](expressions.md#128175-delegate-creation-expressions)) can be used as an alternate syntax for converting an anonymous method to a delegate type. The invocation list of a delegate produced from an anonymous function contains a single entry. The exact target object and target method of the delegate are unspecified. In particular, it is unspecified whether the target object of the delegate is `null`, the `this` value of the enclosing function member, or some other object. diff --git a/standard/delegates.md b/standard/delegates.md index f9245eb19..75c74b938 100644 --- a/standard/delegates.md +++ b/standard/delegates.md @@ -178,11 +178,11 @@ This definition of compatibility allows covariance in return type and contravari ## 20.5 Delegate instantiation -An instance of a delegate is created by a *delegate_creation_expression* ([§12.8.17.4](expressions.md#128174-delegate-creation-expressions)), a conversion to a delegate type, delegate combination or delegate removal. The newly created delegate instance then refers to one or more of: +An instance of a delegate is created by a *delegate_creation_expression* ([§12.8.17.5](expressions.md#128175-delegate-creation-expressions)), a conversion to a delegate type, delegate combination or delegate removal. The newly created delegate instance then refers to one or more of: - The static method referenced in the *delegate_creation_expression*, or - The target object (which cannot be `null`) and instance method referenced in the *delegate_creation_expression*, or -- Another delegate ([§12.8.17.4](expressions.md#128174-delegate-creation-expressions)). +- Another delegate ([§12.8.17.5](expressions.md#128175-delegate-creation-expressions)). > *Example*: > @@ -212,7 +212,7 @@ An instance of a delegate is created by a *delegate_creation_expression* ([§12. The set of methods encapsulated by a delegate instance is called an *invocation list*. When a delegate instance is created from a single method, it encapsulates that method, and its invocation list contains only one entry. However, when two non-`null` delegate instances are combined, their invocation lists are concatenated—in the order left operand then right operand—to form a new invocation list, which contains two or more entries. -When a new delegate is created from a single delegate the resultant invocation list has just one entry, which is the source delegate ([§12.8.17.4](expressions.md#128174-delegate-creation-expressions)). +When a new delegate is created from a single delegate the resultant invocation list has just one entry, which is the source delegate ([§12.8.17.5](expressions.md#128175-delegate-creation-expressions)). Delegates are combined using the binary `+` ([§12.10.5](expressions.md#12105-addition-operator)) and `+=` operators ([§12.21.4](expressions.md#12214-compound-assignment)). A delegate can be removed from a combination of delegates, using the binary `-` ([§12.10.6](expressions.md#12106-subtraction-operator)) and `-=` operators ([§12.21.4](expressions.md#12214-compound-assignment)). Delegates can be compared for equality ([§12.12.9](expressions.md#12129-delegate-equality-operators)). diff --git a/standard/expressions.md b/standard/expressions.md index 5b41a2aba..d87c5338b 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -23,7 +23,7 @@ For expressions which occur as subexpressions of larger expressions, with the no - A namespace. An expression with this classification can only appear as the left-hand side of a *member_access* ([§12.8.7](expressions.md#1287-member-access)). In any other context, an expression classified as a namespace causes a compile-time error. - A type. An expression with this classification can only appear as the left-hand side of a *member_access* ([§12.8.7](expressions.md#1287-member-access)). In any other context, an expression classified as a type causes a compile-time error. -- A method group, which is a set of overloaded methods resulting from a member lookup ([§12.5](expressions.md#125-member-lookup)). A method group may have an associated instance expression and an associated type argument list. When an instance method is invoked, the result of evaluating the instance expression becomes the instance represented by `this` ([§12.8.14](expressions.md#12814-this-access)). A method group is permitted in an *invocation_expression* ([§12.8.10](expressions.md#12810-invocation-expressions)) or a *delegate_creation_expression* ([§12.8.17.4](expressions.md#128174-delegate-creation-expressions)), and can be implicitly converted to a compatible delegate type ([§10.8](conversions.md#108-method-group-conversions)). In any other context, an expression classified as a method group causes a compile-time error. +- A method group, which is a set of overloaded methods resulting from a member lookup ([§12.5](expressions.md#125-member-lookup)). A method group may have an associated instance expression and an associated type argument list. When an instance method is invoked, the result of evaluating the instance expression becomes the instance represented by `this` ([§12.8.14](expressions.md#12814-this-access)). A method group is permitted in an *invocation_expression* ([§12.8.10](expressions.md#12810-invocation-expressions)) or a *delegate_creation_expression* ([§12.8.17.5](expressions.md#128175-delegate-creation-expressions)), and can be implicitly converted to a compatible delegate type ([§10.8](conversions.md#108-method-group-conversions)). In any other context, an expression classified as a method group causes a compile-time error. - An event access. Every event access has an associated type, namely the type of the event. Furthermore, an event access may have an associated instance expression. An event access may appear as the left operand of the `+=` and `-=` operators ([§12.21.5](expressions.md#12215-event-assignment)). In any other context, an expression classified as an event access causes a compile-time error. When an accessor of an instance event access is invoked, the result of evaluating the instance expression becomes the instance represented by `this` ([§12.8.14](expressions.md#12814-this-access)). - A throw expression, which may be used in several contexts to throw an exception in an expression. A throw expression may be converted by an implicit conversion to any type. @@ -685,7 +685,7 @@ The expressions of an argument list are always evaluated in textual order. > > *end example* -When a function member with a parameter array is invoked in its expanded form with at least one expanded argument, the invocation is processed as if an array creation expression with an array initializer ([§12.8.17.3](expressions.md#128173-array-creation-expressions)) was inserted around the expanded arguments. An empty array is passed when there are no arguments for the parameter array; it is unspecified whether the reference passed is to a newly allocated or existing empty array. +When a function member with a parameter array is invoked in its expanded form with at least one expanded argument, the invocation is processed as if an array creation expression with an array initializer ([§12.8.17.4](expressions.md#128174-array-creation-expressions)) was inserted around the expanded arguments. An empty array is passed when there are no arguments for the parameter array; it is unspecified whether the reference passed is to a newly allocated or existing empty array. > *Example*: Given the declaration > @@ -1822,7 +1822,7 @@ A *null_conditional_member_access* expression `E` is of the form `P?.A`. The me > > *end note* -A *null_conditional_projection_initializer* is a restriction of *null_conditional_member_access* and has the same semantics. It only occurs as a projection initializer in an anonymous object creation expression ([§12.8.17.2.4](expressions.md#1281724-anonymous-object-creation-expressions)). +A *null_conditional_projection_initializer* is a restriction of *null_conditional_member_access* and has the same semantics. It only occurs as a projection initializer in an anonymous object creation expression ([§12.8.17.3](expressions.md#128173-anonymous-object-creation-expressions)). ### 12.8.9 Null-forgiving expressions @@ -2424,7 +2424,7 @@ The `new` operator implies creation of an instance of a type, but does not neces #### 12.8.17.2 Object creation expressions -##### §NewGeneral General +##### 12.8.17.2.1 General An *object_creation_expression* is used to create a new instance of a *class_type* or a *value_type*. @@ -2714,7 +2714,7 @@ The collection object to which a collection initializer is applied shall be of a > > *end example* -#### 12.8.17.2.4 Anonymous object creation expressions +#### 12.8.17.3 Anonymous object creation expressions An *anonymous_object_creation_expression* is used to create an object of an anonymous type. @@ -2803,7 +2803,7 @@ are precisely equivalent to the following, respectively: Thus, in a projection initializer the identifier selects both the value and the field or property to which the value is assigned. Intuitively, a projection initializer projects not just a value, but also the name of the value. -#### 12.8.17.3 Array creation expressions +#### 12.8.17.4 Array creation expressions An *array_creation_expression* is used to create a new instance of an *array_type*. @@ -2910,7 +2910,7 @@ An array creation expression permits instantiation of an array with elements of > > *end example* -Implicitly typed array creation expressions can be combined with anonymous object initializers ([§12.8.17.2.4](expressions.md#1281724-anonymous-object-creation-expressions)) to create anonymously typed data structures. +Implicitly typed array creation expressions can be combined with anonymous object initializers ([§12.8.17.3](expressions.md#128173-anonymous-object-creation-expressions)) to create anonymously typed data structures. > *Example*: > @@ -2933,7 +2933,7 @@ Implicitly typed array creation expressions can be combined with anonymous objec > > *end example* -#### 12.8.17.4 Delegate creation expressions +#### 12.8.17.5 Delegate creation expressions A *delegate_creation_expression* is used to obtain an instance of a *delegate_type*. @@ -2945,7 +2945,7 @@ delegate_creation_expression The argument of a delegate creation expression shall be a method group, an anonymous function, or a value of either the compile-time type `dynamic` or a *delegate_type*. If the argument is a method group, it identifies the method and, for an instance method, the object for which to create a delegate. If the argument is an anonymous function it directly defines the parameters and method body of the delegate target. If the argument is a value it identifies a delegate instance of which to create a copy. -If the *expression* has the compile-time type `dynamic`, the *delegate_creation_expression* is dynamically bound ([§12.8.17.4](expressions.md#128174-delegate-creation-expressions)), and the rules below are applied at run-time using the run-time type of the *expression*. Otherwise, the rules are applied at compile-time. +If the *expression* has the compile-time type `dynamic`, the *delegate_creation_expression* is dynamically bound ([§12.8.17.5](expressions.md#128175-delegate-creation-expressions)), and the rules below are applied at run-time using the run-time type of the *expression*. Otherwise, the rules are applied at compile-time. The binding-time processing of a *delegate_creation_expression* of the form new `D(E)`, where `D` is a *delegate_type* and `E` is an *expression*, consists of the following steps: @@ -6808,7 +6808,7 @@ Constant expressions are required in the contexts listed below and this is indic - Default arguments of parameter lists ([§15.6.2](classes.md#1562-method-parameters)) - `case` labels of a `switch` statement ([§13.8.3](statements.md#1383-the-switch-statement)). - `goto case` statements ([§13.10.4](statements.md#13104-the-goto-statement)) -- Dimension lengths in an array creation expression ([§12.8.17.3](expressions.md#128173-array-creation-expressions)) that includes an initializer. +- Dimension lengths in an array creation expression ([§12.8.17.4](expressions.md#128174-array-creation-expressions)) that includes an initializer. - Attributes ([§22](attributes.md#22-attributes)) - In a *constant_pattern* ([§11.2.3](patterns.md#1123-constant-pattern)) diff --git a/standard/grammar.md b/standard/grammar.md index 0437c8b9a..257bec50a 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -1041,7 +1041,7 @@ post_decrement_expression : primary_expression '--' ; -// Source: §12.8.17.2 Object creation expressions +// Source: §12.8.17.2.1 General object_creation_expression : 'new' type '(' argument_list? ')' object_or_collection_initializer? | 'new' type object_or_collection_initializer @@ -1052,7 +1052,7 @@ object_or_collection_initializer | collection_initializer ; -// Source: §12.8.17.3 Object initializers +// Source: §12.8.17.2.2 Object initializers object_initializer : '{' member_initializer_list? '}' | '{' member_initializer_list ',' '}' @@ -1076,7 +1076,7 @@ initializer_value | object_or_collection_initializer ; -// Source: §12.8.17.4 Collection initializers +// Source: §12.8.17.2.3 Collection initializers collection_initializer : '{' element_initializer_list '}' | '{' element_initializer_list ',' '}' @@ -1096,20 +1096,7 @@ expression_list | expression_list ',' expression ; -// Source: §12.8.17.5 Array creation expressions -array_creation_expression - : 'new' non_array_type '[' expression_list ']' rank_specifier* - array_initializer? - | 'new' array_type array_initializer - | 'new' rank_specifier array_initializer - ; - -// Source: §12.8.17.6 Delegate creation expressions -delegate_creation_expression - : 'new' delegate_type '(' expression ')' - ; - -// Source: §12.8.17.7 Anonymous object creation expressions +// Source: §12.8.17.3 Anonymous object creation expressions anonymous_object_creation_expression : 'new' anonymous_object_initializer ; @@ -1131,6 +1118,19 @@ member_declarator | identifier '=' expression ; +// Source: §12.8.17.4 Array creation expressions +array_creation_expression + : 'new' non_array_type '[' expression_list ']' rank_specifier* + array_initializer? + | 'new' array_type array_initializer + | 'new' rank_specifier array_initializer + ; + +// Source: §12.8.17.5 Delegate creation expressions +delegate_creation_expression + : 'new' delegate_type '(' expression ')' + ; + // Source: §12.8.18 The typeof operator typeof_expression : 'typeof' '(' type ')' diff --git a/standard/portability-issues.md b/standard/portability-issues.md index 822aaa8db..de4928255 100644 --- a/standard/portability-issues.md +++ b/standard/portability-issues.md @@ -58,7 +58,7 @@ A conforming implementation is required to document its choice of behavior in ea 1. The representation of `true` ([§8.3.9](types.md#839-the-bool-type)). 1. The value of the result when converting out-of-range values from `float` or `double` values to an integral type in an `unchecked` context ([§10.3.2](conversions.md#1032-explicit-numeric-conversions)). 1. The exact target object and target method of the delegate produced from an *anonymous_method_expression* contains ([§10.7.2](conversions.md#1072-evaluation-of-anonymous-function-conversions-to-delegate-types)). -1. The layout of arrays, except in an unsafe context ([§12.8.17.3](expressions.md#128173-array-creation-expressions)). +1. The layout of arrays, except in an unsafe context ([§12.8.17.4](expressions.md#128174-array-creation-expressions)). 1. Whether there is any way to execute the *block* of an anonymous function other than through evaluation and invocation of the *lambda_expression* or *anonymous_method-expression* ([§12.19.3](expressions.md#12193-anonymous-function-bodies)). 1. The exact timing of static field initialization ([§15.5.6.2](classes.md#15562-static-field-initialization)). 1. The result of invoking `MoveNext` when an enumerator object is running ([§15.14.5.2](classes.md#151452-the-movenext-method)). diff --git a/standard/unsafe-code.md b/standard/unsafe-code.md index 2e03e728f..e28399b50 100644 --- a/standard/unsafe-code.md +++ b/standard/unsafe-code.md @@ -176,7 +176,7 @@ A *pointer_type* may be used as the type of a volatile field ([§15.5.4](classes The *dynamic erasure* of a type `E*` is the pointer type with referent type of the dynamic erasure of `E`. -An expression with a pointer type cannot be used to provide the value in a *member_declarator* within an *anonymous_object_creation_expression* ([§12.8.17.2.4](expressions.md#1281724-anonymous-object-creation-expressions)). +An expression with a pointer type cannot be used to provide the value in a *member_declarator* within an *anonymous_object_creation_expression* ([§12.8.17.3](expressions.md#128173-anonymous-object-creation-expressions)). The default value ([§9.3](variables.md#93-default-values)) for any pointer type is `null`. @@ -345,7 +345,7 @@ Mappings between pointers and integers are implementation-defined. ### 23.5.2 Pointer arrays -Arrays of pointers can be constructed using *array_creation_expression* ([§12.8.17.3](expressions.md#128173-array-creation-expressions)) in an unsafe context. Only some of the conversions that apply to other array types are allowed on pointer arrays: +Arrays of pointers can be constructed using *array_creation_expression* ([§12.8.17.4](expressions.md#128174-array-creation-expressions)) in an unsafe context. Only some of the conversions that apply to other array types are allowed on pointer arrays: - The implicit reference conversion ([§10.2.8](conversions.md#1028-implicit-reference-conversions)) from any *array_type* to `System.Array` and the interfaces it implements also applies to pointer arrays. However, any attempt to access the array elements through `System.Array` or the interfaces it implements may result in an exception at run-time, as pointer types are not convertible to `object`. - The implicit and explicit reference conversions ([§10.2.8](conversions.md#1028-implicit-reference-conversions), [§10.3.5](conversions.md#1035-explicit-reference-conversions)) from a single-dimensional array type `S[]` to `System.Collections.Generic.IList` and its generic base interfaces never apply to pointer arrays. diff --git a/standard/variables.md b/standard/variables.md index 1db36a4f8..012f55704 100644 --- a/standard/variables.md +++ b/standard/variables.md @@ -697,7 +697,7 @@ new «type» ( «arg₁», «arg₂», … , «argₓ» ) - For each argument *argᵢ*, the definite assignment state of *v* after *argᵢ* is determined by the normal expression rules, ignoring any `in`, `out`, or `ref` modifiers. - For each argument *argᵢ* for any *i* greater than one, the definite assignment state of *v* before *argᵢ* is the same as the state of *v* after *argᵢ₋₁*. - If the variable *v* is passed as an `out` argument (i.e., an argument of the form “out *v*”) in any of the arguments, then the state of *v* after *expr* is definitely assigned. Otherwise, the state of *v* after *expr* is the same as the state of *v* after *argₓ*. -- For array initializers ([§12.8.17.3](expressions.md#128173-array-creation-expressions)), object initializers ([§12.8.17.2.2](expressions.md#1281722-object-initializers)), collection initializers ([§12.8.17.2.3](expressions.md#1281723-collection-initializers)) and anonymous object initializers ([§12.8.17.2.4](expressions.md#1281724-anonymous-object-creation-expressions)), the definite-assignment state is determined by the expansion that these constructs are defined in terms of. +- For array initializers ([§12.8.17.4](expressions.md#128174-array-creation-expressions)), object initializers ([§12.8.17.2.2](expressions.md#1281722-object-initializers)), collection initializers ([§12.8.17.2.3](expressions.md#1281723-collection-initializers)) and anonymous object initializers ([§12.8.17.3](expressions.md#128173-anonymous-object-creation-expressions)), the definite-assignment state is determined by the expansion that these constructs are defined in terms of. #### 9.4.4.25 Simple assignment expressions From a518e82d825113e4cd0b3024eb0828d2c889f2ba Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Thu, 20 Feb 2025 13:39:44 -0500 Subject: [PATCH 220/259] Tweak/correct partial types and methods (#1271) * Tweak/correct partial types and methods * Tweak/correct partial types and methods * Update standard/documentation-comments.md * Update classes.md * Update documentation-comments.md * fix md formatting * Update classes.md --------- Co-authored-by: Jon Skeet --- standard/classes.md | 18 ++++++++++-------- standard/documentation-comments.md | 10 ++++++++++ 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index 48fd27e07..644650d63 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -722,15 +722,15 @@ class_body ; ``` -### 15.2.7 Partial declarations +### 15.2.7 Partial type declarations -The modifier `partial` is used when defining a class, struct, or interface type in multiple parts. The `partial` modifier is a contextual keyword ([§6.4.4](lexical-structure.md#644-keywords)) and only has special meaning immediately before one of the keywords `class`, `struct`, or `interface`. +The modifier `partial` is used when defining a class, struct, or interface type in multiple parts. The `partial` modifier is a contextual keyword ([§6.4.4](lexical-structure.md#644-keywords)) and has special meaning immediately before the keywords `class`, `struct`, and `interface`. (A partial type may contain partial method declarations ([§15.6.9](classes.md#1569-partial-methods)). -Each part of a ***partial type*** declaration shall include a `partial` modifier and shall be declared in the same namespace or containing type as the other parts. The `partial` modifier indicates that additional parts of the type declaration might exist elsewhere, but the existence of such additional parts is not a requirement; it is valid for the only declaration of a type to include the `partial` modifier. It is valid for only one declaration of a partial type to include the base class or implemented interfaces. However, all declarations of a base class or implemented interfaces must match, including the nullability of any specified type arguments. +Each part of a ***partial type*** declaration shall include a `partial` modifier and shall be declared in the same namespace or containing type as the other parts. The `partial` modifier indicates that additional parts of the type declaration might exist elsewhere, but the existence of such additional parts is not a requirement; it is valid for the only declaration of a type to include the `partial` modifier. It is valid for only one declaration of a partial type to include the base class or implemented interfaces. However, all declarations of a base class or implemented interfaces shall match, including the nullability of any specified type arguments. All parts of a partial type shall be compiled together such that the parts can be merged at compile-time. Partial types specifically do not allow already compiled types to be extended. -Nested types can be declared in multiple parts by using the `partial` modifier. Typically, the containing type is declared using `partial` as well, and each part of the nested type is declared in a different part of the containing type. +Nested types may be declared in multiple parts by using the `partial` modifier. Typically, the containing type is declared using `partial` as well, and each part of the nested type is declared in a different part of the containing type. > *Example*: The following partial class is implemented in two parts, which reside in different compilation units. The first part is machine generated by a database-mapping tool while the second part is manually authored: > @@ -782,7 +782,7 @@ Nested types can be declared in multiple parts by using the `partial` modifier. > > *end example* -The handling of attributes specified on the type or type parameters of different parts of a partial declaration is discussed in [§22.3](attributes.md#223-attribute-specification). +The handling of attributes specified on the type or type parameters of different parts of a partial type declaration is discussed in [§22.3](attributes.md#223-attribute-specification). ## 15.3 Class members @@ -843,7 +843,7 @@ The inherited members of a class ([§15.3.4](classes.md#1534-inheritance)) are n > *Note*: Thus, a derived class is allowed to declare a member with the same name or signature as an inherited member (which in effect hides the inherited member). *end note* -The set of members of a type declared in multiple parts ([§15.2.7](classes.md#1527-partial-declarations)) is the union of the members declared in each part. The bodies of all parts of the type declaration share the same declaration space ([§7.3](basic-concepts.md#73-declarations)), and the scope of each member ([§7.7](basic-concepts.md#77-scopes)) extends to the bodies of all the parts. The accessibility domain of any member always includes all the parts of the enclosing type; a private member declared in one part is freely accessible from another part. It is a compile-time error to declare the same member in more than one part of the type, unless that member is a type having the `partial` modifier. +The set of members of a type declared in multiple parts ([§15.2.7](classes.md#1527-partial-declarations)) is the union of the members declared in each part. The bodies of all parts of the type declaration share the same declaration space ([§7.3](basic-concepts.md#73-declarations)), and the scope of each member ([§7.7](basic-concepts.md#77-scopes)) extends to the bodies of all the parts. The accessibility domain of any member always includes all the parts of the enclosing type; a private member declared in one part is freely accessible from another part. It is a compile-time error to declare the same member in more than one part of the type, unless that member has the `partial` modifier. > *Example*: > @@ -852,6 +852,7 @@ The set of members of a type declared in multiple parts ([§15.2.7](classes.md#1 > partial class A > { > int x; // Error, cannot declare x more than once +> partial void M(); // Ok, defining partial method declaration > > partial class Inner // Ok, Inner is a partial type > { @@ -862,6 +863,7 @@ The set of members of a type declared in multiple parts ([§15.2.7](classes.md#1 > partial class A > { > int x; // Error, cannot declare x more than once +> partial void M() { } // Ok, implementing partial method declaration > > partial class Inner // Ok, Inner is a partial type > { @@ -2969,9 +2971,9 @@ When a method declaration includes a `partial` modifier, that method is said to Partial methods may be defined in one part of a type declaration and implemented in another. The implementation is optional; if no part implements the partial method, the partial method declaration and all calls to it are removed from the type declaration resulting from the combination of the parts. -Partial methods shall not define access modifiers; they are implicitly private. Their return type shall be `void`, and their parameters shall not be output parameters. The identifier partial is recognized as a contextual keyword ([§6.4.4](lexical-structure.md#644-keywords)) in a method declaration only if it appears immediately before the `void` keyword. A partial method cannot explicitly implement interface methods. +Partial methods shall not define access modifiers; they are implicitly private. Their return type shall be `void`, and their parameters shall not be output parameters. The identifier `partial` is recognized as a contextual keyword ([§6.4.4](lexical-structure.md#644-keywords)) in a method declaration only if it appears immediately before the `void` keyword. A partial method cannot explicitly implement interface methods. -There are two kinds of partial method declarations: If the body of the method declaration is a semicolon, the declaration is said to be a ***defining partial method declaration***. If the body is other than a semicolon, the declaration is said to be an ***implementing partial method declaration***. Across the parts of a type declaration, there may be only one defining partial method declaration with a given signature, and there may be only one implementing partial method declaration with a given signature. If an implementing partial method declaration is given, a corresponding defining partial method declaration shall exist, and the declarations shall match as specified in the following: +There are two kinds of partial method declarations: If the body of the method declaration is a semicolon, the declaration is said to be a ***defining partial method declaration***. If the body is other than a semicolon, the declaration is said to be an ***implementing partial method declaration***. Across the parts of a type declaration, there shall be only one defining partial method declaration with a given signature, and there shall be at most only one implementing partial method declaration with a given signature. If an implementing partial method declaration is given, a corresponding defining partial method declaration shall exist, and the declarations shall match as specified in the following: - The declarations shall have the same modifiers (although not necessarily in the same order), method name, number of type parameters and number of parameters. - Corresponding parameters in the declarations shall have the same modifiers (although not necessarily in the same order) and the same types, or identity convertible types (modulo differences in type parameter names). diff --git a/standard/documentation-comments.md b/standard/documentation-comments.md index 125923751..6cf3d75c4 100644 --- a/standard/documentation-comments.md +++ b/standard/documentation-comments.md @@ -61,6 +61,16 @@ Although developers are free to create their own set of tags, a recommended set Note carefully that the documentation file does not provide full information about the type and members (for example, it does not contain any type information). To get such information about a type or member, the documentation file must be used in conjunction with reflection on the type or member. +A partial type or a partial method can be declared in multiple parts, each of which can be in one or more compilation units, and each of which can have one or more documentation comments. A partial method typically has a “defining partial declaration” and an “implementing partial declaration.” + +For a partial type, the document comments that apply directly to that type, if any, from each of its parts, are all written to the documentation file in some unspecified order. + +For a partial method: + +- If a defining partial declaration has no corresponding implementing partial declaration, any documentation comments in that defining partial declaration are ignored (as that declaration will be removed). +- Otherwise, if the implementing partial declaration has any documentation comments, they are written to the documentation file, and any documentation comments in the defining partial declaration are ignored. +- Otherwise, any documentation comments in the defining partial declaration are written to the documentation file. + ## D.3 Recommended tags ### D.3.1 General From 4a0b2ac4908d7c61a867f7f4e19c36b63f11fff6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 20 Feb 2025 13:50:59 -0500 Subject: [PATCH 221/259] [create-pull-request] automated change (#1276) Co-authored-by: BillWagner <493969+BillWagner@users.noreply.github.com> --- standard/README.md | 2 +- standard/basic-concepts.md | 4 ++-- standard/classes.md | 20 ++++++++++---------- standard/interfaces.md | 8 ++++---- standard/namespaces.md | 2 +- standard/structs.md | 6 +++--- standard/unsafe-code.md | 2 +- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/standard/README.md b/standard/README.md index 0604e6623..ec5ea7873 100644 --- a/standard/README.md +++ b/standard/README.md @@ -517,7 +517,7 @@ - [§15.2.4.3](classes.md#15243-interface-implementations) Interface implementations - [§15.2.5](classes.md#1525-type-parameter-constraints) Type parameter constraints - [§15.2.6](classes.md#1526-class-body) Class body - - [§15.2.7](classes.md#1527-partial-declarations) Partial declarations + - [§15.2.7](classes.md#1527-partial-type-declarations) Partial type declarations - [§15.3](classes.md#153-class-members) Class members - [§15.3.1](classes.md#1531-general) General - [§15.3.2](classes.md#1532-the-instance-type) The instance type diff --git a/standard/basic-concepts.md b/standard/basic-concepts.md index 825be55e1..573879b52 100644 --- a/standard/basic-concepts.md +++ b/standard/basic-concepts.md @@ -70,7 +70,7 @@ A declaration defines a name in the ***declaration space*** to which the declara > *Note*: However, these declarations could introduce ambiguities if included in the same application. *end note* - Two or more methods with the same name but distinct signatures are allowed in the same declaration space ([§7.6](basic-concepts.md#76-signatures-and-overloading)). - Two or more type declarations with the same name but distinct numbers of type parameters are allowed in the same declaration space ([§7.8.2](basic-concepts.md#782-unqualified-names)). -- Two or more type declarations with the partial modifier in the same declaration space may share the same name, same number of type parameters and same classification (class, struct or interface). In this case, the type declarations contribute to a single type and are themselves aggregated to form a single declaration space ([§15.2.7](classes.md#1527-partial-declarations)). +- Two or more type declarations with the partial modifier in the same declaration space may share the same name, same number of type parameters and same classification (class, struct or interface). In this case, the type declarations contribute to a single type and are themselves aggregated to form a single declaration space ([§15.2.7](classes.md#1527-partial-type-declarations)). - A namespace declaration and a type declaration in the same declaration space can share the same name as long as the type declaration has at least one type parameter ([§7.8.2](basic-concepts.md#782-unqualified-names)). There are several different types of declaration spaces, as described in the following. @@ -947,7 +947,7 @@ In other words, the fully qualified name of `N` is the complete hierarchical pa - It is an error for both a namespace declaration and a type declaration to have the same fully qualified name. - It is an error for two different kinds of type declarations to have the same fully qualified name (for example, if both a struct and class declaration have the same fully qualified name). -- It is an error for a type declaration without the partial modifier to have the same fully qualified name as another type declaration ([§15.2.7](classes.md#1527-partial-declarations)). +- It is an error for a type declaration without the partial modifier to have the same fully qualified name as another type declaration ([§15.2.7](classes.md#1527-partial-type-declarations)). > *Example*: The example below shows several namespace and type declarations along with their associated fully qualified names. > diff --git a/standard/classes.md b/standard/classes.md index 644650d63..b503055f1 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -18,7 +18,7 @@ class_declaration ; ``` -A *class_declaration* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)), followed by an optional set of *class_modifier*s ([§15.2.2](classes.md#1522-class-modifiers)), followed by an optional `partial` modifier ([§15.2.7](classes.md#1527-partial-declarations)), followed by the keyword `class` and an *identifier* that names the class, followed by an optional *type_parameter_list* ([§15.2.3](classes.md#1523-type-parameters)), followed by an optional *class_base* specification ([§15.2.4](classes.md#1524-class-base-specification)), followed by an optional set of *type_parameter_constraints_clause*s ([§15.2.5](classes.md#1525-type-parameter-constraints)), followed by a *class_body* ([§15.2.6](classes.md#1526-class-body)), optionally followed by a semicolon. +A *class_declaration* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)), followed by an optional set of *class_modifier*s ([§15.2.2](classes.md#1522-class-modifiers)), followed by an optional `partial` modifier ([§15.2.7](classes.md#1527-partial-type-declarations)), followed by the keyword `class` and an *identifier* that names the class, followed by an optional *type_parameter_list* ([§15.2.3](classes.md#1523-type-parameters)), followed by an optional *class_base* specification ([§15.2.4](classes.md#1524-class-base-specification)), followed by an optional set of *type_parameter_constraints_clause*s ([§15.2.5](classes.md#1525-type-parameter-constraints)), followed by a *class_body* ([§15.2.6](classes.md#1526-class-body)), optionally followed by a semicolon. A class declaration shall not supply a *type_parameter_constraints_clause*s unless it also supplies a *type_parameter_list*. @@ -52,7 +52,7 @@ The `new` modifier is permitted on nested classes. It specifies that the class h The `public`, `protected`, `internal`, and `private` modifiers control the accessibility of the class. Depending on the context in which the class declaration occurs, some of these modifiers might not be permitted ([§7.5.2](basic-concepts.md#752-declared-accessibility)). -When a partial type declaration ([§15.2.7](classes.md#1527-partial-declarations)) includes an accessibility specification (via the `public`, `protected`, `internal`, and `private` modifiers), that specification shall agree with all other parts that include an accessibility specification. If no part of a partial type includes an accessibility specification, the type is given the appropriate default accessibility ([§7.5.2](basic-concepts.md#752-declared-accessibility)). +When a partial type declaration ([§15.2.7](classes.md#1527-partial-type-declarations)) includes an accessibility specification (via the `public`, `protected`, `internal`, and `private` modifiers), that specification shall agree with all other parts that include an accessibility specification. If no part of a partial type includes an accessibility specification, the type is given the appropriate default accessibility ([§7.5.2](basic-concepts.md#752-declared-accessibility)). The `abstract`, `sealed`, and `static` modifiers are discussed in the following subclauses. @@ -93,7 +93,7 @@ When a non-abstract class is derived from an abstract class, the non-abstract cl > > *end example* -If one or more parts of a partial type declaration ([§15.2.7](classes.md#1527-partial-declarations)) of a class include the `abstract` modifier, the class is abstract. Otherwise, the class is non-abstract. +If one or more parts of a partial type declaration ([§15.2.7](classes.md#1527-partial-type-declarations)) of a class include the `abstract` modifier, the class is abstract. Otherwise, the class is non-abstract. #### 15.2.2.3 Sealed classes @@ -103,7 +103,7 @@ A sealed class cannot also be an abstract class. > *Note*: The `sealed` modifier is primarily used to prevent unintended derivation, but it also enables certain run-time optimizations. In particular, because a sealed class is known to never have any derived classes, it is possible to transform virtual function member invocations on sealed class instances into non-virtual invocations. *end note* -If one or more parts of a partial type declaration ([§15.2.7](classes.md#1527-partial-declarations)) of a class include the `sealed` modifier, the class is sealed. Otherwise, the class is unsealed. +If one or more parts of a partial type declaration ([§15.2.7](classes.md#1527-partial-type-declarations)) of a class include the `sealed` modifier, the class is sealed. Otherwise, the class is unsealed. #### 15.2.2.4 Static classes @@ -125,7 +125,7 @@ A static class has no instance constructors. It is not possible to declare an in The members of a static class are not automatically static, and the member declarations shall explicitly include a `static` modifier (except for constants and nested types). When a class is nested within a static outer class, the nested class is not a static class unless it explicitly includes a `static` modifier. -If one or more parts of a partial type declaration ([§15.2.7](classes.md#1527-partial-declarations)) of a class include the `static` modifier, the class is static. Otherwise, the class is not static. +If one or more parts of a partial type declaration ([§15.2.7](classes.md#1527-partial-type-declarations)) of a class include the `static` modifier, the class is static. Otherwise, the class is not static. ##### 15.2.2.4.2 Referencing static class types @@ -337,7 +337,7 @@ It is not possible to derive from a sealed class. A *class_base* specification may include a list of interface types, in which case the class is said to implement the given interface types. For a constructed class type, including a nested type declared within a generic type declaration ([§15.3.9.7](classes.md#15397-nested-types-in-generic-classes)), each implemented interface type is obtained by substituting, for each *type_parameter* in the given interface, the corresponding *type_argument* of the constructed type. -The set of interfaces for a type declared in multiple parts ([§15.2.7](classes.md#1527-partial-declarations)) is the union of the interfaces specified on each part. A particular interface can only be named once on each part, but multiple parts can name the same base interface(s). There shall only be one implementation of each member of any given interface. +The set of interfaces for a type declared in multiple parts ([§15.2.7](classes.md#1527-partial-type-declarations)) is the union of the interfaces specified on each part. A particular interface can only be named once on each part, but multiple parts can name the same base interface(s). There shall only be one implementation of each member of any given interface. > *Example*: In the following: > @@ -826,7 +826,7 @@ A *class_declaration* creates a new declaration space ([§7.3](basic-concepts.md - The name of a type parameter in the *type_parameter_list* of a class declaration shall differ from the names of all other type parameters in the same *type_parameter_list* and shall differ from the name of the class and the names of all members of the class. -- The name of a type shall differ from the names of all non-type members declared in the same class. If two or more type declarations share the same fully qualified name, the declarations shall have the `partial` modifier ([§15.2.7](classes.md#1527-partial-declarations)) and these declarations combine to define a single type. +- The name of a type shall differ from the names of all non-type members declared in the same class. If two or more type declarations share the same fully qualified name, the declarations shall have the `partial` modifier ([§15.2.7](classes.md#1527-partial-type-declarations)) and these declarations combine to define a single type. > *Note*: Since the fully qualified name of a type declaration encodes the number of type parameters, two distinct types may share the same name as long as they have different number of type parameters. *end note* @@ -843,7 +843,7 @@ The inherited members of a class ([§15.3.4](classes.md#1534-inheritance)) are n > *Note*: Thus, a derived class is allowed to declare a member with the same name or signature as an inherited member (which in effect hides the inherited member). *end note* -The set of members of a type declared in multiple parts ([§15.2.7](classes.md#1527-partial-declarations)) is the union of the members declared in each part. The bodies of all parts of the type declaration share the same declaration space ([§7.3](basic-concepts.md#73-declarations)), and the scope of each member ([§7.7](basic-concepts.md#77-scopes)) extends to the bodies of all the parts. The accessibility domain of any member always includes all the parts of the enclosing type; a private member declared in one part is freely accessible from another part. It is a compile-time error to declare the same member in more than one part of the type, unless that member has the `partial` modifier. +The set of members of a type declared in multiple parts ([§15.2.7](classes.md#1527-partial-type-declarations)) is the union of the members declared in each part. The bodies of all parts of the type declaration share the same declaration space ([§7.3](basic-concepts.md#73-declarations)), and the scope of each member ([§7.7](basic-concepts.md#77-scopes)) extends to the bodies of all the parts. The accessibility domain of any member always includes all the parts of the enclosing type; a private member declared in one part is freely accessible from another part. It is a compile-time error to declare the same member in more than one part of the type, unless that member has the `partial` modifier. > *Example*: > @@ -1000,7 +1000,7 @@ The inherited members of a constructed class type are the members of the immedia A *class_member_declaration* is permitted to declare a member with the same name or signature as an inherited member. When this occurs, the derived class member is said to *hide* the base class member. See [§7.7.2.3](basic-concepts.md#7723-hiding-through-inheritance) for a precise specification of when a member hides an inherited member. -An inherited member `M` is considered to be ***available*** if `M` is accessible and there is no other inherited accessible member N that already hides `M`. Implicitly hiding an inherited member is not considered an error, but a compiler shall issue a warning unless the declaration of the derived class member includes a `new` modifier to explicitly indicate that the derived member is intended to hide the base member. If one or more parts of a partial declaration ([§15.2.7](classes.md#1527-partial-declarations)) of a nested type include the `new` modifier, no warning is issued if the nested type hides an available inherited member. +An inherited member `M` is considered to be ***available*** if `M` is accessible and there is no other inherited accessible member N that already hides `M`. Implicitly hiding an inherited member is not considered an error, but a compiler shall issue a warning unless the declaration of the derived class member includes a `new` modifier to explicitly indicate that the derived member is intended to hide the base member. If one or more parts of a partial declaration ([§15.2.7](classes.md#1527-partial-type-declarations)) of a nested type include the `new` modifier, no warning is issued if the nested type hides an available inherited member. If a `new` modifier is included in a declaration that doesn’t hide an available inherited member, a warning to that effect is issued. @@ -2967,7 +2967,7 @@ The mechanism by which linkage to an external method is achieved is implementati ### 15.6.9 Partial methods -When a method declaration includes a `partial` modifier, that method is said to be a ***partial method***. Partial methods may only be declared as members of partial types ([§15.2.7](classes.md#1527-partial-declarations)), and are subject to a number of restrictions. +When a method declaration includes a `partial` modifier, that method is said to be a ***partial method***. Partial methods may only be declared as members of partial types ([§15.2.7](classes.md#1527-partial-type-declarations)), and are subject to a number of restrictions. Partial methods may be defined in one part of a type declaration and implemented in another. The implementation is optional; if no part implements the partial method, the partial method declaration and all calls to it are removed from the type declaration resulting from the combination of the parts. diff --git a/standard/interfaces.md b/standard/interfaces.md index e9bccb789..82a777a7a 100644 --- a/standard/interfaces.md +++ b/standard/interfaces.md @@ -20,7 +20,7 @@ interface_declaration ; ``` -An *interface_declaration* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)), followed by an optional set of *interface_modifier*s ([§18.2.2](interfaces.md#1822-interface-modifiers)), followed by an optional partial modifier ([§15.2.7](classes.md#1527-partial-declarations)), followed by the keyword `interface` and an *identifier* that names the interface, followed by an optional *variant_type_parameter_list* specification ([§18.2.3](interfaces.md#1823-variant-type-parameter-lists)), followed by an optional *interface_base* specification ([§18.2.4](interfaces.md#1824-base-interfaces)), followed by an optional *type_parameter_constraints_clause*s specification ([§15.2.5](classes.md#1525-type-parameter-constraints)), followed by an *interface_body* ([§18.3](interfaces.md#183-interface-body)), optionally followed by a semicolon. +An *interface_declaration* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)), followed by an optional set of *interface_modifier*s ([§18.2.2](interfaces.md#1822-interface-modifiers)), followed by an optional partial modifier ([§15.2.7](classes.md#1527-partial-type-declarations)), followed by the keyword `interface` and an *identifier* that names the interface, followed by an optional *variant_type_parameter_list* specification ([§18.2.3](interfaces.md#1823-variant-type-parameter-lists)), followed by an optional *interface_base* specification ([§18.2.4](interfaces.md#1824-base-interfaces)), followed by an optional *type_parameter_constraints_clause*s specification ([§15.2.5](classes.md#1525-type-parameter-constraints)), followed by an *interface_body* ([§18.3](interfaces.md#183-interface-body)), optionally followed by a semicolon. An interface declaration shall not supply a *type_parameter_constraints_clause*s unless it also supplies a *variant_type_parameter_list*. @@ -47,7 +47,7 @@ It is a compile-time error for the same modifier to appear multiple times in an The `new` modifier is only permitted on interfaces defined within a class. It specifies that the interface hides an inherited member by the same name, as described in [§15.3.5](classes.md#1535-the-new-modifier). -The `public`, `protected`, `internal`, and `private` modifiers control the accessibility of the interface. Depending on the context in which the interface declaration occurs, only some of these modifiers might be permitted ([§7.5.2](basic-concepts.md#752-declared-accessibility)). When a partial type declaration ([§15.2.7](classes.md#1527-partial-declarations)) includes an accessibility specification (via the `public`, `protected`, `internal`, and `private` modifiers), the rules in [§15.2.2](classes.md#1522-class-modifiers) apply. +The `public`, `protected`, `internal`, and `private` modifiers control the accessibility of the interface. Depending on the context in which the interface declaration occurs, only some of these modifiers might be permitted ([§7.5.2](basic-concepts.md#752-declared-accessibility)). When a partial type declaration ([§15.2.7](classes.md#1527-partial-type-declarations)) includes an accessibility specification (via the `public`, `protected`, `internal`, and `private` modifiers), the rules in [§15.2.2](classes.md#1522-class-modifiers) apply. ### 18.2.3 Variant type parameter lists @@ -200,7 +200,7 @@ Members inherited from a constructed generic type are inherited after type subst A class or struct that implements an interface also implicitly implements all of the interface’s base interfaces. -The handling of interfaces on multiple parts of a partial interface declaration ([§15.2.7](classes.md#1527-partial-declarations)) are discussed further in [§15.2.4.3](classes.md#15243-interface-implementations). +The handling of interfaces on multiple parts of a partial interface declaration ([§15.2.7](classes.md#1527-partial-type-declarations)) are discussed further in [§15.2.4.3](classes.md#15243-interface-implementations). Every base interface of an interface shall be output-safe ([§18.2.3.2](interfaces.md#18232-variance-safety)). @@ -246,7 +246,7 @@ If a `new` modifier is included in a declaration that doesn’t hide an inherite > *Note*: The members in class `object` are not, strictly speaking, members of any interface ([§18.4](interfaces.md#184-interface-members)). However, the members in class `object` are available via member lookup in any interface type ([§12.5](expressions.md#125-member-lookup)). *end note* -The set of members of an interface declared in multiple parts ([§15.2.7](classes.md#1527-partial-declarations)) is the union of the members declared in each part. The bodies of all parts of the interface declaration share the same declaration space ([§7.3](basic-concepts.md#73-declarations)), and the scope of each member ([§7.7](basic-concepts.md#77-scopes)) extends to the bodies of all the parts. +The set of members of an interface declared in multiple parts ([§15.2.7](classes.md#1527-partial-type-declarations)) is the union of the members declared in each part. The bodies of all parts of the interface declaration share the same declaration space ([§7.3](basic-concepts.md#73-declarations)), and the scope of each member ([§7.7](basic-concepts.md#77-scopes)) extends to the bodies of all the parts. ### 18.4.2 Interface methods diff --git a/standard/namespaces.md b/standard/namespaces.md index 4842844d3..754c9cb87 100644 --- a/standard/namespaces.md +++ b/standard/namespaces.md @@ -409,7 +409,7 @@ Accessing a namespace or type through an alias yields exactly the same result as > > *end example* -Although each part of a partial type ([§15.2.7](classes.md#1527-partial-declarations)) is declared within the same namespace, the parts are typically written within different namespace declarations. Thus, different *extern_alias_directive*s and *using_directive*s can be present for each part. When interpreting simple names ([§12.8.4](expressions.md#1284-simple-names)) within one part, only the *extern_alias_directive*s and *using_directive*s of the namespace bodies and compilation unit enclosing that part are considered. This may result in the same identifier having different meanings in different parts. +Although each part of a partial type ([§15.2.7](classes.md#1527-partial-type-declarations)) is declared within the same namespace, the parts are typically written within different namespace declarations. Thus, different *extern_alias_directive*s and *using_directive*s can be present for each part. When interpreting simple names ([§12.8.4](expressions.md#1284-simple-names)) within one part, only the *extern_alias_directive*s and *using_directive*s of the namespace bodies and compilation unit enclosing that part are considered. This may result in the same identifier having different meanings in different parts. > *Example*: > diff --git a/standard/structs.md b/standard/structs.md index 49736aaf4..42ea342fc 100644 --- a/standard/structs.md +++ b/standard/structs.md @@ -22,7 +22,7 @@ struct_declaration ; ``` -A *struct_declaration* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)), followed by an optional set of *struct_modifier*s ([§16.2.2](structs.md#1622-struct-modifiers)), followed by an optional `ref` modifier ([§16.2.3](structs.md#1623-ref-modifier)), followed by an optional partial modifier ([§15.2.7](classes.md#1527-partial-declarations)), followed by the keyword `struct` and an *identifier* that names the struct, followed by an optional *type_parameter_list* specification ([§15.2.3](classes.md#1523-type-parameters)), followed by an optional *struct_interfaces* specification ([§16.2.5](structs.md#1625-struct-interfaces)), followed by an optional *type_parameter_constraints-clauses* specification ([§15.2.5](classes.md#1525-type-parameter-constraints)), followed by a *struct_body* ([§16.2.6](structs.md#1626-struct-body)), optionally followed by a semicolon. +A *struct_declaration* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)), followed by an optional set of *struct_modifier*s ([§16.2.2](structs.md#1622-struct-modifiers)), followed by an optional `ref` modifier ([§16.2.3](structs.md#1623-ref-modifier)), followed by an optional partial modifier ([§15.2.7](classes.md#1527-partial-type-declarations)), followed by the keyword `struct` and an *identifier* that names the struct, followed by an optional *type_parameter_list* specification ([§15.2.3](classes.md#1523-type-parameters)), followed by an optional *struct_interfaces* specification ([§16.2.5](structs.md#1625-struct-interfaces)), followed by an optional *type_parameter_constraints-clauses* specification ([§15.2.5](classes.md#1525-type-parameter-constraints)), followed by a *struct_body* ([§16.2.6](structs.md#1626-struct-body)), optionally followed by a semicolon. A struct declaration shall not supply a *type_parameter_constraints_clauses* unless it also supplies a *type_parameter_list*. @@ -87,7 +87,7 @@ These constraints ensure that a variable of `ref struct` type does not refer to ### 16.2.4 Partial modifier -The `partial` modifier indicates that this *struct_declaration* is a partial type declaration. Multiple partial struct declarations with the same name within an enclosing namespace or type declaration combine to form one struct declaration, following the rules specified in [§15.2.7](classes.md#1527-partial-declarations). +The `partial` modifier indicates that this *struct_declaration* is a partial type declaration. Multiple partial struct declarations with the same name within an enclosing namespace or type declaration combine to form one struct declaration, following the rules specified in [§15.2.7](classes.md#1527-partial-type-declarations). ### 16.2.5 Struct interfaces @@ -99,7 +99,7 @@ struct_interfaces ; ``` -The handling of interfaces on multiple parts of a partial struct declaration ([§15.2.7](classes.md#1527-partial-declarations)) are discussed further in [§15.2.4.3](classes.md#15243-interface-implementations). +The handling of interfaces on multiple parts of a partial struct declaration ([§15.2.7](classes.md#1527-partial-type-declarations)) are discussed further in [§15.2.4.3](classes.md#15243-interface-implementations). Interface implementations are discussed further in [§18.6](interfaces.md#186-interface-implementations). diff --git a/standard/unsafe-code.md b/standard/unsafe-code.md index e28399b50..afada27f8 100644 --- a/standard/unsafe-code.md +++ b/standard/unsafe-code.md @@ -111,7 +111,7 @@ Other than establishing an unsafe context, thus permitting the use of pointer ty > > *end example* -When the `unsafe` modifier is used on a partial type declaration ([§15.2.7](classes.md#1527-partial-declarations)), only that particular part is considered an unsafe context. +When the `unsafe` modifier is used on a partial type declaration ([§15.2.7](classes.md#1527-partial-type-declarations)), only that particular part is considered an unsafe context. ## 23.3 Pointer types From 0e87444871bdfa156b0275ad80095d7a2ea91c04 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 26 Feb 2025 15:43:17 -0500 Subject: [PATCH 222/259] Bump actions/checkout from 2.7.0 to 4.2.2 (#1279) Bumps [actions/checkout](https://github.com/actions/checkout) from 2.7.0 to 4.2.2. - [Release notes](https://github.com/actions/checkout/releases) - [Commits](https://github.com/actions/checkout/compare/v2.7.0...v4.2.2) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/grammar-validator.yaml | 2 +- .github/workflows/markdownlint.yml | 2 +- .github/workflows/renumber-sections.yaml | 2 +- .github/workflows/smart-quotes.yaml | 2 +- .github/workflows/test-examples.yaml | 2 +- .github/workflows/tools-tests.yaml | 2 +- .github/workflows/update-on-merge.yaml | 2 +- .github/workflows/word-converter.yaml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/grammar-validator.yaml b/.github/workflows/grammar-validator.yaml index 978395f62..3d79ee3b6 100644 --- a/.github/workflows/grammar-validator.yaml +++ b/.github/workflows/grammar-validator.yaml @@ -19,7 +19,7 @@ jobs: steps: - name: Check out our repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 - name: Setup .NET 8.0 uses: actions/setup-dotnet@v4 diff --git a/.github/workflows/markdownlint.yml b/.github/workflows/markdownlint.yml index a917d7cea..afaf246d2 100644 --- a/.github/workflows/markdownlint.yml +++ b/.github/workflows/markdownlint.yml @@ -28,7 +28,7 @@ jobs: statuses: write steps: - - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 + - uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2 - name: Use Node.js uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a with: diff --git a/.github/workflows/renumber-sections.yaml b/.github/workflows/renumber-sections.yaml index aa1187617..7a69349d6 100644 --- a/.github/workflows/renumber-sections.yaml +++ b/.github/workflows/renumber-sections.yaml @@ -24,7 +24,7 @@ jobs: steps: - name: Check out our repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 - name: Setup .NET 8.0 uses: actions/setup-dotnet@v4 diff --git a/.github/workflows/smart-quotes.yaml b/.github/workflows/smart-quotes.yaml index c75db1bfb..4f3cd8113 100644 --- a/.github/workflows/smart-quotes.yaml +++ b/.github/workflows/smart-quotes.yaml @@ -22,7 +22,7 @@ jobs: steps: - name: Check out our repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 - name: Setup .NET 8.0 uses: actions/setup-dotnet@v4 diff --git a/.github/workflows/test-examples.yaml b/.github/workflows/test-examples.yaml index 9bf24123b..e16492031 100644 --- a/.github/workflows/test-examples.yaml +++ b/.github/workflows/test-examples.yaml @@ -26,7 +26,7 @@ jobs: steps: - name: Check out our repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 # We build examples against .NET 6.0, but use # 8.0 for the tools themselves. (The closer we diff --git a/.github/workflows/tools-tests.yaml b/.github/workflows/tools-tests.yaml index 22073f036..9695e88b4 100644 --- a/.github/workflows/tools-tests.yaml +++ b/.github/workflows/tools-tests.yaml @@ -23,7 +23,7 @@ jobs: steps: - name: Check out our repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 - name: Setup .NET 8.0 uses: actions/setup-dotnet@v4 diff --git a/.github/workflows/update-on-merge.yaml b/.github/workflows/update-on-merge.yaml index 3a49c2c3f..e29b11cc2 100644 --- a/.github/workflows/update-on-merge.yaml +++ b/.github/workflows/update-on-merge.yaml @@ -28,7 +28,7 @@ jobs: steps: - name: Check out our repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 - name: Setup .NET 8.0 uses: actions/setup-dotnet@v4 diff --git a/.github/workflows/word-converter.yaml b/.github/workflows/word-converter.yaml index b49ebc0cc..4025cc76c 100644 --- a/.github/workflows/word-converter.yaml +++ b/.github/workflows/word-converter.yaml @@ -24,7 +24,7 @@ jobs: steps: - name: Check out our repo - uses: actions/checkout@v4 + uses: actions/checkout@v4.2.2 - name: Setup .NET 8.0 uses: actions/setup-dotnet@v4 From c98794f818ad5ae5b46e86f9007da0608979f4b3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 26 Feb 2025 15:43:32 -0500 Subject: [PATCH 223/259] Bump peter-evans/create-pull-request from 7.0.6 to 7.0.7 (#1280) Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 7.0.6 to 7.0.7. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v7.0.6...v7.0.7) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/smart-quotes.yaml | 2 +- .github/workflows/update-on-merge.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/smart-quotes.yaml b/.github/workflows/smart-quotes.yaml index 4f3cd8113..5403d28b9 100644 --- a/.github/workflows/smart-quotes.yaml +++ b/.github/workflows/smart-quotes.yaml @@ -37,7 +37,7 @@ jobs: shell: bash - name: Create pull request - uses: peter-evans/create-pull-request@v7.0.6 + uses: peter-evans/create-pull-request@v7.0.7 with: title: 'Run smarten on demand' body: 'Run the smarten action to create smart quotes' \ No newline at end of file diff --git a/.github/workflows/update-on-merge.yaml b/.github/workflows/update-on-merge.yaml index e29b11cc2..48090dd38 100644 --- a/.github/workflows/update-on-merge.yaml +++ b/.github/workflows/update-on-merge.yaml @@ -56,7 +56,7 @@ jobs: shell: bash - name: Create pull request - uses: peter-evans/create-pull-request@v7.0.6 + uses: peter-evans/create-pull-request@v7.0.7 if: ${{ steps.renumber-sections.outputs.status }} == 'success' && ${{ steps.update-grammar.outputs.status }} == 'success' with: title: "Automated Section renumber and grammar extraction" From f885375267570784d8d529d94893555494781abb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 26 Feb 2025 15:54:30 -0500 Subject: [PATCH 224/259] Bump Microsoft.CodeAnalysis.Workspaces.MSBuild from 4.12.0 to 4.13.0 in /tools in the dotnet group (#1278) * Bump Microsoft.CodeAnalysis.Workspaces.MSBuild Bumps the dotnet group in /tools with 1 update: [Microsoft.CodeAnalysis.Workspaces.MSBuild](https://github.com/dotnet/roslyn). Updates `Microsoft.CodeAnalysis.Workspaces.MSBuild` from 4.12.0 to 4.13.0 - [Release notes](https://github.com/dotnet/roslyn/releases) - [Changelog](https://github.com/dotnet/roslyn/blob/main/docs/Breaking%20API%20Changes.md) - [Commits](https://github.com/dotnet/roslyn/commits) --- updated-dependencies: - dependency-name: Microsoft.CodeAnalysis.Workspaces.MSBuild dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] * Update tools/ExampleTester/ExampleTester.csproj --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Bill Wagner --- tools/ExampleTester/ExampleTester.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/ExampleTester/ExampleTester.csproj b/tools/ExampleTester/ExampleTester.csproj index a6923d2bd..5a8886a1b 100644 --- a/tools/ExampleTester/ExampleTester.csproj +++ b/tools/ExampleTester/ExampleTester.csproj @@ -9,8 +9,8 @@ - - + + From 046b37a24ddc089efc4676daf5074791deb569a7 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma <6654683+Nigel-Ecma@users.noreply.github.com> Date: Thu, 6 Mar 2025 03:49:20 +1300 Subject: [PATCH 225/259] [Milestone] (#1281) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit • Add new MS Rules to provide actions & predicates for a number of C#’s non-grammar rules: - adjacency requirement for tokens in >> & >>= - restrict places declaration expressions can be used – as the grammar for them is very loose - type argument list disambiguation - report semantic error if null-forgiving is applied to null-forgiving - tweak order of choices in a couple of rules so Antlr picks the right one • Samples: - Reorganise - Spilt the large AllInOneNoPreproccesor-v6 into parts - Add new samples for new constructs - Switch them all to use the new Rules MS Co-authored-by: Nigel-Ecma --- .../dependencies/GrammarTestingEnv.tgz | Bin 45089 -> 52278 bytes tools/GrammarTesting/Tests/Parsing/ReadMe.md | 2 +- .../_Sample_Options.txt | 1 - .../Tests/Parsing/Samples/ReadMe.md | 6 + .../part-A/AllInOneNoPreprocessor-v6-part.cs | 32 + .../part-A/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 543 ++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 115 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 1285 +++ .../part-A/_Sample_Options.txt | 1 + .../part-B/AllInOneNoPreprocessor-v6-part.cs | 107 + .../part-B/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 3437 ++++++++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 571 ++ ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 7625 +++++++++++++++++ .../part-B/_Sample_Options.txt | 1 + .../part-C/AllInOneNoPreprocessor-v6-part.cs | 44 + .../part-C/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 1378 +++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 272 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 3200 +++++++ .../part-C/_Sample_Options.txt | 1 + .../part-D/AllInOneNoPreprocessor-v6-part.cs | 60 + .../part-D/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 916 ++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 200 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 2190 +++++ .../part-D/_Sample_Options.txt | 1 + .../part-E/AllInOneNoPreprocessor-v6-part.cs | 66 + .../part-E/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 1526 ++++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 303 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 3550 ++++++++ .../part-E/_Sample_Options.txt | 1 + .../part-F/AllInOneNoPreprocessor-v6-part.cs | 39 + .../part-F/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 714 ++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 142 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 1660 ++++ .../part-F/_Sample_Options.txt | 1 + .../part-G/AllInOneNoPreprocessor-v6-part.cs | 39 + .../part-G/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 749 ++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 147 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 1735 ++++ .../part-G/_Sample_Options.txt | 1 + .../part-H/AllInOneNoPreprocessor-v6-part.cs | 53 + .../part-H/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 804 ++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 157 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 1860 ++++ .../part-H/_Sample_Options.txt | 1 + .../part-I/AllInOneNoPreprocessor-v6-part.cs | 51 + .../part-I/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 1135 +++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 211 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 2595 ++++++ .../part-I/_Sample_Options.txt | 1 + .../part-J/AllInOneNoPreprocessor-v6-part.cs | 37 + .../part-J/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 1276 +++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 245 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 2940 +++++++ .../part-J/_Sample_Options.txt | 1 + .../part-K/AllInOneNoPreprocessor-v6-part.cs | 24 + .../part-K/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 569 ++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 116 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 1335 +++ .../part-K/_Sample_Options.txt | 1 + .../part-L/AllInOneNoPreprocessor-v6-part.cs | 35 + .../part-L/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 1174 +++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 201 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 2630 ++++++ .../part-L/_Sample_Options.txt | 1 + .../part-M/AllInOneNoPreprocessor-v6-part.cs | 35 + .../part-M/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 919 ++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 167 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 2085 +++++ .../part-M/_Sample_Options.txt | 1 + .../part-N/AllInOneNoPreprocessor-v6-part.cs | 41 + .../part-N/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 380 + .../AllInOneNoPreprocessor-v6-part.tokens.txt | 67 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 855 ++ .../part-N/_Sample_Options.txt | 1 + .../part-O/AllInOneNoPreprocessor-v6-part.cs | 23 + .../part-O/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 1002 +++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 179 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 2270 +++++ .../part-O/_Sample_Options.txt | 1 + .../part-P/AllInOneNoPreprocessor-v6-part.cs | 41 + .../part-P/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 1452 ++++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 214 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 3130 +++++++ .../part-P/_Sample_Options.txt | 1 + .../part-Q/AllInOneNoPreprocessor-v6-part.cs | 24 + .../part-Q/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 816 ++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 157 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 1880 ++++ .../part-Q/_Sample_Options.txt | 1 + .../part-R/AllInOneNoPreprocessor-v6-part.cs | 22 + .../part-R/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 686 ++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 123 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 1550 ++++ .../part-R/_Sample_Options.txt | 1 + .../part-S/AllInOneNoPreprocessor-v6-part.cs | 22 + .../part-S/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 758 ++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 168 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 1820 ++++ .../part-S/_Sample_Options.txt | 1 + .../part-T/AllInOneNoPreprocessor-v6-part.cs | 37 + .../part-T/ReadMe.md | 5 + ...OneNoPreprocessor-v6-part.gruntree.red.txt | 572 ++ .../AllInOneNoPreprocessor-v6-part.tokens.txt | 117 + ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 + .../AllInOneNoPreprocessor-v6-part.tree.svg | 1340 +++ .../part-T/_Sample_Options.txt | 1 + .../AllInOneNoPreprocessor-v6.cs | 0 .../AllInOneNoPreprocessor-v6/ReadMe.md | 0 ...AllInOneNoPreprocessor-v6.gruntree.red.txt | 0 .../AllInOneNoPreprocessor-v6.tokens.txt | 0 .../AllInOneNoPreprocessor-v6.tree.red.txt | 0 .../AllInOneNoPreprocessor-v6.tree.svg | 0 .../_Disable_Sample.txt | 8 + .../_Sample_Options.txt | 0 .../Parsing/Samples/v6/RightShift/ReadMe.md | 6 + .../Reference/sample.gruntree.red.txt | 221 + .../v6/RightShift/Reference/sample.stderr.txt | 3 + .../v6/RightShift/Reference/sample.tokens.txt | 35 + .../RightShift/Reference/sample.tree.red.txt | 1 + .../v6/RightShift/Reference/sample.tree.svg | 485 ++ .../Samples/v6/RightShift/_Sample_Options.txt | 1 + .../Parsing/Samples/v6/RightShift/sample.cs | 13 + .../AllInOneNoPreprocessor-v7.cs | 0 .../AllInOneNoPreprocessor-v7/ReadMe.md | 0 ...AllInOneNoPreprocessor-v7.gruntree.red.txt | 0 .../AllInOneNoPreprocessor-v7.tokens.txt | 0 .../AllInOneNoPreprocessor-v7.tree.red.txt | 0 .../AllInOneNoPreprocessor-v7.tree.svg | 0 .../_Sample_Options.txt | 1 + .../v8/Declaration expressions/ReadMe.md | 1 + .../Reference/sample.gruntree.red.txt | 677 ++ .../Reference/sample.stderr.txt | 0 .../Reference/sample.tokens.txt | 125 + .../Reference/sample.tree.red.txt | 1 + .../Reference/sample.tree.svg | 1545 ++++ .../_Sample_Options.txt | 1 + .../v8/Declaration expressions/sample.cs | 15 + .../Samples/v8/Null-forgiving/ReadMe.md | 10 + .../Reference/sample.gruntree.red.txt | 749 ++ .../Reference/sample.stderr.txt | 4 + .../Reference/sample.tokens.txt | 116 + .../Reference/sample.tree.red.txt | 1 + .../Null-forgiving/Reference/sample.tree.svg | 1635 ++++ .../v8/Null-forgiving/_Sample_Options.txt | 1 + .../Samples/v8/Null-forgiving/sample.cs | 25 + .../Samples/v8/Type argument list/ReadMe.md | 4 + .../Reference/sample.gruntree.red.txt | 1212 +++ .../Reference/sample.stderr.txt | 0 .../Reference/sample.tokens.txt | 216 + .../Reference/sample.tree.red.txt | 1 + .../Reference/sample.tree.svg | 2740 ++++++ .../v8/Type argument list/_Sample_Options.txt | 1 + .../Samples/v8/Type argument list/sample.cs | 45 + tools/GrammarTesting/Tests/ReadMe.md | 1 - 192 files changed, 83091 insertions(+), 3 deletions(-) delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/_Sample_Options.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/ReadMe.md create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/_Sample_Options.txt create mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/AllInOneNoPreprocessor-v6-part.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/_Sample_Options.txt rename tools/GrammarTesting/Tests/Parsing/Samples/{ => v6}/AllInOneNoPreprocessor-v6/AllInOneNoPreprocessor-v6.cs (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/{ => v6}/AllInOneNoPreprocessor-v6/ReadMe.md (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/{ => v6}/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.gruntree.red.txt (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/{ => v6}/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tokens.txt (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/{ => v6}/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.red.txt (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/{ => v6}/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.svg (100%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/_Disable_Sample.txt rename tools/GrammarTesting/Tests/Parsing/Samples/{ => v6}/AllInOneNoPreprocessor-v6/_Sample_Options.txt (100%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.stderr.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/_Sample_Options.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/sample.cs rename tools/GrammarTesting/Tests/Parsing/Samples/{ => v7}/AllInOneNoPreprocessor-v7/AllInOneNoPreprocessor-v7.cs (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/{ => v7}/AllInOneNoPreprocessor-v7/ReadMe.md (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/{ => v7}/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.gruntree.red.txt (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/{ => v7}/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tokens.txt (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/{ => v7}/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.red.txt (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/{ => v7}/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.svg (100%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/_Sample_Options.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.stderr.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/_Sample_Options.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/sample.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.stderr.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/_Sample_Options.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/sample.cs create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.stderr.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/_Sample_Options.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/sample.cs diff --git a/.github/workflows/dependencies/GrammarTestingEnv.tgz b/.github/workflows/dependencies/GrammarTestingEnv.tgz index 20584e48e666e368a5e942afe9a82091e3e3ff4c..1a85b595204d3f7d83840478413e4b513dc52e60 100644 GIT binary patch literal 52278 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 literal 45089 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 Zu6|d)tKZe{>R0vq{{iqkAL9U+0|3`JdL94( diff --git a/tools/GrammarTesting/Tests/Parsing/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/ReadMe.md index 211176b53..7aa840536 100644 --- a/tools/GrammarTesting/Tests/Parsing/ReadMe.md +++ b/tools/GrammarTesting/Tests/Parsing/ReadMe.md @@ -7,4 +7,4 @@ The second set, in `Demo`, exist to demonstrate the system and are run when `Set or `DoParsingTests` are passed the `-d` option. If `Demo` is not here it will be in the environment parallel which can be located using the -environment variable `BG_LIB_PARSINGTESTS`. \ No newline at end of file +environment variable `BG_LIB_PARSINGTESTS`. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/_Sample_Options.txt deleted file mode 100644 index e5715448f..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/_Sample_Options.txt +++ /dev/null @@ -1 +0,0 @@ --ms Base -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/ReadMe.md new file mode 100644 index 000000000..c6be60df7 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/ReadMe.md @@ -0,0 +1,6 @@ +# Parsing Samples + +Sub-directories are used to group related (in some way) tests. + +The “v*n*” folders typically contain samples testing features introduced +in *or before* that version of C# – though nothing is enforced. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..914373395 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,32 @@ +extern alias Foo; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Text; +using M = System.Math; + +using ConsoleApplication2.Test; + +/**/ +/* the previous comment is an empty delimited comment and not a document comment */ +/** this is a document comment */ +// this one is a single line comment + +using X = int1; +using Y = ABC.X; + +using static System.Math; +using static System.DayOfWeek; +using static System.Linq.Enumerable; + +[assembly: System.Copyright(@"(C)"" + +2009")] +[module: System.Copyright("\n\t\u0123(C) \"2009" + "\u0123")] + +class TopLevelType : IDisposable +{ + void IDisposable.Dispose() { } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..3c4209f65 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,543 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ extern_alias_directive +⎜ ⎜ ⎜ extern +⎜ ⎜ ⎜ alias +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ Foo +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ; +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Collections +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Generic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Linq +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Linq +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Expressions +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Text +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_alias_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Math +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ConsoleApplication2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_alias_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ X +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_alias_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ Y +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ABC +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ X +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_static_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Math +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_static_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DayOfWeek +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ using_static_directive +⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Linq +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Enumerable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ global_attributes +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ global_attribute_section +⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ global_attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ global_attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assembly +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Copyright +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "(C)" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ " \n\n2009" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ global_attribute_section +⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ global_attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ global_attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ module +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Copyright +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "\n\t\u0123(C) \"2009" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "\u0123" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ TopLevelType +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ class_base +⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IDisposable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IDisposable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Dispose +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..c1e0702f3 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,115 @@ +[@0,0:5='extern',<'extern'>,1:0] +[@1,7:11='alias',<'alias'>,1:7] +[@2,13:15='Foo',,1:13] +[@3,16:16=';',<';'>,1:16] +[@4,19:23='using',<'using'>,3:0] +[@5,25:30='System',,3:6] +[@6,31:31=';',<';'>,3:12] +[@7,33:37='using',<'using'>,4:0] +[@8,39:44='System',,4:6] +[@9,45:45='.',<'.'>,4:12] +[@10,46:56='Collections',,4:13] +[@11,57:57='.',<'.'>,4:24] +[@12,58:64='Generic',,4:25] +[@13,65:65=';',<';'>,4:32] +[@14,67:71='using',<'using'>,5:0] +[@15,73:78='System',,5:6] +[@16,79:79='.',<'.'>,5:12] +[@17,80:83='Linq',,5:13] +[@18,84:84=';',<';'>,5:17] +[@19,86:90='using',<'using'>,6:0] +[@20,92:97='System',,6:6] +[@21,98:98='.',<'.'>,6:12] +[@22,99:102='Linq',,6:13] +[@23,103:103='.',<'.'>,6:17] +[@24,104:114='Expressions',,6:18] +[@25,115:115=';',<';'>,6:29] +[@26,117:121='using',<'using'>,7:0] +[@27,123:128='System',,7:6] +[@28,129:129='.',<'.'>,7:12] +[@29,130:133='Text',,7:13] +[@30,134:134=';',<';'>,7:17] +[@31,136:140='using',<'using'>,8:0] +[@32,142:142='M',,8:6] +[@33,144:144='=',<'='>,8:8] +[@34,146:151='System',,8:10] +[@35,152:152='.',<'.'>,8:16] +[@36,153:156='Math',,8:17] +[@37,157:157=';',<';'>,8:21] +[@38,160:164='using',<'using'>,10:0] +[@39,166:184='ConsoleApplication2',,10:6] +[@40,185:185='.',<'.'>,10:25] +[@41,186:189='Test',,10:26] +[@42,190:190=';',<';'>,10:30] +[@43,354:358='using',<'using'>,17:0] +[@44,360:360='X',,17:6] +[@45,362:362='=',<'='>,17:8] +[@46,364:367='int1',,17:10] +[@47,368:368=';',<';'>,17:14] +[@48,370:374='using',<'using'>,18:0] +[@49,376:376='Y',,18:6] +[@50,378:378='=',<'='>,18:8] +[@51,380:382='ABC',,18:10] +[@52,383:383='.',<'.'>,18:13] +[@53,384:384='X',,18:14] +[@54,385:385='<',<'<'>,18:15] +[@55,386:388='int',<'int'>,18:16] +[@56,389:389='>',<'>'>,18:19] +[@57,390:390=';',<';'>,18:20] +[@58,393:397='using',<'using'>,20:0] +[@59,399:404='static',<'static'>,20:6] +[@60,406:411='System',,20:13] +[@61,412:412='.',<'.'>,20:19] +[@62,413:416='Math',,20:20] +[@63,417:417=';',<';'>,20:24] +[@64,419:423='using',<'using'>,21:0] +[@65,425:430='static',<'static'>,21:6] +[@66,432:437='System',,21:13] +[@67,438:438='.',<'.'>,21:19] +[@68,439:447='DayOfWeek',,21:20] +[@69,448:448=';',<';'>,21:29] +[@70,450:454='using',<'using'>,22:0] +[@71,456:461='static',<'static'>,22:6] +[@72,463:468='System',,22:13] +[@73,469:469='.',<'.'>,22:19] +[@74,470:473='Linq',,22:20] +[@75,474:474='.',<'.'>,22:24] +[@76,475:484='Enumerable',,22:25] +[@77,485:485=';',<';'>,22:35] +[@78,488:488='[',<'['>,24:0] +[@79,489:496='assembly',,24:1] +[@80,497:497=':',<':'>,24:9] +[@81,499:504='System',,24:11] +[@82,505:505='.',<'.'>,24:17] +[@83,506:514='Copyright',,24:18] +[@84,515:515='(',<'('>,24:27] +[@85,516:530='@"(C)"" \n\n2009"',,24:28] +[@86,531:531=')',<')'>,26:5] +[@87,532:532=']',<']'>,26:6] +[@88,534:534='[',<'['>,27:0] +[@89,535:540='module',,27:1] +[@90,541:541=':',<':'>,27:7] +[@91,543:548='System',,27:9] +[@92,549:549='.',<'.'>,27:15] +[@93,550:558='Copyright',,27:16] +[@94,559:559='(',<'('>,27:25] +[@95,560:581='"\n\t\u0123(C) \"2009"',,27:26] +[@96,583:583='+',<'+'>,27:49] +[@97,585:592='"\u0123"',,27:51] +[@98,593:593=')',<')'>,27:59] +[@99,594:594=']',<']'>,27:60] +[@100,597:601='class',<'class'>,29:0] +[@101,603:614='TopLevelType',,29:6] +[@102,616:616=':',<':'>,29:19] +[@103,618:628='IDisposable',,29:21] +[@104,630:630='{',<'{'>,30:0] +[@105,636:639='void',<'void'>,31:4] +[@106,641:651='IDisposable',,31:9] +[@107,652:652='.',<'.'>,31:20] +[@108,653:659='Dispose',,31:21] +[@109,660:660='(',<'('>,31:28] +[@110,661:661=')',<')'>,31:29] +[@111,663:663='{',<'{'>,31:31] +[@112,665:665='}',<'}'>,31:33] +[@113,667:667='}',<'}'>,32:0] +[@114,668:667='',,32:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..733576fcf --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (extern_alias_directive extern alias (identifier Foo) ;) (using_directive (using_namespace_directive using (namespace_name (identifier System)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Collections)) . (identifier Generic))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq)) . (identifier Expressions))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Text))) ;)) (using_directive (using_alias_directive using (identifier M) = (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Math)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier ConsoleApplication2)) . (identifier Test))) ;)) (using_directive (using_alias_directive using (identifier X) = (namespace_or_type_name (identifier int1)) ;)) (using_directive (using_alias_directive using (identifier Y) = (namespace_or_type_name (namespace_or_type_name (identifier ABC)) . (identifier X) (type_argument_list < (type_arguments (integral_type int)) >)) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Math))) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier DayOfWeek))) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq)) . (identifier Enumerable))) ;)) (global_attributes (global_attribute_section [ (global_attribute_target_specifier (global_attribute_target (identifier assembly)) :) (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Copyright))) (attribute_arguments ( (positional_argument_list (literal @"(C)"" \n\n2009")) )))) ]) (global_attribute_section [ (global_attribute_target_specifier (global_attribute_target (identifier module)) :) (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Copyright))) (attribute_arguments ( (positional_argument_list (additive_expression (additive_expression (literal "\n\t\u0123(C) \"2009")) + (multiplicative_expression (literal "\u0123")))) )))) ])) (namespace_member_declaration (class_declaration class (identifier TopLevelType) (class_base : (class_type (identifier IDisposable))) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (interface_type (identifier IDisposable)) . (identifier Dispose)) ( )) (method_body (block { })))) }))))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..347f4546a --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,1285 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +namespace_member_declaration + + + +identifier + + + +literal + + + +"\n\t\u0123(C)·\"2009" + + + +System + + + +; + + + +. + + + +attribute_arguments + + + +using_directive + + + +namespace_name + + + +using_static_directive + + + +Enumerable + + + +using + + + +namespace_name + + + +IDisposable + + + +method_modifiers + + + +; + + + +using_directive + + + +using_directive + + + +namespace_or_type_name + + + +System + + + +using_directive + + + +compilation_unit + + + +using_alias_directive + + + +using + + + +using_namespace_directive + + + +namespace_or_type_name + + + +; + + + +using + + + +using_directive + + + +. + + + +identifier + + + +identifier + + + +type_name + + + +namespace_or_type_name + + + +; + + + += + + + +using_directive + + + +identifier + + + +Collections + + + +int1 + + + +identifier + + + +namespace_or_type_name + + + +{ + + + +identifier + + + +ConsoleApplication2 + + + +using + + + +. + + + +additive_expression + + + +extern + + + +type_argument_list + + + +namespace_or_type_name + + + +attribute_arguments + + + +integral_type + + + +namespace_or_type_name + + + +System + + + +identifier + + + +class_type + + + +type_name + + + +namespace_or_type_name + + + +using + + + +method_declaration + + + +} + + + +alias + + + +. + + + +. + + + +namespace_or_type_name + + + +using + + + +System + + + +using + + + +; + + + +( + + + +identifier + + + +namespace_or_type_name + + + +namespace_name + + + +prog + + + +System + + + +method_body + + + +attribute_name + + + +attribute + + + +class_declaration + + + +using + + + +using + + + +; + + + +identifier + + + +] + + + +: + + + +< + + + +Linq + + + +using_namespace_directive + + + +. + + + +global_attribute_target + + + +namespace_or_type_name + + + +using + + + +using_directive + + + +namespace_or_type_name + + + +identifier + + + +Test + + + +literal + + + +using_namespace_directive + + + +; + + + +block + + + +; + + + +[ + + + +identifier + + + +namespace_or_type_name + + + +; + + + +"\u0123" + + + +. + + + +identifier + + + +module + + + +( + + + +identifier + + + +identifier + + + +using_static_directive + + + +namespace_name + + + +System + + + +identifier + + + +static + + + +System + + + +identifier + + + +Dispose + + + +; + + + +using_alias_directive + + + +namespace_or_type_name + + + +identifier + + + +method_header + + + +namespace_or_type_name + + + +attribute_list + + + +. + + + +identifier + + + +int + + + +namespace_or_type_name + + + +attribute_name + + + +identifier + + + +namespace_or_type_name + + + +global_attribute_section + + + +} + + + +namespace_or_type_name + + + +static + + + +Math + + + +using_static_directive + + + +namespace_or_type_name + + + +identifier + + + +extern_alias_directive + + + +identifier + + + +namespace_or_type_name + + + +System + + + +] + + + +@"(C)""·\n\n2009" + + + +Math + + + +using_namespace_directive + + + +X + + + +X + + + +identifier + + + +global_attribute_target_specifier + + + +( + + + +class_base + + + +identifier + + + +Linq + + + +: + + + +namespace_or_type_name + + + +type_arguments + + + +M + + + +. + + + +. + + + +global_attributes + + + +using_directive + + + +> + + + +System + + + +Copyright + + + +identifier + + + +System + + + +using + + + +namespace_or_type_name + + + +attribute_list + + + +identifier + + + +TopLevelType + + + +return_type + + + +assembly + + + +void + + + +{ + + + +Foo + + + +Copyright + + + +additive_expression + + + +identifier + + + +class_member_declaration + + + +. + + + +DayOfWeek + + + +type_name + + + +namespace_or_type_name + + + +using_directive + + + +. + + + +using + + + +identifier + + + +identifier + + + +. + + + +literal + + + +global_attribute_target + + + +static + + + += + + + +namespace_or_type_name + + + +) + + + +identifier + + + +multiplicative_expression + + + +using_namespace_directive + + + +identifier + + + +namespace_or_type_name + + + +: + + + +. + + + +Text + + + +; + + + +using_namespace_directive + + + +using_alias_directive + + + +global_attribute_section + + + +identifier + + + +. + + + +identifier + + + +identifier + + + +global_attribute_target_specifier + + + +class_body + + + +using_directive + + + +interface_type + + + +identifier + + + +identifier + + + +member_name + + + +Y + + + +attribute + + + +using_directive + + + +identifier + + + +Linq + + + +; + + + +positional_argument_list + + + +namespace_or_type_name + + + +IDisposable + + + +class + + + +namespace_name + + + +Generic + + + +using_directive + + + += + + + +; + + + +namespace_or_type_name + + + ++ + + + +System + + + +namespace_or_type_name + + + +. + + + +namespace_name + + + +ABC + + + +) + + + +identifier + + + +namespace_or_type_name + + + +positional_argument_list + + + +identifier + + + +identifier + + + +[ + + + +Expressions + + + +) + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..b6bba9ff3 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,107 @@ +namespace My +{ + using A.B; + + interface CoContra { } + delegate void CoContra2<[System.Obsolete()] out T, in K> () where T : struct; + + public unsafe partial class A : C, I + { + [DllImport("kernel32", SetLastError = true)] + static extern bool CreateDirectory(string name, SecurityAttribute sa); + + private const int global = int.MinValue - 1; + + static A() + { + } + + [method: Obsolete] + public A([param: Obsolete] int foo) : + base(1) + { + L: + { + int i = sizeof(int); + ++i; + var s1 = $"x {1 , -2 :d}"; + var s2 = $@"x {1 , -2 :d}"; + } + + + Console.WriteLine(export.iefSupplied.command); + + const int? local = int.MaxValue; + const Guid? local0 = new Guid(r.ToString()); + + var привет = local; + var мир = local; + var local3 = 0, local4 = 1; + local3 = local4 = 1; + var local5 = null as Action ?? null; + var local6 = local5 is Action; + + var u = 1u; + var U = 1U; + long hex = 0xBADC0DE, Hex = 0XDEADBEEF, l = -1L, L = 1L, l2 = 2l; + ulong ul = 1ul, Ul = 1Ul, uL = 1uL, UL = 1UL, + lu = 1lu, Lu = 1Lu, lU = 1lU, LU = 1LU; + int minInt32Value = -2147483648; + int minInt64Value = -9223372036854775808L; + + bool @bool; + byte @byte; + char @char = 'c', \u0066 = '\u0066', hexchar = '\x0130', hexchar2 = (char)0xBAD; + string \U00000065 = "\U00000065"; + decimal @decimal = 1.44M; + @decimal = 1.2m; + dynamic @dynamic; + double @double = M.PI; + @double = 1d; + @double = 1D; + @double = -1.2e3; + float @float = 1.2f; + @float = 1.44F; + int @int = local ?? -1; + long @long; + object @object; + sbyte @sbyte; + short @short; + string @string = @"""/*"; + uint @uint; + ulong @ulong; + ushort @ushort; + + dynamic dynamic = local5; + var add = 0; + var alias = 0; + var arglist = 0; + var ascending = 0; + var async = 0; + var await = 0; + var by = 0; + var descending = 0; + var dynamic = 0; + var equals = 0; + var from = 0; + var get = 0; + var group = 0; + var into = 0; + var join = 0; + var let = 0; + var nameof = 0; + var on = 0; + var orderby = 0; + var partial = 0; + var remove = 0; + var select = 0; + var set = 0; + var var = 0; + var when = 0; + var where = 0; + var yield = 0; + var __ = 0; + where = yield = 0; + } + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..29ccb5525 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,3437 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ My +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CoContra +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CoContra2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_constraint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ I +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DllImport +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "kernel32" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ named_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ named_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ SetLastError +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_argument_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ extern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CreateDirectory +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ SecurityAttribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sa +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ private +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ const +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ global +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ predefined_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MinValue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static_constructor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static_constructor_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static_constructor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ param +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ labeled_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ L +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sizeof_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sizeof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unmanaged_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔x 〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolation_minimum_width +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:d〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_verbatim_string_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$@"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔x 〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ verbatim_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolation_minimum_width +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:d〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Console +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WriteLine +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ export +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ iefSupplied +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ command +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_constant_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ const +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ predefined_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MaxValue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_constant_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ const +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_reference_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_reference_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Guid +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Guid +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ r +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ToString +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ привет +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ мир +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local4 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local4 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ as +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ?? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local6 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ is +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ u +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1u +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1U +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ long +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ hex +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0xBADC0DE +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Hex +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0XDEADBEEF +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ l +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1L +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ L +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1L +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ l2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2l +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ulong +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ul +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1ul +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Ul +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1Ul +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ uL +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1uL +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ UL +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1UL +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lu +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1lu +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Lu +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1Lu +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lU +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1lU +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ LU +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1LU +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ minInt32Value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2147483648 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ minInt64Value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 9223372036854775808L +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ byte +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @byte +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ char +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @char +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 'c' +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ \u0066 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ '\u0066' +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ hexchar +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ '\x0130' +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ hexchar2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ cast_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ char +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0xBAD +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ \U00000065 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "\U00000065" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ numeric_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ decimal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @decimal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.44M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @decimal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.2m +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ floating_point_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ double +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @double +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ PI +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @double +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @double +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @double +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.2e3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ floating_point_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ float +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @float +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.2f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @float +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.44F +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ?? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ long +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @long +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @object +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sbyte +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @sbyte +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ short +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @short +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "/*" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ uint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @uint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ulong +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @ulong +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ushort +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @ushort +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ add +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ alias +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arglist +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ascending +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ by +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ descending +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ group +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nameof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ remove +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ when +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ __ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..1a12a51a9 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,571 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:11='My',,1:10] +[@2,13:13='{',<'{'>,2:0] +[@3,19:23='using',<'using'>,3:4] +[@4,25:25='A',,3:10] +[@5,26:26='.',<'.'>,3:11] +[@6,27:27='B',,3:12] +[@7,28:28=';',<';'>,3:13] +[@8,35:43='interface',<'interface'>,5:4] +[@9,45:52='CoContra',,5:14] +[@10,53:53='<',<'<'>,5:22] +[@11,54:56='out',<'out'>,5:23] +[@12,58:58='T',,5:27] +[@13,59:59=',',<','>,5:28] +[@14,61:62='in',<'in'>,5:30] +[@15,64:64='K',,5:33] +[@16,65:65='>',<'>'>,5:34] +[@17,67:67='{',<'{'>,5:36] +[@18,69:69='}',<'}'>,5:38] +[@19,75:82='delegate',<'delegate'>,6:4] +[@20,84:87='void',<'void'>,6:13] +[@21,89:97='CoContra2',,6:18] +[@22,98:98='<',<'<'>,6:27] +[@23,99:99='[',<'['>,6:28] +[@24,100:105='System',,6:29] +[@25,106:106='.',<'.'>,6:35] +[@26,107:114='Obsolete',,6:36] +[@27,115:115='(',<'('>,6:44] +[@28,116:116=')',<')'>,6:45] +[@29,117:117=']',<']'>,6:46] +[@30,119:121='out',<'out'>,6:48] +[@31,123:123='T',,6:52] +[@32,124:124=',',<','>,6:53] +[@33,126:127='in',<'in'>,6:55] +[@34,129:129='K',,6:58] +[@35,130:130='>',<'>'>,6:59] +[@36,132:132='(',<'('>,6:61] +[@37,133:133=')',<')'>,6:62] +[@38,135:139='where',<'where'>,6:64] +[@39,141:141='T',,6:70] +[@40,143:143=':',<':'>,6:72] +[@41,145:150='struct',<'struct'>,6:74] +[@42,151:151=';',<';'>,6:80] +[@43,158:163='public',<'public'>,8:4] +[@44,165:170='unsafe',<'unsafe'>,8:11] +[@45,172:178='partial',<'partial'>,8:18] +[@46,180:184='class',<'class'>,8:26] +[@47,186:186='A',,8:32] +[@48,188:188=':',<':'>,8:34] +[@49,190:190='C',,8:36] +[@50,191:191=',',<','>,8:37] +[@51,193:193='I',,8:39] +[@52,199:199='{',<'{'>,9:4] +[@53,209:209='[',<'['>,10:8] +[@54,210:218='DllImport',,10:9] +[@55,219:219='(',<'('>,10:18] +[@56,220:229='"kernel32"',,10:19] +[@57,230:230=',',<','>,10:29] +[@58,232:243='SetLastError',,10:31] +[@59,245:245='=',<'='>,10:44] +[@60,247:250='true',<'true'>,10:46] +[@61,251:251=')',<')'>,10:50] +[@62,252:252=']',<']'>,10:51] +[@63,262:267='static',<'static'>,11:8] +[@64,269:274='extern',<'extern'>,11:15] +[@65,276:279='bool',<'bool'>,11:22] +[@66,281:295='CreateDirectory',,11:27] +[@67,296:296='(',<'('>,11:42] +[@68,297:302='string',<'string'>,11:43] +[@69,304:307='name',,11:50] +[@70,308:308=',',<','>,11:54] +[@71,310:326='SecurityAttribute',,11:56] +[@72,328:329='sa',,11:74] +[@73,330:330=')',<')'>,11:76] +[@74,331:331=';',<';'>,11:77] +[@75,342:348='private',<'private'>,13:8] +[@76,350:354='const',<'const'>,13:16] +[@77,356:358='int',<'int'>,13:22] +[@78,360:365='global',<'global'>,13:26] +[@79,367:367='=',<'='>,13:33] +[@80,369:371='int',<'int'>,13:35] +[@81,372:372='.',<'.'>,13:38] +[@82,373:380='MinValue',,13:39] +[@83,382:382='-',<'-'>,13:48] +[@84,384:384='1',,13:50] +[@85,385:385=';',<';'>,13:51] +[@86,396:401='static',<'static'>,15:8] +[@87,403:403='A',,15:15] +[@88,404:404='(',<'('>,15:16] +[@89,405:405=')',<')'>,15:17] +[@90,416:416='{',<'{'>,16:8] +[@91,427:427='}',<'}'>,17:8] +[@92,438:438='[',<'['>,19:8] +[@93,439:444='method',,19:9] +[@94,445:445=':',<':'>,19:15] +[@95,447:454='Obsolete',,19:17] +[@96,455:455=']',<']'>,19:25] +[@97,465:470='public',<'public'>,20:8] +[@98,472:472='A',,20:15] +[@99,473:473='(',<'('>,20:16] +[@100,474:474='[',<'['>,20:17] +[@101,475:479='param',,20:18] +[@102,480:480=':',<':'>,20:23] +[@103,482:489='Obsolete',,20:25] +[@104,490:490=']',<']'>,20:33] +[@105,492:494='int',<'int'>,20:35] +[@106,496:498='foo',,20:39] +[@107,499:499=')',<')'>,20:42] +[@108,501:501=':',<':'>,20:44] +[@109,515:518='base',<'base'>,21:12] +[@110,519:519='(',<'('>,21:16] +[@111,520:520='1',,21:17] +[@112,521:521=')',<')'>,21:18] +[@113,531:531='{',<'{'>,22:8] +[@114,541:541='L',,23:8] +[@115,542:542=':',<':'>,23:9] +[@116,556:556='{',<'{'>,24:12] +[@117,574:576='int',<'int'>,25:16] +[@118,578:578='i',,25:20] +[@119,580:580='=',<'='>,25:22] +[@120,582:587='sizeof',<'sizeof'>,25:24] +[@121,588:588='(',<'('>,25:30] +[@122,589:591='int',<'int'>,25:31] +[@123,592:592=')',<')'>,25:34] +[@124,593:593=';',<';'>,25:35] +[@125,611:612='++',<'++'>,26:16] +[@126,613:613='i',,26:18] +[@127,614:614=';',<';'>,26:19] +[@128,632:634='var',<'var'>,27:16] +[@129,636:637='s1',,27:20] +[@130,639:639='=',<'='>,27:23] +[@131,641:642='〔$"〕',,27:25] +[@132,643:644='〔x 〕',,27:27] +[@133,645:645='{',<'{'>,27:29] +[@134,646:646='1',,27:30] +[@135,648:648=',',<','>,27:32] +[@136,650:650='-',<'-'>,27:34] +[@137,651:651='2',,27:35] +[@138,653:654='〔:d〕',,27:37] +[@139,655:655='}',<'}'>,27:39] +[@140,656:656='〔"〕',,27:40] +[@141,657:657=';',<';'>,27:41] +[@142,675:677='var',<'var'>,28:16] +[@143,679:680='s2',,28:20] +[@144,682:682='=',<'='>,28:23] +[@145,684:686='〔$@"〕',,28:25] +[@146,687:688='〔x 〕',,28:28] +[@147,689:689='{',<'{'>,28:30] +[@148,690:690='1',,28:31] +[@149,692:692=',',<','>,28:33] +[@150,694:694='-',<'-'>,28:35] +[@151,695:695='2',,28:36] +[@152,697:698='〔:d〕',,28:38] +[@153,699:699='}',<'}'>,28:40] +[@154,700:700='〔"〕',,28:41] +[@155,701:701=';',<';'>,28:42] +[@156,715:715='}',<'}'>,29:12] +[@157,725:731='Console',,32:6] +[@158,732:732='.',<'.'>,32:13] +[@159,733:741='WriteLine',,32:14] +[@160,742:742='(',<'('>,32:23] +[@161,743:748='export',,32:24] +[@162,749:749='.',<'.'>,32:30] +[@163,750:760='iefSupplied',,32:31] +[@164,761:761='.',<'.'>,32:42] +[@165,762:768='command',,32:43] +[@166,769:769=')',<')'>,32:50] +[@167,770:770=';',<';'>,32:51] +[@168,785:789='const',<'const'>,34:12] +[@169,791:793='int',<'int'>,34:18] +[@170,794:794='?',<'?'>,34:21] +[@171,796:800='local',,34:23] +[@172,802:802='=',<'='>,34:29] +[@173,804:806='int',<'int'>,34:31] +[@174,807:807='.',<'.'>,34:34] +[@175,808:815='MaxValue',,34:35] +[@176,816:816=';',<';'>,34:43] +[@177,830:834='const',<'const'>,35:12] +[@178,836:839='Guid',,35:18] +[@179,840:840='?',<'?'>,35:22] +[@180,842:847='local0',,35:24] +[@181,849:849='=',<'='>,35:31] +[@182,851:853='new',<'new'>,35:33] +[@183,855:858='Guid',,35:37] +[@184,859:859='(',<'('>,35:41] +[@185,860:860='r',,35:42] +[@186,861:861='.',<'.'>,35:43] +[@187,862:869='ToString',,35:44] +[@188,870:870='(',<'('>,35:52] +[@189,871:871=')',<')'>,35:53] +[@190,872:872=')',<')'>,35:54] +[@191,873:873=';',<';'>,35:55] +[@192,888:890='var',<'var'>,37:12] +[@193,892:897='привет',,37:16] +[@194,899:899='=',<'='>,37:23] +[@195,901:905='local',,37:25] +[@196,906:906=';',<';'>,37:30] +[@197,920:922='var',<'var'>,38:12] +[@198,924:926='мир',,38:16] +[@199,928:928='=',<'='>,38:20] +[@200,930:934='local',,38:22] +[@201,935:935=';',<';'>,38:27] +[@202,949:951='var',<'var'>,39:12] +[@203,953:958='local3',,39:16] +[@204,960:960='=',<'='>,39:23] +[@205,962:962='0',,39:25] +[@206,963:963=',',<','>,39:26] +[@207,965:970='local4',,39:28] +[@208,972:972='=',<'='>,39:35] +[@209,974:974='1',,39:37] +[@210,975:975=';',<';'>,39:38] +[@211,989:994='local3',,40:12] +[@212,996:996='=',<'='>,40:19] +[@213,998:1003='local4',,40:21] +[@214,1005:1005='=',<'='>,40:28] +[@215,1007:1007='1',,40:30] +[@216,1008:1008=';',<';'>,40:31] +[@217,1022:1024='var',<'var'>,41:12] +[@218,1026:1031='local5',,41:16] +[@219,1033:1033='=',<'='>,41:23] +[@220,1035:1038='null',<'null'>,41:25] +[@221,1040:1041='as',<'as'>,41:30] +[@222,1043:1048='Action',,41:33] +[@223,1050:1051='??',<'??'>,41:40] +[@224,1053:1056='null',<'null'>,41:43] +[@225,1057:1057=';',<';'>,41:47] +[@226,1071:1073='var',<'var'>,42:12] +[@227,1075:1080='local6',,42:16] +[@228,1082:1082='=',<'='>,42:23] +[@229,1084:1089='local5',,42:25] +[@230,1091:1092='is',<'is'>,42:32] +[@231,1094:1099='Action',,42:35] +[@232,1100:1100=';',<';'>,42:41] +[@233,1115:1117='var',<'var'>,44:12] +[@234,1119:1119='u',,44:16] +[@235,1121:1121='=',<'='>,44:18] +[@236,1123:1124='1u',,44:20] +[@237,1125:1125=';',<';'>,44:22] +[@238,1139:1141='var',<'var'>,45:12] +[@239,1143:1143='U',,45:16] +[@240,1145:1145='=',<'='>,45:18] +[@241,1147:1148='1U',,45:20] +[@242,1149:1149=';',<';'>,45:22] +[@243,1163:1166='long',<'long'>,46:12] +[@244,1168:1170='hex',,46:17] +[@245,1172:1172='=',<'='>,46:21] +[@246,1174:1182='0xBADC0DE',,46:23] +[@247,1183:1183=',',<','>,46:32] +[@248,1185:1187='Hex',,46:34] +[@249,1189:1189='=',<'='>,46:38] +[@250,1191:1200='0XDEADBEEF',,46:40] +[@251,1201:1201=',',<','>,46:50] +[@252,1203:1203='l',,46:52] +[@253,1205:1205='=',<'='>,46:54] +[@254,1207:1207='-',<'-'>,46:56] +[@255,1208:1209='1L',,46:57] +[@256,1210:1210=',',<','>,46:59] +[@257,1212:1212='L',,46:61] +[@258,1214:1214='=',<'='>,46:63] +[@259,1216:1217='1L',,46:65] +[@260,1218:1218=',',<','>,46:67] +[@261,1220:1221='l2',,46:69] +[@262,1223:1223='=',<'='>,46:72] +[@263,1225:1226='2l',,46:74] +[@264,1227:1227=';',<';'>,46:76] +[@265,1241:1245='ulong',<'ulong'>,47:12] +[@266,1247:1248='ul',,47:18] +[@267,1250:1250='=',<'='>,47:21] +[@268,1252:1254='1ul',,47:23] +[@269,1255:1255=',',<','>,47:26] +[@270,1257:1258='Ul',,47:28] +[@271,1260:1260='=',<'='>,47:31] +[@272,1262:1264='1Ul',,47:33] +[@273,1265:1265=',',<','>,47:36] +[@274,1267:1268='uL',,47:38] +[@275,1270:1270='=',<'='>,47:41] +[@276,1272:1274='1uL',,47:43] +[@277,1275:1275=',',<','>,47:46] +[@278,1277:1278='UL',,47:48] +[@279,1280:1280='=',<'='>,47:51] +[@280,1282:1284='1UL',,47:53] +[@281,1285:1285=',',<','>,47:56] +[@282,1303:1304='lu',,48:16] +[@283,1306:1306='=',<'='>,48:19] +[@284,1308:1310='1lu',,48:21] +[@285,1311:1311=',',<','>,48:24] +[@286,1313:1314='Lu',,48:26] +[@287,1316:1316='=',<'='>,48:29] +[@288,1318:1320='1Lu',,48:31] +[@289,1321:1321=',',<','>,48:34] +[@290,1323:1324='lU',,48:36] +[@291,1326:1326='=',<'='>,48:39] +[@292,1328:1330='1lU',,48:41] +[@293,1331:1331=',',<','>,48:44] +[@294,1333:1334='LU',,48:46] +[@295,1336:1336='=',<'='>,48:49] +[@296,1338:1340='1LU',,48:51] +[@297,1341:1341=';',<';'>,48:54] +[@298,1355:1357='int',<'int'>,49:12] +[@299,1359:1371='minInt32Value',,49:16] +[@300,1373:1373='=',<'='>,49:30] +[@301,1375:1375='-',<'-'>,49:32] +[@302,1376:1385='2147483648',,49:33] +[@303,1386:1386=';',<';'>,49:43] +[@304,1400:1402='int',<'int'>,50:12] +[@305,1404:1416='minInt64Value',,50:16] +[@306,1418:1418='=',<'='>,50:30] +[@307,1420:1420='-',<'-'>,50:32] +[@308,1421:1440='9223372036854775808L',,50:33] +[@309,1441:1441=';',<';'>,50:53] +[@310,1456:1459='bool',<'bool'>,52:12] +[@311,1461:1465='@bool',,52:17] +[@312,1466:1466=';',<';'>,52:22] +[@313,1480:1483='byte',<'byte'>,53:12] +[@314,1485:1489='@byte',,53:17] +[@315,1490:1490=';',<';'>,53:22] +[@316,1504:1507='char',<'char'>,54:12] +[@317,1509:1513='@char',,54:17] +[@318,1515:1515='=',<'='>,54:23] +[@319,1517:1519=''c'',,54:25] +[@320,1520:1520=',',<','>,54:28] +[@321,1522:1527='\u0066',,54:30] +[@322,1529:1529='=',<'='>,54:37] +[@323,1531:1538=''\u0066'',,54:39] +[@324,1539:1539=',',<','>,54:47] +[@325,1541:1547='hexchar',,54:49] +[@326,1549:1549='=',<'='>,54:57] +[@327,1551:1558=''\x0130'',,54:59] +[@328,1559:1559=',',<','>,54:67] +[@329,1561:1568='hexchar2',,54:69] +[@330,1570:1570='=',<'='>,54:78] +[@331,1572:1572='(',<'('>,54:80] +[@332,1573:1576='char',<'char'>,54:81] +[@333,1577:1577=')',<')'>,54:85] +[@334,1578:1582='0xBAD',,54:86] +[@335,1583:1583=';',<';'>,54:91] +[@336,1597:1602='string',<'string'>,55:12] +[@337,1604:1613='\U00000065',,55:19] +[@338,1615:1615='=',<'='>,55:30] +[@339,1617:1628='"\U00000065"',,55:32] +[@340,1629:1629=';',<';'>,55:44] +[@341,1643:1649='decimal',<'decimal'>,56:12] +[@342,1651:1658='@decimal',,56:20] +[@343,1660:1660='=',<'='>,56:29] +[@344,1662:1666='1.44M',,56:31] +[@345,1667:1667=';',<';'>,56:36] +[@346,1681:1688='@decimal',,57:12] +[@347,1690:1690='=',<'='>,57:21] +[@348,1692:1695='1.2m',,57:23] +[@349,1696:1696=';',<';'>,57:27] +[@350,1710:1716='dynamic',<'dynamic'>,58:12] +[@351,1718:1725='@dynamic',,58:20] +[@352,1726:1726=';',<';'>,58:28] +[@353,1740:1745='double',<'double'>,59:12] +[@354,1747:1753='@double',,59:19] +[@355,1755:1755='=',<'='>,59:27] +[@356,1757:1757='M',,59:29] +[@357,1758:1758='.',<'.'>,59:30] +[@358,1759:1760='PI',,59:31] +[@359,1761:1761=';',<';'>,59:33] +[@360,1775:1781='@double',,60:12] +[@361,1783:1783='=',<'='>,60:20] +[@362,1785:1786='1d',,60:22] +[@363,1787:1787=';',<';'>,60:24] +[@364,1801:1807='@double',,61:12] +[@365,1809:1809='=',<'='>,61:20] +[@366,1811:1812='1D',,61:22] +[@367,1813:1813=';',<';'>,61:24] +[@368,1827:1833='@double',,62:12] +[@369,1835:1835='=',<'='>,62:20] +[@370,1837:1837='-',<'-'>,62:22] +[@371,1838:1842='1.2e3',,62:23] +[@372,1843:1843=';',<';'>,62:28] +[@373,1857:1861='float',<'float'>,63:12] +[@374,1863:1868='@float',,63:18] +[@375,1870:1870='=',<'='>,63:25] +[@376,1872:1875='1.2f',,63:27] +[@377,1876:1876=';',<';'>,63:31] +[@378,1890:1895='@float',,64:12] +[@379,1897:1897='=',<'='>,64:19] +[@380,1899:1903='1.44F',,64:21] +[@381,1904:1904=';',<';'>,64:26] +[@382,1918:1920='int',<'int'>,65:12] +[@383,1922:1925='@int',,65:16] +[@384,1927:1927='=',<'='>,65:21] +[@385,1929:1933='local',,65:23] +[@386,1935:1936='??',<'??'>,65:29] +[@387,1938:1938='-',<'-'>,65:32] +[@388,1939:1939='1',,65:33] +[@389,1940:1940=';',<';'>,65:34] +[@390,1954:1957='long',<'long'>,66:12] +[@391,1959:1963='@long',,66:17] +[@392,1964:1964=';',<';'>,66:22] +[@393,1978:1983='object',<'object'>,67:12] +[@394,1985:1991='@object',,67:19] +[@395,1992:1992=';',<';'>,67:26] +[@396,2006:2010='sbyte',<'sbyte'>,68:12] +[@397,2012:2017='@sbyte',,68:18] +[@398,2018:2018=';',<';'>,68:24] +[@399,2032:2036='short',<'short'>,69:12] +[@400,2038:2043='@short',,69:18] +[@401,2044:2044=';',<';'>,69:24] +[@402,2058:2063='string',<'string'>,70:12] +[@403,2065:2071='@string',,70:19] +[@404,2073:2073='=',<'='>,70:27] +[@405,2075:2081='@"""/*"',,70:29] +[@406,2082:2082=';',<';'>,70:36] +[@407,2096:2099='uint',<'uint'>,71:12] +[@408,2101:2105='@uint',,71:17] +[@409,2106:2106=';',<';'>,71:22] +[@410,2120:2124='ulong',<'ulong'>,72:12] +[@411,2126:2131='@ulong',,72:18] +[@412,2132:2132=';',<';'>,72:24] +[@413,2146:2151='ushort',<'ushort'>,73:12] +[@414,2153:2159='@ushort',,73:19] +[@415,2160:2160=';',<';'>,73:26] +[@416,2187:2193='dynamic',<'dynamic'>,75:12] +[@417,2195:2201='dynamic',<'dynamic'>,75:20] +[@418,2203:2203='=',<'='>,75:28] +[@419,2205:2210='local5',,75:30] +[@420,2211:2211=';',<';'>,75:36] +[@421,2225:2227='var',<'var'>,76:12] +[@422,2229:2231='add',<'add'>,76:16] +[@423,2233:2233='=',<'='>,76:20] +[@424,2235:2235='0',,76:22] +[@425,2236:2236=';',<';'>,76:23] +[@426,2250:2252='var',<'var'>,77:12] +[@427,2254:2258='alias',<'alias'>,77:16] +[@428,2260:2260='=',<'='>,77:22] +[@429,2262:2262='0',,77:24] +[@430,2263:2263=';',<';'>,77:25] +[@431,2277:2279='var',<'var'>,78:12] +[@432,2281:2287='arglist',,78:16] +[@433,2289:2289='=',<'='>,78:24] +[@434,2291:2291='0',,78:26] +[@435,2292:2292=';',<';'>,78:27] +[@436,2306:2308='var',<'var'>,79:12] +[@437,2310:2318='ascending',<'ascending'>,79:16] +[@438,2320:2320='=',<'='>,79:26] +[@439,2322:2322='0',,79:28] +[@440,2323:2323=';',<';'>,79:29] +[@441,2337:2339='var',<'var'>,80:12] +[@442,2341:2345='async',<'async'>,80:16] +[@443,2347:2347='=',<'='>,80:22] +[@444,2349:2349='0',,80:24] +[@445,2350:2350=';',<';'>,80:25] +[@446,2364:2366='var',<'var'>,81:12] +[@447,2368:2372='await',<'await'>,81:16] +[@448,2374:2374='=',<'='>,81:22] +[@449,2376:2376='0',,81:24] +[@450,2377:2377=';',<';'>,81:25] +[@451,2391:2393='var',<'var'>,82:12] +[@452,2395:2396='by',<'by'>,82:16] +[@453,2398:2398='=',<'='>,82:19] +[@454,2400:2400='0',,82:21] +[@455,2401:2401=';',<';'>,82:22] +[@456,2415:2417='var',<'var'>,83:12] +[@457,2419:2428='descending',<'descending'>,83:16] +[@458,2430:2430='=',<'='>,83:27] +[@459,2432:2432='0',,83:29] +[@460,2433:2433=';',<';'>,83:30] +[@461,2447:2449='var',<'var'>,84:12] +[@462,2451:2457='dynamic',<'dynamic'>,84:16] +[@463,2459:2459='=',<'='>,84:24] +[@464,2461:2461='0',,84:26] +[@465,2462:2462=';',<';'>,84:27] +[@466,2476:2478='var',<'var'>,85:12] +[@467,2480:2485='equals',<'equals'>,85:16] +[@468,2487:2487='=',<'='>,85:23] +[@469,2489:2489='0',,85:25] +[@470,2490:2490=';',<';'>,85:26] +[@471,2504:2506='var',<'var'>,86:12] +[@472,2508:2511='from',<'from'>,86:16] +[@473,2513:2513='=',<'='>,86:21] +[@474,2515:2515='0',,86:23] +[@475,2516:2516=';',<';'>,86:24] +[@476,2530:2532='var',<'var'>,87:12] +[@477,2534:2536='get',<'get'>,87:16] +[@478,2538:2538='=',<'='>,87:20] +[@479,2540:2540='0',,87:22] +[@480,2541:2541=';',<';'>,87:23] +[@481,2555:2557='var',<'var'>,88:12] +[@482,2559:2563='group',<'group'>,88:16] +[@483,2565:2565='=',<'='>,88:22] +[@484,2567:2567='0',,88:24] +[@485,2568:2568=';',<';'>,88:25] +[@486,2582:2584='var',<'var'>,89:12] +[@487,2586:2589='into',<'into'>,89:16] +[@488,2591:2591='=',<'='>,89:21] +[@489,2593:2593='0',,89:23] +[@490,2594:2594=';',<';'>,89:24] +[@491,2608:2610='var',<'var'>,90:12] +[@492,2612:2615='join',<'join'>,90:16] +[@493,2617:2617='=',<'='>,90:21] +[@494,2619:2619='0',,90:23] +[@495,2620:2620=';',<';'>,90:24] +[@496,2634:2636='var',<'var'>,91:12] +[@497,2638:2640='let',<'let'>,91:16] +[@498,2642:2642='=',<'='>,91:20] +[@499,2644:2644='0',,91:22] +[@500,2645:2645=';',<';'>,91:23] +[@501,2659:2661='var',<'var'>,92:12] +[@502,2663:2668='nameof',<'nameof'>,92:16] +[@503,2670:2670='=',<'='>,92:23] +[@504,2672:2672='0',,92:25] +[@505,2673:2673=';',<';'>,92:26] +[@506,2687:2689='var',<'var'>,93:12] +[@507,2691:2692='on',<'on'>,93:16] +[@508,2694:2694='=',<'='>,93:19] +[@509,2696:2696='0',,93:21] +[@510,2697:2697=';',<';'>,93:22] +[@511,2711:2713='var',<'var'>,94:12] +[@512,2715:2721='orderby',<'orderby'>,94:16] +[@513,2723:2723='=',<'='>,94:24] +[@514,2725:2725='0',,94:26] +[@515,2726:2726=';',<';'>,94:27] +[@516,2740:2742='var',<'var'>,95:12] +[@517,2744:2750='partial',<'partial'>,95:16] +[@518,2752:2752='=',<'='>,95:24] +[@519,2754:2754='0',,95:26] +[@520,2755:2755=';',<';'>,95:27] +[@521,2769:2771='var',<'var'>,96:12] +[@522,2773:2778='remove',<'remove'>,96:16] +[@523,2780:2780='=',<'='>,96:23] +[@524,2782:2782='0',,96:25] +[@525,2783:2783=';',<';'>,96:26] +[@526,2797:2799='var',<'var'>,97:12] +[@527,2801:2806='select',<'select'>,97:16] +[@528,2808:2808='=',<'='>,97:23] +[@529,2810:2810='0',,97:25] +[@530,2811:2811=';',<';'>,97:26] +[@531,2825:2827='var',<'var'>,98:12] +[@532,2829:2831='set',<'set'>,98:16] +[@533,2833:2833='=',<'='>,98:20] +[@534,2835:2835='0',,98:22] +[@535,2836:2836=';',<';'>,98:23] +[@536,2841:2843='var',<'var'>,99:3] +[@537,2845:2847='var',<'var'>,99:7] +[@538,2849:2849='=',<'='>,99:11] +[@539,2851:2851='0',,99:13] +[@540,2852:2852=';',<';'>,99:14] +[@541,2866:2868='var',<'var'>,100:12] +[@542,2870:2873='when',<'when'>,100:16] +[@543,2875:2875='=',<'='>,100:21] +[@544,2877:2877='0',,100:23] +[@545,2878:2878=';',<';'>,100:24] +[@546,2892:2894='var',<'var'>,101:12] +[@547,2896:2900='where',<'where'>,101:16] +[@548,2902:2902='=',<'='>,101:22] +[@549,2904:2904='0',,101:24] +[@550,2905:2905=';',<';'>,101:25] +[@551,2919:2921='var',<'var'>,102:12] +[@552,2923:2927='yield',<'yield'>,102:16] +[@553,2929:2929='=',<'='>,102:22] +[@554,2931:2931='0',,102:24] +[@555,2932:2932=';',<';'>,102:25] +[@556,2946:2948='var',<'var'>,103:12] +[@557,2950:2951='__',,103:16] +[@558,2953:2953='=',<'='>,103:19] +[@559,2955:2955='0',,103:21] +[@560,2956:2956=';',<';'>,103:22] +[@561,2970:2974='where',<'where'>,104:12] +[@562,2976:2976='=',<'='>,104:18] +[@563,2978:2982='yield',<'yield'>,104:20] +[@564,2984:2984='=',<'='>,104:26] +[@565,2986:2986='0',,104:28] +[@566,2987:2987=';',<';'>,104:29] +[@567,2997:2997='}',<'}'>,105:8] +[@568,3003:3003='}',<'}'>,106:4] +[@569,3005:3005='}',<'}'>,107:0] +[@570,3006:3005='',,107:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..d5aff6b81 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier A)) . (identifier B))) ;)) (namespace_member_declaration (interface_declaration interface (identifier CoContra) (variant_type_parameter_list < (variant_type_parameters (variant_type_parameters (variance_annotation out) (type_parameter (identifier T))) , (variance_annotation in) (type_parameter (identifier K))) >) (interface_body { }))) (namespace_member_declaration (delegate_declaration delegate (return_type void) (delegate_header (identifier CoContra2) (variant_type_parameter_list < (variant_type_parameters (variant_type_parameters (attributes (attribute_section [ (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Obsolete))) (attribute_arguments ( )))) ])) (variance_annotation out) (type_parameter (identifier T))) , (variance_annotation in) (type_parameter (identifier K))) >) ( ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint struct))) ;))) (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier DllImport)) (attribute_arguments ( (positional_argument_list (literal "kernel32")) , (named_argument_list (named_argument (identifier SetLastError) = (attribute_argument_expression (boolean_literal true)))) )))) ])) (method_modifiers (method_modifier (ref_method_modifier static)) (method_modifier (ref_method_modifier extern))) (return_type (simple_type bool)) (method_header (member_name (identifier CreateDirectory)) ( (parameter_list (fixed_parameters (fixed_parameter (type (class_type string)) (identifier name)) , (fixed_parameter (type (identifier SecurityAttribute)) (identifier sa)))) )) (method_body ;))) (class_member_declaration (constant_declaration (constant_modifier private) const (type (integral_type int)) (constant_declarators (constant_declarator (identifier (contextual_keyword global)) = (constant_expression (additive_expression (additive_expression (member_access (predefined_type int) . (identifier MinValue))) - (multiplicative_expression (literal 1)))))) ;)) (class_member_declaration (static_constructor_declaration (static_constructor_modifiers static) (identifier A) ( ) (static_constructor_body (block { })))) (class_member_declaration (constructor_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (labeled_statement (identifier L) : (statement (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (sizeof_expression sizeof ( (unmanaged_type (integral_type int)) ))))))) ;)) (statement (expression_statement (statement_expression (pre_increment_expression ++ (unary_expression (identifier i)))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s1) = (expression (interpolated_regular_string_expression 〔$"〕 〔x 〕 { (regular_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s2) = (expression (interpolated_verbatim_string_expression 〔$@"〕 〔x 〕 { (verbatim_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;))) })))) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Console)) . (identifier WriteLine))) ( (argument_list (member_access (primary_expression (member_access (primary_expression (identifier export)) . (identifier iefSupplied))) . (identifier command))) ))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local) = (constant_expression (member_access (predefined_type int) . (identifier MaxValue)))))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_reference_type (non_nullable_reference_type (identifier Guid)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local0) = (constant_expression (object_creation_expression new (type (identifier Guid)) ( (argument_list (invocation_expression (primary_expression (member_access (primary_expression (identifier r)) . (identifier ToString))) ( ))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier привет) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier мир) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword var)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier local3) = (local_variable_initializer (literal 0))) , (explicitly_typed_local_variable_declarator (identifier local4) = (local_variable_initializer (literal 1)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier local3)) (assignment_operator =) (expression (assignment (unary_expression (identifier local4)) (assignment_operator =) (expression (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local5) = (expression (null_coalescing_expression (conditional_or_expression (relational_expression (relational_expression (null_literal null)) as (type (identifier Action)))) ?? (null_coalescing_expression (null_literal null))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local6) = (expression (relational_expression (relational_expression (identifier local5)) is (pattern (identifier Action))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier u) = (expression (literal 1u))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier U) = (expression (literal 1U))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier hex) = (local_variable_initializer (literal 0xBADC0DE))) , (explicitly_typed_local_variable_declarator (identifier Hex) = (local_variable_initializer (literal 0XDEADBEEF))) , (explicitly_typed_local_variable_declarator (identifier l) = (local_variable_initializer (unary_expression - (unary_expression (literal 1L))))) , (explicitly_typed_local_variable_declarator (identifier L) = (local_variable_initializer (literal 1L))) , (explicitly_typed_local_variable_declarator (identifier l2) = (local_variable_initializer (literal 2l)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier ul) = (local_variable_initializer (literal 1ul))) , (explicitly_typed_local_variable_declarator (identifier Ul) = (local_variable_initializer (literal 1Ul))) , (explicitly_typed_local_variable_declarator (identifier uL) = (local_variable_initializer (literal 1uL))) , (explicitly_typed_local_variable_declarator (identifier UL) = (local_variable_initializer (literal 1UL))) , (explicitly_typed_local_variable_declarator (identifier lu) = (local_variable_initializer (literal 1lu))) , (explicitly_typed_local_variable_declarator (identifier Lu) = (local_variable_initializer (literal 1Lu))) , (explicitly_typed_local_variable_declarator (identifier lU) = (local_variable_initializer (literal 1lU))) , (explicitly_typed_local_variable_declarator (identifier LU) = (local_variable_initializer (literal 1LU)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt32Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 2147483648)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt64Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 9223372036854775808L)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (simple_type bool)) (explicitly_typed_local_variable_declarators (identifier @bool)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type byte)) (explicitly_typed_local_variable_declarators (identifier @byte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type char)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @char) = (local_variable_initializer (literal 'c'))) , (explicitly_typed_local_variable_declarator (identifier \u0066) = (local_variable_initializer (literal '\u0066'))) , (explicitly_typed_local_variable_declarator (identifier hexchar) = (local_variable_initializer (literal '\x0130'))) , (explicitly_typed_local_variable_declarator (identifier hexchar2) = (local_variable_initializer (cast_expression ( (type (integral_type char)) ) (unary_expression (literal 0xBAD)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier \U00000065) = (local_variable_initializer (literal "\U00000065")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (numeric_type decimal)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @decimal) = (local_variable_initializer (literal 1.44M)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @decimal)) (assignment_operator =) (expression (literal 1.2m)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (identifier @dynamic)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type double)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @double) = (local_variable_initializer (member_access (primary_expression (identifier M)) . (identifier PI))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1d)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1D)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (unary_expression - (unary_expression (literal 1.2e3)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type float)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @float) = (local_variable_initializer (literal 1.2f)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @float)) (assignment_operator =) (expression (literal 1.44F)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @int) = (local_variable_initializer (null_coalescing_expression (conditional_or_expression (identifier local)) ?? (null_coalescing_expression (unary_expression - (unary_expression (literal 1)))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (identifier @long)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type object)) (explicitly_typed_local_variable_declarators (identifier @object)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type sbyte)) (explicitly_typed_local_variable_declarators (identifier @sbyte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type short)) (explicitly_typed_local_variable_declarators (identifier @short)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @string) = (local_variable_initializer (literal @"""/*")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type uint)) (explicitly_typed_local_variable_declarators (identifier @uint)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (identifier @ulong)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ushort)) (explicitly_typed_local_variable_declarators (identifier @ushort)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (local_variable_initializer (identifier local5)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword add)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword alias)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier arglist) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword ascending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword async)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword await)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword by)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword descending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword equals)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword from)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword get)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword group)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword into)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword join)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword let)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword nameof)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword on)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword orderby)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword partial)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword remove)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword select)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword set)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword var)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword when)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword where)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword yield)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier __) = (expression (literal 0))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (contextual_keyword where)) (assignment_operator =) (expression (assignment (unary_expression (contextual_keyword yield)) (assignment_operator =) (expression (literal 0)))))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..c74b294cd --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,7625 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +identifier + + + +; + + + +identifier + + + += + + + +declaration_statement + + + +nullable_value_type + + + +delegate + + + +statement + + + += + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +( + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +statement + + + +local_variable_declaration + + + +literal + + + +explicitly_typed_local_variable_declarators + + + +descending + + + +; + + + +implicitly_typed_local_variable_declarator + + + +attribute_name + + + +@double + + + +explicitly_typed_local_variable_declarator + + + +contextual_keyword + + + +fixed_parameters + + + +local_variable_initializer + + + +; + + + +method_modifier + + + +: + + + +explicitly_typed_local_variable_declaration + + + +integral_type + + + +declaration_statement + + + +explicitly_typed_local_variable_declarator + + + +〔$@"〕 + + + +; + + + +from + + + +( + + + +attribute_argument_expression + + + += + + + +type + + + +implicitly_typed_local_variable_declaration + + + +explicitly_typed_local_variable_declarator + + + +UL + + + += + + + +await + + + +literal + + + +literal + + + +declaration_statement + + + +statement + + + +identifier + + + +var + + + +; + + + +private + + + +class_member_declaration + + + +contextual_keyword + + + +; + + + +statement + + + +local_variable_declaration + + + +attribute_list + + + +@long + + + +statement_expression + + + +i + + + +local_variable_initializer + + + +expression + + + +member_access + + + +literal + + + +expression + + + +var + + + +null_coalescing_expression + + + +identifier + + + +declaration_statement + + + +0 + + + +statement + + + +literal + + + +implicitly_typed_local_variable_declarator + + + +var + + + +implicitly_typed_local_variable_declarator + + + +MinValue + + + +implicitly_typed_local_variable_declarator + + + +literal + + + +statement + + + +variant_type_parameters + + + +contextual_keyword + + + +: + + + +declaration_statement + + + +statement + + + +identifier + + + +identifier + + + +implicitly_typed_local_variable_declarator + + + +explicitly_typed_local_variable_declaration + + + +local_variable_declaration + + + +member_access + + + +type + + + +byte + + + += + + + +identifier + + + +declaration_statement + + + +T + + + +select + + + +local_variable_declaration + + + +implicitly_typed_local_variable_declarator + + + +, + + + +declaration_statement + + + +identifier + + + +: + + + +assignment + + + +- + + + +group + + + +var + + + +Hex + + + +statement + + + +command + + + +identifier + + + +on + + + +implicitly_typed_local_variable_declarator + + + +statement_list + + + +literal + + + +local_constant_declaration + + + +set + + + +return_type + + + +. + + + +expression_statement + + + +A + + + +; + + + +primary_constraint + + + +attribute_arguments + + + +relational_expression + + + +, + + + += + + + +, + + + +identifier + + + +declaration_statement + + + +statement + + + +statement + + + +local_variable_declaration + + + +implicitly_typed_local_variable_declarator + + + +interface + + + +assignment_operator + + + +statement + + + +partial + + + +method_header + + + +true + + + +K + + + +literal + + + +explicitly_typed_local_variable_declaration + + + +? + + + +boolean_literal + + + +1L + + + +attribute_section + + + +, + + + +literal + + + +〔"〕 + + + +; + + + +local_variable_declaration + + + +out + + + +, + + + +arglist + + + +'\x0130' + + + +declaration_statement + + + +using + + + +local_variable_initializer + + + +var + + + +unary_expression + + + +unary_expression + + + +- + + + +int + + + +int + + + += + + + +implicitly_typed_local_variable_declarator + + + += + + + +literal + + + +contextual_keyword + + + +0 + + + +] + + + +; + + + +implicitly_typed_local_variable_declarator + + + +implicitly_typed_local_variable_declarator + + + +var + + + +contextual_keyword + + + +identifier + + + +var + + + +local_variable_declaration + + + +explicitly_typed_local_variable_declarator + + + +C + + + +integral_type + + + +; + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +literal + + + +local_constant_declaration + + + +- + + + +statement + + + +0 + + + +declaration_statement + + + +@double + + + +yield + + + +additive_expression + + + +primary_expression + + + +constructor_declarator + + + +; + + + +integral_type + + + +; + + + +contextual_keyword + + + +var + + + +constant_declarators + + + +identifier + + + +local_variable_initializer + + + +?? + + + +dynamic + + + +identifier + + + +local_variable_initializer + + + += + + + +statement + + + +identifier + + + +} + + + +DllImport + + + +local_variable_declaration + + + +Guid + + + +statement + + + +unsafe_modifier + + + +literal + + + +var + + + +implicitly_typed_local_variable_declarator + + + +; + + + +unary_expression + + + +local_variable_declaration + + + +assignment_operator + + + +1L + + + +declaration_statement + + + +PI + + + +var + + + +} + + + +explicitly_typed_local_variable_declaration + + + +integral_type + + + +identifier + + + +__ + + + +minInt32Value + + + +literal + + + +literal + + + +int + + + +implicitly_typed_local_variable_declarator + + + +〔:d〕 + + + +explicitly_typed_local_variable_declarator + + + +implicitly_typed_local_variable_declaration + + + +declaration_statement + + + +; + + + +1.44F + + + += + + + +identifier + + + +non_nullable_value_type + + + +} + + + +declaration_statement + + + +namespace_or_type_name + + + +; + + + +explicitly_typed_local_variable_declarator + + + +local_variable_declaration + + + +0 + + + +, + + + +assignment + + + +interface_type + + + +assignment + + + +( + + + +) + + + +using_namespace_directive + + + +positional_argument_list + + + +identifier + + + +literal + + + +void + + + +identifier + + + +local_variable_declaration + + + +local_variable_declaration + + + +variant_type_parameter_list + + + +expression + + + +class_modifier + + + +local_variable_declaration + + + +constant_expression + + + +pre_increment_expression + + + += + + + +declaration_statement + + + +1UL + + + +L + + + +@int + + + +member_access + + + +; + + + +statement + + + +statement + + + +explicitly_typed_local_variable_declarators + + + +1Lu + + + +implicitly_typed_local_variable_declaration + + + +statement + + + += + + + +string + + + +non_nullable_reference_type + + + +local_variable_initializer + + + +implicitly_typed_local_variable_declarator + + + +WriteLine + + + +local_variable_declaration + + + +attribute_list + + + +implicitly_typed_local_variable_declarator + + + +var + + + +local_variable_declaration + + + +nameof + + + +0XDEADBEEF + + + += + + + +declaration_statement + + + +equals + + + +CreateDirectory + + + +public + + + +short + + + +parameter_list + + + +; + + + +; + + + +< + + + +primary_expression + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +1ul + + + +var + + + +ascending + + + +unary_expression + + + +type + + + +attribute_section + + + += + + + +declaration_statement + + + +; + + + +; + + + +async + + + +add + + + +literal + + + += + + + +variance_annotation + + + +; + + + +expression_statement + + + += + + + +int + + + +) + + + +primary_expression + + + +; + + + +literal + + + +1d + + + += + + + +contextual_keyword + + + += + + + +statement + + + +@float + + + +expression + + + +unary_expression + + + +identifier + + + +> + + + +statement + + + +type + + + +type + + + +identifier + + + += + + + +local_variable_initializer + + + +literal + + + += + + + +unary_expression + + + +literal + + + +local_variable_declaration + + + +local_variable_declaration + + + +implicitly_typed_local_variable_declaration + + + +null + + + +statement + + + +statement_list + + + +statement + + + +A + + + +local_variable_declaration + + + +predefined_type + + + +local_variable_initializer + + + +namespace_or_type_name + + + += + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +1.2f + + + +partial + + + +; + + + +static + + + +var + + + +identifier + + + +assignment + + + +: + + + +identifier + + + +namespace_declaration + + + +namespace_or_type_name + + + +statement + + + +explicitly_typed_local_variable_declarators + + + +; + + + +identifier + + + +expression + + + +explicitly_typed_local_variable_declarators + + + +expression + + + +, + + + +implicitly_typed_local_variable_declaration + + + +local_variable_initializer + + + +, + + + +A + + + +implicitly_typed_local_variable_declarator + + + +ul + + + += + + + +literal + + + +local_variable_declaration + + + +@ulong + + + += + + + +block + + + +explicitly_typed_local_variable_declarators + + + +integral_type + + + +explicitly_typed_local_variable_declarators + + + +integral_type + + + +identifier + + + +contextual_keyword + + + +implicitly_typed_local_variable_declaration + + + +identifier + + + +constant_declarator + + + +pattern + + + +'\u0066' + + + +local3 + + + +unary_expression + + + +0 + + + +implicitly_typed_local_variable_declarator + + + +local_variable_declaration + + + +dynamic + + + +local_variable_declaration + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +variant_type_parameters + + + +identifier + + + +nullable_reference_type + + + +identifier + + + +unary_expression + + + +type + + + +identifier + + + += + + + +numeric_type + + + +: + + + +0 + + + += + + + +explicitly_typed_local_variable_declarator + + + +local_variable_declaration + + + +identifier + + + +identifier + + + +declaration_statement + + + +statement + + + +declaration_statement + + + +local_variable_declaration + + + +literal + + + +{ + + + +} + + + +foo + + + +identifier + + + +: + + + +0 + + + +) + + + +expression + + + +declaration_statement + + + +MaxValue + + + +\U00000065 + + + +class_type + + + +; + + + +predefined_type + + + +identifier + + + +; + + + +implicitly_typed_local_variable_declarator + + + +; + + + += + + + += + + + +0 + + + +l + + + +implicitly_typed_local_variable_declarator + + + +unary_expression + + + +declaration_statement + + + +statement + + + +, + + + +identifier + + + +implicitly_typed_local_variable_declarator + + + +integral_type + + + +expression + + + +, + + + +?? + + + +declaration_statement + + + +explicitly_typed_local_variable_declaration + + + += + + + +explicitly_typed_local_variable_declarators + + + +alias + + + +class_modifier + + + +explicitly_typed_local_variable_declaration + + + +[ + + + +0 + + + +identifier + + + +declaration_statement + + + +declaration_statement + + + +identifier + + + +var + + + +local_variable_declaration + + + += + + + +local_variable_declaration + + + +contextual_keyword + + + +var + + + +statement_expression + + + +1.2m + + + +] + + + +primary_expression + + + +declaration_statement + + + +explicitly_typed_local_variable_declarator + + + +local_variable_initializer + + + +declaration_statement + + + +type + + + +1.2e3 + + + +identifier + + + += + + + +explicitly_typed_local_variable_declarator + + + +attributes + + + +type + + + +string + + + +local_variable_declaration + + + +string + + + +expression + + + +0 + + + +expression + + + +type + + + +assignment + + + +local_variable_initializer + + + +statement + + + +literal + + + += + + + +s2 + + + +explicitly_typed_local_variable_declarator + + + +global + + + +constant_expression + + + +invocation_expression + + + +local_variable_declaration + + + +identifier + + + +( + + + += + + + +local_variable_initializer + + + +ref_method_modifier + + + +return_type + + + +identifier + + + +literal + + + +0 + + + +} + + + +A + + + +constructor_body + + + +literal + + + +relational_expression + + + +literal + + + +identifier + + + +int + + + +as + + + +assignment_operator + + + +2 + + + +constant_declarator + + + +Guid + + + +simple_type + + + +identifier + + + +0 + + + +declaration_statement + + + +char + + + +sa + + + +; + + + +static + + + +identifier + + + +identifier + + + +2 + + + +T + + + += + + + +{ + + + +T + + + += + + + +CoContra2 + + + +identifier + + + +delegate_header + + + +explicitly_typed_local_variable_declarator + + + +local_variable_initializer + + + +explicitly_typed_local_variable_declarators + + + +0 + + + +statement_expression + + + +identifier + + + +attributes + + + +argument_list + + + +unsafe + + + +local_variable_initializer + + + +unary_expression + + + +integral_type + + + +literal + + + +identifier + + + +expression + + + +. + + + +@string + + + +where + + + +implicitly_typed_local_variable_declarator + + + +method + + + +identifier + + + +type + + + +null_coalescing_expression + + + +local + + + +explicitly_typed_local_variable_declarator + + + += + + + +statement + + + +static_constructor_body + + + +identifier + + + +{ + + + += + + + +expression + + + +0 + + + +literal + + + +declaration_statement + + + +expression + + + +verbatim_interpolation + + + +0 + + + +statement + + + +attribute + + + +; + + + +1 + + + +Lu + + + +explicitly_typed_local_variable_declarator + + + +; + + + +int + + + +declaration_statement + + + +; + + + +local_variable_declaration + + + +method_modifiers + + + +( + + + +0 + + + +declaration_statement + + + +statement + + + +type + + + +implicitly_typed_local_variable_declaration + + + +identifier + + + +statement + + + += + + + +, + + + +statement + + + +named_argument + + + +constant_declarator + + + +0 + + + +identifier + + + +static_constructor_declaration + + + +identifier + + + += + + + +; + + + +statement + + + +identifier + + + +} + + + +{ + + + +compilation_unit + + + +extern + + + +] + + + +〔x·〕 + + + +object_creation_expression + + + +primary_expression + + + +static_constructor_modifiers + + + +( + + + +floating_point_type + + + +literal + + + +declaration_statement + + + +declaration_statement + + + +explicitly_typed_local_variable_declaration + + + +double + + + +statement + + + +implicitly_typed_local_variable_declaration + + + +0 + + + +statement + + + +export + + + += + + + +local_variable_initializer + + + +identifier + + + +expression + + + +- + + + +local_variable_declaration + + + +; + + + +statement + + + +statement + + + +statement_expression + + + +interface_declaration + + + +) + + + +labeled_statement + + + +constant_declarators + + + +implicitly_typed_local_variable_declaration + + + +local_variable_declaration + + + +1lu + + + +1 + + + +unary_expression + + + +literal + + + +explicitly_typed_local_variable_declarator + + + +declaration_statement + + + +identifier + + + +literal + + + +type_parameter_constraints + + + +My + + + +expression + + + +++ + + + +unary_expression + + + +local_variable_declaration + + + +literal + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +namespace_member_declaration + + + +orderby + + + +identifier + + + +const + + + +unary_expression + + + +contextual_keyword + + + +identifier + + + +} + + + +identifier + + + +declaration_statement + + + +when + + + +declaration_statement + + + +explicitly_typed_local_variable_declarator + + + +- + + + +identifier + + + +local + + + +interpolation_minimum_width + + + +r + + + +local_variable_declaration + + + +; + + + +( + + + +hexchar + + + +declaration_statement + + + +statement + + + +explicitly_typed_local_variable_declarator + + + +@char + + + +declaration_statement + + + +1lU + + + +local_variable_declaration + + + +implicitly_typed_local_variable_declarator + + + +int + + + +member_access + + + +identifier + + + +implicitly_typed_local_variable_declarator + + + +0 + + + +identifier + + + +) + + + +U + + + +literal + + + +contextual_keyword + + + +implicitly_typed_local_variable_declaration + + + +namespace_body + + + +implicitly_typed_local_variable_declarator + + + +statement + + + +. + + + +System + + + +identifier + + + +integral_type + + + +. + + + += + + + +local_variable_declaration + + + +integral_type + + + +type_parameter_constraints_clause + + + +member_access + + + +argument_list + + + +remove + + + +local6 + + + +; + + + +0 + + + +declaration_statement + + + +local_variable_initializer + + + +identifier + + + +primary_expression + + + +integral_type + + + +object + + + +declaration_statement + + + +null + + + +Obsolete + + + +public + + + +identifier + + + +class_member_declaration + + + +var + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +statement + + + +var + + + +@bool + + + +contextual_keyword + + + +CoContra + + + +implicitly_typed_local_variable_declaration + + + +0 + + + +; + + + +attribute_list + + + += + + + +identifier + + + += + + + +explicitly_typed_local_variable_declarator + + + +implicitly_typed_local_variable_declarator + + + +interpolated_regular_string_expression + + + +contextual_keyword + + + += + + + += + + + +identifier + + + +namespace_or_type_name + + + +[ + + + +literal + + + +statement + + + += + + + +attribute_arguments + + + +identifier + + + +var + + + +var + + + +local4 + + + +nullable_type_annotation + + + +local0 + + + +expression_statement + + + +( + + + +0 + + + +implicitly_typed_local_variable_declaration + + + +class_member_declaration + + + +implicitly_typed_local_variable_declarator + + + +identifier + + + +identifier + + + +unary_expression + + + +parameter_list + + + +identifier + + + +type + + + +prog + + + +attribute_name + + + +where + + + +мир + + + +literal + + + +( + + + +identifier + + + +; + + + +declaration_statement + + + +declaration_statement + + + +local_variable_initializer + + + +let + + + +expression + + + +statement + + + +local_variable_initializer + + + +attributes + + + +block + + + +, + + + +char + + + +long + + + +statement + + + +l2 + + + +unmanaged_type + + + +identifier + + + +identifier + + + += + + + +SecurityAttribute + + + +explicitly_typed_local_variable_declarators + + + +additive_expression + + + +Action + + + +implicitly_typed_local_variable_declaration + + + +identifier + + + +constructor_initializer + + + +constant_modifier + + + +local5 + + + +local_variable_declaration + + + +0 + + + +〔x·〕 + + + +? + + + +K + + + +I + + + +LU + + + +statement_expression + + + +statement_expression + + + +bool + + + +1U + + + +identifier + + + +class_body + + + +expression + + + +literal + + + +ushort + + + +[ + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +local_variable_declaration + + + +; + + + += + + + +explicitly_typed_local_variable_declaration + + + +; + + + +var + + + +contextual_keyword + + + +; + + + +9223372036854775808L + + + +type_parameter + + + += + + + +@byte + + + +Obsolete + + + +implicitly_typed_local_variable_declaration + + + +, + + + +type + + + +{ + + + +implicitly_typed_local_variable_declaration + + + +qualified_identifier + + + +2l + + + +expression_statement + + + +literal + + + +1Ul + + + +method_body + + + +expression + + + +local_variable_declaration + + + +literal + + + +literal + + + +0 + + + +expression + + + += + + + +interface_type + + + +uL + + + +regular_interpolation + + + +expression + + + +statement + + + +type + + + +literal + + + +expression + + + +implicitly_typed_local_variable_declaration + + + +1 + + + +multiplicative_expression + + + +local_variable_declaration + + + +identifier + + + +literal + + + +statement + + + +identifier + + + +, + + + +literal + + + +identifier + + + +expression + + + +; + + + +declaration_statement + + + +, + + + +contextual_keyword + + + +1 + + + +expression + + + +integral_type + + + +explicitly_typed_local_variable_declaration + + + +local_variable_declaration + + + += + + + += + + + +cast_expression + + + +literal + + + +SetLastError + + + +"kernel32" + + + +local_variable_declaration + + + +implicitly_typed_local_variable_declarator + + + +simple_type + + + +identifier + + + +local_variable_declaration + + + +class_type + + + +unary_expression + + + +) + + + +@sbyte + + + +null_literal + + + +) + + + +identifier + + + +; + + + +variant_type_parameters + + + +1.44M + + + +literal + + + +identifier + + + += + + + +declaration_statement + + + += + + + +iefSupplied + + + +unary_expression + + + +literal + + + +class_type + + + +contextual_keyword + + + +statement + + + +assignment + + + +declaration_statement + + + +unary_expression + + + +; + + + +const + + + +declaration_statement + + + +var + + + +; + + + +local_variable_declaration + + + +implicitly_typed_local_variable_declarator + + + +literal + + + +implicitly_typed_local_variable_declaration + + + +out + + + +- + + + +assignment_operator + + + +expression + + + +) + + + +var + + + += + + + +implicitly_typed_local_variable_declaration + + + +Console + + + +assignment_operator + + + +, + + + +type + + + +; + + + +expression + + + +integral_type + + + +base + + + +local_variable_initializer + + + +contextual_keyword + + + +literal + + + +; + + + +type + + + +; + + + +local_variable_initializer + + + +implicitly_typed_local_variable_declarator + + + +var + + + +'c' + + + +Obsolete + + + +expression_statement + + + +type + + + +statement + + + +B + + + +var + + + +declaration_statement + + + +var + + + +\u0066 + + + +explicitly_typed_local_variable_declaration + + + +explicitly_typed_local_variable_declaration + + + +assignment_operator + + + +explicitly_typed_local_variable_declarators + + + +@decimal + + + +identifier + + + +@uint + + + +unary_expression + + + +class_declaration + + + +[ + + + +identifier + + + +L + + + +local_variable_initializer + + + +1uL + + + +identifier + + + +declaration_statement + + + +; + + + +0 + + + +attribute_section + + + +; + + + +local_variable_declaration + + + +local_variable_initializer + + + +explicitly_typed_local_variable_declarator + + + +; + + + +local_variable_declaration + + + +; + + + +( + + + +expression + + + +; + + + +) + + + +0 + + + +; + + + +〔$"〕 + + + +implicitly_typed_local_variable_declaration + + + += + + + +literal + + + +param + + + +ToString + + + +implicitly_typed_local_variable_declaration + + + +literal + + + +implicitly_typed_local_variable_declaration + + + +literal + + + += + + + +implicitly_typed_local_variable_declarator + + + += + + + +type + + + +expression + + + +explicitly_typed_local_variable_declarators + + + +expression + + + +delegate_declaration + + + +constructor_declaration + + + +. + + + +statement + + + +1 + + + +literal + + + += + + + +constructor_modifier + + + +interface_type_list + + + +literal + + + +method_declaration + + + +> + + + +integral_type + + + +identifier + + + +using_directive + + + +local5 + + + +implicitly_typed_local_variable_declaration + + + +implicitly_typed_local_variable_declaration + + + +implicitly_typed_local_variable_declarator + + + +type + + + +fixed_parameter + + + +class_base + + + +; + + + +unary_expression + + + +identifier + + + +) + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +member_access + + + +statement + + + +, + + + +identifier + + + +statement + + + +type + + + +unary_expression + + + +type + + + +statement + + + +explicitly_typed_local_variable_declarators + + + +literal + + + +literal + + + +named_argument_list + + + +var + + + +literal + + + +literal + + + +; + + + +identifier + + + +variance_annotation + + + +@float + + + +local_variable_declaration + + + +statement + + + +local_variable_declaration + + + +implicitly_typed_local_variable_declarator + + + +identifier + + + +expression + + + +explicitly_typed_local_variable_declaration + + + +literal + + + +< + + + += + + + +int + + + +explicitly_typed_local_variable_declarators + + + +explicitly_typed_local_variable_declaration + + + +class + + + +identifier + + + +local_variable_declaration + + + +- + + + +member_access + + + += + + + +literal + + + +type + + + +contextual_keyword + + + +; + + + +explicitly_typed_local_variable_declarators + + + +declaration_statement + + + +integral_type + + + += + + + +in + + + +local3 + + + +name + + + +. + + + +var + + + +minInt64Value + + + +local4 + + + +implicitly_typed_local_variable_declarator + + + +@double + + + +identifier + + + +fixed_parameter + + + +join + + + +expression + + + +expression + + + +attribute_target_specifier + + + +hexchar2 + + + +interpolated_verbatim_string_expression + + + +is + + + +declaration_statement + + + +M + + + +var + + + += + + + +explicitly_typed_local_variable_declarator + + + +contextual_keyword + + + += + + + +declaration_statement + + + +method_modifier + + + +literal + + + +integral_type + + + +dynamic + + + +type + + + += + + + +local_variable_initializer + + + +expression + + + +type_parameter + + + +explicitly_typed_local_variable_declarators + + + +( + + + +identifier + + + +, + + + +statement + + + +〔"〕 + + + +explicitly_typed_local_variable_declarators + + + +contextual_keyword + + + +type_parameter + + + +explicitly_typed_local_variable_declarator + + + +statement + + + +declaration_statement + + + +contextual_keyword + + + +by + + + +statement + + + +sizeof_expression + + + +( + + + +local_variable_initializer + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +interpolation_minimum_width + + + +declaration_statement + + + +hex + + + +contextual_keyword + + + += + + + +unary_expression + + + +local_variable_initializer + + + +identifier + + + +statement + + + +var + + + +explicitly_typed_local_variable_declarators + + + +contextual_keyword + + + +local_variable_declaration + + + +yield + + + +] + + + +relational_expression + + + +identifier + + + +expression + + + +statement + + + +ulong + + + +statement + + + +local_variable_initializer + + + +declaration_statement + + + +variance_annotation + + + +1 + + + +1D + + + +variance_annotation + + + +; + + + +local_variable_declaration + + + +0xBAD + + + +variant_type_parameter_list + + + +identifier + + + +local_variable_declaration + + + +type + + + +implicitly_typed_local_variable_declaration + + + +identifier + + + +statement + + + +statement + + + +u + + + +var + + + +implicitly_typed_local_variable_declaration + + + +explicitly_typed_local_variable_declaration + + + +; + + + +statement + + + +literal + + + +1LU + + + +type_parameter + + + +integral_type + + + +identifier + + + +floating_point_type + + + +assignment_operator + + + +lU + + + +identifier + + + +class_type + + + +implicitly_typed_local_variable_declaration + + + +struct + + + +; + + + +literal + + + +namespace_name + + + +type + + + +statement + + + +1 + + + += + + + +var + + + +identifier + + + +dynamic + + + +0xBADC0DE + + + +explicitly_typed_local_variable_declarator + + + +expression + + + +var + + + +local_variable_declaration + + + +implicitly_typed_local_variable_declaration + + + +statement + + + +- + + + +assignment + + + +declaration_statement + + + +declaration_statement + + + +local_variable_declaration + + + +local_variable_declaration + + + +attribute_target + + + +implicitly_typed_local_variable_declaration + + + +2147483648 + + + +statement + + + +explicitly_typed_local_variable_declarator + + + +statement_expression + + + +expression + + + +identifier + + + +0 + + + +. + + + +declaration_statement + + + +, + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +implicitly_typed_local_variable_declarator + + + +Action + + + +assignment_operator + + + +"\U00000065" + + + +relational_expression + + + +statement + + + +expression + + + +statement + + + += + + + +expression + + + +lu + + + +bool + + + +attribute_target_specifier + + + +assignment + + + +identifier + + + +identifier + + + +statement + + + +contextual_keyword + + + +@double + + + +contextual_keyword + + + +declaration_statement + + + +explicitly_typed_local_variable_declaration + + + += + + + +invocation_expression + + + +type + + + +local_variable_declaration + + + +null_coalescing_expression + + + +identifier + + + +float + + + +var + + + +; + + + +statement + + + +var + + + +local_variable_declaration + + + +unary_expression + + + += + + + +implicitly_typed_local_variable_declaration + + + +expression + + + +unary_expression + + + +explicitly_typed_local_variable_declarators + + + +literal + + + +local_variable_declaration + + + +type + + + +statement + + + +block + + + +{ + + + +implicitly_typed_local_variable_declaration + + + +local_variable_initializer + + + +local + + + +contextual_keyword + + + +i + + + +explicitly_typed_local_variable_declarator + + + +statement_expression + + + += + + + +statement + + + +identifier + + + +; + + + +type + + + +expression_statement + + + +local_variable_initializer + + + +null_coalescing_expression + + + +namespace_member_declaration + + + +Ul + + + +implicitly_typed_local_variable_declarator + + + +; + + + +local + + + +long + + + +, + + + +statement + + + +identifier + + + +identifier + + + +conditional_or_expression + + + +literal + + + +expression + + + +explicitly_typed_local_variable_declarators + + + +local_variable_declaration + + + +contextual_keyword + + + +identifier + + + +identifier + + + +statement + + + +assignment + + + +declaration_statement + + + +expression + + + +const + + + +literal + + + +ulong + + + +attributes + + + +decimal + + + +statement + + + +type + + + +expression + + + +argument_list + + + +identifier + + + += + + + +local_variable_declaration + + + +null_literal + + + +attribute_list + + + +constant_declarators + + + +@object + + + +; + + + +implicitly_typed_local_variable_declaration + + + +type_parameter + + + +namespace + + + +identifier + + + +namespace_member_declaration + + + +contextual_keyword + + + +type + + + +fixed_parameter + + + +, + + + +identifier + + + +; + + + +uint + + + +) + + + +variant_type_parameters + + + +declaration_statement + + + +1u + + + +; + + + +declaration_statement + + + +attribute_target + + + +literal + + + +type + + + +local_variable_declaration + + + +type + + + +explicitly_typed_local_variable_declarator + + + +literal + + + +expression + + + +literal + + + +int + + + +assignment_operator + + + +; + + + +constant_expression + + + +int + + + +explicitly_typed_local_variable_declaration + + + +contextual_keyword + + + +identifier + + + +in + + + +; + + + +implicitly_typed_local_variable_declaration + + + +nullable_type_annotation + + + +identifier + + + +. + + + +) + + + +into + + + += + + + +explicitly_typed_local_variable_declarator + + + +class_member_declaration + + + +var + + + +; + + + +expression_statement + + + +explicitly_typed_local_variable_declarators + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +identifier + + + +@short + + + +; + + + +привет + + + +explicitly_typed_local_variable_declarator + + + +var + + + += + + + +local5 + + + +declaration_statement + + + +attribute + + + +unary_expression + + + +s1 + + + +declaration_statement + + + +literal + + + +expression + + + += + + + += + + + +statement + + + +; + + + +member_name + + + +; + + + +implicitly_typed_local_variable_declaration + + + +explicitly_typed_local_variable_declaration + + + +{ + + + +type + + + +local_variable_initializer + + + +. + + + +contextual_keyword + + + +statement + + + +integral_type + + + +expression + + + +expression_statement + + + +〔:d〕 + + + +identifier + + + +expression_statement + + + +@"""/*" + + + += + + + +declaration_statement + + + +sbyte + + + +conditional_or_expression + + + += + + + +literal + + + +contextual_keyword + + + +literal + + + +identifier + + + +interface_body + + + +var + + + +ref_method_modifier + + + +@ushort + + + +get + + + += + + + +new + + + +@dynamic + + + +var + + + +; + + + +statement_expression + + + +primary_expression + + + +implicitly_typed_local_variable_declaration + + + +identifier + + + +local_variable_declaration + + + +implicitly_typed_local_variable_declarator + + + +attribute_section + + + +constant_declaration + + + +; + + + +identifier + + + +} + + + +contextual_keyword + + + +0 + + + +; + + + +0 + + + +expression + + + +expression + + + +identifier + + + +contextual_keyword + + + +0 + + + +implicitly_typed_local_variable_declaration + + + +identifier + + + +literal + + + +@decimal + + + +integral_type + + + +implicitly_typed_local_variable_declaration + + + +sizeof + + + +identifier + + + +{ + + + +; + + + +expression + + + +, + + + +identifier + + + +where + + + +unary_expression + + + +identifier + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..c8b394069 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,44 @@ +namespace My +{ + public unsafe partial class A : C, I + { + public A([param: Obsolete] int foo) : + base(1) + { + if (i > 0) + { + return; + } + else if (i == 0) + { + throw new Exception(); + } + var o1 = new MyObject(); + var o2 = new MyObject(var); + var o3 = new MyObject { A = i }; + var o4 = new MyObject(@dynamic) + { + A = 0, + B = 0, + C = 0 + }; + var o5 = new { A = 0 }; + var dictionaryInitializer = new Dictionary + { + {1, ""}, + {2, "a"} + }; + float[] a = new float[] + { + 0f, + 1.1f + }; + int[, ,] cube = { { { 111, 112, }, { 121, 122 } }, { { 211, 212 }, { 221, 222 } } }; + int[][] jagged = { { 111 }, { 121, 122 } }; + int[][,] arr = new int[5][,]; // as opposed to new int[][5,5] + arr[0] = new int[5,5]; // as opposed to arr[0,0] = new int[5]; + arr[0][0,0] = 47; + int[] arrayTypeInference = new[] { 0, 1, }; + } + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..10a7910d4 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,1378 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ My +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ I +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ param +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ else +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Exception +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ o1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyObject +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ o2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyObject +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ o3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyObject +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ o4 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyObject +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ o5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_object_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dictionaryInitializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Dictionary +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ floating_point_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ float +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ floating_point_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ float +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.1f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ cube +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 111 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 112 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 121 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 122 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 211 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 212 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 221 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 222 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ jagged +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 111 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 121 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 122 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arr +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arr +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arr +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 47 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arrayTypeInference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..fd2488974 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,272 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:11='My',,1:10] +[@2,13:13='{',<'{'>,2:0] +[@3,19:24='public',<'public'>,3:4] +[@4,26:31='unsafe',<'unsafe'>,3:11] +[@5,33:39='partial',<'partial'>,3:18] +[@6,41:45='class',<'class'>,3:26] +[@7,47:47='A',,3:32] +[@8,49:49=':',<':'>,3:34] +[@9,51:51='C',,3:36] +[@10,52:52=',',<','>,3:37] +[@11,54:54='I',,3:39] +[@12,60:60='{',<'{'>,4:4] +[@13,70:75='public',<'public'>,5:8] +[@14,77:77='A',,5:15] +[@15,78:78='(',<'('>,5:16] +[@16,79:79='[',<'['>,5:17] +[@17,80:84='param',,5:18] +[@18,85:85=':',<':'>,5:23] +[@19,87:94='Obsolete',,5:25] +[@20,95:95=']',<']'>,5:33] +[@21,97:99='int',<'int'>,5:35] +[@22,101:103='foo',,5:39] +[@23,104:104=')',<')'>,5:42] +[@24,106:106=':',<':'>,5:44] +[@25,120:123='base',<'base'>,6:12] +[@26,124:124='(',<'('>,6:16] +[@27,125:125='1',,6:17] +[@28,126:126=')',<')'>,6:18] +[@29,136:136='{',<'{'>,7:8] +[@30,150:151='if',<'if'>,8:12] +[@31,153:153='(',<'('>,8:15] +[@32,154:154='i',,8:16] +[@33,156:156='>',<'>'>,8:18] +[@34,158:158='0',,8:20] +[@35,159:159=')',<')'>,8:21] +[@36,173:173='{',<'{'>,9:12] +[@37,191:196='return',<'return'>,10:16] +[@38,197:197=';',<';'>,10:22] +[@39,211:211='}',<'}'>,11:12] +[@40,225:228='else',<'else'>,12:12] +[@41,230:231='if',<'if'>,12:17] +[@42,233:233='(',<'('>,12:20] +[@43,234:234='i',,12:21] +[@44,236:237='==',<'=='>,12:23] +[@45,239:239='0',,12:26] +[@46,240:240=')',<')'>,12:27] +[@47,254:254='{',<'{'>,13:12] +[@48,272:276='throw',<'throw'>,14:16] +[@49,278:280='new',<'new'>,14:22] +[@50,282:290='Exception',,14:26] +[@51,291:291='(',<'('>,14:35] +[@52,292:292=')',<')'>,14:36] +[@53,293:293=';',<';'>,14:37] +[@54,307:307='}',<'}'>,15:12] +[@55,321:323='var',<'var'>,16:12] +[@56,325:326='o1',,16:16] +[@57,328:328='=',<'='>,16:19] +[@58,330:332='new',<'new'>,16:21] +[@59,334:341='MyObject',,16:25] +[@60,342:342='(',<'('>,16:33] +[@61,343:343=')',<')'>,16:34] +[@62,344:344=';',<';'>,16:35] +[@63,358:360='var',<'var'>,17:12] +[@64,362:363='o2',,17:16] +[@65,365:365='=',<'='>,17:19] +[@66,367:369='new',<'new'>,17:21] +[@67,371:378='MyObject',,17:25] +[@68,379:379='(',<'('>,17:33] +[@69,380:382='var',<'var'>,17:34] +[@70,383:383=')',<')'>,17:37] +[@71,384:384=';',<';'>,17:38] +[@72,398:400='var',<'var'>,18:12] +[@73,402:403='o3',,18:16] +[@74,405:405='=',<'='>,18:19] +[@75,407:409='new',<'new'>,18:21] +[@76,411:418='MyObject',,18:25] +[@77,420:420='{',<'{'>,18:34] +[@78,422:422='A',,18:36] +[@79,424:424='=',<'='>,18:38] +[@80,426:426='i',,18:40] +[@81,428:428='}',<'}'>,18:42] +[@82,429:429=';',<';'>,18:43] +[@83,443:445='var',<'var'>,19:12] +[@84,447:448='o4',,19:16] +[@85,450:450='=',<'='>,19:19] +[@86,452:454='new',<'new'>,19:21] +[@87,456:463='MyObject',,19:25] +[@88,464:464='(',<'('>,19:33] +[@89,465:472='@dynamic',,19:34] +[@90,473:473=')',<')'>,19:42] +[@91,487:487='{',<'{'>,20:12] +[@92,505:505='A',,21:16] +[@93,507:507='=',<'='>,21:18] +[@94,509:509='0',,21:20] +[@95,510:510=',',<','>,21:21] +[@96,528:528='B',,22:16] +[@97,530:530='=',<'='>,22:18] +[@98,532:532='0',,22:20] +[@99,533:533=',',<','>,22:21] +[@100,551:551='C',,23:16] +[@101,553:553='=',<'='>,23:18] +[@102,555:555='0',,23:20] +[@103,569:569='}',<'}'>,24:12] +[@104,570:570=';',<';'>,24:13] +[@105,584:586='var',<'var'>,25:12] +[@106,588:589='o5',,25:16] +[@107,591:591='=',<'='>,25:19] +[@108,593:595='new',<'new'>,25:21] +[@109,597:597='{',<'{'>,25:25] +[@110,599:599='A',,25:27] +[@111,601:601='=',<'='>,25:29] +[@112,603:603='0',,25:31] +[@113,605:605='}',<'}'>,25:33] +[@114,606:606=';',<';'>,25:34] +[@115,620:622='var',<'var'>,26:12] +[@116,624:644='dictionaryInitializer',,26:16] +[@117,646:646='=',<'='>,26:38] +[@118,648:650='new',<'new'>,26:40] +[@119,652:661='Dictionary',,26:44] +[@120,662:662='<',<'<'>,26:54] +[@121,663:665='int',<'int'>,26:55] +[@122,666:666=',',<','>,26:58] +[@123,668:673='string',<'string'>,26:60] +[@124,674:674='>',<'>'>,26:66] +[@125,689:689='{',<'{'>,27:12] +[@126,708:708='{',<'{'>,28:16] +[@127,709:709='1',,28:17] +[@128,710:710=',',<','>,28:18] +[@129,712:713='""',,28:20] +[@130,714:714='}',<'}'>,28:22] +[@131,715:715=',',<','>,28:23] +[@132,734:734='{',<'{'>,29:16] +[@133,735:735='2',,29:17] +[@134,736:736=',',<','>,29:18] +[@135,738:740='"a"',,29:20] +[@136,741:741='}',<'}'>,29:23] +[@137,756:756='}',<'}'>,30:12] +[@138,757:757=';',<';'>,30:13] +[@139,771:775='float',<'float'>,31:12] +[@140,776:776='[',<'['>,31:17] +[@141,777:777=']',<']'>,31:18] +[@142,779:779='a',,31:20] +[@143,781:781='=',<'='>,31:22] +[@144,783:785='new',<'new'>,31:24] +[@145,787:791='float',<'float'>,31:28] +[@146,792:792='[',<'['>,31:33] +[@147,793:793=']',<']'>,31:34] +[@148,808:808='{',<'{'>,32:12] +[@149,826:827='0f',,33:16] +[@150,828:828=',',<','>,33:18] +[@151,846:849='1.1f',,34:16] +[@152,863:863='}',<'}'>,35:12] +[@153,864:864=';',<';'>,35:13] +[@154,878:880='int',<'int'>,36:12] +[@155,881:881='[',<'['>,36:15] +[@156,882:882=',',<','>,36:16] +[@157,884:884=',',<','>,36:18] +[@158,885:885=']',<']'>,36:19] +[@159,887:890='cube',,36:21] +[@160,892:892='=',<'='>,36:26] +[@161,894:894='{',<'{'>,36:28] +[@162,896:896='{',<'{'>,36:30] +[@163,898:898='{',<'{'>,36:32] +[@164,900:902='111',,36:34] +[@165,903:903=',',<','>,36:37] +[@166,905:907='112',,36:39] +[@167,908:908=',',<','>,36:42] +[@168,910:910='}',<'}'>,36:44] +[@169,911:911=',',<','>,36:45] +[@170,913:913='{',<'{'>,36:47] +[@171,915:917='121',,36:49] +[@172,918:918=',',<','>,36:52] +[@173,920:922='122',,36:54] +[@174,924:924='}',<'}'>,36:58] +[@175,926:926='}',<'}'>,36:60] +[@176,927:927=',',<','>,36:61] +[@177,929:929='{',<'{'>,36:63] +[@178,931:931='{',<'{'>,36:65] +[@179,933:935='211',,36:67] +[@180,936:936=',',<','>,36:70] +[@181,938:940='212',,36:72] +[@182,942:942='}',<'}'>,36:76] +[@183,943:943=',',<','>,36:77] +[@184,945:945='{',<'{'>,36:79] +[@185,947:949='221',,36:81] +[@186,950:950=',',<','>,36:84] +[@187,952:954='222',,36:86] +[@188,956:956='}',<'}'>,36:90] +[@189,958:958='}',<'}'>,36:92] +[@190,960:960='}',<'}'>,36:94] +[@191,961:961=';',<';'>,36:95] +[@192,975:977='int',<'int'>,37:12] +[@193,978:978='[',<'['>,37:15] +[@194,979:979=']',<']'>,37:16] +[@195,980:980='[',<'['>,37:17] +[@196,981:981=']',<']'>,37:18] +[@197,983:988='jagged',,37:20] +[@198,990:990='=',<'='>,37:27] +[@199,992:992='{',<'{'>,37:29] +[@200,994:994='{',<'{'>,37:31] +[@201,996:998='111',,37:33] +[@202,1000:1000='}',<'}'>,37:37] +[@203,1001:1001=',',<','>,37:38] +[@204,1003:1003='{',<'{'>,37:40] +[@205,1005:1007='121',,37:42] +[@206,1008:1008=',',<','>,37:45] +[@207,1010:1012='122',,37:47] +[@208,1014:1014='}',<'}'>,37:51] +[@209,1016:1016='}',<'}'>,37:53] +[@210,1017:1017=';',<';'>,37:54] +[@211,1031:1033='int',<'int'>,38:12] +[@212,1034:1034='[',<'['>,38:15] +[@213,1035:1035=']',<']'>,38:16] +[@214,1036:1036='[',<'['>,38:17] +[@215,1037:1037=',',<','>,38:18] +[@216,1038:1038=']',<']'>,38:19] +[@217,1040:1042='arr',,38:21] +[@218,1044:1044='=',<'='>,38:25] +[@219,1046:1048='new',<'new'>,38:27] +[@220,1050:1052='int',<'int'>,38:31] +[@221,1053:1053='[',<'['>,38:34] +[@222,1054:1054='5',,38:35] +[@223,1055:1055=']',<']'>,38:36] +[@224,1056:1056='[',<'['>,38:37] +[@225,1057:1057=',',<','>,38:38] +[@226,1058:1058=']',<']'>,38:39] +[@227,1059:1059=';',<';'>,38:40] +[@228,1105:1107='arr',,39:12] +[@229,1108:1108='[',<'['>,39:15] +[@230,1109:1109='0',,39:16] +[@231,1110:1110=']',<']'>,39:17] +[@232,1112:1112='=',<'='>,39:19] +[@233,1114:1116='new',<'new'>,39:21] +[@234,1118:1120='int',<'int'>,39:25] +[@235,1121:1121='[',<'['>,39:28] +[@236,1122:1122='5',,39:29] +[@237,1123:1123=',',<','>,39:30] +[@238,1124:1124='5',,39:31] +[@239,1125:1125=']',<']'>,39:32] +[@240,1126:1126=';',<';'>,39:33] +[@241,1181:1183='arr',,40:12] +[@242,1184:1184='[',<'['>,40:15] +[@243,1185:1185='0',,40:16] +[@244,1186:1186=']',<']'>,40:17] +[@245,1187:1187='[',<'['>,40:18] +[@246,1188:1188='0',,40:19] +[@247,1189:1189=',',<','>,40:20] +[@248,1190:1190='0',,40:21] +[@249,1191:1191=']',<']'>,40:22] +[@250,1193:1193='=',<'='>,40:24] +[@251,1195:1196='47',,40:26] +[@252,1197:1197=';',<';'>,40:28] +[@253,1211:1213='int',<'int'>,41:12] +[@254,1214:1214='[',<'['>,41:15] +[@255,1215:1215=']',<']'>,41:16] +[@256,1217:1234='arrayTypeInference',,41:18] +[@257,1236:1236='=',<'='>,41:37] +[@258,1238:1240='new',<'new'>,41:39] +[@259,1241:1241='[',<'['>,41:42] +[@260,1242:1242=']',<']'>,41:43] +[@261,1244:1244='{',<'{'>,41:45] +[@262,1246:1246='0',,41:47] +[@263,1247:1247=',',<','>,41:48] +[@264,1249:1249='1',,41:50] +[@265,1250:1250=',',<','>,41:51] +[@266,1252:1252='}',<'}'>,41:53] +[@267,1253:1253=';',<';'>,41:54] +[@268,1263:1263='}',<'}'>,42:8] +[@269,1269:1269='}',<'}'>,43:4] +[@270,1271:1271='}',<'}'>,44:0] +[@271,1272:1271='',,44:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..666335cbd --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (constructor_declaration (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (literal 0)))) ) (embedded_statement (block { (statement_list (return_statement return ;)) })) else (embedded_statement (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier i)) == (relational_expression (literal 0)))) ) (embedded_statement (block { (statement_list (throw_statement throw (expression (object_creation_expression new (type (identifier Exception)) ( ))) ;)) })))))) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o1) = (expression (object_creation_expression new (type (identifier MyObject)) ( )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o2) = (expression (object_creation_expression new (type (identifier MyObject)) ( (argument_list (contextual_keyword var)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o3) = (expression (object_creation_expression new (type (identifier MyObject)) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target (identifier A)) = (initializer_value (identifier i)))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o4) = (expression (object_creation_expression new (type (identifier MyObject)) ( (argument_list (identifier @dynamic)) ) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target (identifier A)) = (initializer_value (literal 0))) , (member_initializer (initializer_target (identifier B)) = (initializer_value (literal 0))) , (member_initializer (initializer_target (identifier C)) = (initializer_value (literal 0)))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o5) = (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier A) = (expression (literal 0)))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier dictionaryInitializer) = (expression (object_creation_expression new (type (namespace_or_type_name (identifier Dictionary) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (class_type string))) >))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer { (expression_list (expression_list (literal 1)) , (expression (literal ""))) }) , (element_initializer { (expression_list (expression_list (literal 2)) , (expression (literal "a"))) })) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (floating_point_type float)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (array_type (non_array_type (floating_point_type float)) (rank_specifier [ ]))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer (literal 0f)) , (element_initializer (literal 1.1f))) })))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ , , ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier cube) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 111)) , (variable_initializer (literal 112))) , })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 121)) , (variable_initializer (literal 122))) }))) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 211)) , (variable_initializer (literal 212))) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 221)) , (variable_initializer (literal 222))) }))) }))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier jagged) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (literal 111)) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 121)) , (variable_initializer (literal 122))) }))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]) (rank_specifier [ , ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier arr) = (local_variable_initializer (array_creation_expression new (non_array_type (integral_type int)) [ (expression_list (literal 5)) ] (rank_specifier [ , ]))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) (assignment_operator =) (expression (array_creation_expression new (non_array_type (integral_type int)) [ (expression_list (expression_list (literal 5)) , (expression (literal 5))) ])))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) [ (argument_list (argument (literal 0)) , (argument (literal 0))) ])) (assignment_operator =) (expression (literal 47)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier arrayTypeInference) = (local_variable_initializer (array_creation_expression new (rank_specifier [ ]) (array_initializer { (variable_initializer_list (variable_initializer (literal 0)) , (variable_initializer (literal 1))) , }))))))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..02a231478 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,3200 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +variable_initializer_list + + + +literal + + + +( + + + +identifier + + + +object_or_collection_initializer + + + +expression + + + +literal + + + +declaration_statement + + + +type + + + +@dynamic + + + +relational_expression + + + +} + + + +member_initializer + + + +array_initializer + + + +, + + + +; + + + +parameter_list + + + +{ + + + +literal + + + +variable_initializer + + + +C + + + +{ + + + +embedded_statement + + + +111 + + + +new + + + +class_member_declaration + + + +integral_type + + + +string + + + +] + + + +jagged + + + +constructor_initializer + + + +if + + + +identifier + + + +literal + + + +local_variable_declaration + + + +literal + + + +int + + + +explicitly_typed_local_variable_declarators + + + +variable_initializer + + + += + + + +argument + + + +statement + + + +rank_specifier + + + +integral_type + + + +implicitly_typed_local_variable_declaration + + + +local_variable_declaration + + + +type + + + +new + + + +( + + + +{ + + + +112 + + + +} + + + +, + + + +relational_expression + + + +rank_specifier + + + +0 + + + +identifier + + + += + + + +5 + + + +new + + + +initializer_value + + + +initializer_value + + + +A + + + +explicitly_typed_local_variable_declarator + + + +Obsolete + + + +embedded_statement + + + +expression_list + + + +, + + + +221 + + + +expression_list + + + +[ + + + +identifier + + + +0 + + + +] + + + +Dictionary + + + +{ + + + +expression + + + +object_creation_expression + + + +) + + + +{ + + + +dictionaryInitializer + + + +expression + + + +variable_initializer + + + +variable_initializer + + + +] + + + +0 + + + +var + + + +statement_list + + + +statement_expression + + + +o3 + + + +declaration_statement + + + +, + + + +literal + + + +collection_initializer + + + +) + + + +implicitly_typed_local_variable_declaration + + + +non_array_type + + + +; + + + +} + + + +var + + + +122 + + + +variable_initializer + + + +} + + + +rank_specifier + + + +; + + + +primary_no_array_creation_expression + + + +type + + + +} + + + +param + + + +member_initializer_list + + + +contextual_keyword + + + +expression + + + +rank_specifier + + + +; + + + +local_variable_initializer + + + +local_variable_declaration + + + +) + + + +new + + + +identifier + + + +literal + + + +} + + + +[ + + + +type + + + +non_array_type + + + += + + + +explicitly_typed_local_variable_declaration + + + +assignment_operator + + + +identifier + + + +arr + + + +member_initializer + + + +statement_list + + + +boolean_expression + + + +literal + + + +variable_initializer + + + +non_array_type + + + +expression + + + +{ + + + +variable_initializer_list + + + +statement + + + +literal + + + +class_type + + + +variable_initializer + + + +argument_list + + + +2 + + + +int + + + +< + + + +float + + + +variable_initializer + + + +; + + + +== + + + +element_initializer_list + + + +a + + + +literal + + + +int + + + +unary_expression + + + +; + + + +expression + + + +0 + + + +array_creation_expression + + + +identifier + + + +{ + + + +1.1f + + + +{ + + + +literal + + + +variable_initializer + + + +expression_statement + + + +element_access + + + +new + + + +element_initializer + + + +expression_statement + + + +( + + + +expression + + + +, + + + +initializer_value + + + +variable_initializer_list + + + +embedded_statement + + + +member_declarator + + + +literal + + + +array_type + + + +i + + + +object_or_collection_initializer + + + +literal + + + +assignment + + + +} + + + +identifier + + + +namespace_member_declaration + + + +else + + + +int + + + +{ + + + +MyObject + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +; + + + +0f + + + +{ + + + +type + + + +local_variable_declaration + + + +} + + + +] + + + +, + + + +o5 + + + +object_creation_expression + + + +literal + + + +declaration_statement + + + +, + + + +array_initializer + + + +variable_initializer_list + + + +} + + + +5 + + + += + + + +if_statement + + + +var + + + +expression + + + +identifier + + + +identifier + + + +literal + + + +unary_expression + + + +identifier + + + +statement + + + +identifier + + + +attribute_section + + + +) + + + +literal + + + +local_variable_declaration + + + +initializer_target + + + +"a" + + + +variable_initializer + + + +} + + + +} + + + +argument_list + + + +identifier + + + +element_initializer_list + + + +var + + + +implicitly_typed_local_variable_declaration + + + +array_type + + + +namespace_body + + + +declaration_statement + + + +; + + + +rank_specifier + + + +type + + + +] + + + +{ + + + +statement + + + +( + + + +initializer_value + + + +, + + + += + + + +literal + + + +declaration_statement + + + +class_modifier + + + +array_initializer + + + +assignment + + + +{ + + + +} + + + +; + + + +array_type + + + +statement + + + +implicitly_typed_local_variable_declaration + + + +0 + + + +class_base + + + +declaration_statement + + + +) + + + +literal + + + +, + + + +constructor_modifier + + + +expression + + + +object_creation_expression + + + +expression_list + + + +statement_expression + + + +interface_type + + + +local_variable_initializer + + + +arrayTypeInference + + + +non_array_type + + + +constructor_declaration + + + +throw + + + +rank_specifier + + + +( + + + +, + + + +) + + + +public + + + +class_body + + + +o4 + + + +} + + + +implicitly_typed_local_variable_declaration + + + +] + + + += + + + +} + + + +identifier + + + +argument_list + + + +local_variable_declaration + + + +expression + + + +identifier + + + +initializer_target + + + +1 + + + +implicitly_typed_local_variable_declarator + + + +[ + + + +element_access + + + +"" + + + +121 + + + +integral_type + + + +foo + + + +; + + + +: + + + +object_creation_expression + + + +collection_initializer + + + +variable_initializer + + + +[ + + + +element_initializer + + + +A + + + +member_initializer + + + +floating_point_type + + + +identifier + + + +implicitly_typed_local_variable_declarator + + + +member_declarator_list + + + +var + + + +qualified_identifier + + + +new + + + +literal + + + +initializer_target + + + +, + + + +equality_expression + + + += + + + +object_creation_expression + + + +121 + + + +new + + + +partial + + + +identifier + + + +type_argument_list + + + +} + + + +variable_initializer_list + + + +[ + + + +; + + + +statement + + + +C + + + +identifier + + + +{ + + + +( + + + +var + + + +{ + + + +variable_initializer + + + +local_variable_initializer + + + +if + + + +array_creation_expression + + + +array_initializer + + + +expression_list + + + +explicitly_typed_local_variable_declarator + + + +[ + + + +rank_specifier + + + +element_initializer + + + +] + + + +variable_initializer + + + +explicitly_typed_local_variable_declarators + + + +variable_initializer_list + + + +literal + + + +literal + + + +variable_initializer + + + +statement + + + +> + + + +} + + + +implicitly_typed_local_variable_declarator + + + +statement + + + += + + + +array_type + + + +212 + + + +literal + + + +] + + + += + + + +expression + + + +B + + + +array_initializer + + + +anonymous_object_initializer + + + +0 + + + +, + + + +{ + + + +int + + + +, + + + += + + + +identifier + + + +arr + + + +type + + + +} + + + +type_arguments + + + +argument + + + +} + + + +base + + + +, + + + +variable_initializer_list + + + +0 + + + +explicitly_typed_local_variable_declaration + + + +equality_expression + + + +literal + + + +, + + + +object_initializer + + + +local_variable_declaration + + + +222 + + + +namespace + + + +member_initializer + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +object_creation_expression + + + +variable_initializer + + + +} + + + += + + + +if_statement + + + +literal + + + +, + + + +attribute_target_specifier + + + +variable_initializer + + + +identifier + + + +literal + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +new + + + +integral_type + + + +object_or_collection_initializer + + + +, + + + +expression + + + +literal + + + +primary_no_array_creation_expression + + + +0 + + + += + + + +identifier + + + +array_initializer + + + +integral_type + + + +i + + + +namespace_or_type_name + + + +boolean_expression + + + +local_variable_declaration + + + +identifier + + + +o1 + + + +rank_specifier + + + +, + + + +integral_type + + + +47 + + + +A + + + +) + + + +literal + + + +explicitly_typed_local_variable_declaration + + + +] + + + +prog + + + +, + + + +unsafe + + + +int + + + +identifier + + + +111 + + + +constructor_body + + + +arr + + + +declaration_statement + + + +interface_type_list + + + +integral_type + + + +{ + + + +, + + + +, + + + +element_initializer + + + +{ + + + +variable_initializer + + + +} + + + +0 + + + +argument_list + + + +float + + + +variable_initializer_list + + + +expression_list + + + +array_initializer + + + +argument_list + + + +[ + + + +type_argument + + + += + + + +anonymous_object_creation_expression + + + +A + + + +block + + + +, + + + +expression_list + + + +explicitly_typed_local_variable_declarators + + + +MyObject + + + +statement + + + +type_argument + + + +cube + + + +explicitly_typed_local_variable_declarators + + + +member_initializer_list + + + +integral_type + + + +; + + + +( + + + +array_type + + + +My + + + +type + + + +[ + + + +[ + + + +primary_no_array_creation_expression + + + +int + + + +MyObject + + + +[ + + + +type + + + +variable_initializer_list + + + +array_initializer + + + +, + + + +public + + + +I + + + +statement + + + +attributes + + + +A + + + +relational_expression + + + +object_or_collection_initializer + + + +object_creation_expression + + + +floating_point_type + + + +type + + + +explicitly_typed_local_variable_declarator + + + +, + + + += + + + +identifier + + + +{ + + + +] + + + +local_variable_declaration + + + +local_variable_initializer + + + +element_access + + + +throw_statement + + + +literal + + + +initializer_target + + + +variable_initializer + + + +1 + + + +non_array_type + + + +statement + + + +] + + + +rank_specifier + + + +constructor_declarator + + + +] + + + +non_array_type + + + +array_initializer + + + +assignment_operator + + + +[ + + + +, + + + +explicitly_typed_local_variable_declarator + + + +new + + + +{ + + + +local_variable_initializer + + + +[ + + + +statement + + + +variable_initializer + + + +object_initializer + + + +, + + + +0 + + + +[ + + + +explicitly_typed_local_variable_declaration + + + +statement + + + += + + + +declaration_statement + + + +local_variable_declaration + + + +expression_list + + + +{ + + + +o2 + + + +implicitly_typed_local_variable_declaration + + + +] + + + +type + + + +; + + + +; + + + +unsafe_modifier + + + +implicitly_typed_local_variable_declarator + + + +int + + + +type + + + +array_initializer + + + +declaration_statement + + + +class_modifier + + + += + + + +identifier + + + +var + + + += + + + +expression + + + +interface_type + + + +identifier + + + +variable_initializer_list + + + +0 + + + +literal + + + +identifier + + + +5 + + + +{ + + + +declaration_statement + + + +array_type + + + +non_array_type + + + +literal + + + +] + + + +identifier + + + +argument_list + + + +literal + + + +: + + + +literal + + + +} + + + +} + + + +literal + + + +block + + + +variable_initializer_list + + + +[ + + + +{ + + + +; + + + +attribute_list + + + +( + + + +Exception + + + +) + + + +block + + + +declaration_statement + + + +implicitly_typed_local_variable_declarator + + + +{ + + + +statement_list + + + +} + + + +211 + + + +shift_expression + + + +identifier + + + +rank_specifier + + + +> + + + +[ + + + +identifier + + + +compilation_unit + + + +identifier + + + +namespace_declaration + + + +: + + + +identifier + + + +array_initializer + + + +return_statement + + + +implicitly_typed_local_variable_declarator + + + +122 + + + +class + + + +statement + + + +new + + + +1 + + + +return + + + +class_declaration + + + +literal + + + +i + + + +] + + + +attribute_target + + + +[ + + + +array_creation_expression + + + += + + + +] + + + +fixed_parameter + + + +new + + + +local_variable_declaration + + + +MyObject + + + +identifier + + + +non_array_type + + + +type + + + +variable_initializer + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..5611e5e4a --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,60 @@ +namespace My +{ + public unsafe partial class A : C, I + { + public A([param: Obsolete] int foo) : + base(1) + { + switch (3) { } + switch (i) + { + case 0: + case 1: + { + goto case 2; + } + case 2 + 3: + { + goto default; + break; + } + default: + { + return; + } + } + while (i < 10) + { + ++i; + if (true) continue; + break; + } + do + { + ++i; + if (true) continue; + break; + } + while (i < 10); + for (int j = 0; j < 100; ++j) + { + for(;;) + { + for (int i = 0, j = 0; i < length; i++, j++) { } + if (true) continue; + break; + } + } + label: + goto label; + label2: ; + foreach (var i in Items()) + { + if (i == 7) + return; + else + continue; + } + } + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..3ea139baf --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,916 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ My +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ I +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ param +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_label +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ case +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_label +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ case +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ case +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_label +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ case +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_label +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ while_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ while +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 10 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ do_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ do +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ while +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 10 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_condition +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 100 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_iterator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_condition +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ length +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_iterator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ labeled_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ label +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ label +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ labeled_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ label2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ empty_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foreach_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foreach +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Items +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 7 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ else +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..4e7a9151f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,200 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:11='My',,1:10] +[@2,13:13='{',<'{'>,2:0] +[@3,19:24='public',<'public'>,3:4] +[@4,26:31='unsafe',<'unsafe'>,3:11] +[@5,33:39='partial',<'partial'>,3:18] +[@6,41:45='class',<'class'>,3:26] +[@7,47:47='A',,3:32] +[@8,49:49=':',<':'>,3:34] +[@9,51:51='C',,3:36] +[@10,52:52=',',<','>,3:37] +[@11,54:54='I',,3:39] +[@12,60:60='{',<'{'>,4:4] +[@13,70:75='public',<'public'>,5:8] +[@14,77:77='A',,5:15] +[@15,78:78='(',<'('>,5:16] +[@16,79:79='[',<'['>,5:17] +[@17,80:84='param',,5:18] +[@18,85:85=':',<':'>,5:23] +[@19,87:94='Obsolete',,5:25] +[@20,95:95=']',<']'>,5:33] +[@21,97:99='int',<'int'>,5:35] +[@22,101:103='foo',,5:39] +[@23,104:104=')',<')'>,5:42] +[@24,106:106=':',<':'>,5:44] +[@25,120:123='base',<'base'>,6:12] +[@26,124:124='(',<'('>,6:16] +[@27,125:125='1',,6:17] +[@28,126:126=')',<')'>,6:18] +[@29,136:136='{',<'{'>,7:8] +[@30,150:155='switch',<'switch'>,8:12] +[@31,157:157='(',<'('>,8:19] +[@32,158:158='3',,8:20] +[@33,159:159=')',<')'>,8:21] +[@34,161:161='{',<'{'>,8:23] +[@35,163:163='}',<'}'>,8:25] +[@36,177:182='switch',<'switch'>,9:12] +[@37,184:184='(',<'('>,9:19] +[@38,185:185='i',,9:20] +[@39,186:186=')',<')'>,9:21] +[@40,200:200='{',<'{'>,10:12] +[@41,218:221='case',<'case'>,11:16] +[@42,223:223='0',,11:21] +[@43,224:224=':',<':'>,11:22] +[@44,242:245='case',<'case'>,12:16] +[@45,247:247='1',,12:21] +[@46,248:248=':',<':'>,12:22] +[@47,270:270='{',<'{'>,13:20] +[@48,296:299='goto',<'goto'>,14:24] +[@49,301:304='case',<'case'>,14:29] +[@50,306:306='2',,14:34] +[@51,307:307=';',<';'>,14:35] +[@52,329:329='}',<'}'>,15:20] +[@53,347:350='case',<'case'>,16:16] +[@54,352:352='2',,16:21] +[@55,354:354='+',<'+'>,16:23] +[@56,356:356='3',,16:25] +[@57,357:357=':',<':'>,16:26] +[@58,379:379='{',<'{'>,17:20] +[@59,405:408='goto',<'goto'>,18:24] +[@60,410:416='default',<'default'>,18:29] +[@61,417:417=';',<';'>,18:36] +[@62,443:447='break',<'break'>,19:24] +[@63,448:448=';',<';'>,19:29] +[@64,470:470='}',<'}'>,20:20] +[@65,488:494='default',<'default'>,21:16] +[@66,495:495=':',<':'>,21:23] +[@67,517:517='{',<'{'>,22:20] +[@68,543:548='return',<'return'>,23:24] +[@69,549:549=';',<';'>,23:30] +[@70,571:571='}',<'}'>,24:20] +[@71,585:585='}',<'}'>,25:12] +[@72,599:603='while',<'while'>,26:12] +[@73,605:605='(',<'('>,26:18] +[@74,606:606='i',,26:19] +[@75,608:608='<',<'<'>,26:21] +[@76,610:611='10',,26:23] +[@77,612:612=')',<')'>,26:25] +[@78,626:626='{',<'{'>,27:12] +[@79,644:645='++',<'++'>,28:16] +[@80,646:646='i',,28:18] +[@81,647:647=';',<';'>,28:19] +[@82,665:666='if',<'if'>,29:16] +[@83,668:668='(',<'('>,29:19] +[@84,669:672='true',<'true'>,29:20] +[@85,673:673=')',<')'>,29:24] +[@86,675:682='continue',<'continue'>,29:26] +[@87,683:683=';',<';'>,29:34] +[@88,701:705='break',<'break'>,30:16] +[@89,706:706=';',<';'>,30:21] +[@90,720:720='}',<'}'>,31:12] +[@91,734:735='do',<'do'>,32:12] +[@92,749:749='{',<'{'>,33:12] +[@93,767:768='++',<'++'>,34:16] +[@94,769:769='i',,34:18] +[@95,770:770=';',<';'>,34:19] +[@96,788:789='if',<'if'>,35:16] +[@97,791:791='(',<'('>,35:19] +[@98,792:795='true',<'true'>,35:20] +[@99,796:796=')',<')'>,35:24] +[@100,798:805='continue',<'continue'>,35:26] +[@101,806:806=';',<';'>,35:34] +[@102,824:828='break',<'break'>,36:16] +[@103,829:829=';',<';'>,36:21] +[@104,843:843='}',<'}'>,37:12] +[@105,857:861='while',<'while'>,38:12] +[@106,863:863='(',<'('>,38:18] +[@107,864:864='i',,38:19] +[@108,866:866='<',<'<'>,38:21] +[@109,868:869='10',,38:23] +[@110,870:870=')',<')'>,38:25] +[@111,871:871=';',<';'>,38:26] +[@112,885:887='for',<'for'>,39:12] +[@113,889:889='(',<'('>,39:16] +[@114,890:892='int',<'int'>,39:17] +[@115,894:894='j',,39:21] +[@116,896:896='=',<'='>,39:23] +[@117,898:898='0',,39:25] +[@118,899:899=';',<';'>,39:26] +[@119,901:901='j',,39:28] +[@120,903:903='<',<'<'>,39:30] +[@121,905:907='100',,39:32] +[@122,908:908=';',<';'>,39:35] +[@123,910:911='++',<'++'>,39:37] +[@124,912:912='j',,39:39] +[@125,913:913=')',<')'>,39:40] +[@126,927:927='{',<'{'>,40:12] +[@127,945:947='for',<'for'>,41:16] +[@128,948:948='(',<'('>,41:19] +[@129,949:949=';',<';'>,41:20] +[@130,950:950=';',<';'>,41:21] +[@131,951:951=')',<')'>,41:22] +[@132,970:970='{',<'{'>,42:16] +[@133,992:994='for',<'for'>,43:20] +[@134,996:996='(',<'('>,43:24] +[@135,997:999='int',<'int'>,43:25] +[@136,1001:1001='i',,43:29] +[@137,1003:1003='=',<'='>,43:31] +[@138,1005:1005='0',,43:33] +[@139,1006:1006=',',<','>,43:34] +[@140,1008:1008='j',,43:36] +[@141,1010:1010='=',<'='>,43:38] +[@142,1012:1012='0',,43:40] +[@143,1013:1013=';',<';'>,43:41] +[@144,1015:1015='i',,43:43] +[@145,1017:1017='<',<'<'>,43:45] +[@146,1019:1024='length',,43:47] +[@147,1025:1025=';',<';'>,43:53] +[@148,1027:1027='i',,43:55] +[@149,1028:1029='++',<'++'>,43:56] +[@150,1030:1030=',',<','>,43:58] +[@151,1032:1032='j',,43:60] +[@152,1033:1034='++',<'++'>,43:61] +[@153,1035:1035=')',<')'>,43:63] +[@154,1037:1037='{',<'{'>,43:65] +[@155,1039:1039='}',<'}'>,43:67] +[@156,1061:1062='if',<'if'>,44:20] +[@157,1064:1064='(',<'('>,44:23] +[@158,1065:1068='true',<'true'>,44:24] +[@159,1069:1069=')',<')'>,44:28] +[@160,1071:1078='continue',<'continue'>,44:30] +[@161,1079:1079=';',<';'>,44:38] +[@162,1101:1105='break',<'break'>,45:20] +[@163,1106:1106=';',<';'>,45:25] +[@164,1124:1124='}',<'}'>,46:16] +[@165,1138:1138='}',<'}'>,47:12] +[@166,1152:1156='label',,48:12] +[@167,1157:1157=':',<':'>,48:17] +[@168,1171:1174='goto',<'goto'>,49:12] +[@169,1176:1180='label',,49:17] +[@170,1181:1181=';',<';'>,49:22] +[@171,1195:1200='label2',,50:12] +[@172,1201:1201=':',<':'>,50:18] +[@173,1203:1203=';',<';'>,50:20] +[@174,1217:1223='foreach',<'foreach'>,51:12] +[@175,1225:1225='(',<'('>,51:20] +[@176,1226:1228='var',<'var'>,51:21] +[@177,1230:1230='i',,51:25] +[@178,1232:1233='in',<'in'>,51:27] +[@179,1235:1239='Items',,51:30] +[@180,1240:1240='(',<'('>,51:35] +[@181,1241:1241=')',<')'>,51:36] +[@182,1242:1242=')',<')'>,51:37] +[@183,1256:1256='{',<'{'>,52:12] +[@184,1274:1275='if',<'if'>,53:16] +[@185,1277:1277='(',<'('>,53:19] +[@186,1278:1278='i',,53:20] +[@187,1280:1281='==',<'=='>,53:22] +[@188,1283:1283='7',,53:25] +[@189,1284:1284=')',<')'>,53:26] +[@190,1306:1311='return',<'return'>,54:20] +[@191,1312:1312=';',<';'>,54:26] +[@192,1330:1333='else',<'else'>,55:16] +[@193,1355:1362='continue',<'continue'>,56:20] +[@194,1363:1363=';',<';'>,56:28] +[@195,1377:1377='}',<'}'>,57:12] +[@196,1387:1387='}',<'}'>,58:8] +[@197,1393:1393='}',<'}'>,59:4] +[@198,1395:1395='}',<'}'>,60:0] +[@199,1396:1395='',,60:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..a9eb61664 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (constructor_declaration (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (switch_statement switch ( (expression (literal 3)) ) (switch_block { }))) (statement (switch_statement switch ( (expression (identifier i)) ) (switch_block { (switch_section (switch_label case (pattern (literal 0)) :) (switch_label case (pattern (literal 1)) :) (statement_list (block { (statement_list (goto_statement goto case (constant_expression (literal 2)) ;)) }))) (switch_section (switch_label case (pattern (additive_expression (additive_expression (literal 2)) + (multiplicative_expression (literal 3)))) :) (statement_list (block { (statement_list (statement (goto_statement goto default ;)) (statement (break_statement break ;))) }))) (switch_section (switch_label default :) (statement_list (block { (statement_list (return_statement return ;)) }))) }))) (statement (while_statement while ( (boolean_expression (relational_expression (relational_expression (identifier i)) < (shift_expression (literal 10)))) ) (embedded_statement (block { (statement_list (statement (expression_statement (statement_expression (pre_increment_expression ++ (unary_expression (identifier i)))) ;)) (statement (if_statement if ( (boolean_expression (boolean_literal true)) ) (embedded_statement (continue_statement continue ;)))) (statement (break_statement break ;))) })))) (statement (do_statement do (embedded_statement (block { (statement_list (statement (expression_statement (statement_expression (pre_increment_expression ++ (unary_expression (identifier i)))) ;)) (statement (if_statement if ( (boolean_expression (boolean_literal true)) ) (embedded_statement (continue_statement continue ;)))) (statement (break_statement break ;))) })) while ( (boolean_expression (relational_expression (relational_expression (identifier i)) < (shift_expression (literal 10)))) ) ;)) (statement (for_statement for ( (for_initializer (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier j) = (local_variable_initializer (literal 0)))))) ; (for_condition (relational_expression (relational_expression (identifier j)) < (shift_expression (literal 100)))) ; (for_iterator (pre_increment_expression ++ (unary_expression (identifier j)))) ) (embedded_statement (block { (statement_list (for_statement for ( ; ; ) (embedded_statement (block { (statement_list (statement (for_statement for ( (for_initializer (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (literal 0))) , (explicitly_typed_local_variable_declarator (identifier j) = (local_variable_initializer (literal 0)))))) ; (for_condition (relational_expression (relational_expression (identifier i)) < (shift_expression (identifier length)))) ; (for_iterator (statement_expression_list (statement_expression (post_increment_expression (primary_expression (identifier i)) ++)) , (statement_expression (post_increment_expression (primary_expression (identifier j)) ++)))) ) (embedded_statement (block { })))) (statement (if_statement if ( (boolean_expression (boolean_literal true)) ) (embedded_statement (continue_statement continue ;)))) (statement (break_statement break ;))) })))) })))) (statement (labeled_statement (identifier label) : (statement (goto_statement goto (identifier label) ;)))) (statement (labeled_statement (identifier label2) : (statement (empty_statement ;)))) (statement (foreach_statement foreach ( (local_variable_type (contextual_keyword var)) (identifier i) in (expression (invocation_expression (primary_expression (identifier Items)) ( ))) ) (embedded_statement (block { (statement_list (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier i)) == (relational_expression (literal 7)))) ) (embedded_statement (return_statement return ;)) else (embedded_statement (continue_statement continue ;)))) }))))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..b0119901f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,2190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +identifier + + + +block + + + +base + + + +{ + + + +foreach_statement + + + +statement_list + + + +default + + + +invocation_expression + + + +7 + + + +identifier + + + +statement + + + +relational_expression + + + +identifier + + + +case + + + +additive_expression + + + +public + + + +< + + + +< + + + +equality_expression + + + +} + + + +namespace + + + +) + + + +i + + + +fixed_parameter + + + +block + + + +attribute_target + + + +statement_expression + + + +embedded_statement + + + +0 + + + +continue + + + +identifier + + + +continue_statement + + + +2 + + + +( + + + +statement + + + +pre_increment_expression + + + +interface_type + + + +I + + + +} + + + +10 + + + +explicitly_typed_local_variable_declaration + + + +integral_type + + + +pattern + + + +statement_list + + + +) + + + +literal + + + +1 + + + +statement + + + +( + + + +0 + + + +statement + + + +) + + + +argument_list + + + +boolean_expression + + + +identifier + + + +type + + + +statement_list + + + +while + + + +statement_list + + + +literal + + + +identifier + + + +statement + + + +++ + + + +i + + + +for_iterator + + + +} + + + +; + + + +relational_expression + + + +A + + + +} + + + +empty_statement + + + +foreach + + + +statement + + + +prog + + + +unsafe + + + +goto + + + +statement_list + + + +expression + + + +statement + + + +statement + + + +block + + + +literal + + + +break_statement + + + +i + + + +statement + + + +identifier + + + +identifier + + + +local_variable_initializer + + + +( + + + +if + + + +continue_statement + + + +qualified_identifier + + + +relational_expression + + + +; + + + +if_statement + + + +labeled_statement + + + +identifier + + + +while + + + +primary_expression + + + +goto + + + +} + + + +statement_expression + + + +j + + + +true + + + +for_statement + + + +label + + + +break + + + +param + + + +goto_statement + + + +block + + + +: + + + +++ + + + +statement_expression + + + +0 + + + +statement + + + +switch_section + + + +class_base + + + +j + + + +boolean_literal + + + +{ + + + += + + + +statement_expression + + + +relational_expression + + + +{ + + + +0 + + + +return_statement + + + +shift_expression + + + +embedded_statement + + + +attribute_list + + + +for_statement + + + +break_statement + + + +statement + + + +class_member_declaration + + + +statement + + + +== + + + +embedded_statement + + + +statement_list + + + +boolean_expression + + + +class_modifier + + + +for + + + +( + + + +statement + + + +explicitly_typed_local_variable_declarators + + + +else + + + +if_statement + + + +expression_statement + + + +primary_expression + + + +identifier + + + +statement + + + +: + + + +( + + + +int + + + +; + + + +pre_increment_expression + + + +while_statement + + + +embedded_statement + + + +expression_statement + + + +literal + + + +public + + + +: + + + +embedded_statement + + + +; + + + +continue + + + +2 + + + +identifier + + + +shift_expression + + + +< + + + +relational_expression + + + +statement + + + +] + + + +constructor_body + + + +namespace_declaration + + + +identifier + + + +boolean_expression + + + +My + + + +switch_section + + + +++ + + + +; + + + +boolean_expression + + + +( + + + +expression + + + +Items + + + +block + + + +explicitly_typed_local_variable_declarators + + + +unary_expression + + + +constructor_declarator + + + +; + + + +length + + + +) + + + +literal + + + +C + + + +( + + + +local_variable_type + + + +class_declaration + + + +for_condition + + + +i + + + +; + + + +i + + + +{ + + + +literal + + + +i + + + +( + + + +post_increment_expression + + + +goto + + + +identifier + + + +switch_statement + + + +} + + + +break_statement + + + +; + + + +for_initializer + + + +relational_expression + + + +literal + + + +namespace_body + + + +identifier + + + +attributes + + + +( + + + +block + + + +integral_type + + + +attribute_target_specifier + + + +} + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +literal + + + +( + + + +; + + + +explicitly_typed_local_variable_declarator + + + += + + + +; + + + +if + + + +relational_expression + + + +j + + + +} + + + +( + + + +break + + + +compilation_unit + + + +} + + + +: + + + +continue_statement + + + +contextual_keyword + + + +A + + + +switch_section + + + +identifier + + + +block + + + +block + + + +100 + + + +: + + + +attribute_section + + + +i + + + +( + + + +for_initializer + + + +post_increment_expression + + + +identifier + + + +shift_expression + + + +constructor_modifier + + + +{ + + + +literal + + + +type + + + +boolean_expression + + + +default + + + +continue + + + +statement_expression_list + + + +switch_label + + + +expression + + + +goto_statement + + + +constructor_declaration + + + +additive_expression + + + +literal + + + +; + + + +; + + + +identifier + + + +identifier + + + +i + + + +foo + + + +identifier + + + +identifier + + + +switch_label + + + +primary_expression + + + +statement + + + +local_variable_initializer + + + ++ + + + +pre_increment_expression + + + +switch_statement + + + +statement_list + + + +switch_block + + + +block + + + +goto_statement + + + +case + + + +) + + + +( + + + +interface_type + + + +for + + + +for + + + +switch + + + +statement + + + +; + + + +embedded_statement + + + +{ + + + +) + + + +identifier + + + +{ + + + +statement + + + +10 + + + +do + + + +block + + + +, + + + +var + + + +j + + + +switch_label + + + +< + + + +; + + + +if_statement + + + +embedded_statement + + + +embedded_statement + + + +; + + + +in + + + +case + + + +interface_type_list + + + +int + + + +relational_expression + + + +for_statement + + + +explicitly_typed_local_variable_declarator + + + +) + + + +pattern + + + +return_statement + + + +return + + + +) + + + +identifier + + + +} + + + +i + + + +i + + + +class + + + +statement_list + + + +{ + + + +class_modifier + + + +: + + + +break_statement + + + +relational_expression + + + +statement + + + +unsafe_modifier + + + +parameter_list + + + +explicitly_typed_local_variable_declarator + + + +boolean_literal + + + +; + + + +, + + + +break + + + +embedded_statement + + + +break + + + +) + + + +unary_expression + + + +Obsolete + + + +) + + + +continue + + + +identifier + + + +embedded_statement + + + +boolean_expression + + + +embedded_statement + + + +if_statement + + + +true + + + +3 + + + +) + + + +statement_list + + + +local_variable_initializer + + + += + + + +statement_list + + + +j + + + +switch_label + + + +integral_type + + + +[ + + + +) + + + +partial + + + +: + + + +{ + + + +{ + + + +{ + + + +class_body + + + +; + + + +unary_expression + + + +boolean_literal + + + +: + + + +++ + + + +} + + + +identifier + + + +multiplicative_expression + + + +statement_list + + + +} + + + +) + + + +if + + + +( + + + +; + + + +namespace_member_declaration + + + +) + + + +{ + + + +statement_list + + + +constant_expression + + + +if + + + +switch + + + +label2 + + + +type + + + +++ + + + +identifier + + + +shift_expression + + + +for_condition + + + +int + + + +literal + + + +( + + + +; + + + +} + + + +constructor_initializer + + + +literal + + + +3 + + + +statement + + + +case + + + +: + + + +{ + + + +labeled_statement + + + +for_iterator + + + +; + + + +return + + + +continue_statement + + + +equality_expression + + + +identifier + + + +literal + + + +; + + + +, + + + +label + + + +; + + + +true + + + +; + + + +do_statement + + + +identifier + + + +) + + + +} + + + +1 + + + +literal + + + +statement + + + +{ + + + +switch_block + + + +pattern + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..049658d4a --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,66 @@ +namespace My +{ + public unsafe partial class A : C, I + { + public A([param: Obsolete] int foo) : + base(1) + { + lock (sync) + process(); + using (var v = BeginScope()) + using (A a = new A()) + using (A a = new A(), b = new A()) + using (BeginScope()) + return; + yield return this.items[3]; + yield break; + fixed (int* p = stackalloc int[100], q = &y) + { + *intref = 1; + } + fixed (int* p = stackalloc int[100]) + { + *intref = 1; + } + unsafe + { + int* p = null; + } + try + { + throw null; + } + catch (System.AccessViolationException av) + { + throw av; + } + catch (Exception) + { + throw; + } + finally + { + try { } catch { } + } + var anonymous = + { + A = 1, + B = 2, + C = 3, + }; + var query = from c in customers + let d = c + where d != null + join c1 in customers on c1.GetHashCode() equals c.GetHashCode() + join c1 in customers on c1.GetHashCode() equals c.GetHashCode() into e + group c by c.Country + into g + orderby g.Count() ascending + orderby g.Key descending + select new { Country = g.Key, CustCount = g.Count() }; + query = from c in customers + select c into d + select d; + } + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..e438b7175 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,1526 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ My +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ I +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ param +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lock_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lock +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sync +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ process +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ resource_acquisition +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ BeginScope +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ resource_acquisition +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ resource_acquisition +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ resource_acquisition +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ BeginScope +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ items +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unmanaged_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 100 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ q +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ & +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_indirection_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ intref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unmanaged_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 100 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_indirection_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ intref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ specific_catch_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exception_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ AccessViolationException +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ av +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ av +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ specific_catch_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exception_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Exception +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finally_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finally +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ general_catch_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ != +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join_into_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_or_group_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ group_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ group +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ by +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Country +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_continuation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderings +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering_direction +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ascending +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderings +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Key +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering_direction +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ descending +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_or_group_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_object_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Country +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Key +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CustCount +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_or_group_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_continuation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..03e22309c --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,303 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:11='My',,1:10] +[@2,13:13='{',<'{'>,2:0] +[@3,19:24='public',<'public'>,3:4] +[@4,26:31='unsafe',<'unsafe'>,3:11] +[@5,33:39='partial',<'partial'>,3:18] +[@6,41:45='class',<'class'>,3:26] +[@7,47:47='A',,3:32] +[@8,49:49=':',<':'>,3:34] +[@9,51:51='C',,3:36] +[@10,52:52=',',<','>,3:37] +[@11,54:54='I',,3:39] +[@12,60:60='{',<'{'>,4:4] +[@13,70:75='public',<'public'>,5:8] +[@14,77:77='A',,5:15] +[@15,78:78='(',<'('>,5:16] +[@16,79:79='[',<'['>,5:17] +[@17,80:84='param',,5:18] +[@18,85:85=':',<':'>,5:23] +[@19,87:94='Obsolete',,5:25] +[@20,95:95=']',<']'>,5:33] +[@21,97:99='int',<'int'>,5:35] +[@22,101:103='foo',,5:39] +[@23,104:104=')',<')'>,5:42] +[@24,106:106=':',<':'>,5:44] +[@25,120:123='base',<'base'>,6:12] +[@26,124:124='(',<'('>,6:16] +[@27,125:125='1',,6:17] +[@28,126:126=')',<')'>,6:18] +[@29,136:136='{',<'{'>,7:8] +[@30,150:153='lock',<'lock'>,8:12] +[@31,155:155='(',<'('>,8:17] +[@32,156:159='sync',,8:18] +[@33,160:160=')',<')'>,8:22] +[@34,178:184='process',,9:16] +[@35,185:185='(',<'('>,9:23] +[@36,186:186=')',<')'>,9:24] +[@37,187:187=';',<';'>,9:25] +[@38,201:205='using',<'using'>,10:12] +[@39,207:207='(',<'('>,10:18] +[@40,208:210='var',<'var'>,10:19] +[@41,212:212='v',,10:23] +[@42,214:214='=',<'='>,10:25] +[@43,216:225='BeginScope',,10:27] +[@44,226:226='(',<'('>,10:37] +[@45,227:227=')',<')'>,10:38] +[@46,228:228=')',<')'>,10:39] +[@47,242:246='using',<'using'>,11:12] +[@48,248:248='(',<'('>,11:18] +[@49,249:249='A',,11:19] +[@50,251:251='a',,11:21] +[@51,253:253='=',<'='>,11:23] +[@52,255:257='new',<'new'>,11:25] +[@53,259:259='A',,11:29] +[@54,260:260='(',<'('>,11:30] +[@55,261:261=')',<')'>,11:31] +[@56,262:262=')',<')'>,11:32] +[@57,276:280='using',<'using'>,12:12] +[@58,282:282='(',<'('>,12:18] +[@59,283:283='A',,12:19] +[@60,285:285='a',,12:21] +[@61,287:287='=',<'='>,12:23] +[@62,289:291='new',<'new'>,12:25] +[@63,293:293='A',,12:29] +[@64,294:294='(',<'('>,12:30] +[@65,295:295=')',<')'>,12:31] +[@66,296:296=',',<','>,12:32] +[@67,298:298='b',,12:34] +[@68,300:300='=',<'='>,12:36] +[@69,302:304='new',<'new'>,12:38] +[@70,306:306='A',,12:42] +[@71,307:307='(',<'('>,12:43] +[@72,308:308=')',<')'>,12:44] +[@73,309:309=')',<')'>,12:45] +[@74,323:327='using',<'using'>,13:12] +[@75,329:329='(',<'('>,13:18] +[@76,330:339='BeginScope',,13:19] +[@77,340:340='(',<'('>,13:29] +[@78,341:341=')',<')'>,13:30] +[@79,342:342=')',<')'>,13:31] +[@80,360:365='return',<'return'>,14:16] +[@81,366:366=';',<';'>,14:22] +[@82,380:384='yield',<'yield'>,15:12] +[@83,386:391='return',<'return'>,15:18] +[@84,393:396='this',<'this'>,15:25] +[@85,397:397='.',<'.'>,15:29] +[@86,398:402='items',,15:30] +[@87,403:403='[',<'['>,15:35] +[@88,404:404='3',,15:36] +[@89,405:405=']',<']'>,15:37] +[@90,406:406=';',<';'>,15:38] +[@91,420:424='yield',<'yield'>,16:12] +[@92,426:430='break',<'break'>,16:18] +[@93,431:431=';',<';'>,16:23] +[@94,445:449='fixed',<'fixed'>,17:12] +[@95,451:451='(',<'('>,17:18] +[@96,452:454='int',<'int'>,17:19] +[@97,455:455='*',<'*'>,17:22] +[@98,457:457='p',,17:24] +[@99,459:459='=',<'='>,17:26] +[@100,461:470='stackalloc',<'stackalloc'>,17:28] +[@101,472:474='int',<'int'>,17:39] +[@102,475:475='[',<'['>,17:42] +[@103,476:478='100',,17:43] +[@104,479:479=']',<']'>,17:46] +[@105,480:480=',',<','>,17:47] +[@106,482:482='q',,17:49] +[@107,484:484='=',<'='>,17:51] +[@108,486:486='&',<'&'>,17:53] +[@109,487:487='y',,17:54] +[@110,488:488=')',<')'>,17:55] +[@111,502:502='{',<'{'>,18:12] +[@112,520:520='*',<'*'>,19:16] +[@113,521:526='intref',,19:17] +[@114,528:528='=',<'='>,19:24] +[@115,530:530='1',,19:26] +[@116,531:531=';',<';'>,19:27] +[@117,545:545='}',<'}'>,20:12] +[@118,559:563='fixed',<'fixed'>,21:12] +[@119,565:565='(',<'('>,21:18] +[@120,566:568='int',<'int'>,21:19] +[@121,569:569='*',<'*'>,21:22] +[@122,571:571='p',,21:24] +[@123,573:573='=',<'='>,21:26] +[@124,575:584='stackalloc',<'stackalloc'>,21:28] +[@125,586:588='int',<'int'>,21:39] +[@126,589:589='[',<'['>,21:42] +[@127,590:592='100',,21:43] +[@128,593:593=']',<']'>,21:46] +[@129,594:594=')',<')'>,21:47] +[@130,608:608='{',<'{'>,22:12] +[@131,626:626='*',<'*'>,23:16] +[@132,627:632='intref',,23:17] +[@133,634:634='=',<'='>,23:24] +[@134,636:636='1',,23:26] +[@135,637:637=';',<';'>,23:27] +[@136,651:651='}',<'}'>,24:12] +[@137,665:670='unsafe',<'unsafe'>,25:12] +[@138,684:684='{',<'{'>,26:12] +[@139,702:704='int',<'int'>,27:16] +[@140,705:705='*',<'*'>,27:19] +[@141,707:707='p',,27:21] +[@142,709:709='=',<'='>,27:23] +[@143,711:714='null',<'null'>,27:25] +[@144,715:715=';',<';'>,27:29] +[@145,729:729='}',<'}'>,28:12] +[@146,743:745='try',<'try'>,29:12] +[@147,759:759='{',<'{'>,30:12] +[@148,777:781='throw',<'throw'>,31:16] +[@149,783:786='null',<'null'>,31:22] +[@150,787:787=';',<';'>,31:26] +[@151,801:801='}',<'}'>,32:12] +[@152,815:819='catch',<'catch'>,33:12] +[@153,821:821='(',<'('>,33:18] +[@154,822:827='System',,33:19] +[@155,828:828='.',<'.'>,33:25] +[@156,829:852='AccessViolationException',,33:26] +[@157,854:855='av',,33:51] +[@158,856:856=')',<')'>,33:53] +[@159,870:870='{',<'{'>,34:12] +[@160,888:892='throw',<'throw'>,35:16] +[@161,894:895='av',,35:22] +[@162,896:896=';',<';'>,35:24] +[@163,910:910='}',<'}'>,36:12] +[@164,924:928='catch',<'catch'>,37:12] +[@165,930:930='(',<'('>,37:18] +[@166,931:939='Exception',,37:19] +[@167,940:940=')',<')'>,37:28] +[@168,954:954='{',<'{'>,38:12] +[@169,972:976='throw',<'throw'>,39:16] +[@170,977:977=';',<';'>,39:21] +[@171,991:991='}',<'}'>,40:12] +[@172,1005:1011='finally',<'finally'>,41:12] +[@173,1025:1025='{',<'{'>,42:12] +[@174,1043:1045='try',<'try'>,43:16] +[@175,1047:1047='{',<'{'>,43:20] +[@176,1049:1049='}',<'}'>,43:22] +[@177,1051:1055='catch',<'catch'>,43:24] +[@178,1057:1057='{',<'{'>,43:30] +[@179,1059:1059='}',<'}'>,43:32] +[@180,1073:1073='}',<'}'>,44:12] +[@181,1087:1089='var',<'var'>,45:12] +[@182,1091:1099='anonymous',,45:16] +[@183,1101:1101='=',<'='>,45:26] +[@184,1116:1116='{',<'{'>,46:12] +[@185,1134:1134='A',,47:16] +[@186,1136:1136='=',<'='>,47:18] +[@187,1138:1138='1',,47:20] +[@188,1139:1139=',',<','>,47:21] +[@189,1157:1157='B',,48:16] +[@190,1159:1159='=',<'='>,48:18] +[@191,1161:1161='2',,48:20] +[@192,1162:1162=',',<','>,48:21] +[@193,1180:1180='C',,49:16] +[@194,1182:1182='=',<'='>,49:18] +[@195,1184:1184='3',,49:20] +[@196,1185:1185=',',<','>,49:21] +[@197,1199:1199='}',<'}'>,50:12] +[@198,1200:1200=';',<';'>,50:13] +[@199,1214:1216='var',<'var'>,51:12] +[@200,1218:1222='query',,51:16] +[@201,1224:1224='=',<'='>,51:22] +[@202,1226:1229='from',<'from'>,51:24] +[@203,1231:1231='c',,51:29] +[@204,1233:1234='in',<'in'>,51:31] +[@205,1236:1244='customers',,51:34] +[@206,1270:1272='let',<'let'>,52:24] +[@207,1274:1274='d',,52:28] +[@208,1276:1276='=',<'='>,52:30] +[@209,1278:1278='c',,52:32] +[@210,1304:1308='where',<'where'>,53:24] +[@211,1310:1310='d',,53:30] +[@212,1312:1313='!=',<'!='>,53:32] +[@213,1315:1318='null',<'null'>,53:35] +[@214,1344:1347='join',<'join'>,54:24] +[@215,1349:1350='c1',,54:29] +[@216,1352:1353='in',<'in'>,54:32] +[@217,1355:1363='customers',,54:35] +[@218,1365:1366='on',<'on'>,54:45] +[@219,1368:1369='c1',,54:48] +[@220,1370:1370='.',<'.'>,54:50] +[@221,1371:1381='GetHashCode',,54:51] +[@222,1382:1382='(',<'('>,54:62] +[@223,1383:1383=')',<')'>,54:63] +[@224,1385:1390='equals',<'equals'>,54:65] +[@225,1392:1392='c',,54:72] +[@226,1393:1393='.',<'.'>,54:73] +[@227,1394:1404='GetHashCode',,54:74] +[@228,1405:1405='(',<'('>,54:85] +[@229,1406:1406=')',<')'>,54:86] +[@230,1432:1435='join',<'join'>,55:24] +[@231,1437:1438='c1',,55:29] +[@232,1440:1441='in',<'in'>,55:32] +[@233,1443:1451='customers',,55:35] +[@234,1453:1454='on',<'on'>,55:45] +[@235,1456:1457='c1',,55:48] +[@236,1458:1458='.',<'.'>,55:50] +[@237,1459:1469='GetHashCode',,55:51] +[@238,1470:1470='(',<'('>,55:62] +[@239,1471:1471=')',<')'>,55:63] +[@240,1473:1478='equals',<'equals'>,55:65] +[@241,1480:1480='c',,55:72] +[@242,1481:1481='.',<'.'>,55:73] +[@243,1482:1492='GetHashCode',,55:74] +[@244,1493:1493='(',<'('>,55:85] +[@245,1494:1494=')',<')'>,55:86] +[@246,1496:1499='into',<'into'>,55:88] +[@247,1501:1501='e',,55:93] +[@248,1527:1531='group',<'group'>,56:24] +[@249,1533:1533='c',,56:30] +[@250,1535:1536='by',<'by'>,56:32] +[@251,1538:1538='c',,56:35] +[@252,1539:1539='.',<'.'>,56:36] +[@253,1540:1546='Country',,56:37] +[@254,1576:1579='into',<'into'>,57:28] +[@255,1581:1581='g',,57:33] +[@256,1611:1617='orderby',<'orderby'>,58:28] +[@257,1619:1619='g',,58:36] +[@258,1620:1620='.',<'.'>,58:37] +[@259,1621:1625='Count',,58:38] +[@260,1626:1626='(',<'('>,58:43] +[@261,1627:1627=')',<')'>,58:44] +[@262,1629:1637='ascending',<'ascending'>,58:46] +[@263,1667:1673='orderby',<'orderby'>,59:28] +[@264,1675:1675='g',,59:36] +[@265,1676:1676='.',<'.'>,59:37] +[@266,1677:1679='Key',,59:38] +[@267,1681:1690='descending',<'descending'>,59:42] +[@268,1720:1725='select',<'select'>,60:28] +[@269,1727:1729='new',<'new'>,60:35] +[@270,1731:1731='{',<'{'>,60:39] +[@271,1733:1739='Country',,60:41] +[@272,1741:1741='=',<'='>,60:49] +[@273,1743:1743='g',,60:51] +[@274,1744:1744='.',<'.'>,60:52] +[@275,1745:1747='Key',,60:53] +[@276,1748:1748=',',<','>,60:56] +[@277,1750:1758='CustCount',,60:58] +[@278,1760:1760='=',<'='>,60:68] +[@279,1762:1762='g',,60:70] +[@280,1763:1763='.',<'.'>,60:71] +[@281,1764:1768='Count',,60:72] +[@282,1769:1769='(',<'('>,60:77] +[@283,1770:1770=')',<')'>,60:78] +[@284,1772:1772='}',<'}'>,60:80] +[@285,1773:1773=';',<';'>,60:81] +[@286,1787:1791='query',,61:12] +[@287,1793:1793='=',<'='>,61:18] +[@288,1795:1798='from',<'from'>,61:20] +[@289,1800:1800='c',,61:25] +[@290,1802:1803='in',<'in'>,61:27] +[@291,1805:1813='customers',,61:30] +[@292,1835:1840='select',<'select'>,62:20] +[@293,1842:1842='c',,62:27] +[@294,1844:1847='into',<'into'>,62:29] +[@295,1849:1849='d',,62:34] +[@296,1871:1876='select',<'select'>,63:20] +[@297,1878:1878='d',,63:27] +[@298,1879:1879=';',<';'>,63:28] +[@299,1889:1889='}',<'}'>,64:8] +[@300,1895:1895='}',<'}'>,65:4] +[@301,1897:1897='}',<'}'>,66:0] +[@302,1898:1897='',,66:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..f5db83ac8 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (constructor_declaration (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (lock_statement lock ( (expression (identifier sync)) ) (embedded_statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier process)) ( ))) ;)))) (statement (using_statement using ( (resource_acquisition (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (invocation_expression (primary_expression (identifier BeginScope)) ( )))))) ) (embedded_statement (using_statement using ( (resource_acquisition (explicitly_typed_local_variable_declaration (type (identifier A)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( ))))))) ) (embedded_statement (using_statement using ( (resource_acquisition (explicitly_typed_local_variable_declaration (type (identifier A)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( )))) , (explicitly_typed_local_variable_declarator (identifier b) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( ))))))) ) (embedded_statement (using_statement using ( (resource_acquisition (invocation_expression (primary_expression (identifier BeginScope)) ( ))) ) (embedded_statement (return_statement return ;)))))))))) (statement (yield_statement yield return (expression (element_access (primary_no_array_creation_expression (member_access (primary_expression (this_access this)) . (identifier items))) [ (argument_list (literal 3)) ])) ;)) (statement (yield_statement yield break ;)) (statement (fixed_statement fixed ( (pointer_type (value_type (integral_type int)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier p) = (fixed_pointer_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 100)) ]))) , (fixed_pointer_declarator (identifier q) = (fixed_pointer_initializer & (variable_reference (identifier y))))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (pointer_indirection_expression * (unary_expression (identifier intref)))) (assignment_operator =) (expression (literal 1)))) ;)) })))) (statement (fixed_statement fixed ( (pointer_type (value_type (integral_type int)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier p) = (fixed_pointer_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 100)) ])))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (pointer_indirection_expression * (unary_expression (identifier intref)))) (assignment_operator =) (expression (literal 1)))) ;)) })))) (statement (unsafe_statement unsafe (block { (statement_list (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (pointer_type (value_type (integral_type int)) *)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier p) = (local_variable_initializer (null_literal null)))))) ;)) }))) (statement (try_statement try (block { (statement_list (throw_statement throw (expression (null_literal null)) ;)) }) (catch_clauses (specific_catch_clause catch (exception_specifier ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier AccessViolationException))) (identifier av) )) (block { (statement_list (throw_statement throw (expression (identifier av)) ;)) })) (specific_catch_clause catch (exception_specifier ( (type (identifier Exception)) )) (block { (statement_list (throw_statement throw ;)) }))) (finally_clause finally (block { (statement_list (try_statement try (block { }) (catch_clauses (general_catch_clause catch (block { }))))) })))) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword var)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier anonymous) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (assignment (unary_expression (identifier A)) (assignment_operator =) (expression (literal 1)))) , (variable_initializer (assignment (unary_expression (identifier B)) (assignment_operator =) (expression (literal 2)))) , (variable_initializer (assignment (unary_expression (identifier C)) (assignment_operator =) (expression (literal 3))))) , })))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier query) = (expression (query_expression (from_clause from (identifier c) in (expression (identifier customers))) (query_body (query_body_clauses (query_body_clauses (query_body_clauses (query_body_clauses (let_clause let (identifier d) = (expression (identifier c)))) (query_body_clause (where_clause where (boolean_expression (equality_expression (equality_expression (identifier d)) != (relational_expression (null_literal null))))))) (query_body_clause (join_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( )))))) (query_body_clause (join_into_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))) into (identifier e)))) (select_or_group_clause (group_clause group (expression (identifier c)) by (expression (member_access (primary_expression (identifier c)) . (identifier Country))))) (query_continuation into (identifier g) (query_body (query_body_clauses (query_body_clauses (orderby_clause orderby (orderings (ordering (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))) (ordering_direction ascending))))) (query_body_clause (orderby_clause orderby (orderings (ordering (expression (member_access (primary_expression (identifier g)) . (identifier Key))) (ordering_direction descending)))))) (select_or_group_clause (select_clause select (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier Country) = (expression (member_access (primary_expression (identifier g)) . (identifier Key)))) , (member_declarator (identifier CustCount) = (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))))) }))))))))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier query)) (assignment_operator =) (expression (query_expression (from_clause from (identifier c) in (expression (identifier customers))) (query_body (select_or_group_clause (select_clause select (expression (identifier c)))) (query_continuation into (identifier d) (query_body (select_clause select (expression (identifier d)))))))))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..0f0d6d839 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,3550 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +identifier + + + +new + + + +primary_expression + + + +invocation_expression + + + +} + + + +) + + + +identifier + + + +statement + + + +expression + + + +identifier + + + +primary_expression + + + +group + + + +) + + + +1 + + + +{ + + + +into + + + +resource_acquisition + + + +unsafe + + + +} + + + +expression + + + +} + + + +return_statement + + + +A + + + += + + + +class_modifier + + + +var + + + +( + + + +C + + + +local_variable_declaration + + + +identifier + + + +items + + + +) + + + += + + + +expression + + + +invocation_expression + + + +in + + + +integral_type + + + +{ + + + +A + + + +av + + + +declaration_statement + + + +statement + + + +query_body + + + +( + + + +( + + + +} + + + +throw + + + +equals + + + +( + + + +c + + + +local_variable_initializer + + + +c + + + +exception_specifier + + + +identifier + + + +int + + + +identifier + + + +BeginScope + + + +My + + + +. + + + +customers + + + +constructor_body + + + +fixed_parameter + + + +identifier + + + +identifier + + + +primary_expression + + + +identifier + + + +fixed_statement + + + +statement + + + +identifier + + + +unary_expression + + + +embedded_statement + + + +identifier + + + +local_variable_initializer + + + +equality_expression + + + +from_clause + + + +{ + + + +* + + + +fixed_statement + + + +GetHashCode + + + +primary_expression + + + +stackalloc + + + +pointer_type + + + +primary_expression + + + +) + + + +, + + + +identifier + + + +orderby_clause + + + +value_type + + + +) + + + +identifier + + + +unsafe_statement + + + +null_literal + + + +statement_expression + + + +resource_acquisition + + + +member_access + + + +identifier + + + += + + + +identifier + + + +} + + + +parameter_list + + + +expression + + + +expression + + + +) + + + +variable_initializer + + + +select + + + +variable_initializer_list + + + +ordering + + + +assignment_operator + + + +expression + + + +new + + + +av + + + +using_statement + + + +identifier + + + +member_access + + + +statement + + + +explicitly_typed_local_variable_declaration + + + +stackalloc + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +class_member_declaration + + + +unary_expression + + + +; + + + +integral_type + + + +A + + + +select_clause + + + +identifier + + + +{ + + + +value_type + + + += + + + +identifier + + + +statement + + + +assignment_operator + + + +p + + + +fixed_pointer_initializer + + + +* + + + +member_access + + + +c + + + +C + + + +( + + + +fixed_pointer_declarators + + + +identifier + + + +int + + + +Country + + + +expression + + + +statement_list + + + +A + + + +ascending + + + +intref + + + +p + + + +identifier + + + +expression + + + +primary_expression + + + +fixed_pointer_declarator + + + +} + + + +identifier + + + +c + + + +sync + + + +assignment + + + +fixed_pointer_declarators + + + +( + + + +{ + + + +from_clause + + + +attribute_section + + + +primary_no_array_creation_expression + + + +( + + + += + + + +) + + + +block + + + +query_body_clauses + + + +unsafe + + + +expression + + + +unary_expression + + + +implicitly_typed_local_variable_declaration + + + +identifier + + + +where_clause + + + += + + + +identifier + + + +) + + + +] + + + +invocation_expression + + + +query_body_clauses + + + +A + + + +primary_expression + + + +a + + + +type + + + +int + + + +unmanaged_type + + + +primary_expression + + + +local_variable_initializer + + + +. + + + +attribute_target_specifier + + + +. + + + +namespace_or_type_name + + + +( + + + +v + + + +embedded_statement + + + +statement_list + + + +literal + + + +from + + + +. + + + +identifier + + + +ordering_direction + + + +identifier + + + +expression_statement + + + +identifier + + + +unmanaged_type + + + +Country + + + +select + + + +* + + + +expression + + + +p + + + +in + + + +attributes + + + += + + + +member_access + + + +block + + + +invocation_expression + + + +declaration_statement + + + +g + + + +identifier + + + +primary_expression + + + +integral_type + + + += + + + +literal + + + +member_access + + + +; + + + +block + + + +expression + + + +fixed_pointer_declarator + + + +member_access + + + +query + + + +pointer_type + + + +c + + + +( + + + +fixed + + + +identifier + + + +orderby + + + +expression + + + +identifier + + + +g + + + +using + + + +{ + + + +expression + + + +var + + + +A + + + +primary_expression + + + +Count + + + +identifier + + + += + + + +statement_list + + + +break + + + +let + + + +[ + + + +assignment_operator + + + +BeginScope + + + +) + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +select_clause + + + +query_body + + + +identifier + + + +specific_catch_clause + + + +identifier + + + +assignment + + + +interface_type + + + +identifier + + + +identifier + + + +int + + + +identifier + + + +statement + + + +namespace_member_declaration + + + +y + + + +in + + + +( + + + +1 + + + +boolean_expression + + + +select + + + +identifier + + + +literal + + + +: + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +integral_type + + + +catch_clauses + + + +d + + + +) + + + +on + + + +type + + + +ordering_direction + + + +invocation_expression + + + +primary_expression + + + +identifier + + + +type + + + +expression + + + +] + + + +expression + + + +c1 + + + +) + + + +local_variable_initializer + + + +block + + + +query_continuation + + + +expression + + + +statement_expression + + + +try + + + +identifier + + + +expression + + + +group_clause + + + +stackalloc_expression + + + +anonymous + + + +element_access + + + +local_variable_initializer + + + +orderby_clause + + + +( + + + +; + + + +literal + + + +local_variable_declaration + + + +identifier + + + +( + + + +statement + + + +query_body_clause + + + +B + + + +object_creation_expression + + + +statement_list + + + +public + + + +orderby + + + +assignment_operator + + + +fixed_pointer_declarator + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +; + + + +new + + + +c1 + + + +invocation_expression + + + +ordering + + + +CustCount + + + +fixed_pointer_initializer + + + +assignment + + + +query + + + +identifier + + + +query_body + + + +implicitly_typed_local_variable_declarator + + + +pointer_indirection_expression + + + +c + + + +} + + + +expression_statement + + + +this + + + +assignment_operator + + + +( + + + +g + + + +; + + + +public + + + +. + + + +attribute_target + + + +using + + + +) + + + +identifier + + + +query_continuation + + + +namespace_or_type_name + + + +query_body_clauses + + + +Count + + + +2 + + + +where + + + +unary_expression + + + +unary_expression + + + +c + + + +namespace_body + + + +pointer_type + + + +identifier + + + +) + + + +. + + + +query_body_clauses + + + +( + + + +, + + + +assignment + + + +finally + + + +assignment + + + +} + + + +qualified_identifier + + + +var + + + +primary_expression + + + +!= + + + +, + + + +compilation_unit + + + +object_creation_expression + + + +throw_statement + + + +customers + + + +class_declaration + + + +identifier + + + +literal + + + +( + + + +yield_statement + + + +select_or_group_clause + + + +query_body_clauses + + + +. + + + +type + + + +block + + + +resource_acquisition + + + +{ + + + +identifier + + + +statement_list + + + +int + + + +constructor_declarator + + + +{ + + + +) + + + +catch + + + +[ + + + +) + + + +select_or_group_clause + + + +; + + + +value_type + + + +try_statement + + + +interface_type_list + + + +lock_statement + + + +assignment + + + +contextual_keyword + + + +query_body_clause + + + +invocation_expression + + + += + + + +statement + + + +} + + + +, + + + +null + + + +. + + + +identifier + + + +expression + + + +explicitly_typed_local_variable_declarator + + + +; + + + +( + + + +on + + + +d + + + +namespace + + + +resource_acquisition + + + +yield + + + +GetHashCode + + + +identifier + + + +type + + + +* + + + +; + + + +statement_list + + + +[ + + + += + + + +. + + + +class_base + + + +anonymous_object_initializer + + + +catch + + + +3 + + + +identifier + + + +member_declarator_list + + + +using_statement + + + +block + + + +array_initializer + + + +throw + + + +descending + + + +attribute_list + + + +customers + + + +c1 + + + += + + + +expression + + + +* + + + += + + + +class + + + +type + + + +fixed + + + +] + + + +identifier + + + +this_access + + + +integral_type + + + +A + + + +, + + + +Key + + + +unary_expression + + + += + + + +primary_expression + + + +member_declarator + + + +explicitly_typed_local_variable_declarators + + + +expression + + + +finally_clause + + + +int + + + +param + + + +} + + + +invocation_expression + + + +class_modifier + + + +expression + + + +block + + + +throw_statement + + + +d + + + +: + + + +invocation_expression + + + +join_into_clause + + + +anonymous_object_creation_expression + + + +null_literal + + + +embedded_statement + + + +catch_clauses + + + +embedded_statement + + + +return + + + +identifier + + + +1 + + + +using_statement + + + +argument_list + + + +member_declarator + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +variable_reference + + + +primary_expression + + + +) + + + +expression + + + += + + + +100 + + + +explicitly_typed_local_variable_declarators + + + +query_expression + + + += + + + += + + + +explicitly_typed_local_variable_declarators + + + +orderings + + + +AccessViolationException + + + +primary_expression + + + +specific_catch_clause + + + +) + + + +c + + + +fixed_pointer_initializer + + + +100 + + + +( + + + +identifier + + + +argument_list + + + +identifier + + + +b + + + +expression + + + +literal + + + +; + + + +query_body_clause + + + +( + + + +declaration_statement + + + +e + + + +general_catch_clause + + + +statement + + + +throw + + + +relational_expression + + + +) + + + +; + + + +identifier + + + +equals + + + +) + + + +customers + + + +try_statement + + + +intref + + + +identifier + + + +; + + + +embedded_statement + + + +null + + + +into + + + +GetHashCode + + + +statement_expression + + + +c1 + + + +identifier + + + +identifier + + + +Exception + + + +primary_expression + + + +member_access + + + +) + + + +identifier + + + +literal + + + +embedded_statement + + + +in + + + +identifier + + + +expression + + + += + + + +constructor_modifier + + + +) + + + +g + + + +assignment_operator + + + +using + + + +, + + + +identifier + + + +select_or_group_clause + + + +{ + + + +. + + + +statement + + + +expression + + + +; + + + +identifier + + + +primary_expression + + + +( + + + +identifier + + + +primary_expression + + + +namespace_declaration + + + +unsafe_modifier + + + +object_creation_expression + + + +expression_statement + + + +try + + + +base + + + +{ + + + +( + + + +stackalloc_expression + + + +identifier + + + +foo + + + +yield + + + +block + + + +[ + + + +catch + + + +expression + + + +expression + + + +explicitly_typed_local_variable_declarator + + + +GetHashCode + + + +return + + + +constructor_declaration + + + +A + + + +a + + + +constructor_initializer + + + +identifier + + + +{ + + + +expression + + + +{ + + + +prog + + + +explicitly_typed_local_variable_declaration + + + +join + + + +member_access + + + +literal + + + +identifier + + + +expression + + + +new + + + +identifier + + + +identifier + + + +} + + + +class_body + + + +member_access + + + +into + + + +Key + + + +q + + + +using_statement + + + +explicitly_typed_local_variable_declarator + + + +exception_specifier + + + +block + + + +integral_type + + + +( + + + +throw_statement + + + +block + + + +partial + + + +variable_initializer + + + +local_variable_declaration + + + +1 + + + +type + + + +join + + + +Obsolete + + + +statement_list + + + +; + + + +} + + + +& + + + +null_literal + + + +unary_expression + + + +, + + + +} + + + +identifier + + + +implicitly_typed_local_variable_declaration + + + +. + + + +statement_expression + + + +identifier + + + +type + + + +yield_statement + + + +equality_expression + + + += + + + +process + + + +g + + + +lock + + + +expression + + + +System + + + +pointer_indirection_expression + + + +from + + + +interface_type + + + +join_clause + + + +by + + + +null + + + +query_body + + + +I + + + +] + + + +expression_statement + + + +statement_list + + + +{ + + + +query_expression + + + +{ + + + +identifier + + + +identifier + + + +select_clause + + + +( + + + +( + + + +implicitly_typed_local_variable_declarator + + + +let_clause + + + +identifier + + + +using + + + +identifier + + + +orderings + + + +identifier + + + +statement + + + +: + + + +type + + + +variable_initializer + + + +query_body_clauses + + + +expression + + + +} + + + +d + + + +expression + + + +query_body_clause + + + +embedded_statement + + + +) + + + +type + + + +3 + + + +primary_expression + + + +literal + + + +member_access + + + +unary_expression + + + +) + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..d6c47db13 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,39 @@ +namespace My +{ + public unsafe partial class A : C, I + { + ~A() + { + } + private readonly int f1; + [Obsolete] + [NonExisting] + [Foo::NonExisting(var, 5)] + [CLSCompliant(false)] + [Obsolete, System.NonSerialized, NonSerialized, CLSCompliant(true || false & true)] + private volatile int f2; + [return: Obsolete] + [method: Obsolete] + public void Handler(object value) + { + } + public int m(T t) + where T : class, new() + { + base.m(t); + return 1; + } + public string P + { + get + { + return "A"; + } + set; + } + public abstract string P + { + get; + } + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..36348fd13 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,714 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ My +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ I +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finalizer_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ~ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finalizer_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ private +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ readonly +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ NonExisting +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_alias_member +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ :: +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ NonExisting +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CLSCompliant +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ NonSerialized +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ NonSerialized +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CLSCompliant +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ || +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ & +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ private +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ volatile +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Handler +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ m +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_constraint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_constraint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ m +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "A" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..a80ec1d2d --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,142 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:11='My',,1:10] +[@2,13:13='{',<'{'>,2:0] +[@3,19:24='public',<'public'>,3:4] +[@4,26:31='unsafe',<'unsafe'>,3:11] +[@5,33:39='partial',<'partial'>,3:18] +[@6,41:45='class',<'class'>,3:26] +[@7,47:47='A',,3:32] +[@8,49:49=':',<':'>,3:34] +[@9,51:51='C',,3:36] +[@10,52:52=',',<','>,3:37] +[@11,54:54='I',,3:39] +[@12,60:60='{',<'{'>,4:4] +[@13,70:70='~',<'~'>,5:8] +[@14,71:71='A',,5:9] +[@15,72:72='(',<'('>,5:10] +[@16,73:73=')',<')'>,5:11] +[@17,83:83='{',<'{'>,6:8] +[@18,93:93='}',<'}'>,7:8] +[@19,103:109='private',<'private'>,8:8] +[@20,111:118='readonly',<'readonly'>,8:16] +[@21,120:122='int',<'int'>,8:25] +[@22,124:125='f1',,8:29] +[@23,126:126=';',<';'>,8:31] +[@24,136:136='[',<'['>,9:8] +[@25,137:144='Obsolete',,9:9] +[@26,145:145=']',<']'>,9:17] +[@27,155:155='[',<'['>,10:8] +[@28,156:166='NonExisting',,10:9] +[@29,167:167=']',<']'>,10:20] +[@30,177:177='[',<'['>,11:8] +[@31,178:180='Foo',,11:9] +[@32,181:182='::',<'::'>,11:12] +[@33,183:193='NonExisting',,11:14] +[@34,194:194='(',<'('>,11:25] +[@35,195:197='var',<'var'>,11:26] +[@36,198:198=',',<','>,11:29] +[@37,200:200='5',,11:31] +[@38,201:201=')',<')'>,11:32] +[@39,202:202=']',<']'>,11:33] +[@40,212:212='[',<'['>,12:8] +[@41,213:224='CLSCompliant',,12:9] +[@42,225:225='(',<'('>,12:21] +[@43,226:230='false',<'false'>,12:22] +[@44,231:231=')',<')'>,12:27] +[@45,232:232=']',<']'>,12:28] +[@46,242:242='[',<'['>,13:8] +[@47,243:250='Obsolete',,13:9] +[@48,251:251=',',<','>,13:17] +[@49,253:258='System',,13:19] +[@50,259:259='.',<'.'>,13:25] +[@51,260:272='NonSerialized',,13:26] +[@52,273:273=',',<','>,13:39] +[@53,275:287='NonSerialized',,13:41] +[@54,288:288=',',<','>,13:54] +[@55,290:301='CLSCompliant',,13:56] +[@56,302:302='(',<'('>,13:68] +[@57,303:306='true',<'true'>,13:69] +[@58,308:309='||',<'||'>,13:74] +[@59,311:315='false',<'false'>,13:77] +[@60,317:317='&',<'&'>,13:83] +[@61,319:322='true',<'true'>,13:85] +[@62,323:323=')',<')'>,13:89] +[@63,324:324=']',<']'>,13:90] +[@64,334:340='private',<'private'>,14:8] +[@65,342:349='volatile',<'volatile'>,14:16] +[@66,351:353='int',<'int'>,14:25] +[@67,355:356='f2',,14:29] +[@68,357:357=';',<';'>,14:31] +[@69,367:367='[',<'['>,15:8] +[@70,368:373='return',<'return'>,15:9] +[@71,374:374=':',<':'>,15:15] +[@72,376:383='Obsolete',,15:17] +[@73,384:384=']',<']'>,15:25] +[@74,394:394='[',<'['>,16:8] +[@75,395:400='method',,16:9] +[@76,401:401=':',<':'>,16:15] +[@77,403:410='Obsolete',,16:17] +[@78,411:411=']',<']'>,16:25] +[@79,421:426='public',<'public'>,17:8] +[@80,428:431='void',<'void'>,17:15] +[@81,433:439='Handler',,17:20] +[@82,440:440='(',<'('>,17:27] +[@83,441:446='object',<'object'>,17:28] +[@84,448:452='value',<'value'>,17:35] +[@85,453:453=')',<')'>,17:40] +[@86,463:463='{',<'{'>,18:8] +[@87,473:473='}',<'}'>,19:8] +[@88,483:488='public',<'public'>,20:8] +[@89,490:492='int',<'int'>,20:15] +[@90,494:494='m',,20:19] +[@91,495:495='<',<'<'>,20:20] +[@92,496:496='T',,20:21] +[@93,497:497='>',<'>'>,20:22] +[@94,498:498='(',<'('>,20:23] +[@95,499:499='T',,20:24] +[@96,501:501='t',,20:26] +[@97,502:502=')',<')'>,20:27] +[@98,514:518='where',<'where'>,21:10] +[@99,520:520='T',,21:16] +[@100,522:522=':',<':'>,21:18] +[@101,524:528='class',<'class'>,21:20] +[@102,529:529=',',<','>,21:25] +[@103,531:533='new',<'new'>,21:27] +[@104,534:534='(',<'('>,21:30] +[@105,535:535=')',<')'>,21:31] +[@106,545:545='{',<'{'>,22:8] +[@107,559:562='base',<'base'>,23:12] +[@108,563:563='.',<'.'>,23:16] +[@109,564:564='m',,23:17] +[@110,565:565='(',<'('>,23:18] +[@111,566:566='t',,23:19] +[@112,567:567=')',<')'>,23:20] +[@113,568:568=';',<';'>,23:21] +[@114,582:587='return',<'return'>,24:12] +[@115,589:589='1',,24:19] +[@116,590:590=';',<';'>,24:20] +[@117,600:600='}',<'}'>,25:8] +[@118,610:615='public',<'public'>,26:8] +[@119,617:622='string',<'string'>,26:15] +[@120,624:624='P',,26:22] +[@121,634:634='{',<'{'>,27:8] +[@122,648:650='get',<'get'>,28:12] +[@123,664:664='{',<'{'>,29:12] +[@124,682:687='return',<'return'>,30:16] +[@125,689:691='"A"',,30:23] +[@126,692:692=';',<';'>,30:26] +[@127,706:706='}',<'}'>,31:12] +[@128,720:722='set',<'set'>,32:12] +[@129,723:723=';',<';'>,32:15] +[@130,733:733='}',<'}'>,33:8] +[@131,743:748='public',<'public'>,34:8] +[@132,750:757='abstract',<'abstract'>,34:15] +[@133,759:764='string',<'string'>,34:24] +[@134,766:766='P',,34:31] +[@135,776:776='{',<'{'>,35:8] +[@136,790:792='get',<'get'>,36:12] +[@137,793:793=';',<';'>,36:15] +[@138,803:803='}',<'}'>,37:8] +[@139,809:809='}',<'}'>,38:4] +[@140,811:811='}',<'}'>,39:0] +[@141,812:811='',,39:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..7adeb8202 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (finalizer_declaration ~ (identifier A) ( ) (finalizer_body (block { })))) (class_member_declaration (field_declaration (field_modifier private) (field_modifier readonly) (type (integral_type int)) (variable_declarators (identifier f1)) ;)) (class_member_declaration (field_declaration (attributes (attribute_section [ (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_list (identifier NonExisting)) ]) (attribute_section [ (attribute_list (attribute (attribute_name (qualified_alias_member (identifier Foo) :: (identifier NonExisting))) (attribute_arguments ( (positional_argument_list (positional_argument (contextual_keyword var)) , (positional_argument (literal 5))) )))) ]) (attribute_section [ (attribute_list (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (boolean_literal false)) )))) ]) (attribute_section [ (attribute_list (attribute (identifier Obsolete)) , (attribute (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier NonSerialized))) , (attribute (identifier NonSerialized)) , (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (conditional_or_expression (conditional_or_expression (boolean_literal true)) || (conditional_and_expression (and_expression (and_expression (boolean_literal false)) & (equality_expression (boolean_literal true)))))) )))) ])) (field_modifier private) (field_modifier volatile) (type (integral_type int)) (variable_declarators (identifier f2)) ;)) (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (keyword return)) :) (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Handler)) ( (parameter_list (fixed_parameter (type (class_type object)) (identifier (contextual_keyword value)))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type (integral_type int)) (method_header (member_name (identifier m)) (type_parameter_list < (type_parameters (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier t))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint class) , (constructor_constraint new ( ))))) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (base_access base . (identifier m))) ( (argument_list (identifier t)) ))) ;)) (statement (return_statement return (expression (literal 1)) ;))) })))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body (block { (statement_list (return_statement return (expression (literal "A")) ;)) }))) (set_accessor_declaration set (accessor_body ;))) }))) (class_member_declaration (property_declaration (property_modifier public) (property_modifier abstract) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) }))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..4260ce853 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,1660 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{ + + + +variable_declarators + + + +T + + + +) + + + +identifier + + + +unsafe_modifier + + + +conditional_or_expression + + + +positional_argument_list + + + +[ + + + +statement_list + + + +public + + + +namespace_or_type_name + + + +partial + + + +identifier + + + +integral_type + + + +; + + + +variable_declarators + + + +method_modifiers + + + +identifier + + + +identifier + + + +Obsolete + + + +m + + + +type + + + +method_header + + + +attribute_target_specifier + + + +expression_statement + + + +identifier + + + +] + + + +class_member_declaration + + + +interface_type + + + +class_member_declaration + + + +) + + + +field_declaration + + + +return_type + + + +method_body + + + +identifier + + + +type_parameter + + + +keyword + + + +) + + + +get_accessor_declaration + + + +} + + + +block + + + +] + + + +, + + + +m + + + +primary_constraint + + + +] + + + +property_modifier + + + +NonExisting + + + +value + + + +class_type + + + +] + + + +type + + + +f1 + + + +argument_list + + + +identifier + + + +attribute + + + +{ + + + +type_parameter_constraints_clause + + + +namespace_member_declaration + + + +set + + + +; + + + +, + + + +private + + + +} + + + +& + + + +C + + + +attribute_section + + + +method_header + + + +block + + + +unsafe + + + +attribute + + + +[ + + + +] + + + +. + + + +set_accessor_declaration + + + +public + + + +attribute_arguments + + + +false + + + +identifier + + + +Obsolete + + + +attribute_target_specifier + + + +; + + + +type + + + +boolean_literal + + + +int + + + +attribute_target + + + +property_body + + + +{ + + + +type_parameter_constraints + + + +block + + + +return + + + +identifier + + + +< + + + +property_modifier + + + +identifier + + + +int + + + +} + + + +( + + + +class_member_declaration + + + +expression + + + +identifier + + + +parameter_list + + + +attribute_section + + + +; + + + +qualified_alias_member + + + +public + + + +} + + + +[ + + + +attribute_list + + + +positional_argument_list + + + +boolean_literal + + + +A + + + +class_member_declaration + + + +literal + + + +Obsolete + + + +NonExisting + + + +member_name + + + +method_body + + + +get + + + +finalizer_declaration + + + +{ + + + +interface_type_list + + + +{ + + + +identifier + + + +t + + + +accessor_body + + + +statement_list + + + +( + + + +member_name + + + +attribute_arguments + + + +property_body + + + +get_accessor_declaration + + + +|| + + + +type + + + +string + + + +P + + + +prog + + + +( + + + +( + + + +attribute_list + + + +ref_method_modifier + + + +class_modifier + + + +true + + + +attribute_section + + + +expression + + + +) + + + +attribute_arguments + + + +identifier + + + +) + + + +type_parameter_list + + + +identifier + + + +public + + + +class_declaration + + + +class_member_declaration + + + +attribute_list + + + +statement + + + +private + + + +property_declaration + + + +namespace_body + + + +attribute_list + + + +attribute_name + + + +readonly + + + +identifier + + + +> + + + +return_statement + + + +var + + + +new + + + +identifier + + + +namespace_or_type_name + + + +identifier + + + +"A" + + + +property_modifier + + + +int + + + +and_expression + + + +statement + + + +} + + + +:: + + + +Obsolete + + + +statement_expression + + + +[ + + + +identifier + + + +integral_type + + + +boolean_literal + + + +attribute_target + + + +] + + + +equality_expression + + + +) + + + +( + + + +attribute_section + + + +qualified_identifier + + + +( + + + +finalizer_body + + + +attributes + + + +NonSerialized + + + +member_name + + + +attributes + + + +; + + + +; + + + +( + + + +class_body + + + +method_modifiers + + + +identifier + + + +constructor_constraint + + + +identifier + + + +fixed_parameter + + + +contextual_keyword + + + +accessor_declarations + + + +attribute + + + +P + + + +~ + + + +} + + + +} + + + +field_declaration + + + +void + + + +literal + + + +: + + + +fixed_parameter + + + +type_parameters + + + +field_modifier + + + +base + + + +accessor_declarations + + + +: + + + +class_type + + + +identifier + + + +field_modifier + + + +class_modifier + + + +attribute_name + + + +, + + + +method_declaration + + + +System + + + +} + + + +positional_argument + + + +true + + + +boolean_literal + + + +attribute + + + +return + + + +identifier + + + +interface_type + + + +] + + + +CLSCompliant + + + +member_name + + + +namespace + + + +. + + + +5 + + + +identifier + + + +block + + + +conditional_and_expression + + + +class_member_declaration + + + +A + + + +identifier + + + +, + + + +[ + + + +( + + + +identifier + + + +t + + + +class + + + +integral_type + + + +accessor_body + + + +, + + + +return_type + + + +attribute_name + + + +CLSCompliant + + + +f2 + + + +primary_expression + + + +contextual_keyword + + + +T + + + +parameter_list + + + +compilation_unit + + + +field_modifier + + + +ref_method_modifier + + + +public + + + +identifier + + + +volatile + + + +object + + + +field_modifier + + + +conditional_or_expression + + + +attribute_section + + + +class_member_declaration + + + +, + + + +identifier + + + +return_statement + + + +attribute + + + +{ + + + +attribute_section + + + +Handler + + + +) + + + +[ + + + +where + + + +attribute_list + + + +abstract + + + +class_type + + + +; + + + +type + + + +attribute_list + + + +method_declaration + + + +type + + + +method + + + +[ + + + +Foo + + + +base_access + + + +T + + + +: + + + +) + + + +NonSerialized + + + +string + + + +attribute_section + + + +namespace_declaration + + + +{ + + + +I + + + +false + + + +1 + + + +identifier + + + +get + + + +and_expression + + + +positional_argument_list + + + +invocation_expression + + + +identifier + + + +return + + + +literal + + + +My + + + +identifier + + + +class_base + + + +attribute + + + +attribute_list + + + +identifier + + + +accessor_body + + + +{ + + + +positional_argument + + + +property_declaration + + + +: + + + +class + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..ef20a0451 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,39 @@ +namespace My +{ + public unsafe partial class A : C, I + { + public abstract int this[int index] + { + protected internal get; + internal protected set; + } + + [event: Test] + public event Action E1 + { + [Obsolete] + add { value = value; } + [Obsolete] + [return: Obsolete] + remove { E += Handler; E -= Handler; } + } + public static A operator +(A first, A second) + { + Delegate handler = new Delegate(Handler); + return first.Add(second); + } + [method: Obsolete] + [return: Obsolete] + public static bool operator true(A a) + { + return true; + } + public static bool operator false(A a) + { + return false; + } + class C + { + } + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..0f3df14a1 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,749 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ My +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ I +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ index +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ internal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ internal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ add_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ add +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ remove_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ remove +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ += +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Handler +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Handler +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ binary_operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ overloadable_binary_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ second +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ handler +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Handler +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Add +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ second +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ overloadable_unary_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ overloadable_unary_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..3fb4ea86d --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,147 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:11='My',,1:10] +[@2,13:13='{',<'{'>,2:0] +[@3,19:24='public',<'public'>,3:4] +[@4,26:31='unsafe',<'unsafe'>,3:11] +[@5,33:39='partial',<'partial'>,3:18] +[@6,41:45='class',<'class'>,3:26] +[@7,47:47='A',,3:32] +[@8,49:49=':',<':'>,3:34] +[@9,51:51='C',,3:36] +[@10,52:52=',',<','>,3:37] +[@11,54:54='I',,3:39] +[@12,60:60='{',<'{'>,4:4] +[@13,70:75='public',<'public'>,5:8] +[@14,77:84='abstract',<'abstract'>,5:15] +[@15,86:88='int',<'int'>,5:24] +[@16,90:93='this',<'this'>,5:28] +[@17,94:94='[',<'['>,5:32] +[@18,95:97='int',<'int'>,5:33] +[@19,99:103='index',,5:37] +[@20,104:104=']',<']'>,5:42] +[@21,114:114='{',<'{'>,6:8] +[@22,128:136='protected',<'protected'>,7:12] +[@23,138:145='internal',<'internal'>,7:22] +[@24,147:149='get',<'get'>,7:31] +[@25,150:150=';',<';'>,7:34] +[@26,164:171='internal',<'internal'>,8:12] +[@27,173:181='protected',<'protected'>,8:21] +[@28,183:185='set',<'set'>,8:31] +[@29,186:186=';',<';'>,8:34] +[@30,196:196='}',<'}'>,9:8] +[@31,207:207='[',<'['>,11:8] +[@32,208:212='event',<'event'>,11:9] +[@33,213:213=':',<':'>,11:14] +[@34,215:218='Test',,11:16] +[@35,219:219=']',<']'>,11:20] +[@36,229:234='public',<'public'>,12:8] +[@37,236:240='event',<'event'>,12:15] +[@38,242:247='Action',,12:21] +[@39,249:250='E1',,12:28] +[@40,260:260='{',<'{'>,13:8] +[@41,274:274='[',<'['>,14:12] +[@42,275:282='Obsolete',,14:13] +[@43,283:283=']',<']'>,14:21] +[@44,297:299='add',<'add'>,15:12] +[@45,301:301='{',<'{'>,15:16] +[@46,303:307='value',<'value'>,15:18] +[@47,309:309='=',<'='>,15:24] +[@48,311:315='value',<'value'>,15:26] +[@49,316:316=';',<';'>,15:31] +[@50,318:318='}',<'}'>,15:33] +[@51,332:332='[',<'['>,16:12] +[@52,333:340='Obsolete',,16:13] +[@53,341:341=']',<']'>,16:21] +[@54,355:355='[',<'['>,17:12] +[@55,356:361='return',<'return'>,17:13] +[@56,362:362=':',<':'>,17:19] +[@57,364:371='Obsolete',,17:21] +[@58,372:372=']',<']'>,17:29] +[@59,386:391='remove',<'remove'>,18:12] +[@60,393:393='{',<'{'>,18:19] +[@61,395:395='E',,18:21] +[@62,397:398='+=',<'+='>,18:23] +[@63,400:406='Handler',,18:26] +[@64,407:407=';',<';'>,18:33] +[@65,409:409='E',,18:35] +[@66,411:412='-=',<'-='>,18:37] +[@67,414:420='Handler',,18:40] +[@68,421:421=';',<';'>,18:47] +[@69,423:423='}',<'}'>,18:49] +[@70,433:433='}',<'}'>,19:8] +[@71,443:448='public',<'public'>,20:8] +[@72,450:455='static',<'static'>,20:15] +[@73,457:457='A',,20:22] +[@74,459:466='operator',<'operator'>,20:24] +[@75,468:468='+',<'+'>,20:33] +[@76,469:469='(',<'('>,20:34] +[@77,470:470='A',,20:35] +[@78,472:476='first',,20:37] +[@79,477:477=',',<','>,20:42] +[@80,479:479='A',,20:44] +[@81,481:486='second',,20:46] +[@82,487:487=')',<')'>,20:52] +[@83,497:497='{',<'{'>,21:8] +[@84,511:518='Delegate',,22:12] +[@85,520:526='handler',,22:21] +[@86,528:528='=',<'='>,22:29] +[@87,530:532='new',<'new'>,22:31] +[@88,534:541='Delegate',,22:35] +[@89,542:542='(',<'('>,22:43] +[@90,543:549='Handler',,22:44] +[@91,550:550=')',<')'>,22:51] +[@92,551:551=';',<';'>,22:52] +[@93,565:570='return',<'return'>,23:12] +[@94,572:576='first',,23:19] +[@95,577:577='.',<'.'>,23:24] +[@96,578:580='Add',,23:25] +[@97,581:581='(',<'('>,23:28] +[@98,582:587='second',,23:29] +[@99,588:588=')',<')'>,23:35] +[@100,589:589=';',<';'>,23:36] +[@101,599:599='}',<'}'>,24:8] +[@102,609:609='[',<'['>,25:8] +[@103,610:615='method',,25:9] +[@104,616:616=':',<':'>,25:15] +[@105,618:625='Obsolete',,25:17] +[@106,626:626=']',<']'>,25:25] +[@107,636:636='[',<'['>,26:8] +[@108,637:642='return',<'return'>,26:9] +[@109,643:643=':',<':'>,26:15] +[@110,645:652='Obsolete',,26:17] +[@111,653:653=']',<']'>,26:25] +[@112,663:668='public',<'public'>,27:8] +[@113,670:675='static',<'static'>,27:15] +[@114,677:680='bool',<'bool'>,27:22] +[@115,682:689='operator',<'operator'>,27:27] +[@116,691:694='true',<'true'>,27:36] +[@117,695:695='(',<'('>,27:40] +[@118,696:696='A',,27:41] +[@119,698:698='a',,27:43] +[@120,699:699=')',<')'>,27:44] +[@121,709:709='{',<'{'>,28:8] +[@122,723:728='return',<'return'>,29:12] +[@123,730:733='true',<'true'>,29:19] +[@124,734:734=';',<';'>,29:23] +[@125,744:744='}',<'}'>,30:8] +[@126,754:759='public',<'public'>,31:8] +[@127,761:766='static',<'static'>,31:15] +[@128,768:771='bool',<'bool'>,31:22] +[@129,773:780='operator',<'operator'>,31:27] +[@130,782:786='false',<'false'>,31:36] +[@131,787:787='(',<'('>,31:41] +[@132,788:788='A',,31:42] +[@133,790:790='a',,31:44] +[@134,791:791=')',<')'>,31:45] +[@135,801:801='{',<'{'>,32:8] +[@136,815:820='return',<'return'>,33:12] +[@137,822:826='false',<'false'>,33:19] +[@138,827:827=';',<';'>,33:24] +[@139,837:837='}',<'}'>,34:8] +[@140,847:851='class',<'class'>,35:8] +[@141,853:853='C',,35:14] +[@142,863:863='{',<'{'>,36:8] +[@143,873:873='}',<'}'>,37:8] +[@144,879:879='}',<'}'>,38:4] +[@145,881:881='}',<'}'>,39:0] +[@146,882:881='',,39:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..1b567d1eb --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (indexer_declaration (indexer_modifier public) (indexer_modifier abstract) (indexer_declarator (type (integral_type int)) this [ (parameter_list (fixed_parameter (type (integral_type int)) (identifier index))) ]) (indexer_body { (accessor_declarations (get_accessor_declaration (accessor_modifier protected internal) get (accessor_body ;)) (set_accessor_declaration (accessor_modifier internal protected) set (accessor_body ;))) }))) (class_member_declaration (event_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (keyword event)) :) (attribute_list (identifier Test)) ])) (event_modifier public) event (type (identifier Action)) (member_name (identifier E1)) { (event_accessor_declarations (add_accessor_declaration (attributes (attribute_section [ (attribute_list (identifier Obsolete)) ])) add (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (contextual_keyword value)) (assignment_operator =) (expression (contextual_keyword value)))) ;)) })) (remove_accessor_declaration (attributes (attribute_section [ (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_target_specifier (attribute_target (keyword return)) :) (attribute_list (identifier Obsolete)) ])) remove (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier E)) (assignment_operator +=) (expression (identifier Handler)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier E)) (assignment_operator -=) (expression (identifier Handler)))) ;))) }))) })) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (binary_operator_declarator (type (identifier A)) operator (overloadable_binary_operator +) ( (fixed_parameter (type (identifier A)) (identifier first)) , (fixed_parameter (type (identifier A)) (identifier second)) ))) (operator_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Delegate)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier handler) = (local_variable_initializer (object_creation_expression new (type (identifier Delegate)) ( (argument_list (identifier Handler)) ))))))) ;)) (statement (return_statement return (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier first)) . (identifier Add))) ( (argument_list (identifier second)) ))) ;))) })))) (class_member_declaration (operator_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_target_specifier (attribute_target (keyword return)) :) (attribute_list (identifier Obsolete)) ])) (operator_modifier public) (operator_modifier static) (operator_declarator (unary_operator_declarator (type (simple_type bool)) operator (overloadable_unary_operator true) ( (fixed_parameter (type (identifier A)) (identifier a)) ))) (operator_body (block { (statement_list (return_statement return (expression (boolean_literal true)) ;)) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (unary_operator_declarator (type (simple_type bool)) operator (overloadable_unary_operator false) ( (fixed_parameter (type (identifier A)) (identifier a)) ))) (operator_body (block { (statement_list (return_statement return (expression (boolean_literal false)) ;)) })))) (class_member_declaration (class_declaration class (identifier C) (class_body { }))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..2172804a5 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,1735 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +A + + + +A + + + +( + + + +unsafe_modifier + + + +get_accessor_declaration + + + +] + + + +attribute_list + + + +-= + + + +attribute_list + + + +boolean_literal + + + +keyword + + + +static + + + +{ + + + +index + + + +identifier + + + +{ + + + +; + + + +a + + + +primary_expression + + + +assignment + + + +compilation_unit + + + +C + + + +identifier + + + +contextual_keyword + + + +Handler + + + +operator_modifier + + + +binary_operator_declarator + + + +statement_list + + + +} + + + +{ + + + ++ + + + +bool + + + +prog + + + +statement_expression + + + +protected + + + +object_creation_expression + + + +attribute_target_specifier + + + +event_declaration + + + +event + + + +identifier + + + +attribute_list + + + +identifier + + + +static + + + +: + + + +attributes + + + +attribute_section + + + +Action + + + +operator + + + +attribute_target + + + +internal + + + +attribute_target + + + +identifier + + + +; + + + +[ + + + +statement_list + + + +statement + + + +identifier + + + +int + + + +; + + + +return_statement + + + +[ + + + +namespace_declaration + + + +false + + + +class_body + + + +class_member_declaration + + + +identifier + + + +return + + + +attributes + + + +] + + + +[ + + + +event + + + +true + + + +attribute_list + + + +{ + + + +) + + + +contextual_keyword + + + +} + + + +} + + + +unary_operator_declarator + + + +class_member_declaration + + + +return + + + +overloadable_unary_operator + + + +namespace_member_declaration + + + +method + + + +public + + + +type + + + +{ + + + +type + + + +attribute_list + + + +class_member_declaration + + + +type + + + +accessor_body + + + +return + + + +expression_statement + + + +) + + + +public + + + +. + + + +argument_list + + + +] + + + +indexer_body + + + +identifier + + + +integral_type + + + +] + + + +type + + + +fixed_parameter + + + +block + + + +: + + + +attributes + + + +attributes + + + +statement + + + +member_name + + + +attribute_section + + + +public + + + +assignment_operator + + + +type + + + +remove_accessor_declaration + + + +fixed_parameter + + + +identifier + + + +} + + + +attribute_section + + + +local_variable_initializer + + + +expression_statement + + + +( + + + +attribute_section + + + +add + + + +explicitly_typed_local_variable_declarators + + + +attribute_target_specifier + + + +indexer_declarator + + + +operator_declaration + + + +Handler + + + +C + + + +statement_list + + + +operator_declarator + + + +} + + + +assignment_operator + + + +operator_declarator + + + +identifier + + + +first + + + +class_modifier + + + +attribute_target_specifier + + + +statement_list + + + +: + + + +{ + + + +identifier + + + +class_modifier + + + +attribute_target + + + +indexer_modifier + + + +add_accessor_declaration + + + +identifier + + + +namespace_body + + + ++= + + + +Add + + + += + + + +Obsolete + + + +{ + + + +int + + + +primary_expression + + + +explicitly_typed_local_variable_declaration + + + +member_access + + + +return + + + +My + + + +class_member_declaration + + + +handler + + + +type + + + +expression_statement + + + +, + + + +event_modifier + + + +operator_modifier + + + +operator_body + + + +attribute_section + + + +identifier + + + +block + + + +unary_expression + + + +operator_modifier + + + +type + + + +operator + + + +public + + + +explicitly_typed_local_variable_declarator + + + +A + + + +E1 + + + +[ + + + += + + + +remove + + + +class_declaration + + + +class_body + + + +attribute_target + + + +public + + + +Delegate + + + +qualified_identifier + + + +class + + + +statement_expression + + + +namespace + + + +class_declaration + + + +accessor_modifier + + + +attribute_target_specifier + + + +type + + + +event_accessor_declarations + + + +attribute_list + + + +) + + + +unsafe + + + +; + + + +statement + + + +static + + + +statement_list + + + +public + + + +block + + + +return_statement + + + +expression + + + +class + + + +operator_modifier + + + +type + + + +( + + + +A + + + +) + + + +{ + + + +assignment + + + +identifier + + + +type + + + +accessor_declarations + + + +get + + + +declaration_statement + + + +a + + + +operator_body + + + +integral_type + + + +operator_declaration + + + +operator_body + + + +operator + + + +} + + + +simple_type + + + +I + + + +class_member_declaration + + + +identifier + + + +E + + + +interface_type + + + +; + + + +abstract + + + +this + + + +identifier + + + +expression + + + +( + + + +; + + + +statement + + + +identifier + + + +class_member_declaration + + + +[ + + + +identifier + + + +keyword + + + +identifier + + + +identifier + + + +: + + + +fixed_parameter + + + +) + + + +] + + + +bool + + + +assignment + + + +} + + + +identifier + + + +identifier + + + +type + + + +[ + + + +identifier + + + +} + + + +identifier + + + +A + + + +Delegate + + + +indexer_modifier + + + +interface_type + + + +Obsolete + + + +value + + + +} + + + +Obsolete + + + +fixed_parameter + + + +; + + + +keyword + + + +; + + + +statement_expression + + + +, + + + +Obsolete + + + +identifier + + + +unary_expression + + + +identifier + + + +first + + + +unary_operator_declarator + + + +accessor_body + + + +Handler + + + +operator_declaration + + + +class_base + + + +identifier + + + +interface_type_list + + + +second + + + +new + + + +expression + + + +identifier + + + +{ + + + +operator_modifier + + + +A + + + +set_accessor_declaration + + + +] + + + +: + + + +invocation_expression + + + +overloadable_unary_operator + + + +fixed_parameter + + + +local_variable_declaration + + + +assignment_operator + + + +operator_declarator + + + +[ + + + +expression + + + +attribute_section + + + +Test + + + +( + + + +block + + + +simple_type + + + +overloadable_binary_operator + + + +identifier + + + +true + + + +parameter_list + + + +identifier + + + +E + + + +} + + + +expression + + + +second + + + +return_statement + + + +expression + + + +identifier + + + +Obsolete + + + +set + + + +value + + + +identifier + + + +block + + + +identifier + + + +{ + + + +argument_list + + + +indexer_declaration + + + +accessor_modifier + + + +identifier + + + +false + + + +return + + + +identifier + + + +partial + + + +] + + + +; + + + +protected + + + +internal + + + +boolean_literal + + + +unary_expression + + + +type + + + +operator_modifier + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..41d278203 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,53 @@ +namespace My +{ + public struct S : I + { + public S() + { + } + private int f1; + [Obsolete("Use Script instead", error: false)] + private volatile int f2; + public abstract int m(T t) + where T : struct + { + return 1; + } + public string P + { + get + { + int value = 0; + return "A"; + } + set; + } + public abstract string P + { + get; + } + public abstract int this[int index] + { + get; + internal protected set; + } + public event Event E; + public static A operator +(A first, A second) + { + return first.Add(second); + } + fixed int field[10]; + class C + { + } + } + public interface I + { + void A(int value); + string Value + { + get; + set; + } + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..c180b8993 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,804 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ My +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ S +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_interfaces +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ I +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ S +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ private +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Use Script instead" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ error +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_argument_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ private +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ volatile +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ m +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_constraint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "A" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ index +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ internal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Event +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ binary_operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ overloadable_binary_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ second +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Add +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ second +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_size_buffer_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ buffer_element_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_size_buffer_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_size_buffer_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 10 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ I +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_accessors +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..3a58a1fef --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,157 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:11='My',,1:10] +[@2,13:13='{',<'{'>,2:0] +[@3,19:24='public',<'public'>,3:4] +[@4,26:31='struct',<'struct'>,3:11] +[@5,33:33='S',,3:18] +[@6,35:35=':',<':'>,3:20] +[@7,37:37='I',,3:22] +[@8,43:43='{',<'{'>,4:4] +[@9,53:58='public',<'public'>,5:8] +[@10,60:60='S',,5:15] +[@11,61:61='(',<'('>,5:16] +[@12,62:62=')',<')'>,5:17] +[@13,72:72='{',<'{'>,6:8] +[@14,82:82='}',<'}'>,7:8] +[@15,92:98='private',<'private'>,8:8] +[@16,100:102='int',<'int'>,8:16] +[@17,104:105='f1',,8:20] +[@18,106:106=';',<';'>,8:22] +[@19,116:116='[',<'['>,9:8] +[@20,117:124='Obsolete',,9:9] +[@21,125:125='(',<'('>,9:17] +[@22,126:145='"Use Script instead"',,9:18] +[@23,146:146=',',<','>,9:38] +[@24,148:152='error',,9:40] +[@25,153:153=':',<':'>,9:45] +[@26,155:159='false',<'false'>,9:47] +[@27,160:160=')',<')'>,9:52] +[@28,161:161=']',<']'>,9:53] +[@29,171:177='private',<'private'>,10:8] +[@30,179:186='volatile',<'volatile'>,10:16] +[@31,188:190='int',<'int'>,10:25] +[@32,192:193='f2',,10:29] +[@33,194:194=';',<';'>,10:31] +[@34,204:209='public',<'public'>,11:8] +[@35,211:218='abstract',<'abstract'>,11:15] +[@36,220:222='int',<'int'>,11:24] +[@37,224:224='m',,11:28] +[@38,225:225='<',<'<'>,11:29] +[@39,226:226='T',,11:30] +[@40,227:227='>',<'>'>,11:31] +[@41,228:228='(',<'('>,11:32] +[@42,229:229='T',,11:33] +[@43,231:231='t',,11:35] +[@44,232:232=')',<')'>,11:36] +[@45,244:248='where',<'where'>,12:10] +[@46,250:250='T',,12:16] +[@47,252:252=':',<':'>,12:18] +[@48,254:259='struct',<'struct'>,12:20] +[@49,269:269='{',<'{'>,13:8] +[@50,283:288='return',<'return'>,14:12] +[@51,290:290='1',,14:19] +[@52,291:291=';',<';'>,14:20] +[@53,301:301='}',<'}'>,15:8] +[@54,311:316='public',<'public'>,16:8] +[@55,318:323='string',<'string'>,16:15] +[@56,325:325='P',,16:22] +[@57,335:335='{',<'{'>,17:8] +[@58,349:351='get',<'get'>,18:12] +[@59,365:365='{',<'{'>,19:12] +[@60,383:385='int',<'int'>,20:16] +[@61,387:391='value',<'value'>,20:20] +[@62,393:393='=',<'='>,20:26] +[@63,395:395='0',,20:28] +[@64,396:396=';',<';'>,20:29] +[@65,414:419='return',<'return'>,21:16] +[@66,421:423='"A"',,21:23] +[@67,424:424=';',<';'>,21:26] +[@68,438:438='}',<'}'>,22:12] +[@69,452:454='set',<'set'>,23:12] +[@70,455:455=';',<';'>,23:15] +[@71,465:465='}',<'}'>,24:8] +[@72,475:480='public',<'public'>,25:8] +[@73,482:489='abstract',<'abstract'>,25:15] +[@74,491:496='string',<'string'>,25:24] +[@75,498:498='P',,25:31] +[@76,508:508='{',<'{'>,26:8] +[@77,522:524='get',<'get'>,27:12] +[@78,525:525=';',<';'>,27:15] +[@79,535:535='}',<'}'>,28:8] +[@80,545:550='public',<'public'>,29:8] +[@81,552:559='abstract',<'abstract'>,29:15] +[@82,561:563='int',<'int'>,29:24] +[@83,565:568='this',<'this'>,29:28] +[@84,569:569='[',<'['>,29:32] +[@85,570:572='int',<'int'>,29:33] +[@86,574:578='index',,29:37] +[@87,579:579=']',<']'>,29:42] +[@88,589:589='{',<'{'>,30:8] +[@89,603:605='get',<'get'>,31:12] +[@90,606:606=';',<';'>,31:15] +[@91,620:627='internal',<'internal'>,32:12] +[@92,629:637='protected',<'protected'>,32:21] +[@93,639:641='set',<'set'>,32:31] +[@94,642:642=';',<';'>,32:34] +[@95,652:652='}',<'}'>,33:8] +[@96,662:667='public',<'public'>,34:8] +[@97,669:673='event',<'event'>,34:15] +[@98,675:679='Event',,34:21] +[@99,681:681='E',,34:27] +[@100,682:682=';',<';'>,34:28] +[@101,692:697='public',<'public'>,35:8] +[@102,699:704='static',<'static'>,35:15] +[@103,706:706='A',,35:22] +[@104,708:715='operator',<'operator'>,35:24] +[@105,717:717='+',<'+'>,35:33] +[@106,718:718='(',<'('>,35:34] +[@107,719:719='A',,35:35] +[@108,721:725='first',,35:37] +[@109,726:726=',',<','>,35:42] +[@110,728:728='A',,35:44] +[@111,730:735='second',,35:46] +[@112,736:736=')',<')'>,35:52] +[@113,746:746='{',<'{'>,36:8] +[@114,760:765='return',<'return'>,37:12] +[@115,767:771='first',,37:19] +[@116,772:772='.',<'.'>,37:24] +[@117,773:775='Add',,37:25] +[@118,776:776='(',<'('>,37:28] +[@119,777:782='second',,37:29] +[@120,783:783=')',<')'>,37:35] +[@121,784:784=';',<';'>,37:36] +[@122,794:794='}',<'}'>,38:8] +[@123,804:808='fixed',<'fixed'>,39:8] +[@124,810:812='int',<'int'>,39:14] +[@125,814:818='field',,39:18] +[@126,819:819='[',<'['>,39:23] +[@127,820:821='10',,39:24] +[@128,822:822=']',<']'>,39:26] +[@129,823:823=';',<';'>,39:27] +[@130,833:837='class',<'class'>,40:8] +[@131,839:839='C',,40:14] +[@132,849:849='{',<'{'>,41:8] +[@133,859:859='}',<'}'>,42:8] +[@134,865:865='}',<'}'>,43:4] +[@135,871:876='public',<'public'>,44:4] +[@136,878:886='interface',<'interface'>,44:11] +[@137,888:888='I',,44:21] +[@138,894:894='{',<'{'>,45:4] +[@139,904:907='void',<'void'>,46:8] +[@140,909:909='A',,46:13] +[@141,910:910='(',<'('>,46:14] +[@142,911:913='int',<'int'>,46:15] +[@143,915:919='value',<'value'>,46:19] +[@144,920:920=')',<')'>,46:24] +[@145,921:921=';',<';'>,46:25] +[@146,931:936='string',<'string'>,47:8] +[@147,938:942='Value',,47:15] +[@148,952:952='{',<'{'>,48:8] +[@149,966:968='get',<'get'>,49:12] +[@150,969:969=';',<';'>,49:15] +[@151,983:985='set',<'set'>,50:12] +[@152,986:986=';',<';'>,50:15] +[@153,996:996='}',<'}'>,51:8] +[@154,1002:1002='}',<'}'>,52:4] +[@155,1004:1004='}',<'}'>,53:0] +[@156,1005:1004='',,53:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..c21efaea0 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (struct_declaration (struct_modifier public) struct (identifier S) (struct_interfaces : (interface_type_list (identifier I))) (struct_body { (struct_member_declaration (constructor_declaration (constructor_modifier public) (constructor_declarator (identifier S) ( )) (constructor_body (block { })))) (struct_member_declaration (field_declaration (field_modifier private) (type (integral_type int)) (variable_declarators (identifier f1)) ;)) (struct_member_declaration (field_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier Obsolete)) (attribute_arguments ( (positional_argument_list (positional_argument (literal "Use Script instead")) , (positional_argument (argument_name (identifier error) :) (attribute_argument_expression (boolean_literal false)))) )))) ])) (field_modifier private) (field_modifier volatile) (type (integral_type int)) (variable_declarators (identifier f2)) ;)) (struct_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier abstract))) (return_type (integral_type int)) (method_header (member_name (identifier m)) (type_parameter_list < (type_parameters (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier t))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint struct)))) (method_body (block { (statement_list (return_statement return (expression (literal 1)) ;)) })))) (struct_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword value)) = (local_variable_initializer (literal 0)))))) ;)) (statement (return_statement return (expression (literal "A")) ;))) }))) (set_accessor_declaration set (accessor_body ;))) }))) (struct_member_declaration (property_declaration (property_modifier public) (property_modifier abstract) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) }))) (struct_member_declaration (indexer_declaration (indexer_modifier public) (indexer_modifier abstract) (indexer_declarator (type (integral_type int)) this [ (parameter_list (fixed_parameter (type (integral_type int)) (identifier index))) ]) (indexer_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;)) (set_accessor_declaration (accessor_modifier internal protected) set (accessor_body ;))) }))) (struct_member_declaration (event_declaration (event_modifier public) event (type (identifier Event)) (variable_declarators (identifier E)) ;)) (struct_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (binary_operator_declarator (type (identifier A)) operator (overloadable_binary_operator +) ( (fixed_parameter (type (identifier A)) (identifier first)) , (fixed_parameter (type (identifier A)) (identifier second)) ))) (operator_body (block { (statement_list (return_statement return (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier first)) . (identifier Add))) ( (argument_list (identifier second)) ))) ;)) })))) (struct_member_declaration (fixed_size_buffer_declaration fixed (buffer_element_type (integral_type int)) (fixed_size_buffer_declarators (fixed_size_buffer_declarator (identifier field) [ (constant_expression (literal 10)) ])) ;)) (struct_member_declaration (class_declaration class (identifier C) (class_body { }))) }))) (namespace_member_declaration (interface_declaration (interface_modifier public) interface (identifier I) (interface_body { (interface_member_declaration (interface_method_declaration (return_type void) (interface_method_header (identifier A) ( (parameter_list (fixed_parameter (type (integral_type int)) (identifier (contextual_keyword value)))) ) ;))) (interface_member_declaration (interface_property_declaration (type (class_type string)) (identifier Value) { (interface_accessors get ; set ;) })) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..bfd254c23 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,1860 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +attribute_arguments + + + +property_declaration + + + +abstract + + + +indexer_modifier + + + +( + + + +indexer_modifier + + + +Add + + + +get_accessor_declaration + + + +property_declaration + + + +public + + + +; + + + +) + + + +method_modifier + + + +struct_interfaces + + + +} + + + +namespace + + + +namespace_member_declaration + + + +return_statement + + + +type + + + +literal + + + +int + + + +constructor_declaration + + + +f1 + + + +get + + + +identifier + + + +primary_expression + + + +type + + + +struct_declaration + + + +[ + + + +accessor_body + + + +( + + + +explicitly_typed_local_variable_declarators + + + +{ + + + +block + + + +type + + + +statement_list + + + +T + + + +{ + + + +; + + + +My + + + +parameter_list + + + +int + + + +return_type + + + +fixed_parameter + + + +ref_method_modifier + + + +method_declaration + + + +; + + + +"A" + + + +indexer_body + + + +qualified_identifier + + + +integral_type + + + +integral_type + + + +int + + + +Value + + + +} + + + +Event + + + +private + + + +; + + + +identifier + + + +accessor_body + + + +get_accessor_declaration + + + +public + + + +; + + + +first + + + +struct_member_declaration + + + +: + + + +; + + + +identifier + + + +} + + + +{ + + + +local_variable_initializer + + + +identifier + + + +block + + + +int + + + +overloadable_binary_operator + + + +compilation_unit + + + +attribute_name + + + +{ + + + +struct_body + + + +) + + + +where + + + +int + + + +fixed_size_buffer_declarators + + + +0 + + + +fixed_size_buffer_declaration + + + +struct_modifier + + + +[ + + + +expression + + + +} + + + +interface_accessors + + + +> + + + +identifier + + + +} + + + +field_modifier + + + +< + + + +member_name + + + +P + + + +{ + + + +property_body + + + +declaration_statement + + + +[ + + + +fixed_parameter + + + +operator_declaration + + + +first + + + +property_modifier + + + +10 + + + +} + + + +literal + + + +; + + + +member_name + + + +( + + + +accessor_declarations + + + +interface_property_declaration + + + +) + + + +class_body + + + +accessor_body + + + +; + + + +{ + + + +, + + + +S + + + +public + + + +type + + + +public + + + +explicitly_typed_local_variable_declaration + + + +public + + + +get + + + +accessor_declarations + + + +identifier + + + +struct_member_declaration + + + +struct_member_declaration + + + +property_modifier + + + +accessor_body + + + +return + + + +} + + + +type_parameter_list + + + +indexer_declaration + + + +] + + + +{ + + + +property_modifier + + + +C + + + +set_accessor_declaration + + + +; + + + +I + + + +class + + + +statement_list + + + +identifier + + + +int + + + +positional_argument + + + +, + + + +fixed_parameter + + + +abstract + + + +Obsolete + + + +type + + + +E + + + +literal + + + +; + + + +type + + + +int + + + +field_declaration + + + +constructor_declarator + + + +m + + + +attribute_argument_expression + + + +identifier + + + +contextual_keyword + + + +identifier + + + +statement_list + + + += + + + +contextual_keyword + + + +class_type + + + +interface_method_declaration + + + +f2 + + + +attribute_list + + + +struct_member_declaration + + + +parameter_list + + + +statement + + + +block + + + +identifier + + + +; + + + +void + + + +( + + + +identifier + + + +property_body + + + +set + + + +integral_type + + + +literal + + + +variable_declarators + + + +protected + + + +field_modifier + + + +method_modifiers + + + +struct_member_declaration + + + +fixed_parameter + + + +set_accessor_declaration + + + +prog + + + +return_statement + + + +1 + + + +public + + + +indexer_declarator + + + +expression + + + +fixed_size_buffer_declarator + + + +operator + + + +parameter_list + + + +interface_declaration + + + +struct_member_declaration + + + +type + + + +type + + + +identifier + + + +; + + + +identifier + + + +integral_type + + + +S + + + +} + + + +struct_member_declaration + + + +} + + + +positional_argument_list + + + +identifier + + + +t + + + +; + + + +type + + + +operator_modifier + + + +A + + + +type_parameter_constraints + + + +{ + + + +identifier + + + +identifier + + + +identifier + + + +"Use·Script·instead" + + + +expression + + + +member_name + + + +] + + + +class_declaration + + + +interface_method_header + + + +fixed + + + +type + + + +fixed_parameter + + + +set + + + +error + + + +boolean_literal + + + +event + + + +identifier + + + +accessor_declarations + + + +class_type + + + +identifier + + + +; + + + +public + + + +type_parameters + + + +struct + + + +public + + + +return + + + +interface_member_declaration + + + +struct_member_declaration + + + +get + + + +constant_expression + + + +( + + + +local_variable_declaration + + + +interface_body + + + +event_modifier + + + +A + + + +return + + + +identifier + + + +identifier + + + +A + + + +method_body + + + +{ + + + +identifier + + + +positional_argument + + + +interface_type_list + + + +string + + + +volatile + + + +return_statement + + + +) + + + +argument_list + + + +struct_member_declaration + + + +) + + + +{ + + + +second + + + +identifier + + + +identifier + + + +attribute_section + + + +type_parameter + + + +attributes + + + +] + + + +identifier + + + +( + + + +method_header + + + +primary_constraint + + + +; + + + +string + + + +: + + + +invocation_expression + + + +operator_declarator + + + +string + + + +member_access + + + +integral_type + + + +type + + + +variable_declarators + + + +attribute + + + +} + + + +private + + + +identifier + + + +namespace_body + + + +primary_expression + + + +namespace_member_declaration + + + +false + + + +index + + + +A + + + +return_type + + + +event_declaration + + + +integral_type + + + +struct_member_declaration + + + ++ + + + +literal + + + +operator_modifier + + + +identifier + + + +ref_method_modifier + + + +interface_modifier + + + +int + + + +T + + + +) + + + +namespace_declaration + + + +get + + + +internal + + + +value + + + +I + + + +identifier + + + +integral_type + + + +identifier + + + +struct + + + +operator_body + + + +. + + + +second + + + +block + + + +interface + + + +set + + + +} + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +T + + + +field_modifier + + + +method_modifier + + + +struct_member_declaration + + + +public + + + +constructor_body + + + +constructor_modifier + + + +accessor_body + + + +accessor_modifier + + + +variable_declarators + + + +field + + + +type_parameter_constraints_clause + + + +{ + + + +identifier + + + +statement + + + +class_type + + + +field_declaration + + + +buffer_element_type + + + +} + + + +abstract + + + +type + + + +identifier + + + +integral_type + + + +get_accessor_declaration + + + +type + + + +value + + + +interface_member_declaration + + + +argument_name + + + +{ + + + +: + + + +binary_operator_declarator + + + +P + + + +this + + + +static + + + +identifier + + + +type + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..91fd5f858 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,51 @@ +namespace My +{ + [type: Flags] + public enum E + { + A, + B = A, + C = 2 + A, + D, + } + + public delegate void Delegate(object P); + namespace Test + { + using System; + using System.Collections; + public class Список + { + public static IEnumerable Power(int number, int exponent) + { + Список Список = new Список(); + Список.Main(); + int counter = (0 + 0); + int אתר = 0; + while (++counter++ < --exponent--) + { + result = result * number + +number+++++number; + yield return result; + } + } + static void Main() + { + foreach (int i in Power(2, 8)) + { + Console.Write("{0} ", i); + } + } + async void Wait() + { + await System.Threading.Tasks.Task.Delay(0); + } + void AsyncAnonymous() // C # 5 feature + { + var task = Task.Factory.StartNew(async () => + { + return await new WebClient().DownloadStringTaskAsync("http://example.com"); + }); + } + } + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..1a1f78f27 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,1135 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ My +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Flags +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_member_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_directive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_namespace_directive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Collections +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Список +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IEnumerable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Power +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ number +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exponent +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Список +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Список +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Список +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Список +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Main +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ counter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parenthesized_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ אתר +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ while_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ while +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ counter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_decrement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -- +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_decrement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exponent +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -- +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ result +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ result +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ number +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ number +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ number +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ result +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Main +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foreach_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foreach +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Power +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 8 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Console +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Write +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "{0} " +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Wait +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Threading +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Tasks +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Task +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Delay +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ AsyncAnonymous +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ task +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Task +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Factory +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ StartNew +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WebClient +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DownloadStringTaskAsync +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "http://example.com" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..23d16c334 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,211 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:11='My',,1:10] +[@2,13:13='{',<'{'>,2:0] +[@3,19:19='[',<'['>,3:4] +[@4,20:23='type',,3:5] +[@5,24:24=':',<':'>,3:9] +[@6,26:30='Flags',,3:11] +[@7,31:31=']',<']'>,3:16] +[@8,37:42='public',<'public'>,4:4] +[@9,44:47='enum',<'enum'>,4:11] +[@10,49:49='E',,4:16] +[@11,55:55='{',<'{'>,5:4] +[@12,65:65='A',,6:8] +[@13,66:66=',',<','>,6:9] +[@14,76:76='B',,7:8] +[@15,78:78='=',<'='>,7:10] +[@16,80:80='A',,7:12] +[@17,81:81=',',<','>,7:13] +[@18,91:91='C',,8:8] +[@19,93:93='=',<'='>,8:10] +[@20,95:95='2',,8:12] +[@21,97:97='+',<'+'>,8:14] +[@22,99:99='A',,8:16] +[@23,100:100=',',<','>,8:17] +[@24,110:110='D',,9:8] +[@25,111:111=',',<','>,9:9] +[@26,117:117='}',<'}'>,10:4] +[@27,128:133='public',<'public'>,12:4] +[@28,135:142='delegate',<'delegate'>,12:11] +[@29,144:147='void',<'void'>,12:20] +[@30,149:156='Delegate',,12:25] +[@31,157:157='(',<'('>,12:33] +[@32,158:163='object',<'object'>,12:34] +[@33,165:165='P',,12:41] +[@34,166:166=')',<')'>,12:42] +[@35,167:167=';',<';'>,12:43] +[@36,173:181='namespace',<'namespace'>,13:4] +[@37,183:186='Test',,13:14] +[@38,192:192='{',<'{'>,14:4] +[@39,202:206='using',<'using'>,15:8] +[@40,208:213='System',,15:14] +[@41,214:214=';',<';'>,15:20] +[@42,224:228='using',<'using'>,16:8] +[@43,230:235='System',,16:14] +[@44,236:236='.',<'.'>,16:20] +[@45,237:247='Collections',,16:21] +[@46,248:248=';',<';'>,16:32] +[@47,258:263='public',<'public'>,17:8] +[@48,265:269='class',<'class'>,17:15] +[@49,271:276='Список',,17:21] +[@50,286:286='{',<'{'>,18:8] +[@51,300:305='public',<'public'>,19:12] +[@52,307:312='static',<'static'>,19:19] +[@53,314:324='IEnumerable',,19:26] +[@54,326:330='Power',,19:38] +[@55,331:331='(',<'('>,19:43] +[@56,332:334='int',<'int'>,19:44] +[@57,336:341='number',,19:48] +[@58,342:342=',',<','>,19:54] +[@59,344:346='int',<'int'>,19:56] +[@60,348:355='exponent',,19:60] +[@61,356:356=')',<')'>,19:68] +[@62,370:370='{',<'{'>,20:12] +[@63,388:393='Список',,21:16] +[@64,395:400='Список',,21:23] +[@65,402:402='=',<'='>,21:30] +[@66,404:406='new',<'new'>,21:32] +[@67,408:413='Список',,21:36] +[@68,414:414='(',<'('>,21:42] +[@69,415:415=')',<')'>,21:43] +[@70,416:416=';',<';'>,21:44] +[@71,434:439='Список',,22:16] +[@72,440:440='.',<'.'>,22:22] +[@73,441:444='Main',,22:23] +[@74,445:445='(',<'('>,22:27] +[@75,446:446=')',<')'>,22:28] +[@76,447:447=';',<';'>,22:29] +[@77,465:467='int',<'int'>,23:16] +[@78,469:475='counter',,23:20] +[@79,477:477='=',<'='>,23:28] +[@80,479:479='(',<'('>,23:30] +[@81,480:480='0',,23:31] +[@82,482:482='+',<'+'>,23:33] +[@83,484:484='0',,23:35] +[@84,485:485=')',<')'>,23:36] +[@85,486:486=';',<';'>,23:37] +[@86,504:506='int',<'int'>,24:16] +[@87,508:510='אתר',,24:20] +[@88,512:512='=',<'='>,24:24] +[@89,514:514='0',,24:26] +[@90,515:515=';',<';'>,24:27] +[@91,533:537='while',<'while'>,25:16] +[@92,539:539='(',<'('>,25:22] +[@93,540:541='++',<'++'>,25:23] +[@94,542:548='counter',,25:25] +[@95,549:550='++',<'++'>,25:32] +[@96,552:552='<',<'<'>,25:35] +[@97,554:555='--',<'--'>,25:37] +[@98,556:563='exponent',,25:39] +[@99,564:565='--',<'--'>,25:47] +[@100,566:566=')',<')'>,25:49] +[@101,584:584='{',<'{'>,26:16] +[@102,606:611='result',,27:20] +[@103,613:613='=',<'='>,27:27] +[@104,615:620='result',,27:29] +[@105,622:622='*',<'*'>,27:36] +[@106,624:629='number',,27:38] +[@107,631:631='+',<'+'>,27:45] +[@108,633:633='+',<'+'>,27:47] +[@109,634:639='number',,27:48] +[@110,640:641='++',<'++'>,27:54] +[@111,642:643='++',<'++'>,27:56] +[@112,644:644='+',<'+'>,27:58] +[@113,645:650='number',,27:59] +[@114,651:651=';',<';'>,27:65] +[@115,673:677='yield',<'yield'>,28:20] +[@116,679:684='return',<'return'>,28:26] +[@117,686:691='result',,28:33] +[@118,692:692=';',<';'>,28:39] +[@119,710:710='}',<'}'>,29:16] +[@120,724:724='}',<'}'>,30:12] +[@121,738:743='static',<'static'>,31:12] +[@122,745:748='void',<'void'>,31:19] +[@123,750:753='Main',,31:24] +[@124,754:754='(',<'('>,31:28] +[@125,755:755=')',<')'>,31:29] +[@126,769:769='{',<'{'>,32:12] +[@127,787:793='foreach',<'foreach'>,33:16] +[@128,795:795='(',<'('>,33:24] +[@129,796:798='int',<'int'>,33:25] +[@130,800:800='i',,33:29] +[@131,802:803='in',<'in'>,33:31] +[@132,805:809='Power',,33:34] +[@133,810:810='(',<'('>,33:39] +[@134,811:811='2',,33:40] +[@135,812:812=',',<','>,33:41] +[@136,814:814='8',,33:43] +[@137,815:815=')',<')'>,33:44] +[@138,816:816=')',<')'>,33:45] +[@139,834:834='{',<'{'>,34:16] +[@140,856:862='Console',,35:20] +[@141,863:863='.',<'.'>,35:27] +[@142,864:868='Write',,35:28] +[@143,869:869='(',<'('>,35:33] +[@144,870:875='"{0} "',,35:34] +[@145,876:876=',',<','>,35:40] +[@146,878:878='i',,35:42] +[@147,879:879=')',<')'>,35:43] +[@148,880:880=';',<';'>,35:44] +[@149,898:898='}',<'}'>,36:16] +[@150,912:912='}',<'}'>,37:12] +[@151,926:930='async',<'async'>,38:12] +[@152,932:935='void',<'void'>,38:18] +[@153,937:940='Wait',,38:23] +[@154,941:941='(',<'('>,38:27] +[@155,942:942=')',<')'>,38:28] +[@156,956:956='{',<'{'>,39:12] +[@157,974:978='await',<'await'>,40:16] +[@158,980:985='System',,40:22] +[@159,986:986='.',<'.'>,40:28] +[@160,987:995='Threading',,40:29] +[@161,996:996='.',<'.'>,40:38] +[@162,997:1001='Tasks',,40:39] +[@163,1002:1002='.',<'.'>,40:44] +[@164,1003:1006='Task',,40:45] +[@165,1007:1007='.',<'.'>,40:49] +[@166,1008:1012='Delay',,40:50] +[@167,1013:1013='(',<'('>,40:55] +[@168,1014:1014='0',,40:56] +[@169,1015:1015=')',<')'>,40:57] +[@170,1016:1016=';',<';'>,40:58] +[@171,1030:1030='}',<'}'>,41:12] +[@172,1044:1047='void',<'void'>,42:12] +[@173,1049:1062='AsyncAnonymous',,42:17] +[@174,1063:1063='(',<'('>,42:31] +[@175,1064:1064=')',<')'>,42:32] +[@176,1095:1095='{',<'{'>,43:12] +[@177,1113:1115='var',<'var'>,44:16] +[@178,1117:1120='task',,44:20] +[@179,1122:1122='=',<'='>,44:25] +[@180,1124:1127='Task',,44:27] +[@181,1128:1128='.',<'.'>,44:31] +[@182,1129:1135='Factory',,44:32] +[@183,1136:1136='.',<'.'>,44:39] +[@184,1137:1144='StartNew',,44:40] +[@185,1145:1145='(',<'('>,44:48] +[@186,1146:1150='async',<'async'>,44:49] +[@187,1152:1152='(',<'('>,44:55] +[@188,1153:1153=')',<')'>,44:56] +[@189,1155:1156='=>',<'=>'>,44:58] +[@190,1174:1174='{',<'{'>,45:16] +[@191,1196:1201='return',<'return'>,46:20] +[@192,1203:1207='await',<'await'>,46:27] +[@193,1209:1211='new',<'new'>,46:33] +[@194,1213:1221='WebClient',,46:37] +[@195,1222:1222='(',<'('>,46:46] +[@196,1223:1223=')',<')'>,46:47] +[@197,1224:1224='.',<'.'>,46:48] +[@198,1225:1247='DownloadStringTaskAsync',,46:49] +[@199,1248:1248='(',<'('>,46:72] +[@200,1249:1268='"http://example.com"',,46:73] +[@201,1269:1269=')',<')'>,46:93] +[@202,1270:1270=';',<';'>,46:94] +[@203,1288:1288='}',<'}'>,47:16] +[@204,1289:1289=')',<')'>,47:17] +[@205,1290:1290=';',<';'>,47:18] +[@206,1304:1304='}',<'}'>,48:12] +[@207,1314:1314='}',<'}'>,49:8] +[@208,1320:1320='}',<'}'>,50:4] +[@209,1322:1322='}',<'}'>,51:0] +[@210,1323:1322='',,51:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..659968f67 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (enum_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier type)) :) (attribute_list (identifier Flags)) ])) (enum_modifier public) enum (identifier E) (enum_body { (enum_member_declarations (enum_member_declaration (identifier A)) , (enum_member_declaration (identifier B) = (constant_expression (identifier A))) , (enum_member_declaration (identifier C) = (constant_expression (additive_expression (additive_expression (literal 2)) + (multiplicative_expression (identifier A))))) , (enum_member_declaration (identifier D))) , }))) (namespace_member_declaration (delegate_declaration (delegate_modifier public) delegate (return_type void) (delegate_header (identifier Delegate) ( (parameter_list (fixed_parameter (type (class_type object)) (identifier P))) ) ;))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier Test)) (namespace_body { (using_directive (using_namespace_directive using (namespace_name (identifier System)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Collections))) ;)) (namespace_member_declaration (class_declaration (class_modifier public) class (identifier Список) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier static))) (return_type (identifier IEnumerable)) (method_header (member_name (identifier Power)) ( (parameter_list (fixed_parameters (fixed_parameter (type (integral_type int)) (identifier number)) , (fixed_parameter (type (integral_type int)) (identifier exponent)))) )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Список)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier Список) = (local_variable_initializer (object_creation_expression new (type (identifier Список)) ( ))))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Список)) . (identifier Main))) ( ))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier counter) = (local_variable_initializer (parenthesized_expression ( (expression (additive_expression (additive_expression (literal 0)) + (multiplicative_expression (literal 0)))) ))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier אתר) = (local_variable_initializer (literal 0)))))) ;)) (statement (while_statement while ( (boolean_expression (relational_expression (relational_expression (pre_increment_expression ++ (unary_expression (post_increment_expression (primary_expression (identifier counter)) ++)))) < (shift_expression (pre_decrement_expression -- (unary_expression (post_decrement_expression (primary_expression (identifier exponent)) --)))))) ) (embedded_statement (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier result)) (assignment_operator =) (expression (additive_expression (additive_expression (additive_expression (multiplicative_expression (multiplicative_expression (identifier result)) * (unary_expression (identifier number)))) + (multiplicative_expression (unary_expression + (unary_expression (post_increment_expression (primary_expression (post_increment_expression (primary_expression (identifier number)) ++)) ++))))) + (multiplicative_expression (identifier number)))))) ;)) (statement (yield_statement yield return (expression (identifier result)) ;))) }))))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier static)) (return_type void) (method_header (member_name (identifier Main)) ( )) (method_body (block { (statement_list (foreach_statement foreach ( (local_variable_type (integral_type int)) (identifier i) in (expression (invocation_expression (primary_expression (identifier Power)) ( (argument_list (argument (literal 2)) , (argument (literal 8))) ))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Console)) . (identifier Write))) ( (argument_list (argument (literal "{0} ")) , (argument (identifier i))) ))) ;)) })))) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier async)) (return_type void) (method_header (member_name (identifier Wait)) ( )) (method_body (block { (statement_list (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (member_access (primary_expression (member_access (primary_expression (member_access (primary_expression (identifier System)) . (identifier Threading))) . (identifier Tasks))) . (identifier Task))) . (identifier Delay))) ( (argument_list (literal 0)) ))))) ;)) })))) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier AsyncAnonymous)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier task) = (expression (invocation_expression (primary_expression (member_access (primary_expression (member_access (primary_expression (identifier Task)) . (identifier Factory))) . (identifier StartNew))) ( (argument_list (lambda_expression async (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (return_statement return (expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (object_creation_expression new (type (identifier WebClient)) ( ))) . (identifier DownloadStringTaskAsync))) ( (argument_list (literal "http://example.com")) ))))) ;)) })))) )))))) ;)) })))) }))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..d358a9a25 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,2595 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +identifier + + + +identifier + + + +multiplicative_expression + + + +identifier + + + += + + + += + + + +; + + + +public + + + +local_variable_initializer + + + +{ + + + +; + + + +identifier + + + +exponent + + + +method_header + + + +additive_expression + + + +{ + + + +argument_list + + + +: + + + += + + + +type + + + +identifier + + + +enum + + + +) + + + +identifier + + + +number + + + +statement_list + + + +; + + + +) + + + +literal + + + +0 + + + +member_access + + + +primary_expression + + + +) + + + +"http://example.com" + + + +( + + + +type + + + +( + + + +( + + + +new + + + +identifier + + + +attribute_target_specifier + + + +invocation_expression + + + +Список + + + +) + + + +parameter_list + + + +public + + + +member_access + + + +block + + + +invocation_expression + + + += + + + +} + + + +{ + + + +statement_list + + + +Delegate + + + +statement_list + + + +identifier + + + +0 + + + +class_member_declaration + + + +primary_expression + + + +} + + + +return_type + + + +. + + + +"{0}·" + + + +identifier + + + +integral_type + + + +block + + + +identifier + + + +yield + + + +( + + + +System + + + +) + + + +primary_expression + + + +class_member_declaration + + + +statement + + + +{ + + + +statement + + + +[ + + + +2 + + + +lambda_expression + + + +fixed_parameter + + + ++ + + + +object_creation_expression + + + +statement + + + +. + + + +Список + + + +expression_statement + + + +D + + + +identifier + + + +} + + + +namespace_body + + + +unary_expression + + + +identifier + + + +var + + + +member_access + + + +namespace_body + + + +while + + + +} + + + +namespace_member_declaration + + + +P + + + +primary_expression + + + += + + + +task + + + +identifier + + + +local_variable_initializer + + + +int + + + +int + + + +) + + + +unary_expression + + + +declaration_statement + + + +argument + + + +) + + + +identifier + + + +) + + + +static + + + +) + + + +i + + + +void + + + +identifier + + + +unary_expression + + + +multiplicative_expression + + + +namespace + + + +literal + + + +literal + + + +, + + + +; + + + +statement_expression + + + +Test + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +member_access + + + +embedded_statement + + + +method_declaration + + + +identifier + + + +2 + + + +statement + + + +* + + + +StartNew + + + +expression + + + +enum_member_declaration + + + +explicitly_typed_local_variable_declarator + + + +ref_method_modifier + + + +constant_expression + + + +enum_member_declarations + + + +} + + + +. + + + +yield_statement + + + +result + + + +return + + + +expression_statement + + + +IEnumerable + + + +class_declaration + + + +literal + + + +) + + + +delegate + + + +static + + + +identifier + + + +int + + + +type + + + +++ + + + +unary_expression + + + +primary_expression + + + +identifier + + + +counter + + + +) + + + +primary_expression + + + +declaration_statement + + + +enum_body + + + +statement + + + +; + + + +namespace_or_type_name + + + +My + + + +identifier + + + +expression_statement + + + +namespace_member_declaration + + + +member_access + + + +method_header + + + +Power + + + +; + + + +type + + + +additive_expression + + + +< + + + +object_creation_expression + + + +Flags + + + +ref_method_modifier + + + +identifier + + + +type + + + +namespace_or_type_name + + + +. + + + +) + + + +prog + + + ++ + + + +explicitly_typed_local_variable_declarators + + + +async + + + +explicitly_typed_local_variable_declaration + + + +counter + + + +assignment + + + ++ + + + +argument_list + + + +primary_expression + + + +E + + + +void + + + +identifier + + + +expression + + + +constant_expression + + + +] + + + +new + + + +) + + + +invocation_expression + + + +member_access + + + +identifier + + + +Console + + + +using + + + +multiplicative_expression + + + +type + + + +DownloadStringTaskAsync + + + +explicit_anonymous_function_signature + + + +Write + + + +( + + + +type + + + +integral_type + + + +return_type + + + +} + + + +identifier + + + +post_increment_expression + + + +foreach_statement + + + +; + + + +statement_list + + + +identifier + + + +void + + + +statement_list + + + +explicitly_typed_local_variable_declaration + + + +. + + + +( + + + +argument_list + + + +statement + + + +class + + + +literal + + + +. + + + +in + + + +( + + + +type + + + +) + + + +implicitly_typed_local_variable_declaration + + + +; + + + +{ + + + +System + + + +אתר + + + +member_access + + + +fixed_parameters + + + +, + + + +i + + + +public + + + +identifier + + + +await_expression + + + +primary_expression + + + +number + + + +method_header + + + +member_name + + + +++ + + + +identifier + + + +identifier + + + +identifier + + + +identifier + + + +multiplicative_expression + + + +invocation_expression + + + +attribute_target + + + +} + + + +delegate_declaration + + + +fixed_parameter + + + += + + + +method_modifiers + + + +fixed_parameter + + + +Factory + + + +C + + + +delegate_modifier + + + +, + + + +method_body + + + +implicitly_typed_local_variable_declarator + + + +member_access + + + +method_declaration + + + +primary_expression + + + +Список + + + +identifier + + + +expression + + + +method_modifiers + + + +async + + + +await + + + +attribute_list + + + +qualified_identifier + + + +method_body + + + +0 + + + +; + + + +8 + + + +class_member_declaration + + + +anonymous_function_body + + + +identifier + + + +multiplicative_expression + + + +identifier + + + +using_namespace_directive + + + +statement_list + + + +primary_expression + + + +return_type + + + ++ + + + +) + + + +=> + + + +additive_expression + + + +namespace_declaration + + + +{ + + + +. + + + +method_modifier + + + +using + + + +{ + + + +( + + + +explicitly_typed_local_variable_declarator + + + +assignment_operator + + + +parenthesized_expression + + + +Wait + + + +method_body + + + +primary_expression + + + +method_modifier + + + +) + + + +identifier + + + +Task + + + +argument_list + + + +attribute_section + + + +public + + + +post_increment_expression + + + +anonymous_function_signature + + + +{ + + + +namespace + + + +{ + + + +void + + + +primary_expression + + + +using_namespace_directive + + + +foreach + + + +( + + + +member_name + + + +expression + + + +member_name + + + +{ + + + +identifier + + + +await + + + +int + + + ++ + + + +member_access + + + +literal + + + +identifier + + + +block + + + +( + + + +namespace_member_declaration + + + +namespace_name + + + +enum_member_declaration + + + +argument + + + +method_modifiers + + + +, + + + +unary_expression + + + +Список + + + +method_declaration + + + +literal + + + +invocation_expression + + + +method_modifiers + + + +identifier + + + +local_variable_declaration + + + +. + + + +declaration_statement + + + +identifier + + + +. + + + +Список + + + +enum_declaration + + + +( + + + +; + + + +post_increment_expression + + + +boolean_expression + + + +WebClient + + + +block + + + +multiplicative_expression + + + +parameter_list + + + +class_type + + + +identifier + + + +expression + + + +expression + + + +A + + + +additive_expression + + + +primary_expression + + + +primary_expression + + + +return + + + +explicitly_typed_local_variable_declarator + + + +} + + + +statement_expression + + + +literal + + + +pre_decrement_expression + + + +class_modifier + + + +) + + + +Threading + + + +, + + + +Tasks + + + +pre_increment_expression + + + +primary_expression + + + +identifier + + + +statement_expression + + + +identifier + + + +identifier + + + +literal + + + +relational_expression + + + +additive_expression + + + +statement_list + + + +return_type + + + +return_statement + + + +( + + + +class_member_declaration + + + +unary_expression + + + +local_variable_initializer + + + +integral_type + + + +block + + + +identifier + + + +block + + + +B + + + +identifier + + + +namespace_declaration + + + +identifier + + + +int + + + +method_header + + + +qualified_identifier + + + +local_variable_declaration + + + +; + + + +; + + + +exponent + + + +-- + + + +Task + + + +enum_member_declaration + + + +unary_expression + + + +embedded_statement + + + +primary_expression + + + +method_declaration + + + +local_variable_declaration + + + +( + + + +identifier + + + +identifier + + + +using_directive + + + +( + + + +additive_expression + + + +identifier + + + +primary_expression + + + +( + + + +declaration_statement + + + +local_variable_type + + + +enum_modifier + + + +number + + + +} + + + +identifier + + + +-- + + + +identifier + + + +, + + + +identifier + + + +Delay + + + +{ + + + +primary_expression + + + +block + + + +} + + + +invocation_expression + + + +; + + + +local_variable_declaration + + + +method_modifier + + + +result + + + +A + + + +explicitly_typed_local_variable_declarators + + + +primary_expression + + + +. + + + +statement_expression + + + +AsyncAnonymous + + + +namespace_name + + + +await_expression + + + +type + + + +additive_expression + + + +method_body + + + +A + + + +System + + + +Main + + + +0 + + + +identifier + + + +} + + + +( + + + +identifier + + + +, + + + +Collections + + + +delegate_header + + + +identifier + + + +integral_type + + + +unary_expression + + + +object + + + +statement + + + +Main + + + +result + + + +expression_statement + + + +post_decrement_expression + + + +shift_expression + + + +attributes + + + +relational_expression + + + +++ + + + +using_directive + + + +( + + + +class_body + + + +Power + + + +argument_list + + + +explicitly_typed_local_variable_declaration + + + +namespace_member_declaration + + + +while_statement + + + +++ + + + +return_type + + + +argument + + + +number + + + += + + + +argument + + + +integral_type + + + +enum_member_declaration + + + +ref_method_modifier + + + +identifier + + + +compilation_unit + + + +member_name + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..bbf98fb13 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,37 @@ +namespace ConsoleApplication1 +{ + namespace RecursiveGenericBaseType + { + class A : B, A> where T : A + { + protected virtual A M() { } + protected abstract B, A> N() { } + static B, A> O() { } + } + + sealed class B : A> + { + protected override A M() { } + protected sealed override B, A> N() { } + new static A O() { } + } + } + + namespace Boo + { + public class Bar where T : IComparable + { + public T f; + public class Foo : IEnumerable + { + public void Method(K k, T t, U u) + where K : IList, IList, IList + where V : IList + { + A a; + M(A(5)); + } + }; + }; + }; +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..0cadaf8a5 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,1276 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ConsoleApplication1 +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ RecursiveGenericBaseType +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ virtual +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ N +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ O +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sealed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ override +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sealed +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ override +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ N +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ O +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Boo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Bar +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IComparable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IEnumerable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Method +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ V +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ k +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ u +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_constraint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IList +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ V +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ secondary_constraints +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ secondary_constraint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IList +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ secondary_constraint +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IList +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ V +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IList +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..d9e3744af --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,245 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:28='ConsoleApplication1',,1:10] +[@2,30:30='{',<'{'>,2:0] +[@3,36:44='namespace',<'namespace'>,3:4] +[@4,46:69='RecursiveGenericBaseType',,3:14] +[@5,75:75='{',<'{'>,4:4] +[@6,85:89='class',<'class'>,5:8] +[@7,91:91='A',,5:14] +[@8,92:92='<',<'<'>,5:15] +[@9,93:93='T',,5:16] +[@10,94:94='>',<'>'>,5:17] +[@11,96:96=':',<':'>,5:19] +[@12,98:98='B',,5:21] +[@13,99:99='<',<'<'>,5:22] +[@14,100:100='A',,5:23] +[@15,101:101='<',<'<'>,5:24] +[@16,102:102='T',,5:25] +[@17,103:103='>',<'>'>,5:26] +[@18,104:104=',',<','>,5:27] +[@19,106:106='A',,5:29] +[@20,107:107='<',<'<'>,5:30] +[@21,108:108='T',,5:31] +[@22,109:109='>',<'>'>,5:32] +[@23,110:110='>',<'>'>,5:33] +[@24,112:116='where',<'where'>,5:35] +[@25,118:118='T',,5:41] +[@26,120:120=':',<':'>,5:43] +[@27,122:122='A',,5:45] +[@28,123:123='<',<'<'>,5:46] +[@29,124:124='T',,5:47] +[@30,125:125='>',<'>'>,5:48] +[@31,135:135='{',<'{'>,6:8] +[@32,149:157='protected',<'protected'>,7:12] +[@33,159:165='virtual',<'virtual'>,7:22] +[@34,167:167='A',,7:30] +[@35,168:168='<',<'<'>,7:31] +[@36,169:169='T',,7:32] +[@37,170:170='>',<'>'>,7:33] +[@38,172:172='M',,7:35] +[@39,173:173='(',<'('>,7:36] +[@40,174:174=')',<')'>,7:37] +[@41,176:176='{',<'{'>,7:39] +[@42,178:178='}',<'}'>,7:41] +[@43,192:200='protected',<'protected'>,8:12] +[@44,202:209='abstract',<'abstract'>,8:22] +[@45,211:211='B',,8:31] +[@46,212:212='<',<'<'>,8:32] +[@47,213:213='A',,8:33] +[@48,214:214='<',<'<'>,8:34] +[@49,215:215='T',,8:35] +[@50,216:216='>',<'>'>,8:36] +[@51,217:217=',',<','>,8:37] +[@52,219:219='A',,8:39] +[@53,220:220='<',<'<'>,8:40] +[@54,221:221='T',,8:41] +[@55,222:222='>',<'>'>,8:42] +[@56,223:223='>',<'>'>,8:43] +[@57,225:225='N',,8:45] +[@58,226:226='(',<'('>,8:46] +[@59,227:227=')',<')'>,8:47] +[@60,229:229='{',<'{'>,8:49] +[@61,231:231='}',<'}'>,8:51] +[@62,245:250='static',<'static'>,9:12] +[@63,252:252='B',,9:19] +[@64,253:253='<',<'<'>,9:20] +[@65,254:254='A',,9:21] +[@66,255:255='<',<'<'>,9:22] +[@67,256:256='T',,9:23] +[@68,257:257='>',<'>'>,9:24] +[@69,258:258=',',<','>,9:25] +[@70,260:260='A',,9:27] +[@71,261:261='<',<'<'>,9:28] +[@72,262:262='T',,9:29] +[@73,263:263='>',<'>'>,9:30] +[@74,264:264='>',<'>'>,9:31] +[@75,266:266='O',,9:33] +[@76,267:267='(',<'('>,9:34] +[@77,268:268=')',<')'>,9:35] +[@78,270:270='{',<'{'>,9:37] +[@79,272:272='}',<'}'>,9:39] +[@80,282:282='}',<'}'>,10:8] +[@81,293:298='sealed',<'sealed'>,12:8] +[@82,300:304='class',<'class'>,12:15] +[@83,306:306='B',,12:21] +[@84,307:307='<',<'<'>,12:22] +[@85,308:309='T1',,12:23] +[@86,310:310=',',<','>,12:25] +[@87,312:313='T2',,12:27] +[@88,314:314='>',<'>'>,12:29] +[@89,316:316=':',<':'>,12:31] +[@90,318:318='A',,12:33] +[@91,319:319='<',<'<'>,12:34] +[@92,320:320='B',,12:35] +[@93,321:321='<',<'<'>,12:36] +[@94,322:323='T1',,12:37] +[@95,324:324=',',<','>,12:39] +[@96,326:327='T2',,12:41] +[@97,328:328='>',<'>'>,12:43] +[@98,329:329='>',<'>'>,12:44] +[@99,339:339='{',<'{'>,13:8] +[@100,353:361='protected',<'protected'>,14:12] +[@101,363:370='override',<'override'>,14:22] +[@102,372:372='A',,14:31] +[@103,373:373='<',<'<'>,14:32] +[@104,374:374='T',,14:33] +[@105,375:375='>',<'>'>,14:34] +[@106,377:377='M',,14:36] +[@107,378:378='(',<'('>,14:37] +[@108,379:379=')',<')'>,14:38] +[@109,381:381='{',<'{'>,14:40] +[@110,383:383='}',<'}'>,14:42] +[@111,397:405='protected',<'protected'>,15:12] +[@112,407:412='sealed',<'sealed'>,15:22] +[@113,414:421='override',<'override'>,15:29] +[@114,423:423='B',,15:38] +[@115,424:424='<',<'<'>,15:39] +[@116,425:425='A',,15:40] +[@117,426:426='<',<'<'>,15:41] +[@118,427:427='T',,15:42] +[@119,428:428='>',<'>'>,15:43] +[@120,429:429=',',<','>,15:44] +[@121,431:431='A',,15:46] +[@122,432:432='<',<'<'>,15:47] +[@123,433:433='T',,15:48] +[@124,434:434='>',<'>'>,15:49] +[@125,435:435='>',<'>'>,15:50] +[@126,437:437='N',,15:52] +[@127,438:438='(',<'('>,15:53] +[@128,439:439=')',<')'>,15:54] +[@129,441:441='{',<'{'>,15:56] +[@130,443:443='}',<'}'>,15:58] +[@131,457:459='new',<'new'>,16:12] +[@132,461:466='static',<'static'>,16:16] +[@133,468:468='A',,16:23] +[@134,469:469='<',<'<'>,16:24] +[@135,470:470='T',,16:25] +[@136,471:471='>',<'>'>,16:26] +[@137,473:473='O',,16:28] +[@138,474:474='(',<'('>,16:29] +[@139,475:475=')',<')'>,16:30] +[@140,477:477='{',<'{'>,16:32] +[@141,479:479='}',<'}'>,16:34] +[@142,489:489='}',<'}'>,17:8] +[@143,495:495='}',<'}'>,18:4] +[@144,502:510='namespace',<'namespace'>,20:4] +[@145,512:514='Boo',,20:14] +[@146,520:520='{',<'{'>,21:4] +[@147,530:535='public',<'public'>,22:8] +[@148,537:541='class',<'class'>,22:15] +[@149,543:545='Bar',,22:21] +[@150,546:546='<',<'<'>,22:24] +[@151,547:547='T',,22:25] +[@152,548:548='>',<'>'>,22:26] +[@153,550:554='where',<'where'>,22:28] +[@154,556:556='T',,22:34] +[@155,558:558=':',<':'>,22:36] +[@156,560:570='IComparable',,22:38] +[@157,580:580='{',<'{'>,23:8] +[@158,594:599='public',<'public'>,24:12] +[@159,601:601='T',,24:19] +[@160,603:603='f',,24:21] +[@161,604:604=';',<';'>,24:22] +[@162,618:623='public',<'public'>,25:12] +[@163,625:629='class',<'class'>,25:19] +[@164,631:633='Foo',,25:25] +[@165,634:634='<',<'<'>,25:28] +[@166,635:635='U',,25:29] +[@167,636:636='>',<'>'>,25:30] +[@168,638:638=':',<':'>,25:32] +[@169,640:650='IEnumerable',,25:34] +[@170,651:651='<',<'<'>,25:45] +[@171,652:652='T',,25:46] +[@172,653:653='>',<'>'>,25:47] +[@173,667:667='{',<'{'>,26:12] +[@174,685:690='public',<'public'>,27:16] +[@175,692:695='void',<'void'>,27:23] +[@176,697:702='Method',,27:28] +[@177,703:703='<',<'<'>,27:34] +[@178,704:704='K',,27:35] +[@179,705:705=',',<','>,27:36] +[@180,707:707='V',,27:38] +[@181,708:708='>',<'>'>,27:39] +[@182,709:709='(',<'('>,27:40] +[@183,710:710='K',,27:41] +[@184,712:712='k',,27:43] +[@185,713:713=',',<','>,27:44] +[@186,715:715='T',,27:46] +[@187,717:717='t',,27:48] +[@188,718:718=',',<','>,27:49] +[@189,720:720='U',,27:51] +[@190,722:722='u',,27:53] +[@191,723:723=')',<')'>,27:54] +[@192,745:749='where',<'where'>,28:20] +[@193,751:751='K',,28:26] +[@194,753:753=':',<':'>,28:28] +[@195,755:759='IList',,28:30] +[@196,760:760='<',<'<'>,28:35] +[@197,761:761='V',,28:36] +[@198,762:762='>',<'>'>,28:37] +[@199,763:763=',',<','>,28:38] +[@200,765:769='IList',,28:40] +[@201,770:770='<',<'<'>,28:45] +[@202,771:771='T',,28:46] +[@203,772:772='>',<'>'>,28:47] +[@204,773:773=',',<','>,28:48] +[@205,775:779='IList',,28:50] +[@206,780:780='<',<'<'>,28:55] +[@207,781:781='U',,28:56] +[@208,782:782='>',<'>'>,28:57] +[@209,804:808='where',<'where'>,29:20] +[@210,810:810='V',,29:26] +[@211,812:812=':',<':'>,29:28] +[@212,814:818='IList',,29:30] +[@213,819:819='<',<'<'>,29:35] +[@214,820:820='K',,29:36] +[@215,821:821='>',<'>'>,29:37] +[@216,839:839='{',<'{'>,30:16] +[@217,861:861='A',,31:20] +[@218,862:862='<',<'<'>,31:21] +[@219,863:865='int',<'int'>,31:22] +[@220,866:866='>',<'>'>,31:25] +[@221,868:868='a',,31:27] +[@222,869:869=';',<';'>,31:28] +[@223,891:891='M',,32:20] +[@224,892:892='(',<'('>,32:21] +[@225,893:893='A',,32:22] +[@226,894:894='<',<'<'>,32:23] +[@227,895:895='B',,32:24] +[@228,896:896=',',<','>,32:25] +[@229,898:898='C',,32:27] +[@230,899:899='>',<'>'>,32:28] +[@231,900:900='(',<'('>,32:29] +[@232,901:901='5',,32:30] +[@233,902:902=')',<')'>,32:31] +[@234,903:903=')',<')'>,32:32] +[@235,904:904=';',<';'>,32:33] +[@236,922:922='}',<'}'>,33:16] +[@237,936:936='}',<'}'>,34:12] +[@238,937:937=';',<';'>,34:13] +[@239,947:947='}',<'}'>,35:8] +[@240,948:948=';',<';'>,35:9] +[@241,954:954='}',<'}'>,36:4] +[@242,955:955=';',<';'>,36:5] +[@243,957:957='}',<'}'>,37:0] +[@244,958:957='',,37:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..64796ef02 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier RecursiveGenericBaseType)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier A) (type_parameter_list < (type_parameters (identifier T)) >) (class_base : (class_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >)))) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier virtual))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier M)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier abstract))) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier N)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier static)) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier O)) ( )) (method_body (block { })))) }))) (namespace_member_declaration (class_declaration (class_modifier sealed) class (identifier B) (type_parameter_list < (type_parameters (type_parameters (identifier T1)) , (type_parameter (identifier T2))) >) (class_base : (class_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (identifier T1)) , (type_argument (identifier T2))) >))) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier override))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier M)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier sealed)) (method_modifier (ref_method_modifier override))) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier N)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier new)) (method_modifier (ref_method_modifier static))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier O)) ( )) (method_body (block { })))) }))) }))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier Boo)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) class (identifier Bar) (type_parameter_list < (type_parameters (identifier T)) >) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (identifier IComparable))) (class_body { (class_member_declaration (field_declaration (field_modifier public) (type (identifier T)) (variable_declarators (identifier f)) ;)) (class_member_declaration (class_declaration (class_modifier public) class (identifier Foo) (type_parameter_list < (type_parameters (identifier U)) >) (class_base : (class_type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_arguments (identifier T)) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Method)) (type_parameter_list < (type_parameters (type_parameters (identifier K)) , (type_parameter (identifier V))) >) ( (parameter_list (fixed_parameters (fixed_parameter (type (identifier K)) (identifier k)) , (fixed_parameter (type (identifier T)) (identifier t)) , (fixed_parameter (type (identifier U)) (identifier u)))) ) (type_parameter_constraints_clause where (type_parameter (identifier K)) : (type_parameter_constraints (primary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier V)) >))) , (secondary_constraints (secondary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier T)) >))) , (secondary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier U)) >)))))) (type_parameter_constraints_clause where (type_parameter (identifier V)) : (type_parameter_constraints (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier K)) >))))) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (identifier a)))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (invocation_expression (primary_expression (simple_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) ( (argument_list (literal 5)) ))) ))) ;))) })))) }) ;)) }) ;)) }) ;)) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..d1ac0e0fa --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,2940 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +type_parameters + + + +fixed_parameter + + + +identifier + + + +class_member_declaration + + + +M + + + +block + + + +identifier + + + +) + + + +type_arguments + + + +type_argument + + + +type_argument + + + +> + + + +( + + + +method_declaration + + + +, + + + +identifier + + + +identifier + + + +A + + + +integral_type + + + +T2 + + + +identifier + + + +A + + + +< + + + +V + + + +type_argument_list + + + +type_argument + + + +: + + + +where + + + +M + + + +type_parameter + + + +block + + + +> + + + +type_argument_list + + + +T + + + +T + + + +identifier + + + +identifier + + + +identifier + + + +namespace_or_type_name + + + +type_argument_list + + + +class_member_declaration + + + +identifier + + + +) + + + +< + + + +Bar + + + +> + + + +A + + + +identifier + + + +method_header + + + +, + + + +< + + + +T2 + + + +> + + + +method_modifier + + + +type_argument_list + + + +ref_method_modifier + + + +static + + + +identifier + + + +< + + + +< + + + +explicitly_typed_local_variable_declaration + + + +override + + + +compilation_unit + + + +M + + + +identifier + + + +method_header + + + +protected + + + +class_base + + + +identifier + + + +namespace_or_type_name + + + +} + + + +namespace_or_type_name + + + +class_declaration + + + +local_variable_declaration + + + +variable_declarators + + + +class_type + + + +< + + + +public + + + +method_modifier + + + +identifier + + + +T + + + +type + + + +abstract + + + +identifier + + + +prog + + + +type_argument_list + + + +class_body + + + +ref_method_modifier + + + +> + + + +namespace_or_type_name + + + +type_argument_list + + + +type_arguments + + + +B + + + +IList + + + +} + + + +type_arguments + + + +return_type + + + +namespace_or_type_name + + + +IComparable + + + +class_type + + + +< + + + +type_argument_list + + + +, + + + +type + + + +< + + + +} + + + +( + + + +identifier + + + +identifier + + + +< + + + +< + + + +) + + + +K + + + +< + + + +B + + + +type_arguments + + + +< + + + +Method + + + +ref_method_modifier + + + +identifier + + + +class_type + + + +identifier + + + +U + + + +type_argument_list + + + +type_arguments + + + +{ + + + +class_member_declaration + + + +type_argument_list + + + +field_modifier + + + +namespace_body + + + +namespace + + + +{ + + + +namespace_declaration + + + +} + + + +identifier + + + +namespace_or_type_name + + + +method_modifier + + + +; + + + +protected + + + +class_base + + + +> + + + +B + + + +: + + + +type_argument_list + + + +class_member_declaration + + + +identifier + + + +method_header + + + +namespace_or_type_name + + + +type_argument + + + +type_parameter_list + + + +> + + + +type_argument_list + + + +return_type + + + +identifier + + + +class_modifier + + + +qualified_identifier + + + +namespace_declaration + + + +type_argument_list + + + +member_name + + + +namespace_declaration + + + +namespace + + + +field_declaration + + + +primary_constraint + + + +secondary_constraint + + + +namespace_or_type_name + + + +A + + + +A + + + +type_arguments + + + +identifier + + + +type_argument + + + +type_parameters + + + +, + + + +} + + + +IEnumerable + + + +type_parameter_constraints + + + +> + + + +type + + + +V + + + +type_arguments + + + +identifier + + + +member_name + + + +A + + + +} + + + +type + + + +identifier + + + +namespace_or_type_name + + + +identifier + + + +) + + + +block + + + +type_arguments + + + +IList + + + +type_argument_list + + + +member_name + + + +public + + + +method_modifier + + + +statement + + + +identifier + + + +{ + + + +type_parameters + + + +type_argument_list + + + +member_name + + + +B + + + +method_modifier + + + +A + + + +method_declaration + + + +class_body + + + +expression_statement + + + +namespace + + + +type_arguments + + + +a + + + +statement + + + +namespace_or_type_name + + + +T + + + +method_modifiers + + + +; + + + +method_header + + + +, + + + +static + + + +identifier + + + +identifier + + + +{ + + + +virtual + + + +simple_name + + + +protected + + + +type_argument_list + + + +identifier + + + +type_parameter_constraints_clause + + + +class_declaration + + + +method_declaration + + + +type_parameter_constraints_clause + + + +< + + + +identifier + + + +{ + + + +, + + + +void + + + +T + + + +identifier + + + +method_declaration + + + +identifier + + + +T + + + +primary_expression + + + +T + + + +method_modifier + + + +return_type + + + +sealed + + + +O + + + +identifier + + + +type_parameter_constraints_clause + + + +identifier + + + +A + + + +type_parameter_constraints + + + +namespace_member_declaration + + + +T1 + + + +V + + + +T + + + +namespace_member_declaration + + + +type_arguments + + + +} + + + +> + + + +method_declaration + + + +, + + + +int + + + +type_parameter_constraints_clause + + + +type_parameter + + + +class_declaration + + + +namespace_body + + + +secondary_constraint + + + +B + + + +method_modifier + + + +identifier + + + +identifier + + + +IList + + + +method_modifiers + + + +member_name + + + +T + + + +: + + + +> + + + +method_modifiers + + + +> + + + +T + + + +> + + + +{ + + + +{ + + + +namespace_or_type_name + + + +public + + + +T1 + + + +method_modifiers + + + +method_modifier + + + +T + + + +ref_method_modifier + + + +( + + + +} + + + +identifier + + + +identifier + + + +type_arguments + + + +method_body + + + +identifier + + + +( + + + +< + + + +B + + + +type_argument + + + +class + + + +class_declaration + + + +class_base + + + +K + + + +identifier + + + +T + + + +identifier + + + +type_argument + + + +} + + + +A + + + +namespace_member_declaration + + + +method_body + + + +class_body + + + +method_header + + + +{ + + + +class + + + +< + + + +override + + + +> + + + +sealed + + + +f + + + +type_argument_list + + + +ref_method_modifier + + + +> + + + +fixed_parameters + + + +> + + + +T + + + +type_arguments + + + +namespace_member_declaration + + + +method_body + + + +type_argument_list + + + +type_arguments + + + +identifier + + + +) + + + +identifier + + + +qualified_identifier + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +primary_expression + + + +> + + + +return_type + + + +type_parameter_list + + + +namespace_or_type_name + + + +> + + + +type_parameter + + + +type_argument + + + +type_arguments + + + +method_body + + + +type_argument_list + + + +; + + + +type_arguments + + + +) + + + +type_argument_list + + + +type_argument_list + + + +; + + + +U + + + +< + + + +namespace_or_type_name + + + +} + + + +Boo + + + +method_modifiers + + + +ref_method_modifier + + + +identifier + + + +namespace_or_type_name + + + +A + + + +T + + + +type_argument_list + + + +identifier + + + +class_modifier + + + +{ + + + +identifier + + + +identifier + + + +C + + + +B + + + +qualified_identifier + + + +method_modifiers + + + +; + + + +> + + + +ref_method_modifier + + + +: + + + +type_arguments + + + +k + + + +type_arguments + + + +identifier + + + +identifier + + + +} + + + +RecursiveGenericBaseType + + + +T + + + +identifier + + + +identifier + + + +ref_method_modifier + + + +type_parameter_constraints + + + +type_arguments + + + +( + + + +( + + + +N + + + +method_body + + + +namespace_or_type_name + + + +argument_list + + + +, + + + +< + + + +T + + + +method_modifier + + + +< + + + +) + + + +block + + + +type_parameter_list + + + +type_parameters + + + +: + + + +> + + + +type_parameter + + + +secondary_constraints + + + +method_declaration + + + +method_modifier + + + +T + + + +> + + + +namespace_or_type_name + + + +A + + + +identifier + + + +protected + + + +, + + + +identifier + + + +> + + + +type_parameter + + + +> + + + +where + + + +> + + + +type_argument + + + +class_body + + + +ref_method_modifier + + + +< + + + +class_member_declaration + + + +< + + + +< + + + +identifier + + + +namespace_or_type_name + + + +identifier + + + +} + + + +type_arguments + + + +invocation_expression + + + +< + + + +identifier + + + +where + + + +identifier + + + +{ + + + +} + + + +identifier + + + +type_parameters + + + +type_arguments + + + +identifier + + + +, + + + +identifier + + + +type_argument_list + + + +type_arguments + + + +A + + + +namespace_or_type_name + + + +namespace_or_type_name + + + +class + + + +identifier + + + +class + + + +T + + + +A + + + +member_name + + + +t + + + +< + + + +type_argument + + + +method_header + + + +> + + + +class_member_declaration + + + +ref_method_modifier + + + +5 + + + +type_parameters + + + +) + + + +new + + + +return_type + + + +identifier + + + +T + + + +: + + + +< + + + +block + + + +{ + + + +( + + + +invocation_expression + + + +< + + + +> + + + +method_header + + + +ref_method_modifier + + + +> + + + +member_name + + + +type + + + +identifier + + + +ref_method_modifier + + + +identifier + + + +> + + + +< + + + +< + + + +statement_expression + + + +identifier + + + +) + + + +, + + + +namespace_body + + + +type_parameter_list + + + +{ + + + +class_member_declaration + + + +u + + + +namespace_or_type_name + + + +< + + + +{ + + + +type_arguments + + + +namespace_or_type_name + + + +> + + + +type_arguments + + + +method_modifiers + + + +> + + + +; + + + +( + + + +type_parameter_list + + + +( + + + +< + + + +T + + + +A + + + +A + + + +type_arguments + + + +ConsoleApplication1 + + + +{ + + + +block + + + +namespace_or_type_name + + + +return_type + + + +identifier + + + +identifier + + + +class_modifier + + + +literal + + + +A + + + +identifier + + + +namespace_or_type_name + + + +method_declaration + + + +identifier + + + +method_body + + + +class_member_declaration + + + +public + + + +type_parameter + + + +parameter_list + + + +type_arguments + + + +method_modifier + + + +method_body + + + +identifier + + + +ref_method_modifier + + + +< + + + +type_argument_list + + + +identifier + + + +N + + + +class_member_declaration + + + +identifier + + + +namespace_member_declaration + + + +statement_list + + + +U + + + +type_argument + + + +identifier + + + +return_type + + + +, + + + +identifier + + + +Foo + + + +type_parameter_constraints + + + +namespace_or_type_name + + + +identifier + + + +K + + + +block + + + +> + + + +fixed_parameter + + + +declaration_statement + + + +} + + + +identifier + + + +type_argument_list + + + +K + + + +identifier + + + +where + + + +identifier + + + +O + + + +type_parameters + + + +identifier + + + +identifier + + + +IList + + + +type_argument + + + +: + + + +argument_list + + + +type_argument_list + + + +fixed_parameter + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..3c58be155 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,24 @@ +namespace ConsoleApplication1 +{ + class Test + { + void Bar3() + { + var x = new Boo.Bar.Foo(); + x.Method(" ", 5, new object()); + + var q = from i in new int[] { 1, 2, 3, 4 } + where i > 5 + select i; + } + + public static implicit operator Test(string s) + { + return new ConsoleApplication1.Test(); + } + public static explicit operator Test(string s = "") + { + return new Test(); + } + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..3ffb3eb9e --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,569 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ConsoleApplication1 +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Bar3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Boo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Bar +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Method +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ " " +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ q +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 4 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_or_group_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conversion_operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ConsoleApplication1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conversion_operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..6d8c75463 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,116 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:28='ConsoleApplication1',,1:10] +[@2,30:30='{',<'{'>,2:0] +[@3,36:40='class',<'class'>,3:4] +[@4,42:45='Test',,3:10] +[@5,51:51='{',<'{'>,4:4] +[@6,61:64='void',<'void'>,5:8] +[@7,66:69='Bar3',,5:13] +[@8,70:70='(',<'('>,5:17] +[@9,71:71=')',<')'>,5:18] +[@10,81:81='{',<'{'>,6:8] +[@11,95:97='var',<'var'>,7:12] +[@12,99:99='x',,7:16] +[@13,101:101='=',<'='>,7:18] +[@14,103:105='new',<'new'>,7:20] +[@15,107:109='Boo',,7:24] +[@16,110:110='.',<'.'>,7:27] +[@17,111:113='Bar',,7:28] +[@18,114:114='<',<'<'>,7:31] +[@19,115:117='int',<'int'>,7:32] +[@20,118:118='>',<'>'>,7:35] +[@21,119:119='.',<'.'>,7:36] +[@22,120:122='Foo',,7:37] +[@23,123:123='<',<'<'>,7:40] +[@24,124:129='object',<'object'>,7:41] +[@25,130:130='>',<'>'>,7:47] +[@26,131:131='(',<'('>,7:48] +[@27,132:132=')',<')'>,7:49] +[@28,133:133=';',<';'>,7:50] +[@29,147:147='x',,8:12] +[@30,148:148='.',<'.'>,8:13] +[@31,149:154='Method',,8:14] +[@32,155:155='<',<'<'>,8:20] +[@33,156:161='string',<'string'>,8:21] +[@34,162:162=',',<','>,8:27] +[@35,164:169='string',<'string'>,8:29] +[@36,170:170='>',<'>'>,8:35] +[@37,171:171='(',<'('>,8:36] +[@38,172:174='" "',,8:37] +[@39,175:175=',',<','>,8:40] +[@40,177:177='5',,8:42] +[@41,178:178=',',<','>,8:43] +[@42,180:182='new',<'new'>,8:45] +[@43,184:189='object',<'object'>,8:49] +[@44,190:190='(',<'('>,8:55] +[@45,191:191=')',<')'>,8:56] +[@46,192:192=')',<')'>,8:57] +[@47,193:193=';',<';'>,8:58] +[@48,208:210='var',<'var'>,10:12] +[@49,212:212='q',,10:16] +[@50,214:214='=',<'='>,10:18] +[@51,216:219='from',<'from'>,10:20] +[@52,221:221='i',,10:25] +[@53,223:224='in',<'in'>,10:27] +[@54,226:228='new',<'new'>,10:30] +[@55,230:232='int',<'int'>,10:34] +[@56,233:233='[',<'['>,10:37] +[@57,234:234=']',<']'>,10:38] +[@58,236:236='{',<'{'>,10:40] +[@59,238:238='1',,10:42] +[@60,239:239=',',<','>,10:43] +[@61,241:241='2',,10:45] +[@62,242:242=',',<','>,10:46] +[@63,244:244='3',,10:48] +[@64,245:245=',',<','>,10:49] +[@65,247:247='4',,10:51] +[@66,249:249='}',<'}'>,10:53] +[@67,271:275='where',<'where'>,11:20] +[@68,277:277='i',,11:26] +[@69,279:279='>',<'>'>,11:28] +[@70,281:281='5',,11:30] +[@71,303:308='select',<'select'>,12:20] +[@72,310:310='i',,12:27] +[@73,311:311=';',<';'>,12:28] +[@74,321:321='}',<'}'>,13:8] +[@75,332:337='public',<'public'>,15:8] +[@76,339:344='static',<'static'>,15:15] +[@77,346:353='implicit',<'implicit'>,15:22] +[@78,355:362='operator',<'operator'>,15:31] +[@79,364:367='Test',,15:40] +[@80,368:368='(',<'('>,15:44] +[@81,369:374='string',<'string'>,15:45] +[@82,376:376='s',,15:52] +[@83,377:377=')',<')'>,15:53] +[@84,387:387='{',<'{'>,16:8] +[@85,401:406='return',<'return'>,17:12] +[@86,408:410='new',<'new'>,17:19] +[@87,412:430='ConsoleApplication1',,17:23] +[@88,431:431='.',<'.'>,17:42] +[@89,432:435='Test',,17:43] +[@90,436:436='(',<'('>,17:47] +[@91,437:437=')',<')'>,17:48] +[@92,438:438=';',<';'>,17:49] +[@93,448:448='}',<'}'>,18:8] +[@94,458:463='public',<'public'>,19:8] +[@95,465:470='static',<'static'>,19:15] +[@96,472:479='explicit',<'explicit'>,19:22] +[@97,481:488='operator',<'operator'>,19:31] +[@98,490:493='Test',,19:40] +[@99,494:494='(',<'('>,19:44] +[@100,495:500='string',<'string'>,19:45] +[@101,502:502='s',,19:52] +[@102,504:504='=',<'='>,19:54] +[@103,506:507='""',,19:56] +[@104,508:508=')',<')'>,19:58] +[@105,518:518='{',<'{'>,20:8] +[@106,532:537='return',<'return'>,21:12] +[@107,539:541='new',<'new'>,21:19] +[@108,543:546='Test',,21:23] +[@109,547:547='(',<'('>,21:27] +[@110,548:548=')',<')'>,21:28] +[@111,549:549=';',<';'>,21:29] +[@112,559:559='}',<'}'>,22:8] +[@113,565:565='}',<'}'>,23:4] +[@114,567:567='}',<'}'>,24:0] +[@115,568:567='',,24:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..c4d84e642 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Bar3)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier x) = (expression (object_creation_expression new (type (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier Boo)) . (identifier Bar) (type_argument_list < (type_arguments (integral_type int)) >)) . (identifier Foo) (type_argument_list < (type_arguments (class_type object)) >))) ( )))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier x)) . (identifier Method) (type_argument_list < (type_arguments (type_argument (class_type string)) , (type_argument (class_type string))) >))) ( (argument_list (argument (literal " ")) , (argument (literal 5)) , (argument (object_creation_expression new (type (class_type object)) ( )))) ))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier q) = (expression (query_expression (from_clause from (identifier i) in (expression (object_creation_expression new (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer (literal 1)) , (element_initializer (literal 2)) , (element_initializer (literal 3)) , (element_initializer (literal 4))) }))))) (query_body (query_body_clauses (where_clause where (boolean_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (literal 5)))))) (select_or_group_clause (select_clause select (expression (identifier i)))))))))) ;))) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator implicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s)) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (namespace_or_type_name (namespace_or_type_name (identifier ConsoleApplication1)) . (identifier Test))) ( ))) ;)) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator explicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s) (default_argument = (expression (literal "")))) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (identifier Test)) ( ))) ;)) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..446836d46 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,1335 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +query_expression + + + +; + + + +operator_declaration + + + +return_statement + + + +member_access + + + +namespace_or_type_name + + + +object_or_collection_initializer + + + +( + + + +class_type + + + +4 + + + +class_member_declaration + + + +) + + + +collection_initializer + + + +Bar3 + + + +object_creation_expression + + + +"·" + + + +operator_body + + + +namespace_or_type_name + + + +return_type + + + +expression + + + +literal + + + +identifier + + + +namespace_or_type_name + + + +> + + + +declaration_statement + + + +( + + + +identifier + + + +. + + + +qualified_identifier + + + +{ + + + +type_argument_list + + + +local_variable_declaration + + + +q + + + +Boo + + + +[ + + + +2 + + + +operator_declarator + + + +ConsoleApplication1 + + + +expression_statement + + + +array_type + + + +method_header + + + +Method + + + +x + + + +new + + + +statement_expression + + + +implicitly_typed_local_variable_declaration + + + +type_arguments + + + +implicitly_typed_local_variable_declarator + + + +identifier + + + +"" + + + +literal + + + +{ + + + +, + + + +query_body_clauses + + + +Test + + + +namespace_declaration + + + +. + + + +implicitly_typed_local_variable_declaration + + + +type + + + +type + + + +return_statement + + + +from + + + +where + + + +; + + + +s + + + +Foo + + + +identifier + + + +type_argument_list + + + +expression + + + +block + + + +namespace + + + +Bar + + + +identifier + + + +{ + + + +block + + + +Test + + + +static + + + +argument + + + +} + + + +integral_type + + + +( + + + +operator_modifier + + + +class + + + +element_initializer + + + +) + + + +expression + + + +string + + + +; + + + +> + + + +> + + + +( + + + +new + + + +argument + + + +< + + + +element_initializer + + + +boolean_expression + + + +identifier + + + +5 + + + +public + + + +1 + + + +class_member_declaration + + + +class_type + + + +static + + + +} + + + +operator_body + + + +} + + + +shift_expression + + + +return + + + +} + + + +object_creation_expression + + + +( + + + +non_array_type + + + +namespace_or_type_name + + + +literal + + + +identifier + + + +. + + + +return + + + +string + + + +argument + + + +local_variable_declaration + + + +identifier + + + +conversion_operator_declarator + + + +Test + + + +class_body + + + +string + + + +operator_modifier + + + +identifier + + + +statement_list + + + +operator + + + +expression + + + +method_declaration + + + +statement + + + +literal + + + +( + + + +default_argument + + + +from_clause + + + +) + + + +) + + + +class_type + + + +identifier + + + +i + + + +type + + + +; + + + +namespace_body + + + +type_argument + + + +object + + + +; + + + +literal + + + +method_modifiers + + + +( + + + +void + + + +expression + + + +type + + + +select_clause + + + +] + + + +implicit + + + +( + + + +, + + + +identifier + + + +{ + + + +} + + + +compilation_unit + + + +element_initializer + + + +operator_modifier + + + +prog + + + +expression + + + +operator_declarator + + + +identifier + + + +, + + + +var + + + +select + + + +member_name + + + +class_member_declaration + + + +class_type + + + +type + + + +) + + + +i + + + +{ + + + +identifier + + + +literal + + + +new + + + +s + + + +expression + + + +> + + + +Test + + + +literal + + + += + + + +block + + + +statement + + + +literal + + + +identifier + + + +string + + + +i + + + +declaration_statement + + + +type + + + +identifier + + + +int + + + +identifier + + + +in + + + +new + + + +type + + + +, + + + +} + + + += + + + +element_initializer + + + +) + + + +operator + + + +statement + + + +class_type + + + +class_type + + + +query_body + + + +operator_declaration + + + +type + + + +type_argument_list + + + +object_creation_expression + + + +statement_list + + + +object_creation_expression + + + +element_initializer_list + + + +relational_expression + + + +fixed_parameter + + + +explicit + + + +statement_list + + + +primary_expression + + + +implicitly_typed_local_variable_declarator + + + +object_creation_expression + + + +identifier + + + +namespace_or_type_name + + + +type_arguments + + + +x + + + +< + + + +, + + + +) + + + +where_clause + + + +5 + + + +class_declaration + + + +identifier + + + +conversion_operator_declarator + + + +< + + + +{ + + + +relational_expression + + + +int + + + +identifier + + + +primary_expression + + + += + + + +rank_specifier + + + +type_arguments + + + +integral_type + + + +namespace_member_declaration + + + +var + + + +type + + + +argument_list + + + +method_body + + + +object + + + +, + + + +ConsoleApplication1 + + + +. + + + +type_argument + + + +select_or_group_clause + + + +public + + + +operator_modifier + + + +fixed_parameter + + + +invocation_expression + + + +) + + + +3 + + + +Test + + + +identifier + + + +new + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..e59a0640c --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,35 @@ +namespace ConsoleApplication1 +{ + class Test + { + public int foo = 5; + void Bar2() + { + foo = 6; + this.Foo = 5.GetType(); Test t = "sss"; + } + + public event EventHandler MyEvent = delegate { }; + + void Blah() + { + int i = 5; + int? j = 6; + + Expression> e = () => i; + Expression> e2 = b => () => { return; }; + Func f = async delegate (bool a) + { + return await !a; + }; + Func f2 = (a, b) => 0; + f2 = (int a, int b) => 1; + Action a = Blah; + f2 = () => {}; + f2 = () => {;}; + } + + delegate Recursive Recursive(Recursive r); + delegate Recursive Recursive(Recursive r); + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..9ad3e50f0 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,1174 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ConsoleApplication1 +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Bar2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 6 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetType +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "sss" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ EventHandler +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyEvent +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_method_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Blah +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 6 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Func +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Func +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Func +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_method_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ logical_negation_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Func +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit_anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit_anonymous_function_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit_anonymous_function_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit_anonymous_function_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Blah +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ empty_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ r +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ R +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ R +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ r +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..d9f4e399d --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,201 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:28='ConsoleApplication1',,1:10] +[@2,30:30='{',<'{'>,2:0] +[@3,36:40='class',<'class'>,3:4] +[@4,42:45='Test',,3:10] +[@5,51:51='{',<'{'>,4:4] +[@6,61:66='public',<'public'>,5:8] +[@7,68:70='int',<'int'>,5:15] +[@8,72:74='foo',,5:19] +[@9,76:76='=',<'='>,5:23] +[@10,78:78='5',,5:25] +[@11,79:79=';',<';'>,5:26] +[@12,89:92='void',<'void'>,6:8] +[@13,94:97='Bar2',,6:13] +[@14,98:98='(',<'('>,6:17] +[@15,99:99=')',<')'>,6:18] +[@16,109:109='{',<'{'>,7:8] +[@17,123:125='foo',,8:12] +[@18,127:127='=',<'='>,8:16] +[@19,129:129='6',,8:18] +[@20,130:130=';',<';'>,8:19] +[@21,144:147='this',<'this'>,9:12] +[@22,148:148='.',<'.'>,9:16] +[@23,149:151='Foo',,9:17] +[@24,153:153='=',<'='>,9:21] +[@25,155:155='5',,9:23] +[@26,156:156='.',<'.'>,9:24] +[@27,157:163='GetType',,9:25] +[@28,164:164='(',<'('>,9:32] +[@29,165:165=')',<')'>,9:33] +[@30,166:166=';',<';'>,9:34] +[@31,168:171='Test',,9:36] +[@32,173:173='t',,9:41] +[@33,175:175='=',<'='>,9:43] +[@34,177:181='"sss"',,9:45] +[@35,182:182=';',<';'>,9:50] +[@36,192:192='}',<'}'>,10:8] +[@37,203:208='public',<'public'>,12:8] +[@38,210:214='event',<'event'>,12:15] +[@39,216:227='EventHandler',,12:21] +[@40,229:235='MyEvent',,12:34] +[@41,237:237='=',<'='>,12:42] +[@42,239:246='delegate',<'delegate'>,12:44] +[@43,248:248='{',<'{'>,12:53] +[@44,250:250='}',<'}'>,12:55] +[@45,251:251=';',<';'>,12:56] +[@46,262:265='void',<'void'>,14:8] +[@47,267:270='Blah',,14:13] +[@48,271:271='(',<'('>,14:17] +[@49,272:272=')',<')'>,14:18] +[@50,282:282='{',<'{'>,15:8] +[@51,296:298='int',<'int'>,16:12] +[@52,300:300='i',,16:16] +[@53,302:302='=',<'='>,16:18] +[@54,304:304='5',,16:20] +[@55,305:305=';',<';'>,16:21] +[@56,319:321='int',<'int'>,17:12] +[@57,322:322='?',<'?'>,17:15] +[@58,324:324='j',,17:17] +[@59,326:326='=',<'='>,17:19] +[@60,328:328='6',,17:21] +[@61,329:329=';',<';'>,17:22] +[@62,344:353='Expression',,19:12] +[@63,354:354='<',<'<'>,19:22] +[@64,355:358='Func',,19:23] +[@65,359:359='<',<'<'>,19:27] +[@66,360:362='int',<'int'>,19:28] +[@67,363:363='>',<'>'>,19:31] +[@68,364:364='>',<'>'>,19:32] +[@69,366:366='e',,19:34] +[@70,368:368='=',<'='>,19:36] +[@71,370:370='(',<'('>,19:38] +[@72,371:371=')',<')'>,19:39] +[@73,373:374='=>',<'=>'>,19:41] +[@74,376:376='i',,19:44] +[@75,377:377=';',<';'>,19:45] +[@76,391:400='Expression',,20:12] +[@77,401:401='<',<'<'>,20:22] +[@78,402:405='Func',,20:23] +[@79,406:406='<',<'<'>,20:27] +[@80,407:410='bool',<'bool'>,20:28] +[@81,411:411=',',<','>,20:32] +[@82,413:418='Action',,20:34] +[@83,419:419='>',<'>'>,20:40] +[@84,420:420='>',<'>'>,20:41] +[@85,422:423='e2',,20:43] +[@86,425:425='=',<'='>,20:46] +[@87,427:427='b',,20:48] +[@88,429:430='=>',<'=>'>,20:50] +[@89,432:432='(',<'('>,20:53] +[@90,433:433=')',<')'>,20:54] +[@91,435:436='=>',<'=>'>,20:56] +[@92,438:438='{',<'{'>,20:59] +[@93,440:445='return',<'return'>,20:61] +[@94,446:446=';',<';'>,20:67] +[@95,448:448='}',<'}'>,20:69] +[@96,449:449=';',<';'>,20:70] +[@97,463:466='Func',,21:12] +[@98,467:467='<',<'<'>,21:16] +[@99,468:471='bool',<'bool'>,21:17] +[@100,472:472=',',<','>,21:21] +[@101,474:477='bool',<'bool'>,21:23] +[@102,478:478='>',<'>'>,21:27] +[@103,480:480='f',,21:29] +[@104,482:482='=',<'='>,21:31] +[@105,484:488='async',<'async'>,21:33] +[@106,490:497='delegate',<'delegate'>,21:39] +[@107,499:499='(',<'('>,21:48] +[@108,500:503='bool',<'bool'>,21:49] +[@109,505:505='a',,21:54] +[@110,506:506=')',<')'>,21:55] +[@111,520:520='{',<'{'>,22:12] +[@112,538:543='return',<'return'>,23:16] +[@113,545:549='await',<'await'>,23:23] +[@114,551:551='!',<'!'>,23:29] +[@115,552:552='a',,23:30] +[@116,553:553=';',<';'>,23:31] +[@117,567:567='}',<'}'>,24:12] +[@118,568:568=';',<';'>,24:13] +[@119,582:585='Func',,25:12] +[@120,586:586='<',<'<'>,25:16] +[@121,587:589='int',<'int'>,25:17] +[@122,590:590=',',<','>,25:20] +[@123,592:594='int',<'int'>,25:22] +[@124,595:595=',',<','>,25:25] +[@125,597:599='int',<'int'>,25:27] +[@126,600:600='>',<'>'>,25:30] +[@127,602:603='f2',,25:32] +[@128,605:605='=',<'='>,25:35] +[@129,607:607='(',<'('>,25:37] +[@130,608:608='a',,25:38] +[@131,609:609=',',<','>,25:39] +[@132,611:611='b',,25:41] +[@133,612:612=')',<')'>,25:42] +[@134,614:615='=>',<'=>'>,25:44] +[@135,617:617='0',,25:47] +[@136,618:618=';',<';'>,25:48] +[@137,632:633='f2',,26:12] +[@138,635:635='=',<'='>,26:15] +[@139,637:637='(',<'('>,26:17] +[@140,638:640='int',<'int'>,26:18] +[@141,642:642='a',,26:22] +[@142,643:643=',',<','>,26:23] +[@143,645:647='int',<'int'>,26:25] +[@144,649:649='b',,26:29] +[@145,650:650=')',<')'>,26:30] +[@146,652:653='=>',<'=>'>,26:32] +[@147,655:655='1',,26:35] +[@148,656:656=';',<';'>,26:36] +[@149,670:675='Action',,27:12] +[@150,677:677='a',,27:19] +[@151,679:679='=',<'='>,27:21] +[@152,681:684='Blah',,27:23] +[@153,685:685=';',<';'>,27:27] +[@154,699:700='f2',,28:12] +[@155,702:702='=',<'='>,28:15] +[@156,704:704='(',<'('>,28:17] +[@157,705:705=')',<')'>,28:18] +[@158,707:708='=>',<'=>'>,28:20] +[@159,710:710='{',<'{'>,28:23] +[@160,711:711='}',<'}'>,28:24] +[@161,712:712=';',<';'>,28:25] +[@162,726:727='f2',,29:12] +[@163,729:729='=',<'='>,29:15] +[@164,731:731='(',<'('>,29:17] +[@165,732:732=')',<')'>,29:18] +[@166,734:735='=>',<'=>'>,29:20] +[@167,737:737='{',<'{'>,29:23] +[@168,738:738=';',<';'>,29:24] +[@169,739:739='}',<'}'>,29:25] +[@170,740:740=';',<';'>,29:26] +[@171,750:750='}',<'}'>,30:8] +[@172,761:768='delegate',<'delegate'>,32:8] +[@173,770:778='Recursive',,32:17] +[@174,780:788='Recursive',,32:27] +[@175,789:789='(',<'('>,32:36] +[@176,790:798='Recursive',,32:37] +[@177,800:800='r',,32:47] +[@178,801:801=')',<')'>,32:48] +[@179,802:802=';',<';'>,32:49] +[@180,812:819='delegate',<'delegate'>,33:8] +[@181,821:829='Recursive',,33:17] +[@182,831:839='Recursive',,33:27] +[@183,840:840='<',<'<'>,33:36] +[@184,841:841='A',,33:37] +[@185,842:842=',',<','>,33:38] +[@186,843:843='R',,33:39] +[@187,844:844='>',<'>'>,33:40] +[@188,845:845='(',<'('>,33:41] +[@189,846:854='Recursive',,33:42] +[@190,855:855='<',<'<'>,33:51] +[@191,856:856='A',,33:52] +[@192,857:857=',',<','>,33:53] +[@193,858:858='R',,33:54] +[@194,859:859='>',<'>'>,33:55] +[@195,861:861='r',,33:57] +[@196,862:862=')',<')'>,33:58] +[@197,863:863=';',<';'>,33:59] +[@198,869:869='}',<'}'>,34:4] +[@199,871:871='}',<'}'>,35:0] +[@200,872:871='',,35:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..0167316ac --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (field_declaration (field_modifier public) (type (integral_type int)) (variable_declarators (variable_declarator (identifier foo) = (variable_initializer (literal 5)))) ;)) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Bar2)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier foo)) (assignment_operator =) (expression (literal 6)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (member_access (primary_expression (this_access this)) . (identifier Foo))) (assignment_operator =) (expression (invocation_expression (primary_expression (member_access (primary_expression (literal 5)) . (identifier GetType))) ( ))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Test)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier t) = (local_variable_initializer (literal "sss")))))) ;))) })))) (class_member_declaration (event_declaration (event_modifier public) event (type (identifier EventHandler)) (variable_declarators (variable_declarator (identifier MyEvent) = (variable_initializer (anonymous_method_expression delegate (block { }))))) ;)) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Blah)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (literal 5)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier j) = (local_variable_initializer (literal 6)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Expression) (type_argument_list < (type_arguments (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (integral_type int)) >))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier e) = (local_variable_initializer (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (identifier i)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Expression) (type_argument_list < (type_arguments (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (simple_type bool)) , (type_argument (identifier Action))) >))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier e2) = (local_variable_initializer (lambda_expression (anonymous_function_signature (identifier b)) => (anonymous_function_body (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (return_statement return ;)) })))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (simple_type bool)) , (type_argument (simple_type bool))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f) = (local_variable_initializer (anonymous_method_expression async delegate (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (type (simple_type bool)) (identifier a))) )) (block { (statement_list (return_statement return (expression (await_expression await (unary_expression (logical_negation_operator !) (unary_expression (identifier a))))) ;)) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (integral_type int)) , (type_argument (integral_type int))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f2) = (local_variable_initializer (lambda_expression (anonymous_function_signature (implicit_anonymous_function_signature ( (implicit_anonymous_function_parameter_list (implicit_anonymous_function_parameter (identifier a)) , (implicit_anonymous_function_parameter (identifier b))) ))) => (anonymous_function_body (literal 0)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (type (integral_type int)) (identifier a)) , (explicit_anonymous_function_parameter (type (integral_type int)) (identifier b))) ))) => (anonymous_function_body (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Action)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (identifier Blah)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { })))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (empty_statement ;)) })))))) ;))) })))) (class_member_declaration (delegate_declaration delegate (return_type (identifier Recursive)) (delegate_header (identifier Recursive) ( (parameter_list (fixed_parameter (type (identifier Recursive)) (identifier r))) ) ;))) (class_member_declaration (delegate_declaration delegate (return_type (identifier Recursive)) (delegate_header (identifier Recursive) (variant_type_parameter_list < (variant_type_parameters (variant_type_parameters (identifier A)) , (type_parameter (identifier R))) >) ( (parameter_list (fixed_parameter (type (namespace_or_type_name (identifier Recursive) (type_argument_list < (type_arguments (type_argument (identifier A)) , (type_argument (identifier R))) >))) (identifier r))) ) ;))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..3cc208da3 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,2630 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +local_variable_initializer + + + +( + + + +expression + + + +non_nullable_value_type + + + +event + + + +variable_declarators + + + +t + + + +f2 + + + +type + + + +( + + + +statement_list + + + +type + + + +class_member_declaration + + + +local_variable_declaration + + + +return_statement + + + +declaration_statement + + + +) + + + +local_variable_declaration + + + +integral_type + + + +lambda_expression + + + +variant_type_parameters + + + +type_arguments + + + +return_type + + + +; + + + +Expression + + + +a + + + +identifier + + + +< + + + +lambda_expression + + + +anonymous_function_body + + + +) + + + +type + + + +{ + + + +explicit_anonymous_function_parameter + + + +simple_type + + + +block + + + +Action + + + +} + + + +namespace_body + + + +statement_expression + + + +method_modifiers + + + +return + + + +int + + + +int + + + +statement + + + +local_variable_initializer + + + +type_argument + + + +variable_declarators + + + +local_variable_initializer + + + +identifier + + + +variable_initializer + + + +identifier + + + +; + + + +explicitly_typed_local_variable_declarator + + + +explicit_anonymous_function_signature + + + +event_declaration + + + +=> + + + +Recursive + + + +identifier + + + +? + + + +; + + + +) + + + +lambda_expression + + + +f2 + + + +b + + + +Recursive + + + +type_arguments + + + +type + + + +statement + + + +explicitly_typed_local_variable_declarators + + + +int + + + += + + + +Recursive + + + +variant_type_parameter_list + + + +Recursive + + + +type + + + +local_variable_declaration + + + +parameter_list + + + +block + + + +Test + + + +e2 + + + +type_argument_list + + + +statement + + + +statement + + + +anonymous_function_body + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +type_argument_list + + + +anonymous_method_expression + + + +explicitly_typed_local_variable_declarators + + + +type + + + +explicitly_typed_local_variable_declaration + + + +< + + + +identifier + + + +unary_expression + + + +type_argument_list + + + +class_member_declaration + + + +anonymous_method_expression + + + +< + + + +type_argument_list + + + +5 + + + +expression + + + +identifier + + + +, + + + +simple_type + + + +identifier + + + +( + + + +declaration_statement + + + += + + + +) + + + +assignment + + + +explicitly_typed_local_variable_declaration + + + +class_member_declaration + + + +delegate + + + += + + + +statement_expression + + + +namespace + + + +variant_type_parameters + + + +6 + + + +, + + + +identifier + + + +explicit_anonymous_function_signature + + + +identifier + + + +integral_type + + + +r + + + +} + + + +statement_expression + + + +} + + + +type_argument_list + + + +declaration_statement + + + +literal + + + +block + + + +local_variable_initializer + + + +( + + + +R + + + +implicit_anonymous_function_parameter + + + +declaration_statement + + + +, + + + +explicitly_typed_local_variable_declarator + + + +local_variable_declaration + + + +assignment_operator + + + +; + + + +statement + + + +expression_statement + + + +logical_negation_operator + + + +identifier + + + +assignment + + + +return_type + + + +Func + + + +explicitly_typed_local_variable_declarators + + + +statement + + + +explicitly_typed_local_variable_declaration + + + +namespace_or_type_name + + + +type + + + +local_variable_declaration + + + +explicit_anonymous_function_signature + + + +literal + + + +type_argument_list + + + +type_arguments + + + +, + + + +explicitly_typed_local_variable_declaration + + + +> + + + +class_member_declaration + + + +statement + + + +anonymous_function_body + + + += + + + +; + + + +) + + + +variable_initializer + + + +type + + + +j + + + +namespace_declaration + + + +type_argument + + + +identifier + + + +int + + + += + + + +method_header + + + +"sss" + + + +literal + + + +implicit_anonymous_function_parameter + + + +; + + + +explicitly_typed_local_variable_declarators + + + +Func + + + +nullable_type_annotation + + + +< + + + +} + + + +< + + + +identifier + + + +implicit_anonymous_function_parameter_list + + + +, + + + +identifier + + + +delegate + + + +=> + + + +integral_type + + + +type_argument + + + +type_argument_list + + + +Func + + + +anonymous_function_signature + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +=> + + + +statement_list + + + +delegate_declaration + + + +int + + + +bool + + + +int + + + +explicitly_typed_local_variable_declarator + + + +member_name + + + +block + + + +await + + + +implicit_anonymous_function_signature + + + +simple_type + + + +variable_declarator + + + += + + + +f + + + +statement_list + + + +anonymous_function_body + + + +namespace_or_type_name + + + +identifier + + + +. + + + +EventHandler + + + +return_statement + + + +identifier + + + +identifier + + + +method_modifiers + + + +type_arguments + + + +< + + + +declaration_statement + + + +Foo + + + +foo + + + +> + + + +( + + + +empty_statement + + + +} + + + +Bar2 + + + +anonymous_function_signature + + + +method_body + + + +f2 + + + +delegate_header + + + +qualified_identifier + + + +method_header + + + +namespace_or_type_name + + + +, + + + +assignment + + + +namespace_or_type_name + + + +statement_list + + + +identifier + + + +local_variable_initializer + + + +method_declaration + + + +delegate + + + +} + + + += + + + +identifier + + + +identifier + + + +) + + + +explicit_anonymous_function_parameter_list + + + +type_argument + + + +; + + + +{ + + + +5 + + + +parameter_list + + + +local_variable_declaration + + + +( + + + +explicitly_typed_local_variable_declaration + + + +b + + + +assignment_operator + + + +Recursive + + + +identifier + + + +i + + + +. + + + +anonymous_function_signature + + + +} + + + +class + + + +explicit_anonymous_function_parameter_list + + + +type + + + +declaration_statement + + + +type_argument + + + +A + + + +namespace_member_declaration + + + +assignment + + + +expression_statement + + + +expression_statement + + + +nullable_value_type + + + +anonymous_function_signature + + + += + + + +primary_expression + + + +explicitly_typed_local_variable_declarator + + + +ConsoleApplication1 + + + +; + + + +invocation_expression + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +Action + + + +field_declaration + + + += + + + +statement_list + + + +integral_type + + + +identifier + + + +identifier + + + +primary_expression + + + +statement + + + +async + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +anonymous_function_body + + + +identifier + + + +identifier + + + +local_variable_declaration + + + +lambda_expression + + + +; + + + +) + + + +identifier + + + +int + + + += + + + +( + + + +type_arguments + + + +; + + + +type_arguments + + + +identifier + + + +statement_expression + + + +0 + + + +; + + + +namespace_or_type_name + + + +lambda_expression + + + +=> + + + +MyEvent + + + += + + + += + + + +local_variable_initializer + + + +; + + + +) + + + +identifier + + + +identifier + + + +field_modifier + + + +public + + + +primary_expression + + + +{ + + + +integral_type + + + +lambda_expression + + + +> + + + +anonymous_function_body + + + +=> + + + +type_argument + + + +unary_expression + + + +simple_type + + + +explicit_anonymous_function_signature + + + +bool + + + +Blah + + + +delegate_header + + + +( + + + +{ + + + +unary_expression + + + +expression + + + +this_access + + + +expression_statement + + + +identifier + + + +} + + + +explicitly_typed_local_variable_declaration + + + +local_variable_initializer + + + +GetType + + + +anonymous_function_signature + + + +declaration_statement + + + +! + + + +a + + + +unary_expression + + + +assignment + + + +literal + + + +identifier + + + +return_type + + + +Test + + + +event_modifier + + + +identifier + + + +type_argument + + + +, + + + +literal + + + +delegate_declaration + + + +class_body + + + +prog + + + +A + + + +> + + + +expression + + + +> + + + +explicitly_typed_local_variable_declaration + + + +literal + + + += + + + +5 + + + +fixed_parameter + + + +member_access + + + +statement_expression + + + +statement + + + +unary_expression + + + +{ + + + +class_declaration + + + +> + + + +) + + + +( + + + +> + + + +unary_expression + + + +explicit_anonymous_function_signature + + + +integral_type + + + +; + + + +delegate + + + +=> + + + +explicitly_typed_local_variable_declarators + + + +public + + + +return_type + + + +identifier + + + +assignment_operator + + + +{ + + + +namespace_or_type_name + + + +Expression + + + +identifier + + + +block + + + +b + + + +explicitly_typed_local_variable_declarators + + + +explicitly_typed_local_variable_declarator + + + +) + + + +identifier + + + +literal + + + +bool + + + +variable_declarator + + + +identifier + + + +r + + + +; + + + +member_name + + + +integral_type + + + +int + + + +type + + + +integral_type + + + +type_argument + + + +expression_statement + + + +; + + + +; + + + +void + + + +; + + + +< + + + +local_variable_initializer + + + +Func + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +type + + + +integral_type + + + +{ + + + +; + + + +type + + + +compilation_unit + + + +) + + + +Blah + + + +a + + + +; + + + +< + + + +explicit_anonymous_function_parameter + + + +> + + + +( + + + +anonymous_function_body + + + +{ + + + +identifier + + + +type_argument + + + +explicit_anonymous_function_parameter + + + +this + + + +identifier + + + +statement + + + +expression + + + +foo + + + +identifier + + + +declaration_statement + + + +identifier + + + +block + + + +int + + + +fixed_parameter + + + +f2 + + + +} + + + +( + + + +method_declaration + + + +, + + + +type + + + +Recursive + + + +statement + + + +identifier + + + +6 + + + +a + + + +bool + + + +lambda_expression + + + +statement + + + +identifier + + + +1 + + + +expression + + + +namespace_or_type_name + + + +statement + + + +type_parameter + + + +class_member_declaration + + + +member_access + + + +) + + + +a + + + +return + + + +{ + + + +type_arguments + + + +class_member_declaration + + + +i + + + +e + + + +method_body + + + +type + + + +identifier + + + +assignment_operator + + + +identifier + + + +identifier + + + +block + + + +unary_expression + + + +anonymous_function_signature + + + +=> + + + +local_variable_declaration + + + +literal + + + +explicit_anonymous_function_signature + + + +await_expression + + + +( + + + +type + + + +assignment_operator + + + +void + + + +; + + + +explicitly_typed_local_variable_declarator + + + += + + + +anonymous_function_signature + + + +R + + + += + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..369cd69a8 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,35 @@ +namespace ConsoleApplication1 +{ + class Test + { + public Type Foo + { + [Obsolete("Name", error = false)] + get + { + var result = typeof(IEnumerable); + var t = typeof(int?) == typeof(Nullable); + t = typeof(IEnumerable); + return typeof(IEnumerable<>); + } + set + { + var t = typeof(System.Int32); + t.ToString(); + t = value; + } + } + + public void Constants() + { + int i = 1 + 2 + 3 + 5; + global::System.String s = "a" + (System.String)"a" + "a" + "a" + "a" + "A"; + } + + public void ConstructedType() + { + List i = null; + int c = i.Count; + } + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..b7a1d3ff5 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,919 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ConsoleApplication1 +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Name" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ named_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ named_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ error +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_argument_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ result +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IEnumerable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Nullable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IEnumerable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unbound_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IEnumerable +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ generic_dimension_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Int32 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ToString +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Constants +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_alias_member +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ global +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ :: +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ String +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ cast_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ String +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "A" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ConstructedType +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ List +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..a64821955 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,167 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:28='ConsoleApplication1',,1:10] +[@2,30:30='{',<'{'>,2:0] +[@3,36:40='class',<'class'>,3:4] +[@4,42:45='Test',,3:10] +[@5,51:51='{',<'{'>,4:4] +[@6,61:66='public',<'public'>,5:8] +[@7,68:71='Type',,5:15] +[@8,73:75='Foo',,5:20] +[@9,85:85='{',<'{'>,6:8] +[@10,99:99='[',<'['>,7:12] +[@11,100:107='Obsolete',,7:13] +[@12,108:108='(',<'('>,7:21] +[@13,109:114='"Name"',,7:22] +[@14,115:115=',',<','>,7:28] +[@15,117:121='error',,7:30] +[@16,123:123='=',<'='>,7:36] +[@17,125:129='false',<'false'>,7:38] +[@18,130:130=')',<')'>,7:43] +[@19,131:131=']',<']'>,7:44] +[@20,145:147='get',<'get'>,8:12] +[@21,161:161='{',<'{'>,9:12] +[@22,179:181='var',<'var'>,10:16] +[@23,183:188='result',,10:20] +[@24,190:190='=',<'='>,10:27] +[@25,192:197='typeof',<'typeof'>,10:29] +[@26,198:198='(',<'('>,10:35] +[@27,199:209='IEnumerable',,10:36] +[@28,210:210='<',<'<'>,10:47] +[@29,211:213='int',<'int'>,10:48] +[@30,214:214='>',<'>'>,10:51] +[@31,215:215=')',<')'>,10:52] +[@32,216:216=';',<';'>,10:53] +[@33,234:236='var',<'var'>,11:16] +[@34,238:238='t',,11:20] +[@35,240:240='=',<'='>,11:22] +[@36,242:247='typeof',<'typeof'>,11:24] +[@37,248:248='(',<'('>,11:30] +[@38,249:251='int',<'int'>,11:31] +[@39,252:252='?',<'?'>,11:34] +[@40,253:253=')',<')'>,11:35] +[@41,255:256='==',<'=='>,11:37] +[@42,258:263='typeof',<'typeof'>,11:40] +[@43,264:264='(',<'('>,11:46] +[@44,265:272='Nullable',,11:47] +[@45,273:273='<',<'<'>,11:55] +[@46,274:276='int',<'int'>,11:56] +[@47,277:277='>',<'>'>,11:59] +[@48,278:278=')',<')'>,11:60] +[@49,279:279=';',<';'>,11:61] +[@50,297:297='t',,12:16] +[@51,299:299='=',<'='>,12:18] +[@52,301:306='typeof',<'typeof'>,12:20] +[@53,307:307='(',<'('>,12:26] +[@54,308:318='IEnumerable',,12:27] +[@55,319:319='<',<'<'>,12:38] +[@56,320:322='int',<'int'>,12:39] +[@57,323:323='?',<'?'>,12:42] +[@58,324:324='[',<'['>,12:43] +[@59,325:325=']',<']'>,12:44] +[@60,326:326='[',<'['>,12:45] +[@61,327:327=']',<']'>,12:46] +[@62,328:328='[',<'['>,12:47] +[@63,329:329=']',<']'>,12:48] +[@64,330:330='>',<'>'>,12:49] +[@65,331:331=')',<')'>,12:50] +[@66,332:332=';',<';'>,12:51] +[@67,350:355='return',<'return'>,13:16] +[@68,357:362='typeof',<'typeof'>,13:23] +[@69,363:363='(',<'('>,13:29] +[@70,364:374='IEnumerable',,13:30] +[@71,375:375='<',<'<'>,13:41] +[@72,376:376='>',<'>'>,13:42] +[@73,377:377=')',<')'>,13:43] +[@74,378:378=';',<';'>,13:44] +[@75,392:392='}',<'}'>,14:12] +[@76,406:408='set',<'set'>,15:12] +[@77,422:422='{',<'{'>,16:12] +[@78,440:442='var',<'var'>,17:16] +[@79,444:444='t',,17:20] +[@80,446:446='=',<'='>,17:22] +[@81,448:453='typeof',<'typeof'>,17:24] +[@82,454:454='(',<'('>,17:30] +[@83,455:460='System',,17:31] +[@84,461:461='.',<'.'>,17:37] +[@85,462:466='Int32',,17:38] +[@86,467:467=')',<')'>,17:43] +[@87,468:468=';',<';'>,17:44] +[@88,486:486='t',,18:16] +[@89,487:487='.',<'.'>,18:17] +[@90,488:495='ToString',,18:18] +[@91,496:496='(',<'('>,18:26] +[@92,497:497=')',<')'>,18:27] +[@93,498:498=';',<';'>,18:28] +[@94,516:516='t',,19:16] +[@95,518:518='=',<'='>,19:18] +[@96,520:524='value',<'value'>,19:20] +[@97,525:525=';',<';'>,19:25] +[@98,539:539='}',<'}'>,20:12] +[@99,549:549='}',<'}'>,21:8] +[@100,560:565='public',<'public'>,23:8] +[@101,567:570='void',<'void'>,23:15] +[@102,572:580='Constants',,23:20] +[@103,581:581='(',<'('>,23:29] +[@104,582:582=')',<')'>,23:30] +[@105,592:592='{',<'{'>,24:8] +[@106,606:608='int',<'int'>,25:12] +[@107,610:610='i',,25:16] +[@108,612:612='=',<'='>,25:18] +[@109,614:614='1',,25:20] +[@110,616:616='+',<'+'>,25:22] +[@111,618:618='2',,25:24] +[@112,620:620='+',<'+'>,25:26] +[@113,622:622='3',,25:28] +[@114,624:624='+',<'+'>,25:30] +[@115,626:626='5',,25:32] +[@116,627:627=';',<';'>,25:33] +[@117,641:646='global',<'global'>,26:12] +[@118,647:648='::',<'::'>,26:18] +[@119,649:654='System',,26:20] +[@120,655:655='.',<'.'>,26:26] +[@121,656:661='String',,26:27] +[@122,663:663='s',,26:34] +[@123,665:665='=',<'='>,26:36] +[@124,667:669='"a"',,26:38] +[@125,671:671='+',<'+'>,26:42] +[@126,673:673='(',<'('>,26:44] +[@127,674:679='System',,26:45] +[@128,680:680='.',<'.'>,26:51] +[@129,681:686='String',,26:52] +[@130,687:687=')',<')'>,26:58] +[@131,688:690='"a"',,26:59] +[@132,692:692='+',<'+'>,26:63] +[@133,694:696='"a"',,26:65] +[@134,698:698='+',<'+'>,26:69] +[@135,700:702='"a"',,26:71] +[@136,704:704='+',<'+'>,26:75] +[@137,706:708='"a"',,26:77] +[@138,710:710='+',<'+'>,26:81] +[@139,712:714='"A"',,26:83] +[@140,715:715=';',<';'>,26:86] +[@141,725:725='}',<'}'>,27:8] +[@142,736:741='public',<'public'>,29:8] +[@143,743:746='void',<'void'>,29:15] +[@144,748:762='ConstructedType',,29:20] +[@145,763:763='(',<'('>,29:35] +[@146,764:764=')',<')'>,29:36] +[@147,774:774='{',<'{'>,30:8] +[@148,788:791='List',,31:12] +[@149,792:792='<',<'<'>,31:16] +[@150,793:795='int',<'int'>,31:17] +[@151,796:796='>',<'>'>,31:20] +[@152,798:798='i',,31:22] +[@153,800:800='=',<'='>,31:24] +[@154,802:805='null',<'null'>,31:26] +[@155,806:806=';',<';'>,31:30] +[@156,820:822='int',<'int'>,32:12] +[@157,824:824='c',,32:16] +[@158,826:826='=',<'='>,32:18] +[@159,828:828='i',,32:20] +[@160,829:829='.',<'.'>,32:21] +[@161,830:834='Count',,32:22] +[@162,835:835=';',<';'>,32:27] +[@163,845:845='}',<'}'>,33:8] +[@164,851:851='}',<'}'>,34:4] +[@165,853:853='}',<'}'>,35:0] +[@166,854:853='',,35:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..5fe266ce9 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (property_declaration (property_modifier public) (type (identifier Type)) (member_name (identifier Foo)) (property_body { (accessor_declarations (get_accessor_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier Obsolete)) (attribute_arguments ( (positional_argument_list (literal "Name")) , (named_argument_list (named_argument (identifier error) = (attribute_argument_expression (boolean_literal false)))) )))) ])) get (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier result) = (expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_arguments (integral_type int)) >))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier t) = (expression (equality_expression (equality_expression (typeof_expression typeof ( (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) ))) == (relational_expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier Nullable) (type_argument_list < (type_arguments (integral_type int)) >))) )))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier t)) (assignment_operator =) (expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_arguments (array_type (non_array_type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (rank_specifier [ ]) (rank_specifier [ ]) (rank_specifier [ ]))) >))) ))))) ;)) (statement (return_statement return (expression (typeof_expression typeof ( (unbound_type_name (identifier IEnumerable) (generic_dimension_specifier < >)) ))) ;))) }))) (set_accessor_declaration set (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier t) = (expression (typeof_expression typeof ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Int32))) )))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier t)) . (identifier ToString))) ( ))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier t)) (assignment_operator =) (expression (contextual_keyword value)))) ;))) })))) }))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Constants)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (additive_expression (additive_expression (additive_expression (additive_expression (literal 1)) + (multiplicative_expression (literal 2))) + (multiplicative_expression (literal 3))) + (multiplicative_expression (literal 5)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (namespace_or_type_name (qualified_alias_member (identifier (contextual_keyword global)) :: (identifier System))) . (identifier String))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier s) = (local_variable_initializer (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (literal "a")) + (multiplicative_expression (cast_expression ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier String))) ) (unary_expression (literal "a"))))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "A")))))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ConstructedType)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier List) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (null_literal null)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier c) = (local_variable_initializer (member_access (primary_expression (identifier i)) . (identifier Count))))))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..0ccac9410 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,2085 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +t + + + +declaration_statement + + + +additive_expression + + + +array_type + + + +type + + + +unary_expression + + + +assignment + + + +int + + + +qualified_alias_member + + + +namespace_or_type_name + + + +value + + + +var + + + +additive_expression + + + +; + + + +contextual_keyword + + + +typeof_expression + + + +type_arguments + + + +property_modifier + + + +statement_expression + + + +accessor_body + + + +identifier + + + +< + + + +< + + + +5 + + + +type_argument_list + + + +member_access + + + +equality_expression + + + +declaration_statement + + + += + + + +. + + + +class_member_declaration + + + +identifier + + + +; + + + +result + + + +"Name" + + + +3 + + + +literal + + + +identifier + + + +literal + + + +identifier + + + +statement_list + + + +Constants + + + +non_nullable_value_type + + + +implicitly_typed_local_variable_declaration + + + +integral_type + + + +explicitly_typed_local_variable_declarators + + + +i + + + +( + + + +; + + + +identifier + + + +method_declaration + + + +class_body + + + +< + + + +( + + + +namespace_or_type_name + + + +expression + + + +nullable_type_annotation + + + +int + + + +< + + + +typeof_expression + + + +class_declaration + + + +( + + + +rank_specifier + + + +primary_expression + + + +IEnumerable + + + +] + + + +; + + + +( + + + +Count + + + +{ + + + +identifier + + + +multiplicative_expression + + + +typeof_expression + + + +method_header + + + +identifier + + + +type_arguments + + + +( + + + +identifier + + + ++ + + + +typeof + + + +declaration_statement + + + +rank_specifier + + + +( + + + +ConsoleApplication1 + + + +literal + + + +type + + + +t + + + +} + + + +prog + + + +System + + + +primary_expression + + + +expression + + + +integral_type + + + +method_declaration + + + +[ + + + +qualified_identifier + + + +method_body + + + +explicitly_typed_local_variable_declaration + + + +local_variable_declaration + + + +type + + + +multiplicative_expression + + + +, + + + +IEnumerable + + + +literal + + + +explicitly_typed_local_variable_declaration + + + +explicitly_typed_local_variable_declarators + + + +typeof + + + +class + + + +namespace_or_type_name + + + +int + + + +multiplicative_expression + + + +implicitly_typed_local_variable_declaration + + + +"a" + + + +statement_expression + + + +block + + + +} + + + +ref_method_modifier + + + +attribute_name + + + += + + + +c + + + +statement + + + +public + + + +; + + + +) + + + +{ + + + +> + + + +System + + + +identifier + + + +typeof + + + +identifier + + + +] + + + +statement + + + +namespace_body + + + +explicitly_typed_local_variable_declarator + + + += + + + +expression_statement + + + +set + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +attribute_section + + + +multiplicative_expression + + + +( + + + +} + + + +< + + + +) + + + +attribute_arguments + + + +nullable_type_annotation + + + +local_variable_declaration + + + +identifier + + + +error + + + +literal + + + +local_variable_declaration + + + +) + + + +explicitly_typed_local_variable_declarators + + + +> + + + +accessor_body + + + +local_variable_declaration + + + +expression + + + +) + + + +type_argument_list + + + +== + + + +expression + + + +int + + + +member_access + + + +attributes + + + +get + + + +; + + + +additive_expression + + + ++ + + + +accessor_declarations + + + +statement + + + +set_accessor_declaration + + + +local_variable_declaration + + + +local_variable_initializer + + + += + + + +statement + + + +identifier + + + +assignment + + + +declaration_statement + + + +namespace_or_type_name + + + +. + + + +namespace_or_type_name + + + +statement + + + +) + + + +"a" + + + +type + + + +public + + + +. + + + +integral_type + + + +named_argument + + + +1 + + + +( + + + +get_accessor_declaration + + + +identifier + + + +{ + + + +expression_statement + + + +typeof + + + +return_type + + + +typeof + + + +integral_type + + + +null_literal + + + +identifier + + + ++ + + + +attribute_list + + + +; + + + +[ + + + +statement + + + +) + + + +unary_expression + + + +identifier + + + +identifier + + + +declaration_statement + + + +additive_expression + + + +; + + + +type + + + +identifier + + + +literal + + + +primary_expression + + + +literal + + + +var + + + +integral_type + + + +} + + + +nullable_value_type + + + +. + + + +IEnumerable + + + +statement + + + +implicitly_typed_local_variable_declaration + + + +identifier + + + +class_member_declaration + + + +statement + + + +Obsolete + + + +type_arguments + + + +typeof_expression + + + +Test + + + +namespace_member_declaration + + + +; + + + +member_name + + + +additive_expression + + + +> + + + +String + + + +type_argument_list + + + +. + + + +block + + + +Int32 + + + +non_nullable_value_type + + + +{ + + + +statement_list + + + +[ + + + +expression + + + +return_statement + + + ++ + + + +member_name + + + +] + + + +method_body + + + +namespace + + + +local_variable_initializer + + + +unary_expression + + + +? + + + +i + + + +explicitly_typed_local_variable_declaration + + + +additive_expression + + + +identifier + + + +) + + + +identifier + + + +multiplicative_expression + + + +identifier + + + +attribute + + + +? + + + +int + + + +statement_list + + + +additive_expression + + + +rank_specifier + + + +non_array_type + + + +unbound_type_name + + + +} + + + += + + + +namespace_or_type_name + + + +int + + + +member_name + + + += + + + +return_type + + + +typeof_expression + + + +Type + + + +false + + + +type_argument_list + + + +t + + + +( + + + +method_modifiers + + + +class_member_declaration + + + +type + + + +identifier + + + +namespace_declaration + + + +global + + + +int + + + +statement_list + + + +explicitly_typed_local_variable_declarators + + + +declaration_statement + + + +Foo + + + +typeof + + + +statement_expression + + + +generic_dimension_specifier + + + +literal + + + +2 + + + +identifier + + + +implicitly_typed_local_variable_declarator + + + +:: + + + +s + + + +} + + + +t + + + +compilation_unit + + + +identifier + + + +method_header + + + +namespace_or_type_name + + + +{ + + + +named_argument_list + + + +statement + + + +identifier + + + += + + + +return + + + +t + + + +assignment_operator + + + +String + + + +local_variable_initializer + + + +type + + + +explicitly_typed_local_variable_declaration + + + +"a" + + + +ref_method_modifier + + + +identifier + + + +null + + + +( + + + +nullable_value_type + + + +equality_expression + + + +multiplicative_expression + + + +Nullable + + + +multiplicative_expression + + + +identifier + + + +( + + + ++ + + + +typeof_expression + + + +} + + + +block + + + +attribute_argument_expression + + + +identifier + + + += + + + +positional_argument_list + + + +statement + + + +{ + + + +void + + + +type + + + +assignment_operator + + + +System + + + +method_modifiers + + + +statement + + + +additive_expression + + + +multiplicative_expression + + + +explicitly_typed_local_variable_declarator + + + +literal + + + +local_variable_declaration + + + +namespace_or_type_name + + + +cast_expression + + + +integral_type + + + += + + + +List + + + +implicitly_typed_local_variable_declarator + + + +"A" + + + +block + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +expression + + + +> + + + +ConstructedType + + + +; + + + +literal + + + +; + + + +additive_expression + + + +namespace_or_type_name + + + +"a" + + + +contextual_keyword + + + +) + + + +type + + + +integral_type + + + += + + + +] + + + +> + + + +) + + + +type + + + +identifier + + + +additive_expression + + + +property_body + + + +identifier + + + +{ + + + ++ + + + +"a" + + + ++ + + + +) + + + +var + + + +public + + + +ToString + + + +implicitly_typed_local_variable_declarator + + + ++ + + + +namespace_or_type_name + + + +) + + + +identifier + + + +type + + + +i + + + +[ + + + +literal + + + +declaration_statement + + + +expression_statement + + + +invocation_expression + + + +property_declaration + + + +boolean_literal + + + +relational_expression + + + +local_variable_initializer + + + +local_variable_declaration + + + +type_arguments + + + +void + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..bfc5ad952 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,41 @@ +namespace Comments.XmlComments.UndocumentedKeywords +{ + /// + /// Whatever + /// + /// + /// // + /// /* */ + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + class /*///*/C + { + void M(T t, U u) + { + // comment + /* *** / */ + /* // + */ + /*s*///comment + // /***/ + /*s*/int /*s*/intValue = 0; + intValue = intValue /*s*/+ 1; + string strValue = /*s*/"hello"; + /*s*/MyClass c = new MyClass(); + string verbatimStr = /*s*/@"\\\\"; + } + } + + //General Test F. Type a very long class name, verify colorization happens correctly only upto the correct size (118324) + class TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/*Scen8*/{ } + + class TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22/*Scen9*/{ } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..5ef95c1de --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,380 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ Comments +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ XmlComments +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ UndocumentedKeywords +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ u +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ intValue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ intValue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ intValue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ strValue +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "hello" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyClass +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyClass +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ verbatimStr +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "\\\\" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..a97b74d6a --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,67 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:17='Comments',,1:10] +[@2,18:18='.',<'.'>,1:18] +[@3,19:29='XmlComments',,1:19] +[@4,30:30='.',<'.'>,1:30] +[@5,31:50='UndocumentedKeywords',,1:31] +[@6,52:52='{',<'{'>,2:0] +[@7,504:508='class',<'class'>,19:4] +[@8,517:517='C',,19:17] +[@9,518:518='<',<'<'>,19:18] +[@10,519:519='T',,19:19] +[@11,520:520='>',<'>'>,19:20] +[@12,526:526='{',<'{'>,20:4] +[@13,536:539='void',<'void'>,21:8] +[@14,541:541='M',,21:13] +[@15,542:542='<',<'<'>,21:14] +[@16,543:543='U',,21:15] +[@17,544:544='>',<'>'>,21:16] +[@18,545:545='(',<'('>,21:17] +[@19,546:546='T',,21:18] +[@20,548:548='t',,21:20] +[@21,549:549=',',<','>,21:21] +[@22,551:551='U',,21:23] +[@23,553:553='u',,21:25] +[@24,554:554=')',<')'>,21:26] +[@25,564:564='{',<'{'>,22:8] +[@26,712:714='int',<'int'>,29:17] +[@27,721:728='intValue',,29:26] +[@28,730:730='=',<'='>,29:35] +[@29,732:732='0',,29:37] +[@30,733:733=';',<';'>,29:38] +[@31,747:754='intValue',,30:12] +[@32,756:756='=',<'='>,30:21] +[@33,758:765='intValue',,30:23] +[@34,772:772='+',<'+'>,30:37] +[@35,774:774='1',,30:39] +[@36,775:775=';',<';'>,30:40] +[@37,789:794='string',<'string'>,31:12] +[@38,796:803='strValue',,31:19] +[@39,805:805='=',<'='>,31:28] +[@40,812:818='"hello"',,31:35] +[@41,819:819=';',<';'>,31:42] +[@42,838:844='MyClass',,32:17] +[@43,846:846='c',,32:25] +[@44,848:848='=',<'='>,32:27] +[@45,850:852='new',<'new'>,32:29] +[@46,854:860='MyClass',,32:33] +[@47,861:861='(',<'('>,32:40] +[@48,862:862=')',<')'>,32:41] +[@49,863:863=';',<';'>,32:42] +[@50,877:882='string',<'string'>,33:12] +[@51,884:894='verbatimStr',,33:19] +[@52,896:896='=',<'='>,33:31] +[@53,903:909='@"\\\\"',,33:38] +[@54,910:910=';',<';'>,33:45] +[@55,920:920='}',<'}'>,34:8] +[@56,926:926='}',<'}'>,35:4] +[@57,1058:1062='class',<'class'>,38:4] +[@58,1064:1574='TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',,38:10] +[@59,1584:1584='{',<'{'>,38:530] +[@60,1586:1586='}',<'}'>,38:532] +[@61,1593:1597='class',<'class'>,40:4] +[@62,1599:2110='TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22',,40:10] +[@63,2120:2120='{',<'{'>,40:531] +[@64,2122:2122='}',<'}'>,40:533] +[@65,2124:2124='}',<'}'>,41:0] +[@66,2125:2124='',,41:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..b628599c8 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier Comments) . (identifier XmlComments) . (identifier UndocumentedKeywords)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier C) (type_parameter_list < (type_parameters (identifier T)) >) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier M)) (type_parameter_list < (type_parameters (identifier U)) >) ( (parameter_list (fixed_parameters (fixed_parameter (type (identifier T)) (identifier t)) , (fixed_parameter (type (identifier U)) (identifier u)))) )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier intValue) = (local_variable_initializer (literal 0)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier intValue)) (assignment_operator =) (expression (additive_expression (additive_expression (identifier intValue)) + (multiplicative_expression (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier strValue) = (local_variable_initializer (literal "hello")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier MyClass)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier c) = (local_variable_initializer (object_creation_expression new (type (identifier MyClass)) ( ))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier verbatimStr) = (local_variable_initializer (literal @"\\\\")))))) ;))) })))) }))) (namespace_member_declaration (class_declaration class (identifier TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX) (class_body { }))) (namespace_member_declaration (class_declaration class (identifier TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22) (class_body { }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..a6f7a9d45 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,855 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} + + + +type_parameter_list + + + +explicitly_typed_local_variable_declarator + + + +local_variable_initializer + + + +identifier + + + +declaration_statement + + + +class_declaration + + + +class_type + + + +identifier + + + +literal + + + +local_variable_declaration + + + +C + + + +local_variable_initializer + + + +explicitly_typed_local_variable_declarators + + + +intValue + + + +object_creation_expression + + + +explicitly_typed_local_variable_declaration + + + +declaration_statement + + + +namespace_member_declaration + + + +statement + + + +identifier + + + +; + + + +expression + + + +identifier + + + +declaration_statement + + + +explicitly_typed_local_variable_declarators + + + +, + + + +t + + + +> + + + +intValue + + + +identifier + + + +string + + + +1 + + + +) + + + +type + + + +namespace_declaration + + + +explicitly_typed_local_variable_declarator + + + +type_parameter_list + + + +identifier + + + +fixed_parameter + + + +identifier + + + +unary_expression + + + +method_header + + + +return_type + + + +namespace_member_declaration + + + +class_body + + + +class + + + +local_variable_declaration + + + +class + + + +. + + + +literal + + + +identifier + + + +identifier + + + +TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22 + + + +0 + + + +U + + + +verbatimStr + + + +compilation_unit + + + +) + + + +T + + + +statement + + + +type + + + +MyClass + + + +; + + + +U + + + +class + + + +class_body + + + +explicitly_typed_local_variable_declarator + + + +declaration_statement + + + +statement + + + +type + + + +identifier + + + +intValue + + + +. + + + +fixed_parameters + + + +UndocumentedKeywords + + + +fixed_parameter + + + +new + + + +u + + + +< + + + +explicitly_typed_local_variable_declaration + + + +@"\\\\" + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +integral_type + + + += + + + +M + + + +} + + + +type_parameters + + + += + + + +; + + + += + + + +type + + + +member_name + + + +{ + + + +additive_expression + + + +identifier + + + +Comments + + + +local_variable_initializer + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +method_declaration + + + +type + + + +TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + + + +identifier + + + +( + + + +type + + + +assignment_operator + + + ++ + + + +namespace + + + +statement + + + +type_parameters + + + +qualified_identifier + + + +local_variable_declaration + + + +class_declaration + + + +string + + + +statement_list + + + +class_member_declaration + + + +literal + + + +identifier + + + +identifier + + + +< + + + +; + + + +additive_expression + + + +( + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +multiplicative_expression + + + +XmlComments + + + +method_body + + + +explicitly_typed_local_variable_declaration + + + +} + + + += + + + +block + + + +void + + + +statement + + + +identifier + + + +method_modifiers + + + +{ + + + +class_declaration + + + +prog + + + +statement_expression + + + +literal + + + +MyClass + + + +; + + + +strValue + + + +} + + + +namespace_body + + + +c + + + +{ + + + +class_type + + + +identifier + + + +class_body + + + +{ + + + +type + + + +local_variable_declaration + + + +identifier + + + +T + + + += + + + +parameter_list + + + +> + + + +explicitly_typed_local_variable_declarator + + + +assignment + + + +namespace_member_declaration + + + +int + + + +{ + + + +local_variable_initializer + + + +"hello" + + + +} + + + +expression_statement + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..a83c5bac0 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,23 @@ +namespace Comments.XmlComments.UndocumentedKeywords +{ + class yield + { + void Params(ref dynamic a, out dynamic b, params dynamic[] c) {} + void Params(out dynamic a = 2, ref dynamic c = default(dynamic), params dynamic[][] c) {} + + public override string ToString() { return base.ToString(); } + + public partial void OnError(); + + public partial void method() + { + int?[] a = new int?[5];/*[] bug*/ // YES [] + int[] var = { 1, 2, 3, 4, 5 };/*,;*/ + int i = a[i];/*[]*/ + Foo f = new Foo();/*<> ()*/ + f.method();/*().*/ + i = i + i - i * i / i % i & i | i ^ i;/*+ - * / % & | ^*/ + bool b = true & false | true ^ false;/*& | ^*/ + } + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..a9f5f95bd --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,1002 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ Comments +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ XmlComments +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ UndocumentedKeywords +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Params +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_array +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ params +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Params +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explictly_typed_default +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_array +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ params +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ override +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ToString +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ToString +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ OnError +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 4 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ / +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ % +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ & +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ | +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ^ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ & +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ | +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ^ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..8c80c4b0c --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,179 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:17='Comments',,1:10] +[@2,18:18='.',<'.'>,1:18] +[@3,19:29='XmlComments',,1:19] +[@4,30:30='.',<'.'>,1:30] +[@5,31:50='UndocumentedKeywords',,1:31] +[@6,52:52='{',<'{'>,2:0] +[@7,58:62='class',<'class'>,3:4] +[@8,64:68='yield',<'yield'>,3:10] +[@9,74:74='{',<'{'>,4:4] +[@10,84:87='void',<'void'>,5:8] +[@11,89:94='Params',,5:13] +[@12,95:95='(',<'('>,5:19] +[@13,96:98='ref',<'ref'>,5:20] +[@14,100:106='dynamic',<'dynamic'>,5:24] +[@15,108:108='a',,5:32] +[@16,109:109=',',<','>,5:33] +[@17,111:113='out',<'out'>,5:35] +[@18,115:121='dynamic',<'dynamic'>,5:39] +[@19,123:123='b',,5:47] +[@20,124:124=',',<','>,5:48] +[@21,126:131='params',<'params'>,5:50] +[@22,133:139='dynamic',<'dynamic'>,5:57] +[@23,140:140='[',<'['>,5:64] +[@24,141:141=']',<']'>,5:65] +[@25,143:143='c',,5:67] +[@26,144:144=')',<')'>,5:68] +[@27,146:146='{',<'{'>,5:70] +[@28,147:147='}',<'}'>,5:71] +[@29,157:160='void',<'void'>,6:8] +[@30,162:167='Params',,6:13] +[@31,168:168='(',<'('>,6:19] +[@32,169:171='out',<'out'>,6:20] +[@33,173:179='dynamic',<'dynamic'>,6:24] +[@34,181:181='a',,6:32] +[@35,183:183='=',<'='>,6:34] +[@36,185:185='2',,6:36] +[@37,186:186=',',<','>,6:37] +[@38,188:190='ref',<'ref'>,6:39] +[@39,192:198='dynamic',<'dynamic'>,6:43] +[@40,200:200='c',,6:51] +[@41,202:202='=',<'='>,6:53] +[@42,204:210='default',<'default'>,6:55] +[@43,211:211='(',<'('>,6:62] +[@44,212:218='dynamic',<'dynamic'>,6:63] +[@45,219:219=')',<')'>,6:70] +[@46,220:220=',',<','>,6:71] +[@47,222:227='params',<'params'>,6:73] +[@48,229:235='dynamic',<'dynamic'>,6:80] +[@49,236:236='[',<'['>,6:87] +[@50,237:237=']',<']'>,6:88] +[@51,238:238='[',<'['>,6:89] +[@52,239:239=']',<']'>,6:90] +[@53,241:241='c',,6:92] +[@54,242:242=')',<')'>,6:93] +[@55,244:244='{',<'{'>,6:95] +[@56,245:245='}',<'}'>,6:96] +[@57,256:261='public',<'public'>,8:8] +[@58,263:270='override',<'override'>,8:15] +[@59,272:277='string',<'string'>,8:24] +[@60,279:286='ToString',,8:31] +[@61,287:287='(',<'('>,8:39] +[@62,288:288=')',<')'>,8:40] +[@63,290:290='{',<'{'>,8:42] +[@64,292:297='return',<'return'>,8:44] +[@65,299:302='base',<'base'>,8:51] +[@66,303:303='.',<'.'>,8:55] +[@67,304:311='ToString',,8:56] +[@68,312:312='(',<'('>,8:64] +[@69,313:313=')',<')'>,8:65] +[@70,314:314=';',<';'>,8:66] +[@71,316:316='}',<'}'>,8:68] +[@72,328:333='public',<'public'>,10:8] +[@73,335:341='partial',<'partial'>,10:15] +[@74,343:346='void',<'void'>,10:23] +[@75,348:354='OnError',,10:28] +[@76,355:355='(',<'('>,10:35] +[@77,356:356=')',<')'>,10:36] +[@78,357:357=';',<';'>,10:37] +[@79,368:373='public',<'public'>,12:8] +[@80,375:381='partial',<'partial'>,12:15] +[@81,383:386='void',<'void'>,12:23] +[@82,388:393='method',,12:28] +[@83,394:394='(',<'('>,12:34] +[@84,395:395=')',<')'>,12:35] +[@85,405:405='{',<'{'>,13:8] +[@86,419:421='int',<'int'>,14:12] +[@87,422:422='?',<'?'>,14:15] +[@88,423:423='[',<'['>,14:16] +[@89,424:424=']',<']'>,14:17] +[@90,426:426='a',,14:19] +[@91,428:428='=',<'='>,14:21] +[@92,430:432='new',<'new'>,14:23] +[@93,434:436='int',<'int'>,14:27] +[@94,437:437='?',<'?'>,14:30] +[@95,438:438='[',<'['>,14:31] +[@96,439:439='5',,14:32] +[@97,440:440=']',<']'>,14:33] +[@98,441:441=';',<';'>,14:34] +[@99,475:477='int',<'int'>,15:12] +[@100,478:478='[',<'['>,15:15] +[@101,479:479=']',<']'>,15:16] +[@102,481:483='var',<'var'>,15:18] +[@103,485:485='=',<'='>,15:22] +[@104,487:487='{',<'{'>,15:24] +[@105,489:489='1',,15:26] +[@106,490:490=',',<','>,15:27] +[@107,492:492='2',,15:29] +[@108,493:493=',',<','>,15:30] +[@109,495:495='3',,15:32] +[@110,496:496=',',<','>,15:33] +[@111,498:498='4',,15:35] +[@112,499:499=',',<','>,15:36] +[@113,501:501='5',,15:38] +[@114,503:503='}',<'}'>,15:40] +[@115,504:504=';',<';'>,15:41] +[@116,524:526='int',<'int'>,16:12] +[@117,528:528='i',,16:16] +[@118,530:530='=',<'='>,16:18] +[@119,532:532='a',,16:20] +[@120,533:533='[',<'['>,16:21] +[@121,534:534='i',,16:22] +[@122,535:535=']',<']'>,16:23] +[@123,536:536=';',<';'>,16:24] +[@124,556:558='Foo',,17:12] +[@125,559:559='<',<'<'>,17:15] +[@126,560:560='T',,17:16] +[@127,561:561='>',<'>'>,17:17] +[@128,563:563='f',,17:19] +[@129,565:565='=',<'='>,17:21] +[@130,567:569='new',<'new'>,17:23] +[@131,571:573='Foo',,17:27] +[@132,574:574='<',<'<'>,17:30] +[@133,575:577='int',<'int'>,17:31] +[@134,578:578='>',<'>'>,17:34] +[@135,579:579='(',<'('>,17:35] +[@136,580:580=')',<')'>,17:36] +[@137,581:581=';',<';'>,17:37] +[@138,604:604='f',,18:12] +[@139,605:605='.',<'.'>,18:13] +[@140,606:611='method',,18:14] +[@141,612:612='(',<'('>,18:20] +[@142,613:613=')',<')'>,18:21] +[@143,614:614=';',<';'>,18:22] +[@144,635:635='i',,19:12] +[@145,637:637='=',<'='>,19:14] +[@146,639:639='i',,19:16] +[@147,641:641='+',<'+'>,19:18] +[@148,643:643='i',,19:20] +[@149,645:645='-',<'-'>,19:22] +[@150,647:647='i',,19:24] +[@151,649:649='*',<'*'>,19:26] +[@152,651:651='i',,19:28] +[@153,653:653='/',<'/'>,19:30] +[@154,655:655='i',,19:32] +[@155,657:657='%',<'%'>,19:34] +[@156,659:659='i',,19:36] +[@157,661:661='&',<'&'>,19:38] +[@158,663:663='i',,19:40] +[@159,665:665='|',<'|'>,19:42] +[@160,667:667='i',,19:44] +[@161,669:669='^',<'^'>,19:46] +[@162,671:671='i',,19:48] +[@163,672:672=';',<';'>,19:49] +[@164,705:708='bool',<'bool'>,20:12] +[@165,710:710='b',,20:17] +[@166,712:712='=',<'='>,20:19] +[@167,714:717='true',<'true'>,20:21] +[@168,719:719='&',<'&'>,20:26] +[@169,721:725='false',<'false'>,20:28] +[@170,727:727='|',<'|'>,20:34] +[@171,729:732='true',<'true'>,20:36] +[@172,734:734='^',<'^'>,20:41] +[@173,736:740='false',<'false'>,20:43] +[@174,741:741=';',<';'>,20:48] +[@175,760:760='}',<'}'>,21:8] +[@176,766:766='}',<'}'>,22:4] +[@177,768:768='}',<'}'>,23:0] +[@178,769:768='',,23:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..a9d1d78cd --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier Comments) . (identifier XmlComments) . (identifier UndocumentedKeywords)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier (contextual_keyword yield)) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Params)) ( (parameter_list (fixed_parameters (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (contextual_keyword dynamic)) (identifier a)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier out)) (type (contextual_keyword dynamic)) (identifier b))) , (parameter_array params (array_type (non_array_type (contextual_keyword dynamic)) (rank_specifier [ ])) (identifier c))) )) (method_body (block { })))) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Params)) ( (parameter_list (fixed_parameters (fixed_parameter (parameter_modifier (parameter_mode_modifier out)) (type (contextual_keyword dynamic)) (identifier a) (default_argument = (expression (literal 2)))) , (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (contextual_keyword dynamic)) (identifier c) (default_argument = (expression (explictly_typed_default default ( (type (contextual_keyword dynamic)) )))))) , (parameter_array params (array_type (non_array_type (contextual_keyword dynamic)) (rank_specifier [ ]) (rank_specifier [ ])) (identifier c))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier override))) (return_type (class_type string)) (method_header (member_name (identifier ToString)) ( )) (method_body (block { (statement_list (return_statement return (expression (invocation_expression (primary_expression (base_access base . (identifier ToString))) ( ))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) partial) (return_type void) (method_header (member_name (identifier OnError)) ( )) (method_body ;))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) partial) (return_type void) (method_header (member_name (identifier method)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (array_creation_expression new (non_array_type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) [ (expression_list (literal 5)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword var)) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 1)) , (variable_initializer (literal 2)) , (variable_initializer (literal 3)) , (variable_initializer (literal 4)) , (variable_initializer (literal 5))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (element_access (primary_no_array_creation_expression (identifier a)) [ (argument_list (identifier i)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Foo) (type_argument_list < (type_arguments (identifier T)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f) = (local_variable_initializer (object_creation_expression new (type (namespace_or_type_name (identifier Foo) (type_argument_list < (type_arguments (integral_type int)) >))) ( ))))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier f)) . (identifier method))) ( ))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator =) (expression (inclusive_or_expression (inclusive_or_expression (and_expression (and_expression (additive_expression (additive_expression (additive_expression (identifier i)) + (multiplicative_expression (identifier i))) - (multiplicative_expression (multiplicative_expression (multiplicative_expression (multiplicative_expression (identifier i)) * (unary_expression (identifier i))) / (unary_expression (identifier i))) % (unary_expression (identifier i))))) & (equality_expression (identifier i)))) | (exclusive_or_expression (exclusive_or_expression (identifier i)) ^ (and_expression (identifier i))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (simple_type bool)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier b) = (local_variable_initializer (inclusive_or_expression (inclusive_or_expression (and_expression (and_expression (boolean_literal true)) & (equality_expression (boolean_literal false)))) | (exclusive_or_expression (exclusive_or_expression (boolean_literal true)) ^ (and_expression (boolean_literal false))))))))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..8b998eaab --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,2270 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ref + + + +block + + + += + + + +nullable_type_annotation + + + +identifier + + + +non_array_type + + + +T + + + +invocation_expression + + + +non_array_type + + + +& + + + +contextual_keyword + + + +) + + + +& + + + +type + + + +partial + + + +unary_expression + + + +expression + + + +class_declaration + + + +type + + + +default_argument + + + +primary_expression + + + +inclusive_or_expression + + + +Foo + + + +parameter_list + + + +) + + + +dynamic + + + +identifier + + + +^ + + + +fixed_parameter + + + +method_modifiers + + + +dynamic + + + +public + + + +parameter_modifier + + + +Comments + + + +public + + + +qualified_identifier + + + +type_argument_list + + + +void + + + +rank_specifier + + + +class_member_declaration + + + +dynamic + + + +declaration_statement + + + +method_header + + + +contextual_keyword + + + +namespace_or_type_name + + + +< + + + +additive_expression + + + +identifier + + + +default_argument + + + +explicitly_typed_local_variable_declarator + + + +- + + + +method + + + +rank_specifier + + + +, + + + +and_expression + + + +b + + + +parameter_mode_modifier + + + +[ + + + +[ + + + +f + + + +statement + + + +i + + + +prog + + + += + + + +identifier + + + +class_member_declaration + + + +local_variable_initializer + + + +} + + + +XmlComments + + + +type + + + += + + + +params + + + +literal + + + +c + + + += + + + +method_body + + + +void + + + +identifier + + + +parameter_mode_modifier + + + +string + + + +explicitly_typed_local_variable_declarator + + + +? + + + +method + + + +1 + + + +identifier + + + +( + + + +type_arguments + + + +new + + + +expression_statement + + + +) + + + +multiplicative_expression + + + +i + + + +} + + + +boolean_literal + + + +] + + + +[ + + + +identifier + + + +primary_expression + + + +i + + + +identifier + + + +a + + + +declaration_statement + + + +explicitly_typed_local_variable_declarators + + + +Params + + + +( + + + +i + + + +fixed_parameter + + + +{ + + + +declaration_statement + + + +identifier + + + +Params + + + +) + + + +array_type + + + +identifier + + + +method_body + + + +local_variable_declaration + + + +statement + + + +multiplicative_expression + + + +identifier + + + +{ + + + +variable_initializer + + + +parameter_array + + + +method_modifier + + + +block + + + +i + + + +explicitly_typed_local_variable_declarators + + + +method_modifiers + + + +5 + + + +. + + + +explicitly_typed_local_variable_declarators + + + +type + + + +params + + + +boolean_literal + + + +type + + + +class + + + +return_statement + + + +method_declaration + + + +int + + + +explicitly_typed_local_variable_declaration + + + +element_access + + + +statement_list + + + +; + + + +] + + + +method_declaration + + + +] + + + +identifier + + + +member_name + + + +, + + + +exclusive_or_expression + + + +identifier + + + +method_body + + + +non_nullable_value_type + + + +exclusive_or_expression + + + +method_declaration + + + +; + + + +c + + + +ref_method_modifier + + + +additive_expression + + + +OnError + + + +statement + + + +local_variable_declaration + + + +i + + + +return_type + + + +boolean_literal + + + +| + + + +. + + + +true + + + +integral_type + + + +type_arguments + + + +local_variable_declaration + + + +exclusive_or_expression + + + +explicitly_typed_local_variable_declarator + + + +local_variable_initializer + + + +i + + + +member_name + + + +literal + + + +boolean_literal + + + +explicitly_typed_local_variable_declarators + + + +, + + + +2 + + + +multiplicative_expression + + + +yield + + + +compilation_unit + + + +parameter_mode_modifier + + + +) + + + +identifier + + + +member_name + + + +equality_expression + + + +| + + + += + + + +method_header + + + +identifier + + + +integral_type + + + +identifier + + + +variable_initializer + + + +rank_specifier + + + +multiplicative_expression + + + +( + + + +) + + + += + + + +false + + + +% + + + +* + + + +) + + + +variable_initializer + + + +var + + + +method_header + + + +method_modifiers + + + +rank_specifier + + + +nullable_type_annotation + + + +type + + + +c + + + +multiplicative_expression + + + +method_modifier + + + +identifier + + + +and_expression + + + +unary_expression + + + +method_modifiers + + + +identifier + + + +nullable_value_type + + + +assignment_operator + + + +class_body + + + +base + + + +int + + + +literal + + + +member_access + + + +local_variable_declaration + + + +and_expression + + + +additive_expression + + + +parameter_modifier + + + +statement + + + +block + + + +contextual_keyword + + + +dynamic + + + +identifier + + + +ToString + + + +i + + + +default + + + +new + + + +parameter_modifier + + + +return + + + +identifier + + + +{ + + + +array_type + + + +identifier + + + +local_variable_initializer + + + +statement_expression + + + +int + + + +return_type + + + +contextual_keyword + + + +public + + + +; + + + +method_modifier + + + +< + + + +[ + + + +statement_list + + + +( + + + +ref + + + +method_modifiers + + + +fixed_parameters + + + +a + + + +variable_initializer + + + +a + + + +identifier + + + +integral_type + + + +statement_expression + + + +array_initializer + + + +contextual_keyword + + + +int + + + +fixed_parameter + + + +2 + + + +; + + + +[ + + + +i + + + +simple_type + + + +, + + + +] + + + +type + + + +explicitly_typed_local_variable_declaration + + + +nullable_value_type + + + +; + + + +[ + + + +literal + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +false + + + +expression + + + +member_name + + + +unary_expression + + + +declaration_statement + + + +{ + + + +type + + + +] + + + +inclusive_or_expression + + + +parameter_modifier + + + +inclusive_or_expression + + + +identifier + + + +out + + + +] + + + +and_expression + + + +variable_initializer_list + + + +true + + + +{ + + + += + + + +rank_specifier + + + +3 + + + +( + + + +; + + + +variable_initializer + + + +declaration_statement + + + +Foo + + + +. + + + +expression + + + +return_type + + + +} + + + +, + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +f + + + +method_declaration + + + +} + + + +primary_no_array_creation_expression + + + +, + + + +. + + + +dynamic + + + +ref_method_modifier + + + +statement + + + +identifier + + + +parameter_array + + + +ref_method_modifier + + + +b + + + +explicitly_typed_local_variable_declaration + + + +{ + + + +identifier + + + +out + + + +method_body + + + +integral_type + + + +non_nullable_value_type + + + +expression + + + +method_declaration + + + +( + + + +i + + + +non_array_type + + + +local_variable_initializer + + + +( + + + +expression_list + + + +int + + + +^ + + + +dynamic + + + +contextual_keyword + + + +array_type + + + +namespace_declaration + + + +void + + + +class_member_declaration + + + +method_body + + + +unary_expression + + + +parameter_mode_modifier + + + +/ + + + +? + + + +i + + + +} + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +namespace_member_declaration + + + +) + + + +contextual_keyword + + + +class_member_declaration + + + +return_type + + + +literal + + + +; + + + +a + + + +identifier + + + +statement + + + +{ + + + +contextual_keyword + + + +( + + + +dynamic + + + += + + + +return_type + + + +local_variable_declaration + + + ++ + + + +non_array_type + + + +] + + + +method_header + + + +> + + + +object_creation_expression + + + +class_type + + + +identifier + + + +) + + + +class_member_declaration + + + +override + + + +exclusive_or_expression + + + +5 + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +} + + + +( + + + +bool + + + +base_access + + + +contextual_keyword + + + +fixed_parameter + + + +literal + + + +identifier + + + +type + + + +array_creation_expression + + + +fixed_parameters + + + +inclusive_or_expression + + + +type_argument_list + + + +void + + + +invocation_expression + + + +UndocumentedKeywords + + + +> + + + +namespace_or_type_name + + + +non_array_type + + + +primary_expression + + + +identifier + + + +block + + + +assignment + + + +identifier + + + +method_modifier + + + +, + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +namespace_body + + + +ToString + + + +4 + + + +literal + + + +and_expression + + + +; + + + +partial + + + +type + + + +parameter_list + + + +} + + + +local_variable_initializer + + + +equality_expression + + + +member_name + + + +ref_method_modifier + + + +type + + + +array_type + + + +; + + + +identifier + + + +method_header + + + +integral_type + + + +[ + + + +argument_list + + + +namespace + + + +, + + + +i + + + +identifier + + + +explictly_typed_default + + + +statement + + + +and_expression + + + +expression_statement + + + +identifier + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..713b46ba1 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,41 @@ +namespace Comments.XmlComments.UndocumentedKeywords +{ + class yield + { + public partial void method() + { + b = !b;/*!*/ + i = ~i;/*~i*/ + b = i < i && i > i;/*< && >*/ + int? ii = 5;/*? bug*/ // NO ? + int f = true ? 1 : 0;/*? :*/ // YES : + i++;/*++*/ + i--;/*--*/ + b = true && false || true;/*&& ||*/ + b = i == i && i != i && i <= i && i >= i;/*= == && != <= >=*/ + i += 5.0;/*+=*/ + i -= i;/*-=*/ + i *= i;/**=*/ + i /= i;/*/=*/ + i %= i;/*%=*/ + i &= i;/*&=*/ + i |= i;/*|=*/ + i ^= i;/*^=*/ + i <<= i;/*<<=*/ + i >>= i;/*>>=*/ + object s = x => x + 1;/*=>*/ + double d = .3; + Point point; + unsafe + { + Point* p = &point;/** &*/ + p->x = 10;/*->*/ + } + IO::BinaryReader br = null; + x[i: 1] = 3; + x[i: 1, j: 5] = "str"; + } + + struct Point { public int X; public int Y; public void ThisAccess() { this = this; } } + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..d1751c7ed --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,1452 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ Comments +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ XmlComments +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ UndocumentedKeywords +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ logical_negation_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ~ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ii +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_decrement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -- +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ || +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ != +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ <= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ >= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ += +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5.0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ *= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ /= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ %= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ &= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ |= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ^= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ <<= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ right_shift_assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ >= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ floating_point_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ double +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ .3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Point +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ point +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Point +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ addressof_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ & +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ point +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -> +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 10 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_alias_member +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IO +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ :: +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ BinaryReader +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ br +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "str" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Point +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ X +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ThisAccess +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..5d88b842e --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,214 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:17='Comments',,1:10] +[@2,18:18='.',<'.'>,1:18] +[@3,19:29='XmlComments',,1:19] +[@4,30:30='.',<'.'>,1:30] +[@5,31:50='UndocumentedKeywords',,1:31] +[@6,52:52='{',<'{'>,2:0] +[@7,58:62='class',<'class'>,3:4] +[@8,64:68='yield',<'yield'>,3:10] +[@9,74:74='{',<'{'>,4:4] +[@10,84:89='public',<'public'>,5:8] +[@11,91:97='partial',<'partial'>,5:15] +[@12,99:102='void',<'void'>,5:23] +[@13,104:109='method',,5:28] +[@14,110:110='(',<'('>,5:34] +[@15,111:111=')',<')'>,5:35] +[@16,121:121='{',<'{'>,6:8] +[@17,135:135='b',,7:12] +[@18,137:137='=',<'='>,7:14] +[@19,139:139='!',<'!'>,7:16] +[@20,140:140='b',,7:17] +[@21,141:141=';',<';'>,7:18] +[@22,160:160='i',,8:12] +[@23,162:162='=',<'='>,8:14] +[@24,164:164='~',<'~'>,8:16] +[@25,165:165='i',,8:17] +[@26,166:166=';',<';'>,8:18] +[@27,186:186='b',,9:12] +[@28,188:188='=',<'='>,9:14] +[@29,190:190='i',,9:16] +[@30,192:192='<',<'<'>,9:18] +[@31,194:194='i',,9:20] +[@32,196:197='&&',<'&&'>,9:22] +[@33,199:199='i',,9:25] +[@34,201:201='>',<'>'>,9:27] +[@35,203:203='i',,9:29] +[@36,204:204=';',<';'>,9:30] +[@37,228:230='int',<'int'>,10:12] +[@38,231:231='?',<'?'>,10:15] +[@39,233:234='ii',,10:17] +[@40,236:236='=',<'='>,10:20] +[@41,238:238='5',,10:22] +[@42,239:239=';',<';'>,10:23] +[@43,270:272='int',<'int'>,11:12] +[@44,274:274='f',,11:16] +[@45,276:276='=',<'='>,11:18] +[@46,278:281='true',<'true'>,11:20] +[@47,283:283='?',<'?'>,11:25] +[@48,285:285='1',,11:27] +[@49,287:287=':',<':'>,11:29] +[@50,289:289='0',,11:31] +[@51,290:290=';',<';'>,11:32] +[@52,322:322='i',,12:12] +[@53,323:324='++',<'++'>,12:13] +[@54,325:325=';',<';'>,12:15] +[@55,345:345='i',,13:12] +[@56,346:347='--',<'--'>,13:13] +[@57,348:348=';',<';'>,13:15] +[@58,368:368='b',,14:12] +[@59,370:370='=',<'='>,14:14] +[@60,372:375='true',<'true'>,14:16] +[@61,377:378='&&',<'&&'>,14:21] +[@62,380:384='false',<'false'>,14:24] +[@63,386:387='||',<'||'>,14:30] +[@64,389:392='true',<'true'>,14:33] +[@65,393:393=';',<';'>,14:37] +[@66,416:416='b',,15:12] +[@67,418:418='=',<'='>,15:14] +[@68,420:420='i',,15:16] +[@69,422:423='==',<'=='>,15:18] +[@70,425:425='i',,15:21] +[@71,427:428='&&',<'&&'>,15:23] +[@72,430:430='i',,15:26] +[@73,432:433='!=',<'!='>,15:28] +[@74,435:435='i',,15:31] +[@75,437:438='&&',<'&&'>,15:33] +[@76,440:440='i',,15:36] +[@77,442:443='<=',<'<='>,15:38] +[@78,445:445='i',,15:41] +[@79,447:448='&&',<'&&'>,15:43] +[@80,450:450='i',,15:46] +[@81,452:453='>=',<'>='>,15:48] +[@82,455:455='i',,15:51] +[@83,456:456=';',<';'>,15:52] +[@84,490:490='i',,16:12] +[@85,492:493='+=',<'+='>,16:14] +[@86,495:497='5.0',,16:17] +[@87,498:498=';',<';'>,16:20] +[@88,518:518='i',,17:12] +[@89,520:521='-=',<'-='>,17:14] +[@90,523:523='i',,17:17] +[@91,524:524=';',<';'>,17:18] +[@92,544:544='i',,18:12] +[@93,546:547='*=',<'*='>,18:14] +[@94,549:549='i',,18:17] +[@95,550:550=';',<';'>,18:18] +[@96,570:570='i',,19:12] +[@97,572:573='/=',<'/='>,19:14] +[@98,575:575='i',,19:17] +[@99,576:576=';',<';'>,19:18] +[@100,596:596='i',,20:12] +[@101,598:599='%=',<'%='>,20:14] +[@102,601:601='i',,20:17] +[@103,602:602=';',<';'>,20:18] +[@104,622:622='i',,21:12] +[@105,624:625='&=',<'&='>,21:14] +[@106,627:627='i',,21:17] +[@107,628:628=';',<';'>,21:18] +[@108,648:648='i',,22:12] +[@109,650:651='|=',<'|='>,22:14] +[@110,653:653='i',,22:17] +[@111,654:654=';',<';'>,22:18] +[@112,674:674='i',,23:12] +[@113,676:677='^=',<'^='>,23:14] +[@114,679:679='i',,23:17] +[@115,680:680=';',<';'>,23:18] +[@116,700:700='i',,24:12] +[@117,702:704='<<=',<'<<='>,24:14] +[@118,706:706='i',,24:18] +[@119,707:707=';',<';'>,24:19] +[@120,728:728='i',,25:12] +[@121,730:730='>',<'>'>,25:14] +[@122,731:732='>=',<'>='>,25:15] +[@123,734:734='i',,25:18] +[@124,735:735=';',<';'>,25:19] +[@125,756:761='object',<'object'>,26:12] +[@126,763:763='s',,26:19] +[@127,765:765='=',<'='>,26:21] +[@128,767:767='x',,26:23] +[@129,769:770='=>',<'=>'>,26:25] +[@130,772:772='x',,26:28] +[@131,774:774='+',<'+'>,26:30] +[@132,776:776='1',,26:32] +[@133,777:777=';',<';'>,26:33] +[@134,797:802='double',<'double'>,27:12] +[@135,804:804='d',,27:19] +[@136,806:806='=',<'='>,27:21] +[@137,808:809='.3',,27:23] +[@138,810:810=';',<';'>,27:25] +[@139,824:828='Point',,28:12] +[@140,830:834='point',,28:18] +[@141,835:835=';',<';'>,28:23] +[@142,849:854='unsafe',<'unsafe'>,29:12] +[@143,868:868='{',<'{'>,30:12] +[@144,886:890='Point',,31:16] +[@145,891:891='*',<'*'>,31:21] +[@146,893:893='p',,31:23] +[@147,895:895='=',<'='>,31:25] +[@148,897:897='&',<'&'>,31:27] +[@149,898:902='point',,31:28] +[@150,903:903=';',<';'>,31:33] +[@151,928:928='p',,32:16] +[@152,929:930='->',<'->'>,32:17] +[@153,931:931='x',,32:19] +[@154,933:933='=',<'='>,32:21] +[@155,935:936='10',,32:23] +[@156,937:937=';',<';'>,32:25] +[@157,957:957='}',<'}'>,33:12] +[@158,971:972='IO',,34:12] +[@159,973:974='::',<'::'>,34:14] +[@160,975:986='BinaryReader',,34:16] +[@161,988:989='br',,34:29] +[@162,991:991='=',<'='>,34:32] +[@163,993:996='null',<'null'>,34:34] +[@164,997:997=';',<';'>,34:38] +[@165,1011:1011='x',,35:12] +[@166,1012:1012='[',<'['>,35:13] +[@167,1013:1013='i',,35:14] +[@168,1014:1014=':',<':'>,35:15] +[@169,1016:1016='1',,35:17] +[@170,1017:1017=']',<']'>,35:18] +[@171,1019:1019='=',<'='>,35:20] +[@172,1021:1021='3',,35:22] +[@173,1022:1022=';',<';'>,35:23] +[@174,1036:1036='x',,36:12] +[@175,1037:1037='[',<'['>,36:13] +[@176,1038:1038='i',,36:14] +[@177,1039:1039=':',<':'>,36:15] +[@178,1041:1041='1',,36:17] +[@179,1042:1042=',',<','>,36:18] +[@180,1044:1044='j',,36:20] +[@181,1045:1045=':',<':'>,36:21] +[@182,1047:1047='5',,36:23] +[@183,1048:1048=']',<']'>,36:24] +[@184,1050:1050='=',<'='>,36:26] +[@185,1052:1056='"str"',,36:28] +[@186,1057:1057=';',<';'>,36:33] +[@187,1067:1067='}',<'}'>,37:8] +[@188,1078:1083='struct',<'struct'>,39:8] +[@189,1085:1089='Point',,39:15] +[@190,1091:1091='{',<'{'>,39:21] +[@191,1093:1098='public',<'public'>,39:23] +[@192,1100:1102='int',<'int'>,39:30] +[@193,1104:1104='X',,39:34] +[@194,1105:1105=';',<';'>,39:35] +[@195,1107:1112='public',<'public'>,39:37] +[@196,1114:1116='int',<'int'>,39:44] +[@197,1118:1118='Y',,39:48] +[@198,1119:1119=';',<';'>,39:49] +[@199,1121:1126='public',<'public'>,39:51] +[@200,1128:1131='void',<'void'>,39:58] +[@201,1133:1142='ThisAccess',,39:63] +[@202,1143:1143='(',<'('>,39:73] +[@203,1144:1144=')',<')'>,39:74] +[@204,1146:1146='{',<'{'>,39:76] +[@205,1148:1151='this',<'this'>,39:78] +[@206,1153:1153='=',<'='>,39:83] +[@207,1155:1158='this',<'this'>,39:85] +[@208,1159:1159=';',<';'>,39:89] +[@209,1161:1161='}',<'}'>,39:91] +[@210,1163:1163='}',<'}'>,39:93] +[@211,1169:1169='}',<'}'>,40:4] +[@212,1171:1171='}',<'}'>,41:0] +[@213,1172:1171='',,41:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..72c659176 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier Comments) . (identifier XmlComments) . (identifier UndocumentedKeywords)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier (contextual_keyword yield)) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) partial) (return_type void) (method_header (member_name (identifier method)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier b)) (assignment_operator =) (expression (unary_expression (logical_negation_operator !) (unary_expression (identifier b)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator =) (expression (unary_expression ~ (unary_expression (identifier i)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier b)) (assignment_operator =) (expression (conditional_and_expression (conditional_and_expression (relational_expression (relational_expression (identifier i)) < (shift_expression (identifier i)))) && (inclusive_or_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (identifier i)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier ii) = (local_variable_initializer (literal 5)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f) = (local_variable_initializer (conditional_expression (null_coalescing_expression (boolean_literal true)) ? (expression (literal 1)) : (expression (literal 0)))))))) ;)) (statement (expression_statement (statement_expression (post_increment_expression (primary_expression (identifier i)) ++)) ;)) (statement (expression_statement (statement_expression (post_decrement_expression (primary_expression (identifier i)) --)) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier b)) (assignment_operator =) (expression (conditional_or_expression (conditional_or_expression (conditional_and_expression (conditional_and_expression (boolean_literal true)) && (inclusive_or_expression (boolean_literal false)))) || (conditional_and_expression (boolean_literal true)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier b)) (assignment_operator =) (expression (conditional_and_expression (conditional_and_expression (conditional_and_expression (conditional_and_expression (equality_expression (equality_expression (identifier i)) == (relational_expression (identifier i)))) && (inclusive_or_expression (equality_expression (equality_expression (identifier i)) != (relational_expression (identifier i))))) && (inclusive_or_expression (relational_expression (relational_expression (identifier i)) <= (shift_expression (identifier i))))) && (inclusive_or_expression (relational_expression (relational_expression (identifier i)) >= (shift_expression (identifier i)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator +=) (expression (literal 5.0)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator -=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator *=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator /=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator %=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator &=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator |=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator ^=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator <<=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator (right_shift_assignment > >=)) (expression (identifier i)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type object)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier s) = (local_variable_initializer (lambda_expression (anonymous_function_signature (identifier x)) => (anonymous_function_body (additive_expression (additive_expression (identifier x)) + (multiplicative_expression (literal 1)))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type double)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier d) = (local_variable_initializer (literal .3)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Point)) (explicitly_typed_local_variable_declarators (identifier point)))) ;)) (statement (unsafe_statement unsafe (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (pointer_type (value_type (identifier Point)) *)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier p) = (local_variable_initializer (addressof_expression & (unary_expression (identifier point)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (pointer_member_access (primary_expression (identifier p)) -> (identifier x))) (assignment_operator =) (expression (literal 10)))) ;))) }))) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (qualified_alias_member (identifier IO) :: (identifier BinaryReader))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier br) = (local_variable_initializer (null_literal null)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (identifier x)) [ (argument_list (argument (argument_name (identifier i) :) (argument_value (literal 1)))) ])) (assignment_operator =) (expression (literal 3)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (identifier x)) [ (argument_list (argument (argument_name (identifier i) :) (argument_value (literal 1))) , (argument (argument_name (identifier j) :) (argument_value (literal 5)))) ])) (assignment_operator =) (expression (literal "str")))) ;))) })))) (class_member_declaration (struct_declaration struct (identifier Point) (struct_body { (struct_member_declaration (field_declaration (field_modifier public) (type (integral_type int)) (variable_declarators (identifier X)) ;)) (struct_member_declaration (field_declaration (field_modifier public) (type (integral_type int)) (variable_declarators (identifier Y)) ;)) (struct_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ThisAccess)) ( )) (method_body (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (this_access this)) (assignment_operator =) (expression (this_access this)))) ;)) })))) }))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..1490fea5e --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,3130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +IO + + + +class_declaration + + + +statement + + + +declaration_statement + + + +literal + + + +Comments + + + += + + + +unary_expression + + + +assignment + + + +relational_expression + + + += + + + +qualified_alias_member + + + +unsafe + + + +explicitly_typed_local_variable_declarators + + + +expression + + + +unary_expression + + + +relational_expression + + + +statement_expression + + + +.3 + + + +identifier + + + +field_declaration + + + +Point + + + +inclusive_or_expression + + + +identifier + + + +; + + + += + + + +statement_expression + + + +; + + + +} + + + +assignment + + + +namespace_member_declaration + + + +s + + + +expression_statement + + + +i + + + +lambda_expression + + + +assignment + + + +conditional_and_expression + + + +block + + + +literal + + + +identifier + + + +assignment + + + +relational_expression + + + +assignment + + + +explicitly_typed_local_variable_declaration + + + +. + + + +true + + + +; + + + +type + + + +identifier + + + +prog + + + +boolean_literal + + + +expression_statement + + + +relational_expression + + + +statement + + + +! + + + +expression + + + +statement_expression + + + +assignment + + + +assignment_operator + + + +:: + + + +expression_statement + + + +identifier + + + +integral_type + + + +identifier + + + +i + + + +; + + + +; + + + +identifier + + + +i + + + +&& + + + +/= + + + +( + + + +return_type + + + +) + + + +local_variable_declaration + + + +i + + + +relational_expression + + + +block + + + +i + + + +!= + + + +expression_statement + + + +value_type + + + +field_declaration + + + +identifier + + + +literal + + + +unary_expression + + + +i + + + +identifier + + + +class_type + + + +integral_type + + + +literal + + + +unary_expression + + + +declaration_statement + + + +unsafe_statement + + + +boolean_literal + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +literal + + + +identifier + + + +i + + + +expression_statement + + + +inclusive_or_expression + + + +public + + + +struct_member_declaration + + + +variable_declarators + + + +field_modifier + + + +expression + + + +this + + + +local_variable_declaration + + + +return_type + + + +BinaryReader + + + += + + + +i + + + +identifier + + + +> + + + +; + + + +expression_statement + + + +assignment_operator + + + +i + + + +assignment_operator + + + +statement_expression + + + +identifier + + + +1 + + + +identifier + + + +assignment + + + +>= + + + +statement + + + +namespace_body + + + +relational_expression + + + +unary_expression + + + +identifier + + + +conditional_and_expression + + + +type + + + +identifier + + + +argument + + + +expression + + + +addressof_expression + + + +; + + + +identifier + + + +unary_expression + + + += + + + +statement + + + +assignment_operator + + + +equality_expression + + + +expression_statement + + + +type + + + +statement + + + +class + + + +1 + + + +identifier + + + +additive_expression + + + +( + + + +; + + + +0 + + + +i + + + +identifier + + + +i + + + +local_variable_initializer + + + +i + + + +i + + + +statement + + + +void + + + ++= + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +: + + + +&= + + + +conditional_or_expression + + + +. + + + +shift_expression + + + +expression + + + +statement_expression + + + +statement_expression + + + +type + + + +statement + + + +identifier + + + +struct_body + + + +conditional_and_expression + + + +statement + + + +identifier + + + +false + + + +method_body + + + +identifier + + + +primary_no_array_creation_expression + + + +ThisAccess + + + +method + + + +expression + + + +; + + + +right_shift_assignment + + + +method_modifier + + + +primary_expression + + + +argument_name + + + +qualified_identifier + + + +expression + + + +expression_statement + + + +identifier + + + +non_nullable_value_type + + + +statement + + + +multiplicative_expression + + + +relational_expression + + + +& + + + +? + + + +int + + + +-- + + + +floating_point_type + + + +block + + + +identifier + + + +i + + + +identifier + + + +identifier + + + +statement_list + + + +identifier + + + +unary_expression + + + +argument + + + +1 + + + +} + + + +; + + + +explicitly_typed_local_variable_declarators + + + +statement + + + +assignment_operator + + + +unary_expression + + + +nullable_value_type + + + +conditional_expression + + + +identifier + + + +assignment + + + +local_variable_declaration + + + +i + + + +; + + + +struct_declaration + + + +explicitly_typed_local_variable_declarators + + + +statement_expression + + + +identifier + + + +b + + + +statement_expression + + + +expression + + + +x + + + +this_access + + + +unary_expression + + + +identifier + + + +statement + + + +i + + + +anonymous_function_body + + + +assignment_operator + + + +int + + + +explicitly_typed_local_variable_declarator + + + +i + + + +; + + + +public + + + +expression + + + +anonymous_function_signature + + + +compilation_unit + + + +shift_expression + + + +; + + + +f + + + +expression + + + +partial + + + +; + + + +statement + + + +XmlComments + + + +unary_expression + + + +statement + + + +] + + + += + + + +statement + + + +assignment + + + +statement_list + + + +expression_statement + + + +nullable_type_annotation + + + +|= + + + +identifier + + + +; + + + +variable_declarators + + + +int + + + +expression_statement + + + +contextual_keyword + + + +statement + + + +int + + + +ref_method_modifier + + + +relational_expression + + + +expression + + + +equality_expression + + + +i + + + +statement_expression + + + +local_variable_declaration + + + +explicitly_typed_local_variable_declarator + + + +shift_expression + + + +statement_expression + + + +local_variable_initializer + + + +statement_expression + + + +argument_value + + + +: + + + +explicitly_typed_local_variable_declaration + + + +-> + + + +shift_expression + + + +=> + + + +assignment_operator + + + +declaration_statement + + + +identifier + + + +unary_expression + + + +literal + + + +conditional_or_expression + + + +integral_type + + + +unary_expression + + + +identifier + + + +expression_statement + + + +true + + + +yield + + + +identifier + + + +identifier + + + +{ + + + +local_variable_initializer + + + +explicitly_typed_local_variable_declaration + + + +method_declaration + + + +identifier + + + +assignment_operator + + + +conditional_and_expression + + + +statement + + + +inclusive_or_expression + + + +identifier + + + +, + + + +identifier + + + +; + + + +point + + + +? + + + +; + + + +statement + + + +; + + + +true + + + +unary_expression + + + +assignment_operator + + + +member_name + + + +namespace_declaration + + + +statement_expression + + + +identifier + + + +identifier + + + +{ + + + +null + + + +boolean_literal + + + +i + + + +{ + + + +assignment + + + += + + + +relational_expression + + + +integral_type + + + +p + + + +local_variable_declaration + + + +expression_statement + + + +pointer_member_access + + + +local_variable_initializer + + + +{ + + + +argument_name + + + +) + + + +identifier + + + +method_body + + + +identifier + + + +Point + + + += + + + +public + + + +identifier + + + +struct_member_declaration + + + +assignment + + + +argument_list + + + +local_variable_initializer + + + +X + + + +; + + + +++ + + + +i + + + +this_access + + + +expression_statement + + + +declaration_statement + + + +assignment_operator + + + +class_member_declaration + + + +expression + + + +expression_statement + + + +i + + + +inclusive_or_expression + + + +assignment_operator + + + +ii + + + +assignment_operator + + + +i + + + +type + + + +statement + + + +inclusive_or_expression + + + +struct + + + +primary_expression + + + +declaration_statement + + + +identifier + + + +class_member_declaration + + + +double + + + +; + + + +argument_value + + + +expression_statement + + + +x + + + +identifier + + + +i + + + +statement_expression + + + +} + + + +method_header + + + +x + + + +statement + + + +; + + + +explicitly_typed_local_variable_declarator + + + +<= + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +unary_expression + + + +class_body + + + +point + + + +conditional_and_expression + + + +~ + + + +i + + + +statement_expression + + + +statement + + + +local_variable_initializer + + + +post_decrement_expression + + + +; + + + +unary_expression + + + +; + + + +element_access + + + +] + + + +5 + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +assignment_operator + + + +explicitly_typed_local_variable_declarator + + + +} + + + +statement + + + +statement + + + +field_modifier + + + +^= + + + +UndocumentedKeywords + + + +null_coalescing_expression + + + +void + + + +[ + + + += + + + +object + + + +argument_name + + + ++ + + + +unary_expression + + + +explicitly_typed_local_variable_declarator + + + +assignment + + + +boolean_literal + + + +statement_expression + + + +expression_statement + + + +unary_expression + + + +{ + + + +primary_no_array_creation_expression + + + +struct_member_declaration + + + +x + + + +identifier + + + +null_literal + + + +statement + + + +literal + + + +identifier + + + +literal + + + +assignment + + + +local_variable_declaration + + + +declaration_statement + + + +i + + + +-= + + + +; + + + +x + + + +expression + + + +: + + + +i + + + +pointer_type + + + +element_access + + + += + + + +expression_statement + + + +expression + + + +b + + + +literal + + + +i + + + +equality_expression + + + +identifier + + + +identifier + + + +* + + + +unary_expression + + + +assignment + + + +argument + + + +identifier + + + +identifier + + + +public + + + +statement_list + + + +relational_expression + + + +} + + + +type + + + +unary_expression + + + +identifier + + + +; + + + +statement + + + +explicitly_typed_local_variable_declarator + + + +Point + + + +unary_expression + + + +expression + + + +i + + + +conditional_and_expression + + + +conditional_and_expression + + + +explicitly_typed_local_variable_declarators + + + +; + + + +assignment + + + +b + + + +identifier + + + +5 + + + +identifier + + + +i + + + +1 + + + +"str" + + + +; + + + +expression_statement + + + +|| + + + +statement + + + +&& + + + +explicitly_typed_local_variable_declaration + + + +assignment_operator + + + +expression + + + +statement_expression + + + +conditional_and_expression + + + +3 + + + += + + + +unary_expression + + + +b + + + +10 + + + +expression + + + +logical_negation_operator + + + +equality_expression + + + +literal + + + +explicitly_typed_local_variable_declaration + + + +br + + + +j + + + +type + + + +b + + + +assignment + + + +identifier + + + +} + + + +identifier + + + += + + + +== + + + +identifier + + + +i + + + +ref_method_modifier + + + +; + + + +member_name + + + +method_header + + + +> + + + +p + + + +: + + + +statement_expression + + + +; + + + +i + + + +expression_statement + + + +expression_statement + + + +expression + + + +i + + + +unary_expression + + + +[ + + + +i + + + +local_variable_declaration + + + +5.0 + + + +identifier + + + +literal + + + +conditional_and_expression + + + +additive_expression + + + +identifier + + + +%= + + + +assignment + + + +statement + + + +statement + + + +&& + + + +declaration_statement + + + +statement + + + +expression_statement + + + +identifier + + + +identifier + + + +assignment + + + +identifier + + + +*= + + + +assignment_operator + + + +primary_expression + + + +type + + + +&& + + + +statement_expression + + + +method_modifiers + + + +>= + + + +< + + + +i + + + +unary_expression + + + +i + + + +identifier + + + +expression + + + +post_increment_expression + + + +unary_expression + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +this + + + += + + + +assignment_operator + + + +method_declaration + + + +d + + + +Y + + + +i + + + +literal + + + +assignment_operator + + + +expression + + + +<<= + + + +expression + + + +assignment_operator + + + +statement_expression + + + +statement_expression + + + +&& + + + +assignment_operator + + + +argument_value + + + +identifier + + + +identifier + + + += + + + +argument_list + + + +type + + + += + + + +; + + + +i + + + +method_modifiers + + + +identifier + + + +namespace + + + +{ + + + +statement_expression + + + +assignment + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..604f35d99 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,24 @@ +namespace Comments.XmlComments.UndocumentedKeywords +{ + // From here:https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6 + class CSharp6Features + { + // Initializers for auto-properties + public string First { get; set; } = "Jane"; + public string Last { get; set; } = "Doe"; + + // Getter-only auto-properties + public string Third { get; } = "Jane"; + public string Fourth { get; } = "Doe"; + + // Expression bodies on method-like members + public Point Move(int dx, int dy) => new Point(x + dx, y + dy); + public static Complex operator +(Complex a, Complex b) => a.Add(b); + public static implicit operator string(Person p) => p.First + " " + p.Last; + public void Print() => Console.WriteLine(First + " " + Last); + + // Expression bodies on property-like function members + public string Name => First + " " + Last; + public int this[long id] => id; + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..a1191e908 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,816 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ Comments +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ XmlComments +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ UndocumentedKeywords +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CSharp6Features +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ First +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Jane" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Last +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Doe" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Third +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Jane" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Fourth +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Doe" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Point +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Move +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dx +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dy +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Point +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dx +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dy +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ binary_operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Complex +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ overloadable_binary_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Complex +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Complex +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Add +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conversion_operator_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Person +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ First +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ " " +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Last +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Print +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Console +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WriteLine +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ First +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ " " +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Last +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ First +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ " " +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Last +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ long +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ id +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ id +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..f4f557787 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,157 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:17='Comments',,1:10] +[@2,18:18='.',<'.'>,1:18] +[@3,19:29='XmlComments',,1:19] +[@4,30:30='.',<'.'>,1:30] +[@5,31:50='UndocumentedKeywords',,1:31] +[@6,52:52='{',<'{'>,2:0] +[@7,145:149='class',<'class'>,4:4] +[@8,151:165='CSharp6Features',,4:10] +[@9,171:171='{',<'{'>,5:4] +[@10,225:230='public',<'public'>,7:8] +[@11,232:237='string',<'string'>,7:15] +[@12,239:243='First',,7:22] +[@13,245:245='{',<'{'>,7:28] +[@14,247:249='get',<'get'>,7:30] +[@15,250:250=';',<';'>,7:33] +[@16,252:254='set',<'set'>,7:35] +[@17,255:255=';',<';'>,7:38] +[@18,257:257='}',<'}'>,7:40] +[@19,259:259='=',<'='>,7:42] +[@20,261:266='"Jane"',,7:44] +[@21,267:267=';',<';'>,7:50] +[@22,277:282='public',<'public'>,8:8] +[@23,284:289='string',<'string'>,8:15] +[@24,291:294='Last',,8:22] +[@25,296:296='{',<'{'>,8:27] +[@26,298:300='get',<'get'>,8:29] +[@27,301:301=';',<';'>,8:32] +[@28,303:305='set',<'set'>,8:34] +[@29,306:306=';',<';'>,8:37] +[@30,308:308='}',<'}'>,8:39] +[@31,310:310='=',<'='>,8:41] +[@32,312:316='"Doe"',,8:43] +[@33,317:317=';',<';'>,8:48] +[@34,371:376='public',<'public'>,11:8] +[@35,378:383='string',<'string'>,11:15] +[@36,385:389='Third',,11:22] +[@37,391:391='{',<'{'>,11:28] +[@38,393:395='get',<'get'>,11:30] +[@39,396:396=';',<';'>,11:33] +[@40,398:398='}',<'}'>,11:35] +[@41,400:400='=',<'='>,11:37] +[@42,402:407='"Jane"',,11:39] +[@43,408:408=';',<';'>,11:45] +[@44,418:423='public',<'public'>,12:8] +[@45,425:430='string',<'string'>,12:15] +[@46,432:437='Fourth',,12:22] +[@47,439:439='{',<'{'>,12:29] +[@48,441:443='get',<'get'>,12:31] +[@49,444:444=';',<';'>,12:34] +[@50,446:446='}',<'}'>,12:36] +[@51,448:448='=',<'='>,12:38] +[@52,450:454='"Doe"',,12:40] +[@53,455:455=';',<';'>,12:45] +[@54,526:531='public',<'public'>,15:8] +[@55,533:537='Point',,15:15] +[@56,539:542='Move',,15:21] +[@57,543:543='(',<'('>,15:25] +[@58,544:546='int',<'int'>,15:26] +[@59,548:549='dx',,15:30] +[@60,550:550=',',<','>,15:32] +[@61,552:554='int',<'int'>,15:34] +[@62,556:557='dy',,15:38] +[@63,558:558=')',<')'>,15:40] +[@64,560:561='=>',<'=>'>,15:42] +[@65,563:565='new',<'new'>,15:45] +[@66,567:571='Point',,15:49] +[@67,572:572='(',<'('>,15:54] +[@68,573:573='x',,15:55] +[@69,575:575='+',<'+'>,15:57] +[@70,577:578='dx',,15:59] +[@71,579:579=',',<','>,15:61] +[@72,581:581='y',,15:63] +[@73,583:583='+',<'+'>,15:65] +[@74,585:586='dy',,15:67] +[@75,587:587=')',<')'>,15:69] +[@76,588:588=';',<';'>,15:70] +[@77,599:604='public',<'public'>,16:8] +[@78,606:611='static',<'static'>,16:15] +[@79,613:619='Complex',,16:22] +[@80,621:628='operator',<'operator'>,16:30] +[@81,630:630='+',<'+'>,16:39] +[@82,631:631='(',<'('>,16:40] +[@83,632:638='Complex',,16:41] +[@84,640:640='a',,16:49] +[@85,641:641=',',<','>,16:50] +[@86,643:649='Complex',,16:52] +[@87,651:651='b',,16:60] +[@88,652:652=')',<')'>,16:61] +[@89,654:655='=>',<'=>'>,16:63] +[@90,657:657='a',,16:66] +[@91,658:658='.',<'.'>,16:67] +[@92,659:661='Add',,16:68] +[@93,662:662='(',<'('>,16:71] +[@94,663:663='b',,16:72] +[@95,664:664=')',<')'>,16:73] +[@96,665:665=';',<';'>,16:74] +[@97,675:680='public',<'public'>,17:8] +[@98,682:687='static',<'static'>,17:15] +[@99,689:696='implicit',<'implicit'>,17:22] +[@100,698:705='operator',<'operator'>,17:31] +[@101,707:712='string',<'string'>,17:40] +[@102,713:713='(',<'('>,17:46] +[@103,714:719='Person',,17:47] +[@104,721:721='p',,17:54] +[@105,722:722=')',<')'>,17:55] +[@106,724:725='=>',<'=>'>,17:57] +[@107,727:727='p',,17:60] +[@108,728:728='.',<'.'>,17:61] +[@109,729:733='First',,17:62] +[@110,735:735='+',<'+'>,17:68] +[@111,737:739='" "',,17:70] +[@112,741:741='+',<'+'>,17:74] +[@113,743:743='p',,17:76] +[@114,744:744='.',<'.'>,17:77] +[@115,745:748='Last',,17:78] +[@116,749:749=';',<';'>,17:82] +[@117,759:764='public',<'public'>,18:8] +[@118,766:769='void',<'void'>,18:15] +[@119,771:775='Print',,18:20] +[@120,776:776='(',<'('>,18:25] +[@121,777:777=')',<')'>,18:26] +[@122,779:780='=>',<'=>'>,18:28] +[@123,782:788='Console',,18:31] +[@124,789:789='.',<'.'>,18:38] +[@125,790:798='WriteLine',,18:39] +[@126,799:799='(',<'('>,18:48] +[@127,800:804='First',,18:49] +[@128,806:806='+',<'+'>,18:55] +[@129,808:810='" "',,18:57] +[@130,812:812='+',<'+'>,18:61] +[@131,814:817='Last',,18:63] +[@132,818:818=')',<')'>,18:67] +[@133,819:819=';',<';'>,18:68] +[@134,901:906='public',<'public'>,21:8] +[@135,908:913='string',<'string'>,21:15] +[@136,915:918='Name',,21:22] +[@137,920:921='=>',<'=>'>,21:27] +[@138,923:927='First',,21:30] +[@139,929:929='+',<'+'>,21:36] +[@140,931:933='" "',,21:38] +[@141,935:935='+',<'+'>,21:42] +[@142,937:940='Last',,21:44] +[@143,941:941=';',<';'>,21:48] +[@144,951:956='public',<'public'>,22:8] +[@145,958:960='int',<'int'>,22:15] +[@146,962:965='this',<'this'>,22:19] +[@147,966:966='[',<'['>,22:23] +[@148,967:970='long',<'long'>,22:24] +[@149,972:973='id',,22:29] +[@150,974:974=']',<']'>,22:31] +[@151,976:977='=>',<'=>'>,22:33] +[@152,979:980='id',,22:36] +[@153,981:981=';',<';'>,22:38] +[@154,987:987='}',<'}'>,23:4] +[@155,989:989='}',<'}'>,24:0] +[@156,990:989='',,24:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..ea03ee2e7 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier Comments) . (identifier XmlComments) . (identifier UndocumentedKeywords)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier CSharp6Features) (class_body { (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier First)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;)) (set_accessor_declaration set (accessor_body ;))) } (property_initializer = (variable_initializer (literal "Jane")) ;)))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier Last)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;)) (set_accessor_declaration set (accessor_body ;))) } (property_initializer = (variable_initializer (literal "Doe")) ;)))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier Third)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) } (property_initializer = (variable_initializer (literal "Jane")) ;)))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier Fourth)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) } (property_initializer = (variable_initializer (literal "Doe")) ;)))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type (identifier Point)) (method_header (member_name (identifier Move)) ( (parameter_list (fixed_parameters (fixed_parameter (type (integral_type int)) (identifier dx)) , (fixed_parameter (type (integral_type int)) (identifier dy)))) )) (method_body => (expression (object_creation_expression new (type (identifier Point)) ( (argument_list (argument (additive_expression (additive_expression (identifier x)) + (multiplicative_expression (identifier dx)))) , (argument (additive_expression (additive_expression (identifier y)) + (multiplicative_expression (identifier dy))))) ))) ;))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (binary_operator_declarator (type (identifier Complex)) operator (overloadable_binary_operator +) ( (fixed_parameter (type (identifier Complex)) (identifier a)) , (fixed_parameter (type (identifier Complex)) (identifier b)) ))) (operator_body => (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier a)) . (identifier Add))) ( (argument_list (identifier b)) ))) ;))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator implicit operator (type (class_type string)) ( (fixed_parameter (type (identifier Person)) (identifier p)) ))) (operator_body => (expression (additive_expression (additive_expression (additive_expression (member_access (primary_expression (identifier p)) . (identifier First))) + (multiplicative_expression (literal " "))) + (multiplicative_expression (member_access (primary_expression (identifier p)) . (identifier Last))))) ;))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Print)) ( )) (method_body => (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Console)) . (identifier WriteLine))) ( (argument_list (additive_expression (additive_expression (additive_expression (identifier First)) + (multiplicative_expression (literal " "))) + (multiplicative_expression (identifier Last)))) ))) ;))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier Name)) (property_body => (expression (additive_expression (additive_expression (additive_expression (identifier First)) + (multiplicative_expression (literal " "))) + (multiplicative_expression (identifier Last)))) ;))) (class_member_declaration (indexer_declaration (indexer_modifier public) (indexer_declarator (type (integral_type int)) this [ (parameter_list (fixed_parameter (type (integral_type long)) (identifier id))) ]) (indexer_body => (expression (identifier id)) ;))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..7864c86da --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,1880 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +identifier + + + +identifier + + + +expression + + + += + + + +property_body + + + +int + + + +type + + + +dx + + + +identifier + + + +} + + + +multiplicative_expression + + + +fixed_parameter + + + +operator_declarator + + + +property_modifier + + + +Point + + + +} + + + +property_modifier + + + +string + + + +binary_operator_declarator + + + +( + + + +literal + + + +identifier + + + +. + + + +literal + + + +indexer_body + + + +indexer_modifier + + + += + + + +] + + + +additive_expression + + + +property_body + + + +identifier + + + +method_body + + + +y + + + +additive_expression + + + +multiplicative_expression + + + +"·" + + + +get_accessor_declaration + + + +=> + + + +class_body + + + +Point + + + +accessor_body + + + +set + + + +class_declaration + + + +member_access + + + +accessor_body + + + +multiplicative_expression + + + +identifier + + + ++ + + + +type + + + +argument_list + + + +property_declaration + + + +member_access + + + +integral_type + + + +expression + + + +additive_expression + + + +First + + + +class_type + + + +expression + + + +primary_expression + + + +property_initializer + + + +, + + + +public + + + ++ + + + +"Jane" + + + +get_accessor_declaration + + + +operator_declarator + + + +argument_list + + + +accessor_declarations + + + +overloadable_binary_operator + + + +get_accessor_declaration + + + +additive_expression + + + +parameter_list + + + +identifier + + + +property_declaration + + + +Console + + + +Last + + + +set_accessor_declaration + + + +; + + + +) + + + +property_declaration + + + +multiplicative_expression + + + +Complex + + + +identifier + + + +{ + + + +variable_initializer + + + +accessor_body + + + +identifier + + + +Last + + + +member_name + + + +identifier + + + +long + + + +"Doe" + + + +class_member_declaration + + + +identifier + + + +fixed_parameters + + + +identifier + + + +{ + + + +operator_declaration + + + +Name + + + +primary_expression + + + +multiplicative_expression + + + +variable_initializer + + + +; + + + +type + + + +property_initializer + + + +identifier + + + +( + + + +. + + + +property_body + + + +member_access + + + += + + + +fixed_parameter + + + +invocation_expression + + + +public + + + +method_body + + + +method_header + + + +identifier + + + +literal + + + +ref_method_modifier + + + +operator_modifier + + + +additive_expression + + + +identifier + + + +literal + + + +accessor_body + + + +; + + + +namespace_body + + + +integral_type + + + +Last + + + +public + + + +Print + + + +b + + + +operator_modifier + + + +} + + + +property_initializer + + + +; + + + +class_type + + + +identifier + + + +p + + + +get + + + +additive_expression + + + +property_body + + + +fixed_parameter + + + +identifier + + + +property_initializer + + + +dy + + + +} + + + +Comments + + + +operator_declaration + + + +operator + + + +identifier + + + +integral_type + + + +primary_expression + + + +. + + + +additive_expression + + + +type + + + +type + + + +Person + + + +identifier + + + +static + + + +. + + + +id + + + +dx + + + +class_member_declaration + + + +operator_modifier + + + +type + + + +, + + + +. + + + +} + + + +identifier + + + +[ + + + +method_declaration + + + +fixed_parameter + + + +WriteLine + + + +"·" + + + +get + + + +class_member_declaration + + + +identifier + + + +member_name + + + +class_type + + + +=> + + + +First + + + +member_name + + + +; + + + +accessor_declarations + + + +additive_expression + + + +; + + + +argument + + + +; + + + +Add + + + +identifier + + + +type + + + +) + + + +additive_expression + + + +type + + + +; + + + +{ + + + +; + + + +=> + + + +Last + + + +member_name + + + +class_member_declaration + + + +property_declaration + + + +identifier + + + +multiplicative_expression + + + +literal + + + +identifier + + + +public + + + +property_modifier + + + +"Jane" + + + +get_accessor_declaration + + + +; + + + +type + + + +operator_modifier + + + +property_modifier + + + +object_creation_expression + + + +new + + + +=> + + + +dy + + + +accessor_body + + + +identifier + + + +class_type + + + +return_type + + + +indexer_declarator + + + +expression + + + +operator + + + +XmlComments + + + +expression + + + +; + + + +First + + + +void + + + +additive_expression + + + +compilation_unit + + + +( + + + ++ + + + +identifier + + + +) + + + +qualified_identifier + + + +class_type + + + ++ + + + +public + + + +variable_initializer + + + +method_modifiers + + + +Complex + + + +) + + + +member_name + + + +identifier + + + +type + + + +; + + + +First + + + +type + + + +static + + + +variable_initializer + + + +identifier + + + +class_member_declaration + + + +=> + + + +identifier + + + +{ + + + +member_access + + + ++ + + + +UndocumentedKeywords + + + +member_name + + + +invocation_expression + + + +string + + + +Move + + + +type + + + +id + + + ++ + + + +. + + + +string + + + +) + + + +( + + + +return_type + + + +; + + + +this + + + +additive_expression + + + +public + + + += + + + +) + + + +} + + + +public + + + +prog + + + +Complex + + + +identifier + + + +class_member_declaration + + + +argument_list + + + +property_body + + + ++ + + + +primary_expression + + + +fixed_parameter + + + +integral_type + + + +identifier + + + +int + + + +class_type + + + +class + + + +ref_method_modifier + + + +operator_body + + + +{ + + + ++ + + + +string + + + +( + + + +type + + + +class_member_declaration + + + +a + + + +get + + + +b + + + +identifier + + + ++ + + + +public + + + +string + + + +additive_expression + + + +) + + + +identifier + + + +identifier + + + +class_member_declaration + + + +p + + + +class_member_declaration + + + +a + + + +, + + + +namespace + + + +accessor_body + + + +multiplicative_expression + + + +string + + + +get + + + +public + + + +identifier + + + +method_header + + + +p + + + +expression + + + +method_declaration + + + +set + + + +namespace_declaration + + + +"·" + + + +"Doe" + + + +parameter_list + + + +x + + + +; + + + +literal + + + +( + + + +public + + + +property_declaration + + + +type + + + +namespace_member_declaration + + + +implicit + + + +fixed_parameter + + + +accessor_declarations + + + +conversion_operator_declarator + + + +identifier + + + +identifier + + + +( + + + +primary_expression + + + +identifier + + + +method_modifiers + + + +Third + + + +class_member_declaration + + + +int + + + +operator_body + + + +; + + + +additive_expression + + + +type + + + +=> + + + +set_accessor_declaration + + + +literal + + + +; + + + +primary_expression + + + +CSharp6Features + + + +member_name + + + +accessor_declarations + + + +multiplicative_expression + + + +{ + + + +identifier + + + +property_modifier + + + +Fourth + + + +identifier + + + +indexer_declaration + + + +identifier + + + +argument + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..ba6bfb263 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,22 @@ +namespace Comments.XmlComments.UndocumentedKeywords +{ + // From here:https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6 + class CSharp6Features + { + async void Test() + { + // Using static + WriteLine(Sqrt(3*3 + 4*4)); + WriteLine(Friday - Monday); + var range = Range(5, 17); // Ok: not extension + var even = range.Where(i => i % 2 == 0); // Ok + + // Null-conditional operators + int? length = customers?.Length; // null if customers is null + Customer first = customers?[0]; // null if customers is null + int length = customers?.Length ?? 0; // 0 if customers is null + int? first = customers?[0]?.Orders?.Count(); + PropertyChanged?.Invoke(this, args); + } + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..e57be4493 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,686 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ Comments +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ XmlComments +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ UndocumentedKeywords +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CSharp6Features +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WriteLine +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Sqrt +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 4 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 4 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WriteLine +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Friday +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Monday +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ range +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Range +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 17 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ even +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ range +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ % +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ length +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Length +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Customer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ length +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Length +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ?? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_element_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Orders +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dependent_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ PropertyChanged +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Invoke +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ args +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..465250b4e --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,123 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:17='Comments',,1:10] +[@2,18:18='.',<'.'>,1:18] +[@3,19:29='XmlComments',,1:19] +[@4,30:30='.',<'.'>,1:30] +[@5,31:50='UndocumentedKeywords',,1:31] +[@6,52:52='{',<'{'>,2:0] +[@7,145:149='class',<'class'>,4:4] +[@8,151:165='CSharp6Features',,4:10] +[@9,171:171='{',<'{'>,5:4] +[@10,181:185='async',<'async'>,6:8] +[@11,187:190='void',<'void'>,6:14] +[@12,192:195='Test',,6:19] +[@13,196:196='(',<'('>,6:23] +[@14,197:197=')',<')'>,6:24] +[@15,207:207='{',<'{'>,7:8] +[@16,249:257='WriteLine',,9:12] +[@17,258:258='(',<'('>,9:21] +[@18,259:262='Sqrt',,9:22] +[@19,263:263='(',<'('>,9:26] +[@20,264:264='3',,9:27] +[@21,265:265='*',<'*'>,9:28] +[@22,266:266='3',,9:29] +[@23,268:268='+',<'+'>,9:31] +[@24,270:270='4',,9:33] +[@25,271:271='*',<'*'>,9:34] +[@26,272:272='4',,9:35] +[@27,273:273=')',<')'>,9:36] +[@28,274:274=')',<')'>,9:37] +[@29,275:275=';',<';'>,9:38] +[@30,289:297='WriteLine',,10:12] +[@31,298:298='(',<'('>,10:21] +[@32,299:304='Friday',,10:22] +[@33,306:306='-',<'-'>,10:29] +[@34,308:313='Monday',,10:31] +[@35,314:314=')',<')'>,10:37] +[@36,315:315=';',<';'>,10:38] +[@37,341:343='var',<'var'>,11:12] +[@38,345:349='range',,11:16] +[@39,351:351='=',<'='>,11:22] +[@40,353:357='Range',,11:24] +[@41,358:358='(',<'('>,11:29] +[@42,359:359='5',,11:30] +[@43,360:360=',',<','>,11:31] +[@44,362:363='17',,11:33] +[@45,364:364=')',<')'>,11:35] +[@46,365:365=';',<';'>,11:36] +[@47,415:417='var',<'var'>,12:12] +[@48,419:422='even',,12:16] +[@49,424:424='=',<'='>,12:21] +[@50,426:430='range',,12:23] +[@51,431:431='.',<'.'>,12:28] +[@52,432:436='Where',,12:29] +[@53,437:437='(',<'('>,12:34] +[@54,438:438='i',,12:35] +[@55,440:441='=>',<'=>'>,12:37] +[@56,443:443='i',,12:40] +[@57,445:445='%',<'%'>,12:42] +[@58,447:447='2',,12:44] +[@59,449:450='==',<'=='>,12:46] +[@60,452:452='0',,12:49] +[@61,453:453=')',<')'>,12:50] +[@62,454:454=';',<';'>,12:51] +[@63,529:531='int',<'int'>,15:12] +[@64,532:532='?',<'?'>,15:15] +[@65,534:539='length',,15:17] +[@66,541:541='=',<'='>,15:24] +[@67,543:551='customers',,15:26] +[@68,552:552='?',<'?'>,15:35] +[@69,553:553='.',<'.'>,15:36] +[@70,554:559='Length',,15:37] +[@71,560:560=';',<';'>,15:43] +[@72,603:610='Customer',,16:12] +[@73,612:616='first',,16:21] +[@74,618:618='=',<'='>,16:27] +[@75,620:628='customers',,16:29] +[@76,629:629='?',<'?'>,16:38] +[@77,630:630='[',<'['>,16:39] +[@78,631:631='0',,16:40] +[@79,632:632=']',<']'>,16:41] +[@80,633:633=';',<';'>,16:42] +[@81,689:691='int',<'int'>,17:12] +[@82,693:698='length',,17:16] +[@83,700:700='=',<'='>,17:23] +[@84,702:710='customers',,17:25] +[@85,711:711='?',<'?'>,17:34] +[@86,712:712='.',<'.'>,17:35] +[@87,713:718='Length',,17:36] +[@88,720:721='??',<'??'>,17:43] +[@89,723:723='0',,17:46] +[@90,724:724=';',<';'>,17:47] +[@91,764:766='int',<'int'>,18:12] +[@92,767:767='?',<'?'>,18:15] +[@93,769:773='first',,18:17] +[@94,775:775='=',<'='>,18:23] +[@95,777:785='customers',,18:25] +[@96,786:786='?',<'?'>,18:34] +[@97,787:787='[',<'['>,18:35] +[@98,788:788='0',,18:36] +[@99,789:789=']',<']'>,18:37] +[@100,790:790='?',<'?'>,18:38] +[@101,791:791='.',<'.'>,18:39] +[@102,792:797='Orders',,18:40] +[@103,798:798='?',<'?'>,18:46] +[@104,799:799='.',<'.'>,18:47] +[@105,800:804='Count',,18:48] +[@106,805:805='(',<'('>,18:53] +[@107,806:806=')',<')'>,18:54] +[@108,807:807=';',<';'>,18:55] +[@109,821:835='PropertyChanged',,19:12] +[@110,836:836='?',<'?'>,19:27] +[@111,837:837='.',<'.'>,19:28] +[@112,838:843='Invoke',,19:29] +[@113,844:844='(',<'('>,19:35] +[@114,845:848='this',<'this'>,19:36] +[@115,849:849=',',<','>,19:40] +[@116,851:854='args',,19:42] +[@117,855:855=')',<')'>,19:46] +[@118,856:856=';',<';'>,19:47] +[@119,866:866='}',<'}'>,20:8] +[@120,872:872='}',<'}'>,21:4] +[@121,874:874='}',<'}'>,22:0] +[@122,875:874='',,22:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..f43703400 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier Comments) . (identifier XmlComments) . (identifier UndocumentedKeywords)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier CSharp6Features) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier async)) (return_type void) (method_header (member_name (identifier Test)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier WriteLine)) ( (argument_list (invocation_expression (primary_expression (identifier Sqrt)) ( (argument_list (additive_expression (additive_expression (multiplicative_expression (multiplicative_expression (literal 3)) * (unary_expression (literal 3)))) + (multiplicative_expression (multiplicative_expression (literal 4)) * (unary_expression (literal 4))))) ))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier WriteLine)) ( (argument_list (additive_expression (additive_expression (identifier Friday)) - (multiplicative_expression (identifier Monday)))) ))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier range) = (expression (invocation_expression (primary_expression (identifier Range)) ( (argument_list (argument (literal 5)) , (argument (literal 17))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier even) = (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier range)) . (identifier Where))) ( (argument_list (lambda_expression (anonymous_function_signature (identifier i)) => (anonymous_function_body (equality_expression (equality_expression (multiplicative_expression (multiplicative_expression (identifier i)) % (unary_expression (literal 2)))) == (relational_expression (literal 0)))))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier length) = (local_variable_initializer (null_conditional_member_access (primary_expression (identifier customers)) ? . (identifier Length))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Customer)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier first) = (local_variable_initializer (null_conditional_element_access (primary_no_array_creation_expression (identifier customers)) ? [ (argument_list (literal 0)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier length) = (local_variable_initializer (null_coalescing_expression (conditional_or_expression (null_conditional_member_access (primary_expression (identifier customers)) ? . (identifier Length))) ?? (null_coalescing_expression (literal 0)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier first) = (local_variable_initializer (null_conditional_member_access (primary_expression (null_conditional_member_access (primary_expression (null_conditional_element_access (primary_no_array_creation_expression (identifier customers)) ? [ (argument_list (literal 0)) ])) ? . (identifier Orders))) ? . (identifier Count) (dependent_access ( )))))))) ;)) (statement (expression_statement (statement_expression (null_conditional_invocation_expression (null_conditional_member_access (primary_expression (identifier PropertyChanged)) ? . (identifier Invoke)) ( (argument_list (argument (this_access this)) , (argument (identifier args))) ))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..0498ec558 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,1550 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +statement + + + +type + + + +; + + + +primary_expression + + + +? + + + +class_body + + + +Comments + + + +identifier + + + +literal + + + +literal + + + +explicitly_typed_local_variable_declarator + + + +multiplicative_expression + + + +declaration_statement + + + +null_conditional_member_access + + + +customers + + + +method_header + + + +4 + + + +( + + + +implicitly_typed_local_variable_declarator + + + +length + + + +prog + + + +multiplicative_expression + + + +Count + + + +identifier + + + += + + + +argument + + + +identifier + + + +identifier + + + +; + + + +argument_list + + + +local_variable_declaration + + + +statement + + + +first + + + +this + + + +local_variable_declaration + + + +{ + + + +identifier + + + +argument + + + +integral_type + + + +type + + + +null_coalescing_expression + + + +* + + + +. + + + +method_declaration + + + +3 + + + +member_access + + + +multiplicative_expression + + + +class_declaration + + + +% + + + +null_conditional_member_access + + + +argument_list + + + +local_variable_declaration + + + +WriteLine + + + +argument_list + + + +explicitly_typed_local_variable_declarator + + + +. + + + +expression + + + +identifier + + + +( + + + +argument_list + + + +explicitly_typed_local_variable_declaration + + + +first + + + +null_conditional_member_access + + + +identifier + + + +expression_statement + + + +identifier + + + +invocation_expression + + + +Where + + + +argument_list + + + +) + + + +local_variable_initializer + + + +literal + + + +additive_expression + + + +declaration_statement + + + +statement_expression + + + +literal + + + +17 + + + +identifier + + + +. + + + +Range + + + +. + + + +args + + + +statement + + + +identifier + + + += + + + +primary_expression + + + +? + + + +namespace_body + + + +qualified_identifier + + + +[ + + + +namespace + + + +primary_expression + + + +( + + + +i + + + +range + + + +identifier + + + +; + + + +literal + + + +XmlComments + + + +conditional_or_expression + + + +=> + + + +statement + + + +additive_expression + + + += + + + +expression_statement + + + +) + + + +. + + + +statement_expression + + + +} + + + +statement_list + + + +method_body + + + +, + + + +unary_expression + + + +implicitly_typed_local_variable_declaration + + + +class + + + +unary_expression + + + +statement_expression + + + +) + + + +identifier + + + +0 + + + +customers + + + +method_modifier + + + +equality_expression + + + +statement + + + +nullable_value_type + + + +? + + + +? + + + +2 + + + +identifier + + + +) + + + +statement + + + +? + + + +relational_expression + + + +0 + + + +argument_list + + + +identifier + + + +5 + + + +* + + + +length + + + +statement + + + +[ + + + +, + + + +== + + + +; + + + +null_conditional_invocation_expression + + + +declaration_statement + + + +identifier + + + +? + + + +Friday + + + +dependent_access + + + +identifier + + + +implicitly_typed_local_variable_declaration + + + +local_variable_initializer + + + +type + + + +identifier + + + +customers + + + +multiplicative_expression + + + +( + + + +?? + + + +range + + + +explicitly_typed_local_variable_declarators + + + +invocation_expression + + + +0 + + + +non_nullable_value_type + + + +unary_expression + + + +expression + + + +literal + + + +Length + + + +integral_type + + + +; + + + +identifier + + + ++ + + + +statement + + + +block + + + +null_conditional_element_access + + + +; + + + +] + + + +primary_expression + + + +) + + + +var + + + +nullable_type_annotation + + + +literal + + + +identifier + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +primary_expression + + + +var + + + +identifier + + + +) + + + +anonymous_function_body + + + +equality_expression + + + +null_conditional_member_access + + + +. + + + +anonymous_function_signature + + + +. + + + +CSharp6Features + + + +async + + + +primary_expression + + + +Invoke + + + +additive_expression + + + +Length + + + +even + + + +Customer + + + +? + + + +lambda_expression + + + +local_variable_declaration + + + +identifier + + + +declaration_statement + + + +null_conditional_element_access + + + +null_conditional_member_access + + + +statement + + + +} + + + +literal + + + +identifier + + + +) + + + +declaration_statement + + + +identifier + + + +{ + + + +multiplicative_expression + + + +? + + + +literal + + + +- + + + +Sqrt + + + +implicitly_typed_local_variable_declarator + + + +identifier + + + +identifier + + + +invocation_expression + + + +? + + + +void + + + +argument_list + + + +type + + + +primary_expression + + + +identifier + + + +multiplicative_expression + + + +] + + + +local_variable_declaration + + + +class_member_declaration + + + +( + + + +PropertyChanged + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +Monday + + + +. + + + +literal + + + +integral_type + + + +local_variable_declaration + + + +primary_expression + + + +multiplicative_expression + + + += + + + +primary_expression + + + +additive_expression + + + +0 + + + +Orders + + + +argument_list + + + += + + + +primary_expression + + + +return_type + + + +3 + + + +local_variable_initializer + + + +( + + + +4 + + + +literal + + + +explicitly_typed_local_variable_declaration + + + +explicitly_typed_local_variable_declaration + + + +expression_statement + + + +; + + + +method_modifiers + + + +explicitly_typed_local_variable_declarators + + + +} + + + +nullable_value_type + + + +explicitly_typed_local_variable_declarators + + + +namespace_declaration + + + +null_coalescing_expression + + + +Test + + + +explicitly_typed_local_variable_declarator + + + +namespace_member_declaration + + + +this_access + + + +argument + + + +identifier + + + +compilation_unit + + + +int + + + +invocation_expression + + + +identifier + + + +member_name + + + +int + + + +UndocumentedKeywords + + + +argument + + + +non_nullable_value_type + + + +int + + + +primary_no_array_creation_expression + + + +) + + + +( + + + +WriteLine + + + +( + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +declaration_statement + + + +identifier + + + +customers + + + +primary_no_array_creation_expression + + + +invocation_expression + + + +{ + + + +i + + + +primary_expression + + + +nullable_type_annotation + + + +; + + + +; + + + += + + + +local_variable_initializer + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..722d3ab5e --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,22 @@ +namespace Comments.XmlComments.UndocumentedKeywords +{ + // From here:https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6 + class CSharp6Features + { + async void Test() + { + // String interpolation + string s = $"{p.Name, 20} is {p.Age:D3} year{{s}} old #"; + s = $"{p.Name} is \"{p.Age} year{(p.Age == 1 ? "" : "s")} old"; + s = $"{(p.Age == 2 ? $"{new Person { } }" : "")}"; + s = $@"\{p.Name} + ""\"; + s = $"Color [ R={func(b: 3):#0.##}, G={G:#0.##}, B={B:#0.##}, A={A:#0.##} ]"; + + // nameof expressions + if (x == null) + throw new ArgumentNullException(nameof(x)); + WriteLine(nameof(person.Address.ZipCode)); // prints "ZipCode" + } + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..b9293b641 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,758 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ Comments +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ XmlComments +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ UndocumentedKeywords +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CSharp6Features +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolation_minimum_width +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 20 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 is 〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Age +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:D3〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 year{{s}} old #〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 is \"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Age +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 year〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parenthesized_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Age +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "s" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 old〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parenthesized_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Age +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Person +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_verbatim_string_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$@"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔\〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ verbatim_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔\n ""\〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔Color [ R=〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ func +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:#0.##〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔, G=〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:#0.##〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔, B=〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:#0.##〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔, A=〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:#0.##〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 ]〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ArgumentNullException +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nameof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WriteLine +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nameof +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ person +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Address +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ZipCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..b8b557d6c --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,168 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:17='Comments',,1:10] +[@2,18:18='.',<'.'>,1:18] +[@3,19:29='XmlComments',,1:19] +[@4,30:30='.',<'.'>,1:30] +[@5,31:50='UndocumentedKeywords',,1:31] +[@6,52:52='{',<'{'>,2:0] +[@7,145:149='class',<'class'>,4:4] +[@8,151:165='CSharp6Features',,4:10] +[@9,171:171='{',<'{'>,5:4] +[@10,181:185='async',<'async'>,6:8] +[@11,187:190='void',<'void'>,6:14] +[@12,192:195='Test',,6:19] +[@13,196:196='(',<'('>,6:23] +[@14,197:197=')',<')'>,6:24] +[@15,207:207='{',<'{'>,7:8] +[@16,257:262='string',<'string'>,9:12] +[@17,264:264='s',,9:19] +[@18,266:266='=',<'='>,9:21] +[@19,268:269='〔$"〕',,9:23] +[@20,270:270='{',<'{'>,9:25] +[@21,271:271='p',,9:26] +[@22,272:272='.',<'.'>,9:27] +[@23,273:276='Name',,9:28] +[@24,277:277=',',<','>,9:32] +[@25,279:280='20',,9:34] +[@26,281:281='}',<'}'>,9:36] +[@27,282:285='〔 is 〕',,9:37] +[@28,286:286='{',<'{'>,9:41] +[@29,287:287='p',,9:42] +[@30,288:288='.',<'.'>,9:43] +[@31,289:291='Age',,9:44] +[@32,292:294='〔:D3〕',,9:47] +[@33,295:295='}',<'}'>,9:50] +[@34,296:311='〔 year{{s}} old #〕',,9:51] +[@35,312:312='〔"〕',,9:67] +[@36,313:313=';',<';'>,9:68] +[@37,327:327='s',,10:12] +[@38,329:329='=',<'='>,10:14] +[@39,331:332='〔$"〕',,10:16] +[@40,333:333='{',<'{'>,10:18] +[@41,334:334='p',,10:19] +[@42,335:335='.',<'.'>,10:20] +[@43,336:339='Name',,10:21] +[@44,340:340='}',<'}'>,10:25] +[@45,341:346='〔 is \"〕',,10:26] +[@46,347:347='{',<'{'>,10:32] +[@47,348:348='p',,10:33] +[@48,349:349='.',<'.'>,10:34] +[@49,350:352='Age',,10:35] +[@50,353:353='}',<'}'>,10:38] +[@51,354:358='〔 year〕',,10:39] +[@52,359:359='{',<'{'>,10:44] +[@53,360:360='(',<'('>,10:45] +[@54,361:361='p',,10:46] +[@55,362:362='.',<'.'>,10:47] +[@56,363:365='Age',,10:48] +[@57,367:368='==',<'=='>,10:52] +[@58,370:370='1',,10:55] +[@59,372:372='?',<'?'>,10:57] +[@60,374:375='""',,10:59] +[@61,377:377=':',<':'>,10:62] +[@62,379:381='"s"',,10:64] +[@63,382:382=')',<')'>,10:67] +[@64,383:383='}',<'}'>,10:68] +[@65,384:387='〔 old〕',,10:69] +[@66,388:388='〔"〕',,10:73] +[@67,389:389=';',<';'>,10:74] +[@68,403:403='s',,11:12] +[@69,405:405='=',<'='>,11:14] +[@70,407:408='〔$"〕',,11:16] +[@71,409:409='{',<'{'>,11:18] +[@72,410:410='(',<'('>,11:19] +[@73,411:411='p',,11:20] +[@74,412:412='.',<'.'>,11:21] +[@75,413:415='Age',,11:22] +[@76,417:418='==',<'=='>,11:26] +[@77,420:420='2',,11:29] +[@78,422:422='?',<'?'>,11:31] +[@79,424:425='〔$"〕',,11:33] +[@80,426:426='{',<'{'>,11:35] +[@81,427:429='new',<'new'>,11:36] +[@82,431:436='Person',,11:40] +[@83,438:438='{',<'{'>,11:47] +[@84,440:440='}',<'}'>,11:49] +[@85,442:442='}',<'}'>,11:51] +[@86,443:443='〔"〕',,11:52] +[@87,445:445=':',<':'>,11:54] +[@88,447:448='""',,11:56] +[@89,449:449=')',<')'>,11:58] +[@90,450:450='}',<'}'>,11:59] +[@91,451:451='〔"〕',,11:60] +[@92,452:452=';',<';'>,11:61] +[@93,466:466='s',,12:12] +[@94,468:468='=',<'='>,12:14] +[@95,470:472='〔$@"〕',,12:16] +[@96,473:473='〔\〕',,12:19] +[@97,474:474='{',<'{'>,12:20] +[@98,475:475='p',,12:21] +[@99,476:476='.',<'.'>,12:22] +[@100,477:480='Name',,12:23] +[@101,481:481='}',<'}'>,12:27] +[@102,482:520='〔\n ""\〕',,12:28] +[@103,521:521='〔"〕',,13:38] +[@104,522:522=';',<';'>,13:39] +[@105,536:536='s',,14:12] +[@106,538:538='=',<'='>,14:14] +[@107,540:541='〔$"〕',,14:16] +[@108,542:551='〔Color [ R=〕',,14:18] +[@109,552:552='{',<'{'>,14:28] +[@110,553:556='func',,14:29] +[@111,557:557='(',<'('>,14:33] +[@112,558:558='b',,14:34] +[@113,559:559=':',<':'>,14:35] +[@114,561:561='3',,14:37] +[@115,562:562=')',<')'>,14:38] +[@116,563:568='〔:#0.##〕',,14:39] +[@117,569:569='}',<'}'>,14:45] +[@118,570:573='〔, G=〕',,14:46] +[@119,574:574='{',<'{'>,14:50] +[@120,575:575='G',,14:51] +[@121,576:581='〔:#0.##〕',,14:52] +[@122,582:582='}',<'}'>,14:58] +[@123,583:586='〔, B=〕',,14:59] +[@124,587:587='{',<'{'>,14:63] +[@125,588:588='B',,14:64] +[@126,589:594='〔:#0.##〕',,14:65] +[@127,595:595='}',<'}'>,14:71] +[@128,596:599='〔, A=〕',,14:72] +[@129,600:600='{',<'{'>,14:76] +[@130,601:601='A',,14:77] +[@131,602:607='〔:#0.##〕',,14:78] +[@132,608:608='}',<'}'>,14:84] +[@133,609:610='〔 ]〕',,14:85] +[@134,611:611='〔"〕',,14:87] +[@135,612:612=';',<';'>,14:88] +[@136,673:674='if',<'if'>,17:12] +[@137,676:676='(',<'('>,17:15] +[@138,677:677='x',,17:16] +[@139,679:680='==',<'=='>,17:18] +[@140,682:685='null',<'null'>,17:21] +[@141,686:686=')',<')'>,17:25] +[@142,704:708='throw',<'throw'>,18:16] +[@143,710:712='new',<'new'>,18:22] +[@144,714:734='ArgumentNullException',,18:26] +[@145,735:735='(',<'('>,18:47] +[@146,736:741='nameof',<'nameof'>,18:48] +[@147,742:742='(',<'('>,18:54] +[@148,743:743='x',,18:55] +[@149,744:744=')',<')'>,18:56] +[@150,745:745=')',<')'>,18:57] +[@151,746:746=';',<';'>,18:58] +[@152,760:768='WriteLine',,19:12] +[@153,769:769='(',<'('>,19:21] +[@154,770:775='nameof',<'nameof'>,19:22] +[@155,776:776='(',<'('>,19:28] +[@156,777:782='person',,19:29] +[@157,783:783='.',<'.'>,19:35] +[@158,784:790='Address',,19:36] +[@159,791:791='.',<'.'>,19:43] +[@160,792:798='ZipCode',,19:44] +[@161,799:799=')',<')'>,19:51] +[@162,800:800=')',<')'>,19:52] +[@163,801:801=';',<';'>,19:53] +[@164,831:831='}',<'}'>,20:8] +[@165,837:837='}',<'}'>,21:4] +[@166,839:839='}',<'}'>,22:0] +[@167,840:839='',,22:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..5e87f7c66 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier Comments) . (identifier XmlComments) . (identifier UndocumentedKeywords)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier CSharp6Features) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier async)) (return_type void) (method_header (member_name (identifier Test)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier s) = (local_variable_initializer (interpolated_regular_string_expression 〔$"〕 { (regular_interpolation (expression (member_access (primary_expression (identifier p)) . (identifier Name))) , (interpolation_minimum_width (literal 20))) } 〔 is 〕 { (regular_interpolation (expression (member_access (primary_expression (identifier p)) . (identifier Age))) 〔:D3〕) } 〔 year{{s}} old #〕 〔"〕)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier s)) (assignment_operator =) (expression (interpolated_regular_string_expression 〔$"〕 { (regular_interpolation (member_access (primary_expression (identifier p)) . (identifier Name))) } 〔 is \"〕 { (regular_interpolation (member_access (primary_expression (identifier p)) . (identifier Age))) } 〔 year〕 { (regular_interpolation (parenthesized_expression ( (expression (conditional_expression (null_coalescing_expression (equality_expression (equality_expression (member_access (primary_expression (identifier p)) . (identifier Age))) == (relational_expression (literal 1)))) ? (expression (literal "")) : (expression (literal "s")))) ))) } 〔 old〕 〔"〕)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier s)) (assignment_operator =) (expression (interpolated_regular_string_expression 〔$"〕 { (regular_interpolation (parenthesized_expression ( (expression (conditional_expression (null_coalescing_expression (equality_expression (equality_expression (member_access (primary_expression (identifier p)) . (identifier Age))) == (relational_expression (literal 2)))) ? (expression (interpolated_regular_string_expression 〔$"〕 { (regular_interpolation (object_creation_expression new (type (identifier Person)) (object_or_collection_initializer (object_initializer { })))) } 〔"〕)) : (expression (literal "")))) ))) } 〔"〕)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier s)) (assignment_operator =) (expression (interpolated_verbatim_string_expression 〔$@"〕 〔\〕 { (verbatim_interpolation (member_access (primary_expression (identifier p)) . (identifier Name))) } 〔\n ""\〕 〔"〕)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier s)) (assignment_operator =) (expression (interpolated_regular_string_expression 〔$"〕 〔Color [ R=〕 { (regular_interpolation (expression (invocation_expression (primary_expression (identifier func)) ( (argument_list (argument (argument_name (identifier b) :) (argument_value (literal 3)))) ))) 〔:#0.##〕) } 〔, G=〕 { (regular_interpolation (expression (identifier G)) 〔:#0.##〕) } 〔, B=〕 { (regular_interpolation (expression (identifier B)) 〔:#0.##〕) } 〔, A=〕 { (regular_interpolation (expression (identifier A)) 〔:#0.##〕) } 〔 ]〕 〔"〕)))) ;)) (statement (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier x)) == (relational_expression (null_literal null)))) ) (embedded_statement (throw_statement throw (expression (object_creation_expression new (type (identifier ArgumentNullException)) ( (argument_list (invocation_expression (primary_expression (contextual_keyword nameof)) ( (argument_list (identifier x)) ))) ))) ;)))) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier WriteLine)) ( (argument_list (invocation_expression (primary_expression (contextual_keyword nameof)) ( (argument_list (member_access (primary_expression (member_access (primary_expression (identifier person)) . (identifier Address))) . (identifier ZipCode))) ))) ))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..63d78f177 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,1820 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +p + + + +} + + + +) + + + +class_member_declaration + + + +{ + + + +person + + + +member_access + + + +statement + + + +{ + + + +argument_list + + + +〔$"〕 + + + +object_or_collection_initializer + + + +identifier + + + +p + + + +equality_expression + + + +1 + + + +identifier + + + +unary_expression + + + +throw + + + +x + + + +{ + + + +statement + + + +argument_value + + + +literal + + + +class_body + + + +equality_expression + + + +parenthesized_expression + + + +. + + + +expression_statement + + + +identifier + + + +invocation_expression + + + +ZipCode + + + +namespace + + + +member_access + + + +statement_expression + + + +) + + + +block + + + +? + + + +〔·year〕 + + + +declaration_statement + + + += + + + +regular_interpolation + + + +explicitly_typed_local_variable_declaration + + + +embedded_statement + + + +method_header + + + +regular_interpolation + + + +20 + + + +〔,·B=〕 + + + +; + + + +〔"〕 + + + +throw_statement + + + +assignment_operator + + + +invocation_expression + + + +type + + + +expression + + + +assignment + + + +regular_interpolation + + + +〔$"〕 + + + +new + + + +Comments + + + +〔·is·\"〕 + + + +return_type + + + +nameof + + + +local_variable_initializer + + + +regular_interpolation + + + +. + + + +primary_expression + + + +{ + + + +null + + + +expression + + + += + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +null_coalescing_expression + + + +primary_expression + + + +"" + + + +ArgumentNullException + + + +namespace_declaration + + + +statement + + + +Age + + + +〔·year{{s}}·old·#〕 + + + += + + + +identifier + + + +regular_interpolation + + + +} + + + +relational_expression + + + +. + + + +func + + + +CSharp6Features + + + +} + + + +? + + + +〔$"〕 + + + +assignment + + + +contextual_keyword + + + +identifier + + + +identifier + + + +regular_interpolation + + + +expression + + + +) + + + +expression_statement + + + +〔$"〕 + + + +member_access + + + +statement_expression + + + +〔$@"〕 + + + +} + + + +Name + + + +} + + + +s + + + +local_variable_declaration + + + +) + + + +Age + + + +primary_expression + + + +identifier + + + +〔"〕 + + + +parenthesized_expression + + + +} + + + +〔"〕 + + + +identifier + + + +regular_interpolation + + + +〔,·A=〕 + + + +〔·]〕 + + + +Person + + + +== + + + +class + + + +null_coalescing_expression + + + +} + + + +s + + + +assignment_operator + + + +p + + + +expression_statement + + + +. + + + +argument_list + + + +〔·is·〕 + + + +( + + + +. + + + +. + + + +〔$"〕 + + + +expression + + + +literal + + + +; + + + +{ + + + +s + + + +argument_list + + + +member_access + + + +p + + + +; + + + +== + + + +{ + + + +〔:#0.##〕 + + + +object_initializer + + + +} + + + +( + + + +WriteLine + + + +} + + + +namespace_body + + + +argument_list + + + +invocation_expression + + + +identifier + + + +expression + + + +} + + + +statement_expression + + + +argument_name + + + +x + + + +type + + + +interpolated_regular_string_expression + + + +UndocumentedKeywords + + + +method_declaration + + + +equality_expression + + + +primary_expression + + + +identifier + + + +if_statement + + + +. + + + +identifier + + + +unary_expression + + + +{ + + + +identifier + + + +〔:#0.##〕 + + + +object_creation_expression + + + +unary_expression + + + +identifier + + + +method_modifier + + + +statement + + + +〔"〕 + + + +expression + + + +expression + + + +〔·old〕 + + + +class_declaration + + + +primary_expression + + + +} + + + +"s" + + + +if + + + +identifier + + + +{ + + + +interpolated_verbatim_string_expression + + + +primary_expression + + + +p + + + +XmlComments + + + +identifier + + + +object_creation_expression + + + +regular_interpolation + + + +literal + + + +primary_expression + + + +member_access + + + +( + + + +) + + + +{ + + + +unary_expression + + + +regular_interpolation + + + +assignment + + + +( + + + +argument_list + + + +conditional_expression + + + +B + + + +class_type + + + +identifier + + + +〔"〕 + + + +new + + + +type + + + +primary_expression + + + +, + + + +〔:#0.##〕 + + + +explicitly_typed_local_variable_declarators + + + +( + + + +primary_expression + + + +Age + + + +method_modifiers + + + +; + + + +〔:D3〕 + + + +identifier + + + +) + + + +G + + + +p + + + +prog + + + +boolean_expression + + + +member_name + + + +primary_expression + + + +: + + + +〔\〕 + + + += + + + +statement_expression + + + +{ + + + +expression + + + +identifier + + + +assignment + + + +null_literal + + + +( + + + +{ + + + += + + + +interpolated_regular_string_expression + + + +statement + + + +primary_expression + + + +interpolated_regular_string_expression + + + +identifier + + + +) + + + +. + + + +expression_statement + + + +identifier + + + +primary_expression + + + +} + + + +equality_expression + + + +identifier + + + +"" + + + +Name + + + +Test + + + +expression + + + +} + + + +member_access + + + +{ + + + +〔Color·[·R=〕 + + + +expression + + + +expression + + + +} + + + +identifier + + + +; + + + +regular_interpolation + + + +( + + + +interpolated_regular_string_expression + + + +literal + + + +; + + + +== + + + +A + + + +expression + + + +( + + + +expression + + + +method_body + + + +string + + + +: + + + +} + + + +expression + + + +literal + + + +equality_expression + + + +identifier + + + +statement_expression + + + +{ + + + +( + + + +. + + + +member_access + + + +} + + + +identifier + + + +identifier + + + +s + + + +assignment_operator + + + +Address + + + +〔\n···································""\〕 + + + +identifier + + + +primary_expression + + + +async + + + +Age + + + +〔"〕 + + + +literal + + + +qualified_identifier + + + +conditional_expression + + + +identifier + + + +regular_interpolation + + + +identifier + + + +void + + + +p + + + +assignment_operator + + + +equality_expression + + + +b + + + +〔:#0.##〕 + + + +verbatim_interpolation + + + +nameof + + + +: + + + +identifier + + + +member_access + + + +expression + + + +identifier + + + +expression + + + +invocation_expression + + + +identifier + + + +relational_expression + + + +s + + + +{ + + + +expression_statement + + + +literal + + + +2 + + + +) + + + +. + + + +; + + + +. + + + +3 + + + +identifier + + + +statement_list + + + +) + + + +identifier + + + +interpolation_minimum_width + + + +statement + + + +argument + + + +member_access + + + +compilation_unit + + + +expression + + + +{ + + + +identifier + + + +Name + + + +〔,·G=〕 + + + +relational_expression + + + +interpolated_regular_string_expression + + + +contextual_keyword + + + +identifier + + + +namespace_member_declaration + + + +{ + + + +statement + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/AllInOneNoPreprocessor-v6-part.cs new file mode 100755 index 000000000..76cf24406 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/AllInOneNoPreprocessor-v6-part.cs @@ -0,0 +1,37 @@ +namespace Comments.XmlComments.UndocumentedKeywords +{ + // From here:https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6 + class CSharp6Features + { + async void Test() + { + // Index initializers + var numbers = new Dictionary { + [7] = "seven", + [9] = "nine", + [13] = "thirteen" + }; + + // Exception filters + try {} + catch (MyException e) when (myfilter(e)) + { } + + // Await in catch and finally blocks + Resource res = null; + try + { + res = await Resource.OpenAsync(); // You could do this. + } + catch(ResourceException e) + { + await Resource.LogAsync(res, e); // Now you can do this … + } + finally + { + if (res != null) + await res.CloseAsync(); // … and this. + } + } + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/ReadMe.md new file mode 100644 index 000000000..ab332b59f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/ReadMe.md @@ -0,0 +1,5 @@ +# Sample: AllInOneNoPreprocessor-v6-* + +This is a standard sample based off a test file originating with the Roslyn project. + +The AllInOneNoPreprocessor-v6-* combined contain samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt new file mode 100644 index 000000000..1079c7bc7 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -0,0 +1,572 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ namespace_declaration +⎜ ⎜ ⎜ namespace +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ qualified_identifier +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ Comments +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ XmlComments +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ UndocumentedKeywords +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ namespace_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CSharp6Features +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ numbers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Dictionary +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 7 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "seven" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 9 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "nine" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 13 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "thirteen" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ specific_catch_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exception_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyException +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exception_filter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ when +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ myfilter +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Resource +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ res +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ res +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Resource +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ OpenAsync +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ specific_catch_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exception_specifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ResourceException +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Resource +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ LogAsync +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ res +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finally_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finally +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ res +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ != +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ res +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CloseAsync +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt new file mode 100644 index 000000000..49ebc90e5 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt @@ -0,0 +1,117 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:17='Comments',,1:10] +[@2,18:18='.',<'.'>,1:18] +[@3,19:29='XmlComments',,1:19] +[@4,30:30='.',<'.'>,1:30] +[@5,31:50='UndocumentedKeywords',,1:31] +[@6,52:52='{',<'{'>,2:0] +[@7,145:149='class',<'class'>,4:4] +[@8,151:165='CSharp6Features',,4:10] +[@9,171:171='{',<'{'>,5:4] +[@10,181:185='async',<'async'>,6:8] +[@11,187:190='void',<'void'>,6:14] +[@12,192:195='Test',,6:19] +[@13,196:196='(',<'('>,6:23] +[@14,197:197=')',<')'>,6:24] +[@15,207:207='{',<'{'>,7:8] +[@16,255:257='var',<'var'>,9:12] +[@17,259:265='numbers',,9:16] +[@18,267:267='=',<'='>,9:24] +[@19,269:271='new',<'new'>,9:26] +[@20,273:282='Dictionary',,9:30] +[@21,283:283='<',<'<'>,9:40] +[@22,284:286='int',<'int'>,9:41] +[@23,287:287=',',<','>,9:44] +[@24,289:294='string',<'string'>,9:46] +[@25,295:295='>',<'>'>,9:52] +[@26,297:297='{',<'{'>,9:54] +[@27,315:315='[',<'['>,10:16] +[@28,316:316='7',,10:17] +[@29,317:317=']',<']'>,10:18] +[@30,319:319='=',<'='>,10:20] +[@31,321:327='"seven"',,10:22] +[@32,328:328=',',<','>,10:29] +[@33,346:346='[',<'['>,11:16] +[@34,347:347='9',,11:17] +[@35,348:348=']',<']'>,11:18] +[@36,350:350='=',<'='>,11:20] +[@37,352:357='"nine"',,11:22] +[@38,358:358=',',<','>,11:28] +[@39,376:376='[',<'['>,12:16] +[@40,377:378='13',,12:17] +[@41,379:379=']',<']'>,12:19] +[@42,381:381='=',<'='>,12:21] +[@43,383:392='"thirteen"',,12:23] +[@44,406:406='}',<'}'>,13:12] +[@45,407:407=';',<';'>,13:13] +[@46,467:469='try',<'try'>,16:12] +[@47,471:471='{',<'{'>,16:16] +[@48,472:472='}',<'}'>,16:17] +[@49,486:490='catch',<'catch'>,17:12] +[@50,492:492='(',<'('>,17:18] +[@51,493:503='MyException',,17:19] +[@52,505:505='e',,17:31] +[@53,506:506=')',<')'>,17:32] +[@54,508:511='when',<'when'>,17:34] +[@55,513:513='(',<'('>,17:39] +[@56,514:521='myfilter',,17:40] +[@57,522:522='(',<'('>,17:48] +[@58,523:523='e',,17:49] +[@59,524:524=')',<')'>,17:50] +[@60,525:525=')',<')'>,17:51] +[@61,539:539='{',<'{'>,18:12] +[@62,541:541='}',<'}'>,18:14] +[@63,617:624='Resource',,21:12] +[@64,626:628='res',,21:21] +[@65,630:630='=',<'='>,21:25] +[@66,632:635='null',<'null'>,21:27] +[@67,636:636=';',<';'>,21:31] +[@68,650:652='try',<'try'>,22:12] +[@69,666:666='{',<'{'>,23:12] +[@70,684:686='res',,24:16] +[@71,688:688='=',<'='>,24:20] +[@72,690:694='await',<'await'>,24:22] +[@73,696:703='Resource',,24:28] +[@74,704:704='.',<'.'>,24:36] +[@75,705:713='OpenAsync',,24:37] +[@76,714:714='(',<'('>,24:46] +[@77,715:715=')',<')'>,24:47] +[@78,716:716=';',<';'>,24:48] +[@79,758:758='}',<'}'>,25:12] +[@80,773:777='catch',<'catch'>,26:12] +[@81,778:778='(',<'('>,26:17] +[@82,779:795='ResourceException',,26:18] +[@83,797:797='e',,26:36] +[@84,798:798=')',<')'>,26:37] +[@85,812:812='{',<'{'>,27:12] +[@86,830:834='await',<'await'>,28:16] +[@87,836:843='Resource',,28:22] +[@88,844:844='.',<'.'>,28:30] +[@89,845:852='LogAsync',,28:31] +[@90,853:853='(',<'('>,28:39] +[@91,854:856='res',,28:40] +[@92,857:857=',',<','>,28:43] +[@93,859:859='e',,28:45] +[@94,860:860=')',<')'>,28:46] +[@95,861:861=';',<';'>,28:47] +[@96,908:908='}',<'}'>,29:12] +[@97,922:928='finally',<'finally'>,30:12] +[@98,942:942='{',<'{'>,31:12] +[@99,960:961='if',<'if'>,32:16] +[@100,963:963='(',<'('>,32:19] +[@101,964:966='res',,32:20] +[@102,968:969='!=',<'!='>,32:24] +[@103,971:974='null',<'null'>,32:27] +[@104,975:975=')',<')'>,32:31] +[@105,997:1001='await',<'await'>,33:20] +[@106,1003:1005='res',,33:26] +[@107,1006:1006='.',<'.'>,33:29] +[@108,1007:1016='CloseAsync',,33:30] +[@109,1017:1017='(',<'('>,33:40] +[@110,1018:1018=')',<')'>,33:41] +[@111,1019:1019=';',<';'>,33:42] +[@112,1048:1048='}',<'}'>,34:12] +[@113,1058:1058='}',<'}'>,35:8] +[@114,1064:1064='}',<'}'>,36:4] +[@115,1066:1066='}',<'}'>,37:0] +[@116,1067:1066='',,37:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt new file mode 100644 index 000000000..5f7b52efb --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier Comments) . (identifier XmlComments) . (identifier UndocumentedKeywords)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier CSharp6Features) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier async)) (return_type void) (method_header (member_name (identifier Test)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier numbers) = (expression (object_creation_expression new (type (namespace_or_type_name (identifier Dictionary) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (class_type string))) >))) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target [ (argument_list (literal 7)) ]) = (initializer_value (literal "seven"))) , (member_initializer (initializer_target [ (argument_list (literal 9)) ]) = (initializer_value (literal "nine"))) , (member_initializer (initializer_target [ (argument_list (literal 13)) ]) = (initializer_value (literal "thirteen")))) }))))))) ;)) (statement (try_statement try (block { }) (catch_clauses (specific_catch_clause catch (exception_specifier ( (type (identifier MyException)) (identifier e) )) (exception_filter when ( (boolean_expression (invocation_expression (primary_expression (identifier myfilter)) ( (argument_list (identifier e)) ))) )) (block { }))))) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Resource)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier res) = (local_variable_initializer (null_literal null)))))) ;)) (statement (try_statement try (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (identifier res)) (assignment_operator =) (expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Resource)) . (identifier OpenAsync))) ( ))))))) ;)) }) (catch_clauses (specific_catch_clause catch (exception_specifier ( (type (identifier ResourceException)) (identifier e) )) (block { (statement_list (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Resource)) . (identifier LogAsync))) ( (argument_list (argument (identifier res)) , (argument (identifier e))) ))))) ;)) }))) (finally_clause finally (block { (statement_list (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier res)) != (relational_expression (null_literal null)))) ) (embedded_statement (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier res)) . (identifier CloseAsync))) ( ))))) ;)))) }))))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tree.svg new file mode 100644 index 000000000..74441aeed --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -0,0 +1,1340 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +method_declaration + + + +( + + + +] + + + +expression + + + +string + + + +type_argument + + + +, + + + +expression_statement + + + +XmlComments + + + +e + + + +await_expression + + + +unary_expression + + + +catch_clauses + + + +namespace_member_declaration + + + +( + + + +e + + + +> + + + +{ + + + +member_initializer + + + +identifier + + + +. + + + +finally + + + +) + + + +( + + + +identifier + + + +{ + + + +identifier + + + +specific_catch_clause + + + +) + + + +type + + + +literal + + + +identifier + + + +implicitly_typed_local_variable_declaration + + + +catch + + + +} + + + +!= + + + +{ + + + +exception_specifier + + + +( + + + +member_access + + + +embedded_statement + + + +primary_expression + + + +local_variable_initializer + + + +initializer_value + + + +boolean_expression + + + +( + + + +block + + + +type_argument_list + + + +identifier + + + +primary_expression + + + += + + + +argument_list + + + +boolean_expression + + + +{ + + + +void + + + +"thirteen" + + + +equality_expression + + + +{ + + + +Comments + + + +"seven" + + + +literal + + + +statement + + + +Resource + + + +{ + + + +return_type + + + +} + + + +. + + + +catch_clauses + + + +unary_expression + + + += + + + +; + + + +) + + + +try + + + +statement_list + + + +statement_expression + + + +class_member_declaration + + + +method_body + + + +CloseAsync + + + +e + + + +[ + + + +explicitly_typed_local_variable_declarators + + + +primary_expression + + + +explicitly_typed_local_variable_declarator + + + +argument_list + + + +exception_filter + + + +identifier + + + +literal + + + +) + + + +expression_statement + + + +. + + + +numbers + + + +literal + + + +try_statement + + + +exception_specifier + + + += + + + +identifier + + + +method_header + + + +primary_expression + + + +} + + + +initializer_target + + + +; + + + +literal + + + +identifier + + + +identifier + + + +} + + + +finally_clause + + + +async + + + +member_access + + + +type_argument + + + +. + + + +member_initializer_list + + + +; + + + +member_initializer + + + +Dictionary + + + +res + + + +null + + + +) + + + +Test + + + +int + + + +type + + + +class_declaration + + + +7 + + + +catch + + + +argument_list + + + +( + + + +invocation_expression + + + +class + + + +block + + + +equality_expression + + + +class_body + + + +unary_expression + + + +initializer_value + + + +block + + + +method_modifiers + + + +statement_expression + + + +[ + + + +assignment_operator + + + +namespace_or_type_name + + + +statement_list + + + +type + + + +await + + + +try_statement + + + +CSharp6Features + + + +ResourceException + + + +} + + + +qualified_identifier + + + +} + + + +prog + + + += + + + +when + + + +invocation_expression + + + +identifier + + + +"nine" + + + +member_initializer + + + +specific_catch_clause + + + +] + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +statement_expression + + + +{ + + + +{ + + + +) + + + +initializer_target + + + +identifier + + + +method_modifier + + + +] + + + +local_variable_declaration + + + +expression_statement + + + +) + + + +if_statement + + + +assignment + + + +await + + + +initializer_target + + + +identifier + + + +await + + + +type_arguments + + + +namespace + + + +[ + + + +null + + + +integral_type + + + +) + + + +member_name + + + +myfilter + + + +invocation_expression + + + +declaration_statement + + + +class_type + + + +identifier + + + +declaration_statement + + + +identifier + + + +< + + + +object_initializer + + + +try + + + +new + + + +identifier + + + += + + + +primary_expression + + + +identifier + + + +compilation_unit + + + +; + + + +block + + + +member_access + + + +LogAsync + + + +object_creation_expression + + + +object_or_collection_initializer + + + +identifier + + + +initializer_value + + + +, + + + +argument + + + +statement + + + +9 + + + +unary_expression + + + += + + + +} + + + +local_variable_declaration + + + +identifier + + + +identifier + + + +block + + + +res + + + +identifier + + + +invocation_expression + + + +identifier + + + +) + + + +if + + + +argument_list + + + +UndocumentedKeywords + + + +res + + + +block + + + +identifier + + + +Resource + + + +. + + + +namespace_body + + + +statement_list + + + +res + + + +type + + + +, + + + +null_literal + + + +e + + + +( + + + +implicitly_typed_local_variable_declarator + + + +argument_list + + + +statement + + + +MyException + + + +Resource + + + +OpenAsync + + + +argument + + + +relational_expression + + + +var + + + +namespace_declaration + + + +await_expression + + + +} + + + +( + + + +13 + + + +; + + + +, + + + +primary_expression + + + +identifier + + + +res + + + +{ + + + +statement_list + + + +( + + + +} + + + +expression + + + +literal + + + +statement + + + +null_literal + + + +await_expression + + + +identifier + + + +primary_expression + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/AllInOneNoPreprocessor-v6.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/AllInOneNoPreprocessor-v6.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/AllInOneNoPreprocessor-v6.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/AllInOneNoPreprocessor-v6.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/ReadMe.md similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/ReadMe.md rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/ReadMe.md diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.gruntree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.gruntree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.svg similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.svg diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/_Disable_Sample.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/_Disable_Sample.txt new file mode 100644 index 000000000..8c0c6d9f1 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/_Disable_Sample.txt @@ -0,0 +1,8 @@ +This file disables the sample – it is not reported in the skip count +but will be reported as disabled if verbose is on. + +The file does not need to contain anything. +==================================================================== +This particular sample is disabled as it has been split into twenty +parts for ease of maintenance. The sample files are valid and sample +may be un manually or by removing this file (locally). \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/_Sample_Options.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v6/_Sample_Options.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/_Sample_Options.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/ReadMe.md new file mode 100644 index 000000000..7930a3446 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/ReadMe.md @@ -0,0 +1,6 @@ +# Sample: Right-shift expressions + +Sample to check that right-shift is only accepted when tokens adjacent when modification set Rules. + +Each test is repeated, first without an intervening space and then with a space. The errors +produced are checked against the reference ones in `Reference/sample.stderr.txt` diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.gruntree.red.txt new file mode 100644 index 000000000..d915780a3 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.gruntree.red.txt @@ -0,0 +1,221 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ RightShift +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ RightShift +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ right_shift +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ right_shift_assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ >= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ >= +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.stderr.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.stderr.txt new file mode 100644 index 000000000..19ef2924c --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.stderr.txt @@ -0,0 +1,3 @@ +line 10:12 no viable alternative at input '>' +line 10:14 extraneous input '>' expecting {'-', '--', '!', '(', '&', '+', '++', '~', 'add', 'alias', 'ascending', 'async', 'await', 'base', 'bool', 'by', 'byte', 'char', 'checked', 'decimal', 'delegate', 'descending', 'double', 'dynamic', 'equals', 'float', 'from', 'get', 'global', 'group', 'int', 'into', 'join', 'let', 'long', 'nameof', 'new', 'notnull', 'object', 'on', 'orderby', 'partial', 'remove', 'sbyte', 'select', 'set', 'short', 'sizeof', 'stackalloc', 'string', 'this', 'typeof', 'uint', 'ulong', 'unchecked', 'unmanaged', 'ushort', 'value', 'var', 'when', 'where', 'yield', 'default', 'null', 'true', 'false', '*', Simple_Identifier, Integer_Literal, Real_Literal, Character_Literal, String_Literal, Interpolated_Regular_String_Start, Interpolated_Verbatim_String_Start} +line 11:8 no viable alternative at input '>' diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.tokens.txt new file mode 100644 index 000000000..2ccf500ba --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.tokens.txt @@ -0,0 +1,35 @@ +[@0,0:4='class',<'class'>,1:0] +[@1,6:15='RightShift',,1:6] +[@2,17:17='{',<'{'>,2:0] +[@3,23:26='void',<'void'>,3:4] +[@4,28:37='RightShift',,3:9] +[@5,38:38='(',<'('>,3:19] +[@6,39:39=')',<')'>,3:20] +[@7,45:45='{',<'{'>,4:4] +[@8,68:68='a',,6:6] +[@9,70:70='=',<'='>,6:8] +[@10,72:72='b',,6:10] +[@11,74:74='>',<'>'>,6:12] +[@12,75:75='>',<'>'>,6:13] +[@13,77:77='c',,6:15] +[@14,78:78=';',<';'>,6:16] +[@15,86:86='d',,7:6] +[@16,88:88='>',<'>'>,7:8] +[@17,89:90='>=',<'>='>,7:9] +[@18,92:92='e',,7:12] +[@19,93:93=';',<';'>,7:13] +[@20,125:125='a',,10:6] +[@21,127:127='=',<'='>,10:8] +[@22,129:129='b',,10:10] +[@23,131:131='>',<'>'>,10:12] +[@24,133:133='>',<'>'>,10:14] +[@25,135:135='c',,10:16] +[@26,136:136=';',<';'>,10:17] +[@27,144:144='d',,11:6] +[@28,146:146='>',<'>'>,11:8] +[@29,148:149='>=',<'>='>,11:10] +[@30,151:151='e',,11:13] +[@31,152:152=';',<';'>,11:14] +[@32,164:164='}',<'}'>,12:4] +[@33,166:166='}',<'}'>,13:0] +[@34,167:166='',,13:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.tree.red.txt new file mode 100644 index 000000000..bc5a48544 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (class_declaration class (identifier RightShift) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier RightShift)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier a)) (assignment_operator =) (expression (shift_expression (shift_expression (identifier b)) (right_shift > >) (additive_expression (identifier c)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier d)) (assignment_operator (right_shift_assignment > >=)) (expression (identifier e)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier a)) (assignment_operator =) (expression (relational_expression (relational_expression (identifier b)) > (shift_expression (unary_expression > (primary_expression (identifier c)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier d)) (assignment_operator > >=) (expression (identifier e)))) ;))) })))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.tree.svg new file mode 100644 index 000000000..a2f9245dc --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/Reference/sample.tree.svg @@ -0,0 +1,485 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +; + + + +right_shift_assignment + + + +class_member_declaration + + + +block + + + +identifier + + + +e + + + +unary_expression + + + +statement + + + +unary_expression + + + +class_declaration + + + +class + + + +statement_expression + + + +expression_statement + + + +> + + + +assignment + + + +method_body + + + +statement + + + +identifier + + + +d + + + +identifier + + + +assignment + + + +expression + + + +relational_expression + + + +identifier + + + +RightShift + + + +RightShift + + + +} + + + +statement_list + + + +primary_expression + + + +} + + + +c + + + +return_type + + + +identifier + + + +identifier + + + +{ + + + += + + + +identifier + + + +unary_expression + + + +assignment_operator + + + +> + + + +> + + + +; + + + +b + + + +; + + + +assignment + + + +c + + + +relational_expression + + + +> + + + +identifier + + + +statement_expression + + + +>= + + + +prog + + + +b + + + +statement + + + +void + + + +method_modifiers + + + +) + + + += + + + +shift_expression + + + +member_name + + + +{ + + + +expression_statement + + + +identifier + + + +right_shift + + + +identifier + + + +expression + + + +assignment_operator + + + +d + + + +expression_statement + + + +statement_expression + + + +assignment_operator + + + +>= + + + +; + + + +( + + + +shift_expression + + + +a + + + +class_body + + + +a + + + +expression + + + +method_declaration + + + +expression + + + +unary_expression + + + +compilation_unit + + + +statement + + + +e + + + +unary_expression + + + +method_header + + + +assignment_operator + + + +expression_statement + + + +identifier + + + +statement_expression + + + +> + + + +> + + + +additive_expression + + + +identifier + + + +assignment + + + +shift_expression + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/sample.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/sample.cs new file mode 100644 index 000000000..5a9743625 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/RightShift/sample.cs @@ -0,0 +1,13 @@ +class RightShift +{ + void RightShift() + { + // valid + a = b >> c; + d >>= e; + + // invalid + a = b > > c; + d > >= e; + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/AllInOneNoPreprocessor-v7.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/AllInOneNoPreprocessor-v7.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/AllInOneNoPreprocessor-v7.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/AllInOneNoPreprocessor-v7.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/ReadMe.md similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/ReadMe.md rename to tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/ReadMe.md diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.gruntree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.gruntree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.svg similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.svg diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/ReadMe.md new file mode 100644 index 000000000..18d94dd7f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/ReadMe.md @@ -0,0 +1 @@ +# Sample: Declaration expressions diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.gruntree.red.txt new file mode 100644 index 000000000..ccbd97fd6 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.gruntree.red.txt @@ -0,0 +1,677 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ DeclarationExpressions +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DeclarationExpressions +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ _ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ _ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ _ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 4 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ _ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ w +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 42 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 'x' +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s3 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ _ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Three" +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ _ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ X +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ F +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ H +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ I +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.stderr.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.stderr.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tokens.txt new file mode 100644 index 000000000..b15735e31 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tokens.txt @@ -0,0 +1,125 @@ +[@0,0:4='class',<'class'>,1:0] +[@1,6:27='DeclarationExpressions',,1:6] +[@2,29:29='{',<'{'>,2:0] +[@3,34:37='void',<'void'>,3:3] +[@4,39:60='DeclarationExpressions',,3:8] +[@5,61:61='(',<'('>,3:30] +[@6,62:62=')',<')'>,3:31] +[@7,67:67='{',<'{'>,4:3] +[@8,80:80='(',<'('>,5:6] +[@9,81:83='int',<'int'>,5:7] +[@10,85:86='i1',,5:11] +[@11,87:87=',',<','>,5:13] +[@12,89:91='int',<'int'>,5:15] +[@13,93:93='_',,5:19] +[@14,94:94=',',<','>,5:20] +[@15,96:96='(',<'('>,5:22] +[@16,97:99='var',<'var'>,5:23] +[@17,101:102='i2',,5:27] +[@18,103:103=',',<','>,5:29] +[@19,105:107='var',<'var'>,5:31] +[@20,109:109='_',,5:35] +[@21,110:110=')',<')'>,5:36] +[@22,111:111=',',<','>,5:37] +[@23,113:113='_',,5:39] +[@24,114:114=')',<')'>,5:40] +[@25,116:116='=',<'='>,5:42] +[@26,118:118='(',<'('>,5:44] +[@27,119:119='1',,5:45] +[@28,120:120=',',<','>,5:46] +[@29,122:122='2',,5:48] +[@30,123:123=',',<','>,5:49] +[@31,125:125='(',<'('>,5:51] +[@32,126:126='3',,5:52] +[@33,127:127=',',<','>,5:53] +[@34,129:129='4',,5:55] +[@35,130:130=')',<')'>,5:56] +[@36,131:131=',',<','>,5:57] +[@37,133:133='5',,5:59] +[@38,134:134=')',<')'>,5:60] +[@39,135:135=';',<';'>,5:61] +[@40,144:144='(',<'('>,7:6] +[@41,145:145='_',,7:7] +[@42,146:146=',',<','>,7:8] +[@43,148:148='w',,7:10] +[@44,149:149=')',<')'>,7:11] +[@45,151:151='=',<'='>,7:13] +[@46,153:153='(',<'('>,7:15] +[@47,154:155='42',,7:16] +[@48,156:156=',',<','>,7:18] +[@49,158:160=''x'',,7:20] +[@50,161:161=')',<')'>,7:23] +[@51,162:162=';',<';'>,7:24] +[@52,171:173='var',<'var'>,9:6] +[@53,175:176='s3',,9:10] +[@54,178:178='=',<'='>,9:13] +[@55,180:180='M',,9:15] +[@56,181:181='(',<'('>,9:16] +[@57,182:184='out',<'out'>,9:17] +[@58,186:188='int',<'int'>,9:21] +[@59,190:190='_',,9:25] +[@60,191:191=',',<','>,9:26] +[@61,193:199='"Three"',,9:28] +[@62,200:200=',',<','>,9:35] +[@63,202:204='out',<'out'>,9:37] +[@64,206:208='var',<'var'>,9:41] +[@65,210:210='_',,9:45] +[@66,211:211=')',<')'>,9:46] +[@67,212:212=';',<';'>,9:47] +[@68,227:229='var',<'var'>,11:6] +[@69,231:231='X',,11:10] +[@70,233:233='=',<'='>,11:12] +[@71,235:235='M',,11:14] +[@72,236:236='(',<'('>,11:15] +[@73,237:237='A',,11:16] +[@74,239:239='<',<'<'>,11:18] +[@75,241:241='B',,11:20] +[@76,242:242=',',<','>,11:21] +[@77,244:244='C',,11:23] +[@78,246:246='>',<'>'>,11:25] +[@79,248:248='D',,11:27] +[@80,249:249=',',<','>,11:28] +[@81,251:251='E',,11:30] +[@82,252:252=')',<')'>,11:31] +[@83,253:253=';',<';'>,11:32] +[@84,261:263='var',<'var'>,12:6] +[@85,265:265='Y',,12:10] +[@86,267:267='=',<'='>,12:12] +[@87,269:269='(',<'('>,12:14] +[@88,270:270='A',,12:15] +[@89,272:272='<',<'<'>,12:17] +[@90,274:274='B',,12:19] +[@91,275:275=',',<','>,12:20] +[@92,277:277='C',,12:22] +[@93,279:279='>',<'>'>,12:24] +[@94,281:281='D',,12:26] +[@95,282:282=',',<','>,12:27] +[@96,284:284='E',,12:29] +[@97,285:285=')',<')'>,12:30] +[@98,286:286=';',<';'>,12:31] +[@99,294:296='var',<'var'>,13:6] +[@100,298:298='Y',,13:10] +[@101,300:300='=',<'='>,13:12] +[@102,302:302='(',<'('>,13:14] +[@103,303:303='A',,13:15] +[@104,305:305='<',<'<'>,13:17] +[@105,307:307='B',,13:19] +[@106,308:308=',',<','>,13:20] +[@107,310:310='C',,13:22] +[@108,312:312='>',<'>'>,13:24] +[@109,314:314='D',,13:26] +[@110,315:315=',',<','>,13:27] +[@111,317:317='E',,13:29] +[@112,318:318=',',<','>,13:30] +[@113,320:320='F',,13:32] +[@114,322:322='<',<'<'>,13:34] +[@115,324:324='G',,13:36] +[@116,325:325=',',<','>,13:37] +[@117,327:327='H',,13:39] +[@118,329:329='>',<'>'>,13:41] +[@119,331:331='I',,13:43] +[@120,332:332=')',<')'>,13:44] +[@121,333:333=';',<';'>,13:45] +[@122,338:338='}',<'}'>,14:3] +[@123,340:340='}',<'}'>,15:0] +[@124,341:340='',,15:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tree.red.txt new file mode 100644 index 000000000..bd298ec9c --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (class_declaration class (identifier DeclarationExpressions) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier DeclarationExpressions)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (integral_type int)) (identifier i1))) , (tuple_element (declaration_expression (local_variable_type (integral_type int)) (identifier _))) , (tuple_element (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (contextual_keyword var)) (identifier i2))) , (tuple_element (declaration_expression (local_variable_type (contextual_keyword var)) (identifier _))) ))) , (tuple_element (identifier _)) ))) (assignment_operator =) (expression (tuple_expression ( (tuple_element (literal 1)) , (tuple_element (literal 2)) , (tuple_element (tuple_expression ( (tuple_element (literal 3)) , (tuple_element (literal 4)) ))) , (tuple_element (literal 5)) ))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (tuple_expression ( (tuple_element (identifier _)) , (tuple_element (identifier w)) ))) (assignment_operator =) (expression (tuple_expression ( (tuple_element (literal 42)) , (tuple_element (literal 'x')) ))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s3) = (expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (integral_type int)) (identifier _))))) , (argument (literal "Three")) , (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (contextual_keyword var)) (identifier _)))))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier X) = (expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (argument (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (argument (relational_expression (relational_expression (identifier C)) > (shift_expression (identifier D)))) , (argument (identifier E))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier Y) = (expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) (identifier D))) , (tuple_element (identifier E)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier Y) = (expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) (identifier D))) , (tuple_element (identifier E)) , (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier F) (type_argument_list < (type_arguments (type_argument (identifier G)) , (type_argument (identifier H))) >))) (identifier I))) )))))) ;))) })))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tree.svg new file mode 100644 index 000000000..80c87d11c --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tree.svg @@ -0,0 +1,1545 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +, + + + +) + + + +, + + + +type_argument + + + +literal + + + +class + + + +expression + + + +declaration_expression + + + +, + + + +'x' + + + +assignment + + + +identifier + + + +, + + + +local_variable_declaration + + + +block + + + +method_declaration + + + +identifier + + + +; + + + +method_header + + + +identifier + + + +tuple_element + + + +argument + + + +statement_list + + + +assignment_operator + + + +42 + + + +variable_reference + + + +type_argument_list + + + +tuple_element + + + +identifier + + + +F + + + +tuple_element + + + +tuple_element + + + +) + + + +tuple_element + + + +int + + + +M + + + +namespace_or_type_name + + + +relational_expression + + + +_ + + + +I + + + +identifier + + + +identifier + + + +identifier + + + +identifier + + + +declaration_expression + + + +identifier + + + +method_modifiers + + + +E + + + +C + + + +( + + + +( + + + +local_variable_declaration + + + +statement + + + +tuple_expression + + + +) + + + +( + + + +var + + + +( + + + +var + + + +< + + + +var + + + +type_argument + + + +H + + + +statement + + + +identifier + + + +, + + + +( + + + +tuple_element + + + +var + + + +identifier + + + +E + + + +Y + + + +tuple_element + + + +( + + + +, + + + +tuple_element + + + +} + + + +literal + + + +int + + + +primary_expression + + + +invocation_expression + + + +local_variable_type + + + +) + + + +) + + + +statement + + + +class_member_declaration + + + +D + + + +type_argument + + + +expression_statement + + + +; + + + +var + + + +type_argument_list + + + +integral_type + + + +int + + + +implicitly_typed_local_variable_declaration + + + +declaration_statement + + + +argument + + + +var + + + +var + + + +_ + + + +( + + + +, + + + +expression + + + +local_variable_declaration + + + +tuple_expression + + + +i2 + + + +) + + + +identifier + + + +literal + + + +literal + + + += + + + +type_argument + + + +) + + + +identifier + + + +namespace_or_type_name + + + +, + + + +, + + + +DeclarationExpressions + + + +identifier + + + +implicitly_typed_local_variable_declarator + + + +( + + + +D + + + +tuple_element + + + +tuple_element + + + +member_name + + + +( + + + +expression + + + +local_variable_type + + + +unary_expression + + + +, + + + +G + + + +identifier + + + +contextual_keyword + + + +> + + + +argument + + + +; + + + +out + + + +implicitly_typed_local_variable_declarator + + + +tuple_element + + + += + + + +identifier + + + +expression + + + +, + + + +out + + + +type_argument + + + +relational_expression + + + +declaration_expression + + + +statement + + + +primary_expression + + + +identifier + + + +identifier + + + +identifier + + + +) + + + +X + + + +, + + + +tuple_expression + + + +namespace_or_type_name + + + +identifier + + + +A + + + +{ + + + +contextual_keyword + + + +literal + + + +argument + + + +implicitly_typed_local_variable_declaration + + + +identifier + + + +local_variable_type + + + +identifier + + + += + + + +unary_expression + + + +tuple_element + + + +identifier + + + +identifier + + + +declaration_statement + + + +expression + + + +type_argument + + + +type_arguments + + + +identifier + + + +argument_value + + + +tuple_expression + + + +implicitly_typed_local_variable_declaration + + + +implicitly_typed_local_variable_declarator + + + +class_body + + + +< + + + +E + + + +type_arguments + + + +tuple_expression + + + +i1 + + + +{ + + + +DeclarationExpressions + + + +_ + + + +tuple_element + + + +local_variable_type + + + +Y + + + +relational_expression + + + +s3 + + + +argument + + + +local_variable_type + + + +_ + + + +expression + + + +assignment_operator + + + +C + + + +identifier + + + +implicitly_typed_local_variable_declaration + + + +tuple_element + + + +integral_type + + + +D + + + +tuple_expression + + + +compilation_unit + + + +2 + + + +A + + + +prog + + + +statement_expression + + + +B + + + +identifier + + + +< + + + +declaration_expression + + + +return_type + + + +identifier + + + +4 + + + +w + + + +1 + + + +argument_value + + + +statement + + + +identifier + + + +; + + + +, + + + += + + + +declaration_expression + + + +, + + + +class_declaration + + + +local_variable_type + + + +invocation_expression + + + +C + + + +declaration_expression + + + +( + + + +_ + + + +> + + + +implicitly_typed_local_variable_declarator + + + +, + + + +method_body + + + +local_variable_type + + + +void + + + +shift_expression + + + +expression_statement + + + +argument_list + + + +tuple_element + + + +declaration_expression + + + +3 + + + +M + + + +declaration_statement + + + +relational_expression + + + +tuple_expression + + + +declaration_statement + + + +local_variable_type + + + +assignment + + + +variable_reference + + + +) + + + +tuple_element + + + +5 + + + += + + + +tuple_element + + + +> + + + +statement_expression + + + +tuple_element + + + +identifier + + + +B + + + +) + + + +( + + + +"Three" + + + +type_arguments + + + +identifier + + + +identifier + + + +_ + + + +contextual_keyword + + + += + + + +declaration_expression + + + +identifier + + + +identifier + + + +; + + + +local_variable_declaration + + + +, + + + +statement + + + +identifier + + + +literal + + + +argument_list + + + +literal + + + +shift_expression + + + +, + + + +> + + + +declaration_expression + + + +tuple_element + + + +local_variable_type + + + +identifier + + + +type_argument_list + + + +< + + + +A + + + +argument + + + +; + + + +, + + + +tuple_element + + + +literal + + + +tuple_element + + + +integral_type + + + +tuple_expression + + + +, + + + +, + + + +} + + + +) + + + +B + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/sample.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/sample.cs new file mode 100644 index 000000000..7f8f88947 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/sample.cs @@ -0,0 +1,15 @@ +class DeclarationExpressions +{ + void DeclarationExpressions() + { + (int i1, int _, (var i2, var _), _) = (1, 2, (3, 4), 5); // nest in tuples + + (_, w) = (42, 'x'); // not a declaration expression, in real code `w` would need to exist + + var s3 = M(out int _, "Three", out var _); // declaration expression in method call + + var X = M(A < B, C > D, E); // method call, 3 arguments + var Y = (A < B, C > D, E); // similar tuple is 2-tuple – declaration expression & E + var Y = (A < B, C > D, E, F < G, H > I); // 3-tuple – decl expr, E, decl expr + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/ReadMe.md new file mode 100644 index 000000000..4ca93a6df --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/ReadMe.md @@ -0,0 +1,10 @@ +# Sample: Null-forgiving expression + +Uses modification set Rules which implements the semantic check for the null-forgiving +operator being applied to a null-forgiving expression, including any hidden inside parens. + +The sample contains both valid and invalid samples, the semantic errors the latter +produce are checked – the reference errors are in `Reference/sample.stderr.txt` + +The check is a semantic one only, the code still parses successfully and the parse tree +is checked for correctness as with other samples. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.gruntree.red.txt new file mode 100644 index 000000000..dacf86f6f --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.gruntree.red.txt @@ -0,0 +1,749 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ NullForgivingChecks +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ NullForgivingChecks +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_reference_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_reference_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dependent_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dependent_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dependent_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dependent_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dependent_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dependent_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parenthesized_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parenthesized_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parenthesized_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parenthesized_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parenthesized_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ?? +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_forgiving_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.stderr.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.stderr.txt new file mode 100644 index 000000000..507171664 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.stderr.txt @@ -0,0 +1,4 @@ +line 17:19 null-forgiving `!` cannot be applied to the result of null-forgiving expression at (17:18) +line 18:21 null-forgiving `!` cannot be applied to the result of null-forgiving expression at (18:19) +line 19:21 null-forgiving `!` cannot be applied to the result of null-forgiving expression at (19:20) +line 20:23 null-forgiving `!` cannot be applied to the result of null-forgiving expression at (20:21) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.tokens.txt new file mode 100644 index 000000000..9212868f6 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.tokens.txt @@ -0,0 +1,116 @@ +[@0,0:4='class',<'class'>,1:0] +[@1,6:24='NullForgivingChecks',,1:6] +[@2,26:26='{',<'{'>,2:0] +[@3,32:35='void',<'void'>,3:4] +[@4,37:55='NullForgivingChecks',,3:9] +[@5,56:56='(',<'('>,3:28] +[@6,57:57=')',<')'>,3:29] +[@7,63:63='{',<'{'>,4:4] +[@8,102:107='string',<'string'>,6:6] +[@9,108:108='?',<'?'>,6:12] +[@10,110:110='s',,6:14] +[@11,112:112='=',<'='>,6:16] +[@12,114:117='null',<'null'>,6:18] +[@13,118:118=';',<';'>,6:22] +[@14,126:131='string',<'string'>,7:6] +[@15,133:133='a',,7:13] +[@16,135:135='=',<'='>,7:15] +[@17,137:137='s',,7:17] +[@18,138:138='!',<'!'>,7:18] +[@19,139:139=';',<';'>,7:19] +[@20,200:202='int',<'int'>,10:6] +[@21,204:204='b',,10:10] +[@22,206:206='=',<'='>,10:12] +[@23,208:208='c',,10:14] +[@24,209:209='?',<'?'>,10:15] +[@25,210:210='.',<'.'>,10:16] +[@26,211:211='d',,10:17] +[@27,212:212='.',<'.'>,10:18] +[@28,213:213='e',,10:19] +[@29,214:214=';',<';'>,10:20] +[@30,222:224='int',<'int'>,11:6] +[@31,226:226='b',,11:10] +[@32,228:228='=',<'='>,11:12] +[@33,230:230='c',,11:14] +[@34,231:231='?',<'?'>,11:15] +[@35,232:232='.',<'.'>,11:16] +[@36,233:233='d',,11:17] +[@37,234:234='!',<'!'>,11:18] +[@38,235:235='.',<'.'>,11:19] +[@39,236:236='e',,11:20] +[@40,237:237=';',<';'>,11:21] +[@41,245:247='int',<'int'>,12:6] +[@42,249:249='b',,12:10] +[@43,251:251='=',<'='>,12:12] +[@44,253:253='c',,12:14] +[@45,254:254='?',<'?'>,12:15] +[@46,255:255='.',<'.'>,12:16] +[@47,256:256='d',,12:17] +[@48,257:257='.',<'.'>,12:18] +[@49,258:258='e',,12:19] +[@50,259:259='.',<'.'>,12:20] +[@51,260:260='f',,12:21] +[@52,261:261=';',<';'>,12:22] +[@53,269:271='int',<'int'>,13:6] +[@54,273:273='b',,13:10] +[@55,275:275='=',<'='>,13:12] +[@56,277:277='c',,13:14] +[@57,278:278='?',<'?'>,13:15] +[@58,279:279='.',<'.'>,13:16] +[@59,280:280='d',,13:17] +[@60,281:281='.',<'.'>,13:18] +[@61,282:282='e',,13:19] +[@62,283:283='!',<'!'>,13:20] +[@63,284:284='.',<'.'>,13:21] +[@64,285:285='f',,13:22] +[@65,286:286=';',<';'>,13:23] +[@66,445:450='string',<'string'>,17:6] +[@67,452:452='b',,17:13] +[@68,454:454='=',<'='>,17:15] +[@69,456:456='s',,17:17] +[@70,457:457='!',<'!'>,17:18] +[@71,458:458='!',<'!'>,17:19] +[@72,459:459=';',<';'>,17:20] +[@73,467:472='string',<'string'>,18:6] +[@74,474:474='c',,18:13] +[@75,476:476='=',<'='>,18:15] +[@76,478:478='(',<'('>,18:17] +[@77,479:479='s',,18:18] +[@78,480:480='!',<'!'>,18:19] +[@79,481:481=')',<')'>,18:20] +[@80,482:482='!',<'!'>,18:21] +[@81,483:483=';',<';'>,18:22] +[@82,491:496='string',<'string'>,19:6] +[@83,498:498='d',,19:13] +[@84,500:500='=',<'='>,19:15] +[@85,502:502='(',<'('>,19:17] +[@86,503:503='s',,19:18] +[@87,504:504=')',<')'>,19:19] +[@88,505:505='!',<'!'>,19:20] +[@89,506:506='!',<'!'>,19:21] +[@90,507:507=';',<';'>,19:22] +[@91,515:520='string',<'string'>,20:6] +[@92,522:522='e',,20:13] +[@93,524:524='=',<'='>,20:15] +[@94,526:526='(',<'('>,20:17] +[@95,527:527='(',<'('>,20:18] +[@96,528:528='s',,20:19] +[@97,529:529=')',<')'>,20:20] +[@98,530:530='!',<'!'>,20:21] +[@99,531:531=')',<')'>,20:22] +[@100,532:532='!',<'!'>,20:23] +[@101,533:533=';',<';'>,20:24] +[@102,628:633='string',<'string'>,23:6] +[@103,635:635='f',,23:13] +[@104,637:637='=',<'='>,23:15] +[@105,639:639='(',<'('>,23:17] +[@106,640:640='s',,23:18] +[@107,642:643='??',<'??'>,23:20] +[@108,645:645='s',,23:23] +[@109,646:646='!',<'!'>,23:24] +[@110,647:647=')',<')'>,23:25] +[@111,648:648='!',<'!'>,23:26] +[@112,649:649=';',<';'>,23:27] +[@113,656:656='}',<'}'>,25:4] +[@114,658:658='}',<'}'>,26:0] +[@115,659:658='',,26:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.tree.red.txt new file mode 100644 index 000000000..a11c9427d --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (class_declaration class (identifier NullForgivingChecks) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier NullForgivingChecks)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (nullable_reference_type (non_nullable_reference_type (class_type string)) (nullable_type_annotation ?))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier s) = (local_variable_initializer (null_literal null)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (null_forgiving_expression (primary_no_array_creation_expression (identifier s)) (null_forgiving_operator !))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier b) = (local_variable_initializer (null_conditional_member_access (primary_expression (identifier c)) ? . (identifier d) (dependent_access . (identifier e)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier b) = (local_variable_initializer (null_conditional_member_access (primary_expression (identifier c)) ? . (identifier d) (null_forgiving_operator !) (dependent_access . (identifier e)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier b) = (local_variable_initializer (null_conditional_member_access (primary_expression (identifier c)) ? . (identifier d) (dependent_access . (identifier e)) (dependent_access . (identifier f)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier b) = (local_variable_initializer (null_conditional_member_access (primary_expression (identifier c)) ? . (identifier d) (dependent_access . (identifier e)) (null_forgiving_operator !) (dependent_access . (identifier f)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier b) = (local_variable_initializer (null_forgiving_expression (primary_no_array_creation_expression (null_forgiving_expression (primary_no_array_creation_expression (identifier s)) (null_forgiving_operator !))) (null_forgiving_operator !))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier c) = (local_variable_initializer (null_forgiving_expression (primary_no_array_creation_expression (parenthesized_expression ( (expression (null_forgiving_expression (primary_no_array_creation_expression (identifier s)) (null_forgiving_operator !))) ))) (null_forgiving_operator !))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier d) = (local_variable_initializer (null_forgiving_expression (primary_no_array_creation_expression (null_forgiving_expression (primary_no_array_creation_expression (parenthesized_expression ( (expression (identifier s)) ))) (null_forgiving_operator !))) (null_forgiving_operator !))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier e) = (local_variable_initializer (null_forgiving_expression (primary_no_array_creation_expression (parenthesized_expression ( (expression (null_forgiving_expression (primary_no_array_creation_expression (parenthesized_expression ( (expression (identifier s)) ))) (null_forgiving_operator !))) ))) (null_forgiving_operator !))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f) = (local_variable_initializer (null_forgiving_expression (primary_no_array_creation_expression (parenthesized_expression ( (expression (null_coalescing_expression (conditional_or_expression (identifier s)) ?? (null_coalescing_expression (null_forgiving_expression (primary_no_array_creation_expression (identifier s)) (null_forgiving_operator !))))) ))) (null_forgiving_operator !))))))) ;))) })))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.tree.svg new file mode 100644 index 000000000..e24c4278c --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/Reference/sample.tree.svg @@ -0,0 +1,1635 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +s + + + +; + + + +d + + + +! + + + +method_declaration + + + +! + + + +primary_no_array_creation_expression + + + +local_variable_initializer + + + +block + + + +identifier + + + +; + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +c + + + +c + + + +c + + + +null_forgiving_operator + + + +method_modifiers + + + +statement + + + +identifier + + + +member_name + + + +declaration_statement + + + +explicitly_typed_local_variable_declaration + + + +declaration_statement + + + += + + + +local_variable_initializer + + + +local_variable_declaration + + + +primary_no_array_creation_expression + + + +void + + + +non_nullable_reference_type + + + +! + + + +. + + + +identifier + + + +local_variable_declaration + + + += + + + +. + + + +a + + + +statement + + + +local_variable_declaration + + + +null_coalescing_expression + + + +local_variable_initializer + + + +explicitly_typed_local_variable_declarators + + + +declaration_statement + + + +type + + + +local_variable_declaration + + + +integral_type + + + +type + + + +explicitly_typed_local_variable_declarator + + + +null_forgiving_operator + + + +statement + + + += + + + +declaration_statement + + + +identifier + + + +primary_no_array_creation_expression + + + +identifier + + + +type + + + +local_variable_initializer + + + +explicitly_typed_local_variable_declarators + + + +null_forgiving_expression + + + +primary_no_array_creation_expression + + + +int + + + +primary_expression + + + +primary_no_array_creation_expression + + + +class + + + +explicitly_typed_local_variable_declaration + + + +) + + + +local_variable_initializer + + + +string + + + +local_variable_initializer + + + +explicitly_typed_local_variable_declarators + + + +null_forgiving_expression + + + +parenthesized_expression + + + +; + + + +explicitly_typed_local_variable_declaration + + + +local_variable_declaration + + + +string + + + +identifier + + + +dependent_access + + + +d + + + +local_variable_declaration + + + +null_conditional_member_access + + + +identifier + + + +( + + + +null_forgiving_operator + + + +declaration_statement + + + +! + + + +s + + + +s + + + +. + + + +identifier + + + +null_forgiving_expression + + + +string + + + +local_variable_initializer + + + +e + + + +declaration_statement + + + +explicitly_typed_local_variable_declarator + + + +primary_no_array_creation_expression + + + +identifier + + + +local_variable_initializer + + + +prog + + + +class_body + + + +expression + + + +string + + + +b + + + +?? + + + +( + + + +d + + + +null_forgiving_expression + + + +string + + + +! + + + += + + + +local_variable_declaration + + + +null_forgiving_operator + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +local_variable_initializer + + + +local_variable_declaration + + + +dependent_access + + + +null_conditional_member_access + + + +? + + + +parenthesized_expression + + + +integral_type + + + +identifier + + + +! + + + +identifier + + + +int + + + +statement + + + +int + + + +type + + + +class_type + + + +) + + + +; + + + +identifier + + + +class_type + + + +! + + + +return_type + + + += + + + +c + + + +expression + + + +explicitly_typed_local_variable_declarator + + + += + + + +identifier + + + +null_forgiving_expression + + + +type + + + +identifier + + + +class_type + + + +explicitly_typed_local_variable_declarators + + + +identifier + + + +local_variable_declaration + + + += + + + +e + + + +. + + + +primary_no_array_creation_expression + + + +explicitly_typed_local_variable_declarators + + + +explicitly_typed_local_variable_declarator + + + +class_type + + + +explicitly_typed_local_variable_declarator + + + +s + + + +null_forgiving_operator + + + +null_forgiving_expression + + + += + + + +string + + + +null_forgiving_operator + + + +identifier + + + +integral_type + + + +! + + + +null_forgiving_expression + + + +statement + + + +d + + + +explicitly_typed_local_variable_declaration + + + +local_variable_initializer + + + +) + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +declaration_statement + + + +nullable_type_annotation + + + +s + + + +type + + + +. + + + +null_forgiving_operator + + + +parenthesized_expression + + + +identifier + + + +null_forgiving_operator + + + +null_conditional_member_access + + + +dependent_access + + + +( + + + +type + + + +s + + + +int + + + +explicitly_typed_local_variable_declarator + + + +primary_expression + + + +identifier + + + +s + + + +e + + + +f + + + +null_forgiving_operator + + + +declaration_statement + + + +explicitly_typed_local_variable_declaration + + + +explicitly_typed_local_variable_declarators + + + +b + + + +class_type + + + +method_header + + + +method_body + + + +( + + + +parenthesized_expression + + + +string + + + +identifier + + + +; + + + +! + + + +e + + + +null_forgiving_expression + + + +statement + + + +local_variable_declaration + + + +null_forgiving_operator + + + +{ + + + +primary_expression + + + +primary_no_array_creation_expression + + + +c + + + +) + + + +} + + + +explicitly_typed_local_variable_declarator + + + +! + + + +null_literal + + + +. + + + +null_conditional_member_access + + + +null_forgiving_operator + + + +; + + + += + + + +null + + + +local_variable_initializer + + + +nullable_reference_type + + + +dependent_access + + + +d + + + +? + + + +explicitly_typed_local_variable_declarator + + + +explicitly_typed_local_variable_declaration + + + +statement + + + +primary_no_array_creation_expression + + + +e + + + +integral_type + + + +expression + + + +expression + + + +? + + + +. + + + +) + + + +declaration_statement + + + +expression + + + +conditional_or_expression + + + +null_forgiving_expression + + + +explicitly_typed_local_variable_declarators + + + +type + + + +{ + + + +type + + + +dependent_access + + + +; + + + +explicitly_typed_local_variable_declaration + + + +dependent_access + + + +f + + + +. + + + +( + + + +identifier + + + +; + + + +b + + + +statement + + + +null_forgiving_operator + + + +explicitly_typed_local_variable_declarator + + + +. + + + +class_member_declaration + + + +class_type + + + +explicitly_typed_local_variable_declarator + + + +! + + + +local_variable_declaration + + + +explicitly_typed_local_variable_declaration + + + +; + + + +; + + + +? + + + +parenthesized_expression + + + +declaration_statement + + + +} + + + +identifier + + + +null_forgiving_operator + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +! + + + +statement + + + +class_declaration + + + +. + + + +identifier + + + += + + + +identifier + + + +primary_no_array_creation_expression + + + += + + + +statement_list + + + +type + + + +identifier + + + +primary_expression + + + +declaration_statement + + + +? + + + +b + + + +class_type + + + +null_forgiving_expression + + + +! + + + +statement + + + +type + + + +; + + + +explicitly_typed_local_variable_declarators + + + +explicitly_typed_local_variable_declarators + + + +null_forgiving_expression + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +null_coalescing_expression + + + +f + + + +( + + + +primary_no_array_creation_expression + + + +) + + + +NullForgivingChecks + + + +identifier + + + +statement + + + +explicitly_typed_local_variable_declaration + + + +NullForgivingChecks + + + +s + + + +b + + + +identifier + + + +identifier + + + +identifier + + + +compilation_unit + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/sample.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/sample.cs new file mode 100644 index 000000000..3e48c49e7 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Null-forgiving/sample.cs @@ -0,0 +1,25 @@ +class NullForgivingChecks +{ + void NullForgivingChecks() + { + // simple null-forgiving + string? s = null; + string a = s!; + + // null-conditional with null-forgiving + int b = c?.d.e; + int b = c?.d!.e; + int b = c?.d.e.f; + int b = c?.d.e!.f; + + // null-forgiving semantic errors – cannot apply to same expression twice + // all of these parse but should raise a semantic warning + string b = s!!; + string c = (s!)!; + string d = (s)!!; + string e = ((s)!)!; + + // check the semantic check isn’t fooled by a `!)!` sequence, this is valid + string f = (s ?? s!)!; + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/ReadMe.md new file mode 100644 index 000000000..8b3fd4859 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/ReadMe.md @@ -0,0 +1,4 @@ +# Sample: Type argument list disambiguation + +Uses modification set Rules which implements the disambiguation algorithm +to determine whether a sequence of tokens is a *type_argument_list* or some expression. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.gruntree.red.txt new file mode 100644 index 000000000..b96ec6a09 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.gruntree.red.txt @@ -0,0 +1,1212 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ TypeArgumentListChecks +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ TypeArgumentListChecks +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ F +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 7 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ F +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 7 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ F +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 7 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ F +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 7 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ F +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ right_shift +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 7 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ F +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ is +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ z +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ is +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_designation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ W +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ is +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ W +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_label +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ case +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_designation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ z +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.stderr.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.stderr.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tokens.txt new file mode 100644 index 000000000..cbc9e7930 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tokens.txt @@ -0,0 +1,216 @@ +[@0,0:4='class',<'class'>,1:0] +[@1,6:27='TypeArgumentListChecks',,1:6] +[@2,29:29='{',<'{'>,2:0] +[@3,34:37='void',<'void'>,3:3] +[@4,39:60='TypeArgumentListChecks',,3:8] +[@5,61:61='(',<'('>,3:30] +[@6,62:62=')',<')'>,3:31] +[@7,67:67='{',<'{'>,4:3] +[@8,80:80='F',,5:6] +[@9,81:81='(',<'('>,5:7] +[@10,82:82='G',,5:8] +[@11,83:83='<',<'<'>,5:9] +[@12,84:84='A',,5:10] +[@13,85:85=',',<','>,5:11] +[@14,87:87='B',,5:13] +[@15,88:88='>',<'>'>,5:14] +[@16,89:89='(',<'('>,5:15] +[@17,90:90='7',,5:16] +[@18,91:91=')',<')'>,5:17] +[@19,92:92=')',<')'>,5:18] +[@20,93:93=';',<';'>,5:19] +[@21,258:258='F',,7:6] +[@22,259:259='(',<'('>,7:7] +[@23,260:263='base',<'base'>,7:8] +[@24,264:264='.',<'.'>,7:12] +[@25,265:265='G',,7:13] +[@26,266:266='<',<'<'>,7:14] +[@27,267:267='A',,7:15] +[@28,268:268=',',<','>,7:16] +[@29,270:270='B',,7:18] +[@30,271:271='>',<'>'>,7:19] +[@31,272:272='(',<'('>,7:20] +[@32,273:273='7',,7:21] +[@33,274:274=')',<')'>,7:22] +[@34,275:275=')',<')'>,7:23] +[@35,276:276=';',<';'>,7:24] +[@36,301:301='F',,9:6] +[@37,302:302='(',<'('>,9:7] +[@38,303:303='G',,9:8] +[@39,304:304='<',<'<'>,9:9] +[@40,305:305='A',,9:10] +[@41,306:306=',',<','>,9:11] +[@42,308:308='B',,9:13] +[@43,309:309='>',<'>'>,9:14] +[@44,310:310='7',,9:15] +[@45,311:311=')',<')'>,9:16] +[@46,312:312=';',<';'>,9:17] +[@47,362:362='F',,10:6] +[@48,363:363='(',<'('>,10:7] +[@49,364:367='base',<'base'>,10:8] +[@50,368:368='.',<'.'>,10:12] +[@51,369:369='G',,10:13] +[@52,370:370='<',<'<'>,10:14] +[@53,371:371='A',,10:15] +[@54,372:372=',',<','>,10:16] +[@55,374:374='B',,10:18] +[@56,375:375='>',<'>'>,10:19] +[@57,376:376='7',,10:20] +[@58,377:377=')',<')'>,10:21] +[@59,378:378=';',<';'>,10:22] +[@60,398:398='F',,11:6] +[@61,399:399='(',<'('>,11:7] +[@62,400:400='G',,11:8] +[@63,401:401='<',<'<'>,11:9] +[@64,402:402='A',,11:10] +[@65,403:403=',',<','>,11:11] +[@66,405:405='B',,11:13] +[@67,406:406='>',<'>'>,11:14] +[@68,407:407='>',<'>'>,11:15] +[@69,408:408='7',,11:16] +[@70,409:409=')',<')'>,11:17] +[@71,410:410=';',<';'>,11:18] +[@72,442:442='x',,13:6] +[@73,444:444='=',<'='>,13:8] +[@74,446:446='F',,13:10] +[@75,447:447='<',<'<'>,13:11] +[@76,448:448='A',,13:12] +[@77,449:449='>',<'>'>,13:13] +[@78,451:451='+',<'+'>,13:15] +[@79,453:453='y',,13:17] +[@80,454:454=';',<';'>,13:18] +[@81,668:668='x',,17:6] +[@82,670:670='=',<'='>,17:8] +[@83,672:672='y',,17:10] +[@84,674:675='is',<'is'>,17:12] +[@85,677:677='C',,17:15] +[@86,678:678='<',<'<'>,17:16] +[@87,679:679='T',,17:17] +[@88,680:680='>',<'>'>,17:18] +[@89,682:683='&&',<'&&'>,17:20] +[@90,685:685='z',,17:23] +[@91,686:686=';',<';'>,17:24] +[@92,765:767='var',<'var'>,19:6] +[@93,769:769='v',,19:10] +[@94,771:771='=',<'='>,19:12] +[@95,773:773='(',<'('>,19:14] +[@96,774:774='A',,19:15] +[@97,776:776='<',<'<'>,19:17] +[@98,778:778='B',,19:19] +[@99,779:779=',',<','>,19:20] +[@100,781:781='C',,19:22] +[@101,782:782=')',<')'>,19:23] +[@102,783:783=';',<';'>,19:24] +[@103,805:807='var',<'var'>,21:6] +[@104,809:809='v',,21:10] +[@105,811:811='=',<'='>,21:12] +[@106,813:813='(',<'('>,21:14] +[@107,814:814='A',,21:15] +[@108,816:816='<',<'<'>,21:17] +[@109,818:818='B',,21:19] +[@110,819:819=',',<','>,21:20] +[@111,821:821='C',,21:22] +[@112,823:823='>',<'>'>,21:24] +[@113,825:825='D',,21:26] +[@114,826:826=')',<')'>,21:27] +[@115,827:827=';',<';'>,21:28] +[@116,896:898='var',<'var'>,23:6] +[@117,900:900='v',,23:10] +[@118,902:902='=',<'='>,23:12] +[@119,904:904='(',<'('>,23:14] +[@120,905:905='A',,23:15] +[@121,906:906='<',<'<'>,23:16] +[@122,907:907='B',,23:17] +[@123,908:908=',',<','>,23:18] +[@124,909:909='C',,23:19] +[@125,910:910='>',<'>'>,23:20] +[@126,912:912='D',,23:22] +[@127,913:913=',',<','>,23:23] +[@128,915:915='E',,23:25] +[@129,916:916=')',<')'>,23:26] +[@130,917:917=';',<';'>,23:27] +[@131,1076:1078='var',<'var'>,27:6] +[@132,1080:1080='v',,27:10] +[@133,1082:1082='=',<'='>,27:12] +[@134,1084:1084='M',,27:14] +[@135,1085:1085='(',<'('>,27:15] +[@136,1086:1086='A',,27:16] +[@137,1088:1088='<',<'<'>,27:18] +[@138,1090:1090='B',,27:20] +[@139,1091:1091=',',<','>,27:21] +[@140,1093:1093='C',,27:23] +[@141,1095:1095='>',<'>'>,27:25] +[@142,1097:1097='D',,27:27] +[@143,1098:1098=',',<','>,27:28] +[@144,1100:1100='E',,27:30] +[@145,1101:1101=')',<')'>,27:31] +[@146,1102:1102=';',<';'>,27:32] +[@147,1149:1151='var',<'var'>,29:6] +[@148,1153:1153='v',,29:10] +[@149,1155:1155='=',<'='>,29:12] +[@150,1157:1157='M',,29:14] +[@151,1158:1158='(',<'('>,29:15] +[@152,1159:1161='out',<'out'>,29:16] +[@153,1163:1163='A',,29:20] +[@154,1164:1164='<',<'<'>,29:21] +[@155,1165:1165='B',,29:22] +[@156,1166:1166=',',<','>,29:23] +[@157,1167:1167='C',,29:24] +[@158,1168:1168='>',<'>'>,29:25] +[@159,1170:1170='D',,29:27] +[@160,1171:1171=',',<','>,29:28] +[@161,1173:1173='E',,29:30] +[@162,1174:1174=')',<')'>,29:31] +[@163,1175:1175=';',<';'>,29:32] +[@164,1301:1302='if',<'if'>,32:6] +[@165,1304:1304='(',<'('>,32:9] +[@166,1305:1305='e',,32:10] +[@167,1307:1308='is',<'is'>,32:12] +[@168,1310:1310='A',,32:15] +[@169,1311:1311='<',<'<'>,32:16] +[@170,1312:1312='B',,32:17] +[@171,1313:1313='>',<'>'>,32:18] +[@172,1315:1315='C',,32:20] +[@173,1316:1316=')',<')'>,32:21] +[@174,1366:1366='W',,33:9] +[@175,1367:1367='(',<'('>,33:10] +[@176,1368:1368='C',,33:11] +[@177,1369:1369=')',<')'>,33:12] +[@178,1370:1370=';',<';'>,33:13] +[@179,1385:1386='if',<'if'>,35:6] +[@180,1388:1388='(',<'('>,35:9] +[@181,1389:1389='e',,35:10] +[@182,1391:1392='is',<'is'>,35:12] +[@183,1394:1394='A',,35:15] +[@184,1395:1395='<',<'<'>,35:16] +[@185,1396:1396='B',,35:17] +[@186,1397:1397='>',<'>'>,35:18] +[@187,1398:1398=')',<')'>,35:19] +[@188,1434:1434='W',,36:9] +[@189,1435:1435='(',<'('>,36:10] +[@190,1436:1436='C',,36:11] +[@191,1437:1437=')',<')'>,36:12] +[@192,1438:1438=';',<';'>,36:13] +[@193,1447:1452='switch',<'switch'>,38:6] +[@194,1454:1454='(',<'('>,38:13] +[@195,1455:1455='x',,38:14] +[@196,1456:1456=')',<')'>,38:15] +[@197,1464:1464='{',<'{'>,39:6] +[@198,1475:1478='case',<'case'>,40:9] +[@199,1480:1480='A',,40:14] +[@200,1481:1481='<',<'<'>,40:15] +[@201,1482:1482='B',,40:16] +[@202,1483:1483='>',<'>'>,40:17] +[@203,1485:1485='C',,40:19] +[@204,1486:1486=':',<':'>,40:20] +[@205,1540:1542='var',<'var'>,41:12] +[@206,1544:1544='z',,41:16] +[@207,1546:1546='=',<'='>,41:18] +[@208,1548:1548='C',,41:20] +[@209,1549:1549=';',<';'>,41:21] +[@210,1563:1567='break',<'break'>,42:12] +[@211,1568:1568=';',<';'>,42:17] +[@212,1576:1576='}',<'}'>,43:6] +[@213,1582:1582='}',<'}'>,45:3] +[@214,1584:1584='}',<'}'>,46:0] +[@215,1585:1584='',,46:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.red.txt new file mode 100644 index 000000000..760d289bc --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (class_declaration class (identifier TypeArgumentListChecks) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier TypeArgumentListChecks)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (invocation_expression (primary_expression (simple_name (identifier G) (type_argument_list < (type_arguments (type_argument (identifier A)) , (type_argument (identifier B))) >))) ( (argument_list (literal 7)) ))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (invocation_expression (primary_expression (base_access base . (identifier G) (type_argument_list < (type_arguments (type_argument (identifier A)) , (type_argument (identifier B))) >))) ( (argument_list (literal 7)) ))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (argument (relational_expression (relational_expression (identifier G)) < (shift_expression (identifier A)))) , (argument (relational_expression (relational_expression (identifier B)) > (shift_expression (literal 7))))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (argument (relational_expression (relational_expression (base_access base . (identifier G))) < (shift_expression (identifier A)))) , (argument (relational_expression (relational_expression (identifier B)) > (shift_expression (literal 7))))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (argument (relational_expression (relational_expression (identifier G)) < (shift_expression (identifier A)))) , (argument (shift_expression (shift_expression (identifier B)) (right_shift > >) (additive_expression (literal 7))))) ))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier x)) (assignment_operator =) (expression (relational_expression (relational_expression (relational_expression (identifier F)) < (shift_expression (identifier A))) > (shift_expression (unary_expression + (unary_expression (identifier y)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier x)) (assignment_operator =) (expression (relational_expression (relational_expression (identifier y)) is (pattern (conditional_and_expression (conditional_and_expression (simple_name (identifier C) (type_argument_list < (type_arguments (identifier T)) >))) && (inclusive_or_expression (identifier z)))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (tuple_expression ( (tuple_element (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (tuple_element (identifier C)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (tuple_expression ( (tuple_element (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (tuple_element (relational_expression (relational_expression (identifier C)) > (shift_expression (identifier D)))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) (identifier D))) , (tuple_element (identifier E)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (argument (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (argument (relational_expression (relational_expression (identifier C)) > (shift_expression (identifier D)))) , (argument (identifier E))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) (identifier D))))) , (argument (identifier E))) )))))) ;)) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier e)) is (pattern (declaration_pattern (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >))) (simple_designation (identifier C)))))) ) (embedded_statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier W)) ( (argument_list (identifier C)) ))) ;)))) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier e)) is (pattern (simple_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >))))) ) (embedded_statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier W)) ( (argument_list (identifier C)) ))) ;)))) (statement (switch_statement switch ( (expression (identifier x)) ) (switch_block { (switch_section (switch_label case (pattern (declaration_pattern (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >))) (simple_designation (identifier C)))) :) (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier z) = (expression (identifier C))))) ;)) (statement (break_statement break ;)))) })))) })))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.svg new file mode 100644 index 000000000..ffd2e6840 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.svg @@ -0,0 +1,2740 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +conditional_and_expression + + + +; + + + +relational_expression + + + +statement + + + +statement + + + +< + + + +implicitly_typed_local_variable_declarator + + + +v + + + +statement + + + +) + + + +identifier + + + +identifier + + + +argument_list + + + +G + + + +shift_expression + + + +identifier + + + +shift_expression + + + +identifier + + + +statement + + + +> + + + +literal + + + +identifier + + + +expression + + + +implicitly_typed_local_variable_declarator + + + +) + + + +method_declaration + + + +B + + + +identifier + + + +implicitly_typed_local_variable_declaration + + + +} + + + +invocation_expression + + + +identifier + + + +relational_expression + + + +compilation_unit + + + +identifier + + + +> + + + +( + + + +namespace_or_type_name + + + +relational_expression + + + +local_variable_declaration + + + +M + + + +( + + + +z + + + +x + + + +statement + + + +( + + + +identifier + + + +argument + + + +primary_expression + + + +, + + + +shift_expression + + + +type_arguments + + + +( + + + +local_variable_declaration + + + +identifier + + + +relational_expression + + + +G + + + +statement_expression + + + +identifier + + + += + + + +expression_statement + + + +tuple_expression + + + +< + + + +{ + + + +primary_expression + + + +B + + + +type_argument + + + +implicitly_typed_local_variable_declaration + + + +B + + + +E + + + +base + + + +A + + + +identifier + + + +x + + + +relational_expression + + + +F + + + +relational_expression + + + +G + + + +> + + + +; + + + +is + + + +7 + + + +, + + + +identifier + + + +( + + + +declaration_pattern + + + +namespace_or_type_name + + + +identifier + + + +( + + + +( + + + +, + + + +> + + + +expression + + + +simple_designation + + + +; + + + +G + + + +identifier + + + +simple_name + + + +; + + + +> + + + +} + + + +unary_expression + + + +statement + + + +relational_expression + + + +( + + + +class_body + + + +A + + + +x + + + +declaration_statement + + + +unary_expression + + + +C + + + +identifier + + + +embedded_statement + + + +if + + + +7 + + + +identifier + + + +F + + + +class + + + +) + + + +expression + + + +relational_expression + + + +literal + + + +statement + + + +invocation_expression + + + +( + + + +embedded_statement + + + +C + + + +argument + + + +relational_expression + + + +; + + + +C + + + +7 + + + +type_arguments + + + +statement_list + + + +relational_expression + + + +A + + + +literal + + + +implicitly_typed_local_variable_declaration + + + +identifier + + + +identifier + + + +identifier + + + +identifier + + + +method_header + + + +base_access + + + +A + + + +switch + + + +shift_expression + + + +switch_statement + + + +expression + + + +type_argument_list + + + +> + + + +switch_label + + + +identifier + + + +tuple_element + + + +relational_expression + + + +expression_statement + + + +simple_designation + + + +M + + + +< + + + +base_access + + + +statement + + + +expression + + + +tuple_element + + + +expression + + + +identifier + + + +< + + + +declaration_statement + + + +type_argument + + + +statement_expression + + + +local_variable_declaration + + + +A + + + +tuple_element + + + +var + + + +statement + + + +( + + + +invocation_expression + + + +identifier + + + +identifier + + + +C + + + +&& + + + +) + + + +identifier + + + +( + + + +shift_expression + + + +A + + + +argument + + + +identifier + + + +argument + + + +primary_expression + + + +relational_expression + + + +pattern + + + +identifier + + + +y + + + +return_type + + + +) + + + +var + + + +tuple_element + + + +7 + + + +identifier + + + +expression_statement + + + +statement + + + +identifier + + + +G + + + +shift_expression + + + +literal + + + +tuple_expression + + + +identifier + + + +< + + + +< + + + +declaration_expression + + + +type_arguments + + + +declaration_statement + + + +argument_list + + + +type_argument_list + + + +statement_list + + + +statement + + + +relational_expression + + + +expression_statement + + + +, + + + +local_variable_declaration + + + +var + + + +base + + + +declaration_statement + + + +type_argument_list + + + +identifier + + + +identifier + + + +D + + + +< + + + +implicitly_typed_local_variable_declarator + + + +C + + + +type + + + +identifier + + + +B + + + +local_variable_type + + + +simple_name + + + +( + + + +F + + + +invocation_expression + + + +primary_expression + + + +declaration_pattern + + + +, + + + +C + + + +argument + + + +identifier + + + +A + + + +assignment_operator + + + +D + + + +( + + + +y + + + +E + + + +identifier + + + +argument_list + + + +type_argument_list + + + +additive_expression + + + +relational_expression + + + +> + + + +identifier + + + +, + + + +statement + + + +namespace_or_type_name + + + +type_argument_list + + + +statement + + + +argument_list + + + +relational_expression + + + +, + + + +; + + + +; + + + +unary_expression + + + +argument_list + + + +declaration_statement + + + +F + + + +identifier + + + +member_name + + + +< + + + +type_argument_list + + + +identifier + + + +> + + + +identifier + + + +> + + + +relational_expression + + + +statement + + + +> + + + +invocation_expression + + + +argument_list + + + +A + + + +statement_expression + + + +E + + + +shift_expression + + + +B + + + +invocation_expression + + + +right_shift + + + +) + + + +TypeArgumentListChecks + + + +argument_list + + + += + + + +out + + + +A + + + +implicitly_typed_local_variable_declaration + + + +v + + + +expression_statement + + + +identifier + + + +identifier + + + +relational_expression + + + +< + + + +argument + + + +identifier + + + +argument_list + + + +shift_expression + + + +B + + + +e + + + +identifier + + + +expression_statement + + + +argument + + + +if_statement + + + +assignment_operator + + + +> + + + +identifier + + + +A + + + +W + + + +z + + + +> + + + += + + + +identifier + + + +relational_expression + + + +shift_expression + + + +) + + + +argument_value + + + +type_arguments + + + +C + + + +is + + + +< + + + +. + + + +) + + + +local_variable_declaration + + + +< + + + +( + + + +identifier + + + +: + + + +primary_expression + + + +type_argument + + + +prog + + + +literal + + + +implicitly_typed_local_variable_declaration + + + +expression_statement + + + +statement + + + +C + + + +class_member_declaration + + + +type_argument + + + +) + + + +primary_expression + + + +) + + + += + + + +identifier + + + +expression_statement + + + +< + + + +declaration_statement + + + +relational_expression + + + +D + + + +; + + + +argument + + + +variable_reference + + + +F + + + +< + + + +statement_expression + + + +relational_expression + + + +} + + + +argument + + + +identifier + + + +declaration_expression + + + +; + + + +< + + + +relational_expression + + + +shift_expression + + + +, + + + +A + + + +relational_expression + + + +argument_list + + + +B + + + +C + + + +relational_expression + + + +identifier + + + +) + + + +identifier + + + +; + + + +, + + + +B + + + += + + + +identifier + + + +, + + + +identifier + + + +local_variable_type + + + +conditional_and_expression + + + +relational_expression + + + +if + + + +{ + + + +B + + + +invocation_expression + + + +shift_expression + + + +) + + + +; + + + +pattern + + + +identifier + + + +pattern + + + +statement_expression + + + +identifier + + + +identifier + + + +A + + + +identifier + + + +primary_expression + + + +F + + + +type_argument_list + + + +argument + + + +expression + + + +) + + + +class_declaration + + + +boolean_expression + + + +identifier + + + +invocation_expression + + + +shift_expression + + + +case + + + +relational_expression + + + +identifier + + + +( + + + +) + + + +type_argument_list + + + +shift_expression + + + +statement + + + +primary_expression + + + +type_argument + + + +> + + + +identifier + + + +identifier + + + +; + + + +identifier + + + +local_variable_declaration + + + +; + + + +type_argument + + + +identifier + + + +identifier + + + +relational_expression + + + ++ + + + +identifier + + + +inclusive_or_expression + + + +. + + + +tuple_element + + + +A + + + +identifier + + + +unary_expression + + + +B + + + +) + + + +relational_expression + + + +boolean_expression + + + +identifier + + + +statement_expression + + + +block + + + +identifier + + + +identifier + + + +v + + + +method_body + + + +B + + + +relational_expression + + + +type + + + +is + + + +, + + + +( + + + +argument + + + +implicitly_typed_local_variable_declarator + + + +( + + + +, + + + +< + + + +invocation_expression + + + +identifier + + + +{ + + + +namespace_or_type_name + + + +type_arguments + + + +var + + + +implicitly_typed_local_variable_declarator + + + +statement_expression + + + +type_argument + + + +argument_list + + + +implicitly_typed_local_variable_declaration + + + +v + + + +identifier + + + +; + + + +assignment + + + +statement_expression + + + +switch_block + + + +e + + + +primary_expression + + + +primary_expression + + + +> + + + +B + + + +statement_expression + + + +type_arguments + + + +tuple_expression + + + += + + + +implicitly_typed_local_variable_declarator + + + +switch_section + + + +method_modifiers + + + +invocation_expression + + + +var + + + +) + + + +identifier + + + +identifier + + + +type_arguments + + + +D + + + +identifier + + + +C + + + +W + + + +identifier + + + +break + + + +relational_expression + + + +pattern + + + +statement + + + +argument_list + + + +if_statement + + + +A + + + +tuple_element + + + +expression + + + +7 + + + += + + + +primary_expression + + + +( + + + +expression_statement + + + +identifier + + + +T + + + +identifier + + + +simple_name + + + +shift_expression + + + +B + + + +, + + + +expression + + + +) + + + +TypeArgumentListChecks + + + +type_argument + + + +v + + + +> + + + +void + + + +; + + + += + + + +type_arguments + + + +) + + + +assignment + + + +; + + + +invocation_expression + + + +C + + + +break_statement + + + +var + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/sample.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/sample.cs new file mode 100644 index 000000000..f4c429628 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/sample.cs @@ -0,0 +1,45 @@ +class TypeArgumentListChecks +{ + void TypeArgumentListChecks() + { + F(G(7)); // a call to F with one argument, which is a call to a generic + // method G with two type arguments and one regular argument + F(base.G(7)); // ditto + + F(G7); // a call to F with two arguments + F(base.G7); // ditto + F(G>7); // ditto + + x = F + y; // a less-than operator, greater-than operator and unary-plus + // operator, as if the statement had been written: + // x = (F < A) > (+y) + + x = y is C && z; // a namespace_or_type_name with a type_argument_list + + var v = (A < B, C); + + var v = (A < B, C > D); // a tuple with two elements, each a comparison. + + var v = (A D, E); // tuple with two elements, the first of which is + // a declaration expression. + + var v = M(A < B, C > D, E); // call with three arguments. + + var v = M(out A D, E); // call with two arguments, the first of which is + // an out declaration. + + if (e is A C) // a declaration pattern. + W(C); + + if (e is A) // a type + W(C); + + switch (x) + { + case A C: // a declaration pattern. + var z = C; + break; + } + + } +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/ReadMe.md b/tools/GrammarTesting/Tests/ReadMe.md index 099e0386e..0bbd2dbfb 100644 --- a/tools/GrammarTesting/Tests/ReadMe.md +++ b/tools/GrammarTesting/Tests/ReadMe.md @@ -7,4 +7,3 @@ environment variable `BG_LIB_TESTS` (currently `Environment/Tests`). If `Grammar` is missing here look in the environment, ditto for `Parsing` but that is less likely not to be here. - From 22a577546ca40ee498be8c1a020061b5e92b333e Mon Sep 17 00:00:00 2001 From: Nigel-Ecma <6654683+Nigel-Ecma@users.noreply.github.com> Date: Tue, 11 Mar 2025 04:04:22 +1300 Subject: [PATCH 226/259] [BG 2.3.0] (#1284) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit • Handle `is` properly for v8, will change in v9 and hopefully not require fixup • Add support for disambiguation of type_argument_list with a query_expression • Add (nonsensical) sample to test the above Co-authored-by: Nigel-Ecma --- .../dependencies/GrammarTestingEnv.tgz | Bin 52278 -> 52952 bytes ...OneNoPreprocessor-v6-part.gruntree.red.txt | 2 +- ...llInOneNoPreprocessor-v6-part.tree.red.txt | 2 +- .../AllInOneNoPreprocessor-v6-part.tree.svg | 10936 ++++++++-------- .../v8/TAL Query expressions/ReadMe.md | 14 + .../Reference/sample.gruntree.red.txt | 705 + .../Reference/sample.stderr.txt | 0 .../Reference/sample.tokens.txt | 135 + .../Reference/sample.tree.red.txt | 1 + .../Reference/sample.tree.svg | 1625 +++ .../TAL Query expressions/_Sample_Options.txt | 1 + .../v8/TAL Query expressions/sample.cs | 37 + .../Samples/v8/Type argument list/ReadMe.md | 2 + .../Reference/sample.gruntree.red.txt | 324 +- .../Reference/sample.tokens.txt | 463 +- .../Reference/sample.tree.red.txt | 2 +- .../Reference/sample.tree.svg | 4476 ++++--- .../Samples/v8/Type argument list/sample.cs | 28 +- 18 files changed, 11111 insertions(+), 7642 deletions(-) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/ReadMe.md create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.gruntree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.stderr.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.svg create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/_Sample_Options.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/sample.cs diff --git a/.github/workflows/dependencies/GrammarTestingEnv.tgz b/.github/workflows/dependencies/GrammarTestingEnv.tgz index 1a85b595204d3f7d83840478413e4b513dc52e60..135b35a7db210217a743af40105c09f713b27d88 100644 GIT binary patch literal 52952 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.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 dI>F}mKeBcO%D8xq)I7X#jP3V#Ify-9gp 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 diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt index 29ccb5525..7df8f3733 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -1225,7 +1225,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ is ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt index d5aff6b81..bc148014d 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier A)) . (identifier B))) ;)) (namespace_member_declaration (interface_declaration interface (identifier CoContra) (variant_type_parameter_list < (variant_type_parameters (variant_type_parameters (variance_annotation out) (type_parameter (identifier T))) , (variance_annotation in) (type_parameter (identifier K))) >) (interface_body { }))) (namespace_member_declaration (delegate_declaration delegate (return_type void) (delegate_header (identifier CoContra2) (variant_type_parameter_list < (variant_type_parameters (variant_type_parameters (attributes (attribute_section [ (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Obsolete))) (attribute_arguments ( )))) ])) (variance_annotation out) (type_parameter (identifier T))) , (variance_annotation in) (type_parameter (identifier K))) >) ( ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint struct))) ;))) (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier DllImport)) (attribute_arguments ( (positional_argument_list (literal "kernel32")) , (named_argument_list (named_argument (identifier SetLastError) = (attribute_argument_expression (boolean_literal true)))) )))) ])) (method_modifiers (method_modifier (ref_method_modifier static)) (method_modifier (ref_method_modifier extern))) (return_type (simple_type bool)) (method_header (member_name (identifier CreateDirectory)) ( (parameter_list (fixed_parameters (fixed_parameter (type (class_type string)) (identifier name)) , (fixed_parameter (type (identifier SecurityAttribute)) (identifier sa)))) )) (method_body ;))) (class_member_declaration (constant_declaration (constant_modifier private) const (type (integral_type int)) (constant_declarators (constant_declarator (identifier (contextual_keyword global)) = (constant_expression (additive_expression (additive_expression (member_access (predefined_type int) . (identifier MinValue))) - (multiplicative_expression (literal 1)))))) ;)) (class_member_declaration (static_constructor_declaration (static_constructor_modifiers static) (identifier A) ( ) (static_constructor_body (block { })))) (class_member_declaration (constructor_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (labeled_statement (identifier L) : (statement (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (sizeof_expression sizeof ( (unmanaged_type (integral_type int)) ))))))) ;)) (statement (expression_statement (statement_expression (pre_increment_expression ++ (unary_expression (identifier i)))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s1) = (expression (interpolated_regular_string_expression 〔$"〕 〔x 〕 { (regular_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s2) = (expression (interpolated_verbatim_string_expression 〔$@"〕 〔x 〕 { (verbatim_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;))) })))) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Console)) . (identifier WriteLine))) ( (argument_list (member_access (primary_expression (member_access (primary_expression (identifier export)) . (identifier iefSupplied))) . (identifier command))) ))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local) = (constant_expression (member_access (predefined_type int) . (identifier MaxValue)))))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_reference_type (non_nullable_reference_type (identifier Guid)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local0) = (constant_expression (object_creation_expression new (type (identifier Guid)) ( (argument_list (invocation_expression (primary_expression (member_access (primary_expression (identifier r)) . (identifier ToString))) ( ))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier привет) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier мир) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword var)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier local3) = (local_variable_initializer (literal 0))) , (explicitly_typed_local_variable_declarator (identifier local4) = (local_variable_initializer (literal 1)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier local3)) (assignment_operator =) (expression (assignment (unary_expression (identifier local4)) (assignment_operator =) (expression (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local5) = (expression (null_coalescing_expression (conditional_or_expression (relational_expression (relational_expression (null_literal null)) as (type (identifier Action)))) ?? (null_coalescing_expression (null_literal null))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local6) = (expression (relational_expression (relational_expression (identifier local5)) is (pattern (identifier Action))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier u) = (expression (literal 1u))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier U) = (expression (literal 1U))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier hex) = (local_variable_initializer (literal 0xBADC0DE))) , (explicitly_typed_local_variable_declarator (identifier Hex) = (local_variable_initializer (literal 0XDEADBEEF))) , (explicitly_typed_local_variable_declarator (identifier l) = (local_variable_initializer (unary_expression - (unary_expression (literal 1L))))) , (explicitly_typed_local_variable_declarator (identifier L) = (local_variable_initializer (literal 1L))) , (explicitly_typed_local_variable_declarator (identifier l2) = (local_variable_initializer (literal 2l)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier ul) = (local_variable_initializer (literal 1ul))) , (explicitly_typed_local_variable_declarator (identifier Ul) = (local_variable_initializer (literal 1Ul))) , (explicitly_typed_local_variable_declarator (identifier uL) = (local_variable_initializer (literal 1uL))) , (explicitly_typed_local_variable_declarator (identifier UL) = (local_variable_initializer (literal 1UL))) , (explicitly_typed_local_variable_declarator (identifier lu) = (local_variable_initializer (literal 1lu))) , (explicitly_typed_local_variable_declarator (identifier Lu) = (local_variable_initializer (literal 1Lu))) , (explicitly_typed_local_variable_declarator (identifier lU) = (local_variable_initializer (literal 1lU))) , (explicitly_typed_local_variable_declarator (identifier LU) = (local_variable_initializer (literal 1LU)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt32Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 2147483648)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt64Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 9223372036854775808L)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (simple_type bool)) (explicitly_typed_local_variable_declarators (identifier @bool)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type byte)) (explicitly_typed_local_variable_declarators (identifier @byte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type char)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @char) = (local_variable_initializer (literal 'c'))) , (explicitly_typed_local_variable_declarator (identifier \u0066) = (local_variable_initializer (literal '\u0066'))) , (explicitly_typed_local_variable_declarator (identifier hexchar) = (local_variable_initializer (literal '\x0130'))) , (explicitly_typed_local_variable_declarator (identifier hexchar2) = (local_variable_initializer (cast_expression ( (type (integral_type char)) ) (unary_expression (literal 0xBAD)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier \U00000065) = (local_variable_initializer (literal "\U00000065")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (numeric_type decimal)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @decimal) = (local_variable_initializer (literal 1.44M)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @decimal)) (assignment_operator =) (expression (literal 1.2m)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (identifier @dynamic)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type double)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @double) = (local_variable_initializer (member_access (primary_expression (identifier M)) . (identifier PI))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1d)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1D)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (unary_expression - (unary_expression (literal 1.2e3)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type float)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @float) = (local_variable_initializer (literal 1.2f)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @float)) (assignment_operator =) (expression (literal 1.44F)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @int) = (local_variable_initializer (null_coalescing_expression (conditional_or_expression (identifier local)) ?? (null_coalescing_expression (unary_expression - (unary_expression (literal 1)))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (identifier @long)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type object)) (explicitly_typed_local_variable_declarators (identifier @object)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type sbyte)) (explicitly_typed_local_variable_declarators (identifier @sbyte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type short)) (explicitly_typed_local_variable_declarators (identifier @short)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @string) = (local_variable_initializer (literal @"""/*")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type uint)) (explicitly_typed_local_variable_declarators (identifier @uint)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (identifier @ulong)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ushort)) (explicitly_typed_local_variable_declarators (identifier @ushort)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (local_variable_initializer (identifier local5)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword add)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword alias)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier arglist) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword ascending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword async)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword await)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword by)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword descending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword equals)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword from)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword get)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword group)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword into)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword join)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword let)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword nameof)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword on)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword orderby)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword partial)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword remove)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword select)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword set)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword var)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword when)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword where)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword yield)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier __) = (expression (literal 0))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (contextual_keyword where)) (assignment_operator =) (expression (assignment (unary_expression (contextual_keyword yield)) (assignment_operator =) (expression (literal 0)))))) ;))) })))) }))) })))) +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier A)) . (identifier B))) ;)) (namespace_member_declaration (interface_declaration interface (identifier CoContra) (variant_type_parameter_list < (variant_type_parameters (variant_type_parameters (variance_annotation out) (type_parameter (identifier T))) , (variance_annotation in) (type_parameter (identifier K))) >) (interface_body { }))) (namespace_member_declaration (delegate_declaration delegate (return_type void) (delegate_header (identifier CoContra2) (variant_type_parameter_list < (variant_type_parameters (variant_type_parameters (attributes (attribute_section [ (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Obsolete))) (attribute_arguments ( )))) ])) (variance_annotation out) (type_parameter (identifier T))) , (variance_annotation in) (type_parameter (identifier K))) >) ( ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint struct))) ;))) (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier DllImport)) (attribute_arguments ( (positional_argument_list (literal "kernel32")) , (named_argument_list (named_argument (identifier SetLastError) = (attribute_argument_expression (boolean_literal true)))) )))) ])) (method_modifiers (method_modifier (ref_method_modifier static)) (method_modifier (ref_method_modifier extern))) (return_type (simple_type bool)) (method_header (member_name (identifier CreateDirectory)) ( (parameter_list (fixed_parameters (fixed_parameter (type (class_type string)) (identifier name)) , (fixed_parameter (type (identifier SecurityAttribute)) (identifier sa)))) )) (method_body ;))) (class_member_declaration (constant_declaration (constant_modifier private) const (type (integral_type int)) (constant_declarators (constant_declarator (identifier (contextual_keyword global)) = (constant_expression (additive_expression (additive_expression (member_access (predefined_type int) . (identifier MinValue))) - (multiplicative_expression (literal 1)))))) ;)) (class_member_declaration (static_constructor_declaration (static_constructor_modifiers static) (identifier A) ( ) (static_constructor_body (block { })))) (class_member_declaration (constructor_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (labeled_statement (identifier L) : (statement (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (sizeof_expression sizeof ( (unmanaged_type (integral_type int)) ))))))) ;)) (statement (expression_statement (statement_expression (pre_increment_expression ++ (unary_expression (identifier i)))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s1) = (expression (interpolated_regular_string_expression 〔$"〕 〔x 〕 { (regular_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s2) = (expression (interpolated_verbatim_string_expression 〔$@"〕 〔x 〕 { (verbatim_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;))) })))) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Console)) . (identifier WriteLine))) ( (argument_list (member_access (primary_expression (member_access (primary_expression (identifier export)) . (identifier iefSupplied))) . (identifier command))) ))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local) = (constant_expression (member_access (predefined_type int) . (identifier MaxValue)))))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_reference_type (non_nullable_reference_type (identifier Guid)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local0) = (constant_expression (object_creation_expression new (type (identifier Guid)) ( (argument_list (invocation_expression (primary_expression (member_access (primary_expression (identifier r)) . (identifier ToString))) ( ))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier привет) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier мир) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword var)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier local3) = (local_variable_initializer (literal 0))) , (explicitly_typed_local_variable_declarator (identifier local4) = (local_variable_initializer (literal 1)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier local3)) (assignment_operator =) (expression (assignment (unary_expression (identifier local4)) (assignment_operator =) (expression (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local5) = (expression (null_coalescing_expression (conditional_or_expression (relational_expression (relational_expression (null_literal null)) as (type (identifier Action)))) ?? (null_coalescing_expression (null_literal null))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local6) = (expression (relational_expression (relational_expression (identifier local5)) is (type (identifier Action))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier u) = (expression (literal 1u))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier U) = (expression (literal 1U))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier hex) = (local_variable_initializer (literal 0xBADC0DE))) , (explicitly_typed_local_variable_declarator (identifier Hex) = (local_variable_initializer (literal 0XDEADBEEF))) , (explicitly_typed_local_variable_declarator (identifier l) = (local_variable_initializer (unary_expression - (unary_expression (literal 1L))))) , (explicitly_typed_local_variable_declarator (identifier L) = (local_variable_initializer (literal 1L))) , (explicitly_typed_local_variable_declarator (identifier l2) = (local_variable_initializer (literal 2l)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier ul) = (local_variable_initializer (literal 1ul))) , (explicitly_typed_local_variable_declarator (identifier Ul) = (local_variable_initializer (literal 1Ul))) , (explicitly_typed_local_variable_declarator (identifier uL) = (local_variable_initializer (literal 1uL))) , (explicitly_typed_local_variable_declarator (identifier UL) = (local_variable_initializer (literal 1UL))) , (explicitly_typed_local_variable_declarator (identifier lu) = (local_variable_initializer (literal 1lu))) , (explicitly_typed_local_variable_declarator (identifier Lu) = (local_variable_initializer (literal 1Lu))) , (explicitly_typed_local_variable_declarator (identifier lU) = (local_variable_initializer (literal 1lU))) , (explicitly_typed_local_variable_declarator (identifier LU) = (local_variable_initializer (literal 1LU)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt32Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 2147483648)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt64Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 9223372036854775808L)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (simple_type bool)) (explicitly_typed_local_variable_declarators (identifier @bool)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type byte)) (explicitly_typed_local_variable_declarators (identifier @byte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type char)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @char) = (local_variable_initializer (literal 'c'))) , (explicitly_typed_local_variable_declarator (identifier \u0066) = (local_variable_initializer (literal '\u0066'))) , (explicitly_typed_local_variable_declarator (identifier hexchar) = (local_variable_initializer (literal '\x0130'))) , (explicitly_typed_local_variable_declarator (identifier hexchar2) = (local_variable_initializer (cast_expression ( (type (integral_type char)) ) (unary_expression (literal 0xBAD)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier \U00000065) = (local_variable_initializer (literal "\U00000065")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (numeric_type decimal)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @decimal) = (local_variable_initializer (literal 1.44M)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @decimal)) (assignment_operator =) (expression (literal 1.2m)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (identifier @dynamic)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type double)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @double) = (local_variable_initializer (member_access (primary_expression (identifier M)) . (identifier PI))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1d)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1D)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (unary_expression - (unary_expression (literal 1.2e3)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type float)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @float) = (local_variable_initializer (literal 1.2f)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @float)) (assignment_operator =) (expression (literal 1.44F)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @int) = (local_variable_initializer (null_coalescing_expression (conditional_or_expression (identifier local)) ?? (null_coalescing_expression (unary_expression - (unary_expression (literal 1)))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (identifier @long)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type object)) (explicitly_typed_local_variable_declarators (identifier @object)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type sbyte)) (explicitly_typed_local_variable_declarators (identifier @sbyte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type short)) (explicitly_typed_local_variable_declarators (identifier @short)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @string) = (local_variable_initializer (literal @"""/*")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type uint)) (explicitly_typed_local_variable_declarators (identifier @uint)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (identifier @ulong)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ushort)) (explicitly_typed_local_variable_declarators (identifier @ushort)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (local_variable_initializer (identifier local5)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword add)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword alias)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier arglist) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword ascending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword async)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword await)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword by)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword descending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword equals)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword from)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword get)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword group)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword into)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword join)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword let)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword nameof)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword on)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword orderby)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword partial)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword remove)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword select)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword set)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword var)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword when)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword where)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword yield)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier __) = (expression (literal 0))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (contextual_keyword where)) (assignment_operator =) (expression (assignment (unary_expression (contextual_keyword yield)) (assignment_operator =) (expression (literal 0)))))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.svg index c74b294cd..cd5598e55 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -1,12 +1,12 @@ - - - - + + + + - - - + + + @@ -18,7 +18,7 @@ - + @@ -42,7 +42,7 @@ - + @@ -95,18 +95,18 @@ - - - + + + - + - - - + + + - + @@ -116,9 +116,9 @@ - - - + + + @@ -177,7 +177,7 @@ - + @@ -205,7 +205,7 @@ - + @@ -217,9 +217,9 @@ - - - + + + @@ -231,9 +231,9 @@ - + - + @@ -265,11 +265,11 @@ - - - - - + + + + + @@ -367,7 +367,7 @@ - + @@ -395,7 +395,7 @@ - + @@ -419,7 +419,7 @@ - + @@ -456,7 +456,7 @@ - + @@ -469,7 +469,7 @@ - + @@ -482,7 +482,7 @@ - + @@ -506,7 +506,7 @@ - + @@ -526,7 +526,7 @@ - + @@ -551,7075 +551,7075 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -identifier - - - -; - - - -identifier - - - -= - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + declaration_statement - - -nullable_value_type + + +statement - - -delegate + + +explicitly_typed_local_variable_declarator - - + + statement - - -= + + +SecurityAttribute - - -identifier + + +local_variable_initializer - - -explicitly_typed_local_variable_declaration + + +variant_type_parameters - - -( + + +let - - + + identifier - - -explicitly_typed_local_variable_declaration + + +1uL - - -statement + + +declaration_statement - - -local_variable_declaration + + +statement - - + + literal - - -explicitly_typed_local_variable_declarators + + +contextual_keyword - - -descending + + +statement - - -; + + +T - - + + +@ulong + + + implicitly_typed_local_variable_declarator - - -attribute_name + + +constant_expression - - -@double + + +literal - - -explicitly_typed_local_variable_declarator + + +1ul - - + + +1.44M + + + +local4 + + + +statement + + + contextual_keyword + + +type + + + +var + + + +; + + + +unary_expression + + + +0 + fixed_parameters - - -local_variable_initializer - - - -; + + +literal - - -method_modifier + + +'c' - - -: + + +1lu - - -explicitly_typed_local_variable_declaration + + +unary_expression - - -integral_type + + +string - - -declaration_statement + + +implicitly_typed_local_variable_declaration - - -explicitly_typed_local_variable_declarator + + +implicitly_typed_local_variable_declaration - - -〔$@"〕 + + +attributes - - + + ; - - -from + + +identifier - - -( + + +interpolation_minimum_width - - -attribute_argument_expression + + +{ - - -= + + +simple_type - - -type + + +explicitly_typed_local_variable_declaration - - -implicitly_typed_local_variable_declaration + + +labeled_statement - - -explicitly_typed_local_variable_declarator + + += - - -UL + + +statement + + + +expression_statement + + + +contextual_keyword - - + + = - - -await + + +implicitly_typed_local_variable_declaration - - -literal + + +declaration_statement - - + + +explicitly_typed_local_variable_declarators + + + literal - - -declaration_statement + + +delegate - - -statement + + +argument_list - - -identifier + + +@string - - -var + + +implicitly_typed_local_variable_declaration - - -; + + +primary_expression - - -private + + +"\U00000065" - - -class_member_declaration + + +interface_type - - -contextual_keyword + + +member_access - - -; + + +@object - - -statement + + +unary_expression - - + + local_variable_declaration - - -attribute_list + + +literal - - -@long + + +implicitly_typed_local_variable_declaration - - + + +( + + + statement_expression - - -i + + +variant_type_parameters - - -local_variable_initializer + + +@decimal - - -expression + + +implicitly_typed_local_variable_declarator - - -member_access + + +identifier - - -literal + + +identifier - - -expression + + +explicitly_typed_local_variable_declarator - - -var + + +( - - -null_coalescing_expression + + +expression - - + + +type + + + identifier - - -declaration_statement + + +; - - -0 + + += - - + + statement - - -literal - - - + + implicitly_typed_local_variable_declarator - - -var + + +namespace_name - - -implicitly_typed_local_variable_declarator + + +identifier - - -MinValue + + +int - - -implicitly_typed_local_variable_declarator - - - -literal + + +var - - -statement + + +Guid - - -variant_type_parameters + + +local3 - - -contextual_keyword + + +identifier - - -: + + +implicitly_typed_local_variable_declaration - - -declaration_statement + + +statement - - + + statement - - -identifier + + +variant_type_parameter_list - - -identifier + + +; - - -implicitly_typed_local_variable_declarator + + +0 - - -explicitly_typed_local_variable_declaration + + += - - -local_variable_declaration + + +] - - -member_access + + +explicitly_typed_local_variable_declaration - - -type + + +; - - -byte + + +) - - -= + + +; - - + + identifier - - -declaration_statement - - - -T - - - -select - - - -local_variable_declaration + + +explicitly_typed_local_variable_declaration - - -implicitly_typed_local_variable_declarator + + +explicitly_typed_local_variable_declarator - - -, + + +explicitly_typed_local_variable_declaration - - -declaration_statement + + +integral_type - - -identifier + + +into - - -: + + +var - - -assignment + + +expression - - -- + + +declaration_statement - - -group + + +predefined_type - - -var + + +, - - -Hex + + +explicitly_typed_local_variable_declarator - - -statement + + +implicitly_typed_local_variable_declaration - - -command + + +literal - - -identifier + + +type - - -on + + +declaration_statement - - -implicitly_typed_local_variable_declarator + + +contextual_keyword - - -statement_list + + +: - - -literal + + +declaration_statement - - -local_constant_declaration + + +i - - -set + + +unary_expression - - -return_type + + +K . - - -expression_statement + + +identifier - - -A + + += - - -; + + +local_constant_declaration - - -primary_constraint + + +contextual_keyword - - -attribute_arguments + + +System - - -relational_expression + + +1.2f - - -, + + +local_variable_declaration - - -= + + +var - - -, + + +l - - + + identifier - - + + declaration_statement - - -statement + + +implicitly_typed_local_variable_declaration - - -statement + + +sizeof_expression - - -local_variable_declaration + + +explicitly_typed_local_variable_declarator + + + +short - - + + implicitly_typed_local_variable_declarator - - -interface + + +identifier - - -assignment_operator + + +declaration_statement - - + + statement - - -partial - - - -method_header + + += - - -true + + +where - - -K + + +contextual_keyword - - -literal + + +identifier - - -explicitly_typed_local_variable_declaration + + +equals - - -? + + +identifier - - -boolean_literal + + +implicitly_typed_local_variable_declaration - - -1L + + +contextual_keyword - - -attribute_section + + +0 - - -, + + +orderby - - -literal + + +expression_statement - - -〔"〕 + + +invocation_expression - - -; + + +implicitly_typed_local_variable_declarator - - -local_variable_declaration + + +statement - - + + out - - -, + + +l2 - - -arglist + + +identifier - - -'\x0130' + + +unsafe_modifier - - -declaration_statement + + +statement - - -using + + +) - - -local_variable_initializer + + +explicitly_typed_local_variable_declarators - - -var + + +0 - - -unary_expression + + +expression - - -unary_expression + + +attribute_arguments - - -- + + +integral_type - - -int + + +hexchar2 - - -int + + +literal - - -= + + +'\x0130' - - -implicitly_typed_local_variable_declarator + + +ulong - - -= + + +explicitly_typed_local_variable_declarator - - -literal + + +statement - - -contextual_keyword + + +declaration_statement - - -0 + + +statement - - -] + + += - - -; + + +T - - -implicitly_typed_local_variable_declarator + + +expression - - -implicitly_typed_local_variable_declarator + + +; - - + + var - - + + +integral_type + + + +: + + + contextual_keyword - - -identifier + + +assignment_operator + + + +contextual_keyword + + + +declaration_statement - - + + var - - -local_variable_declaration + + +base - - -explicitly_typed_local_variable_declarator + + +, - - -C + + +fixed_parameter - - -integral_type + + +; - - + + +var + + + ; - - + + +member_access + + + +class_member_declaration + + + identifier - - -explicitly_typed_local_variable_declaration + + +local_variable_declaration + + + +; + + + +contextual_keyword + + + +namespace_declaration - - + + literal - - -local_constant_declaration + + +{ - - -- + + +yield - - -statement + + +1.2e3 - - + + 0 - - -declaration_statement + + +type_parameter - - -@double + + +namespace_or_type_name - - -yield + + +; - - -additive_expression + + +literal - - -primary_expression + + +type - - -constructor_declarator + + +identifier - - -; + + +class_member_declaration - - + + integral_type - - -; + + +statement_expression - - -contextual_keyword + + +literal - - -var + + +contextual_keyword - - -constant_declarators + + +++ - - -identifier + + +assignment - - -local_variable_initializer + + +0 - - -?? + + +contextual_keyword - - -dynamic + + +; - - -identifier + + +explicitly_typed_local_variable_declarators - - -local_variable_initializer + + +local5 - - -= + + +uL - - + + statement - - + + identifier - - -} - - - -DllImport + + +. - - -local_variable_declaration + + += - - -Guid + + +expression - - -statement + + +identifier - - -unsafe_modifier + + +identifier - - -literal + + +identifier - - -var + + +yield - - -implicitly_typed_local_variable_declarator + + +expression - - -; + + +parameter_list - - -unary_expression + + +0 - - -local_variable_declaration + + +implicitly_typed_local_variable_declaration - - -assignment_operator + + +by - - -1L + + +statement_expression - - -declaration_statement + + +local_variable_declaration - - -PI + + +member_access - - -var + + +@int - - -} + + +expression - - -explicitly_typed_local_variable_declaration + + += - - -integral_type - - - + + identifier - - -__ - - - -minInt32Value - - - + + literal - - -literal + + +static_constructor_declaration - - -int + + +T - - -implicitly_typed_local_variable_declarator + + +; - - -〔:d〕 + + +identifier - - -explicitly_typed_local_variable_declarator + + +method_header - - -implicitly_typed_local_variable_declaration + + +expression_statement - - -declaration_statement + + +statement - - -; + + +explicitly_typed_local_variable_declaration - - -1.44F + + +Action + + + +get - - + + = - - + + identifier - - -non_nullable_value_type - - - -} - - - -declaration_statement - - - -namespace_or_type_name - - - -; + + +implicitly_typed_local_variable_declarator - - -explicitly_typed_local_variable_declarator + + +@bool - - + + local_variable_declaration - - -0 - - - -, + + +- - - -assignment + + +statement - - -interface_type + + +constant_declarators - - -assignment + + +explicitly_typed_local_variable_declarator - - -( + + +var ) - - -using_namespace_directive + + +identifier - - -positional_argument_list + + +; - - -identifier + + +expression - - -literal + + +statement - - -void + + +implicitly_typed_local_variable_declaration - - -identifier + + +CoContra2 - - -local_variable_declaration + + +( - - -local_variable_declaration + + +as - - -variant_type_parameter_list + + +var - - -expression + + +type_parameter - - -class_modifier + + += - - -local_variable_declaration + + +implicitly_typed_local_variable_declaration - - -constant_expression + + +explicitly_typed_local_variable_declaration - - -pre_increment_expression + + +namespace_member_declaration - - + + +) + + + +struct + + + +statement + + + +class_type + + + = - - -declaration_statement + + +{ - - -1UL + + +floating_point_type - - -L + + +identifier - - -@int + + +literal - - -member_access + + +identifier - - + + ; - - -statement - - - -statement + + +literal - - + + explicitly_typed_local_variable_declarators - - -1Lu + + +type + + + +literal + + + +local_constant_declaration + + + +identifier - - + + implicitly_typed_local_variable_declaration - - -statement + + +literal + + + +type - - + + = - - -string + + +- - - -non_nullable_reference_type + + +integral_type - - + + local_variable_initializer - - -implicitly_typed_local_variable_declarator + + +expression - - -WriteLine + + +declaration_statement - - -local_variable_declaration + + +explicitly_typed_local_variable_declarators - - -attribute_list + + +integral_type - - -implicitly_typed_local_variable_declarator + + +9223372036854775808L - - -var + + +identifier local_variable_declaration - - -nameof + + +local_variable_declaration - - -0XDEADBEEF + + +identifier - - -= + + +. - - -declaration_statement + + +; - - -equals + + +; - - -CreateDirectory - - - -public - - - -short + + +member_access - - -parameter_list + + +\U00000065 - - -; + + +ascending - - + + ; - - -< + + +identifier - - -primary_expression + + +implicitly_typed_local_variable_declaration - - -identifier + + +declaration_statement - - -explicitly_typed_local_variable_declarator + + +local - - + + identifier - - -1ul + + +local_variable_initializer - - -var + + +block - - -ascending + + +literal - - -unary_expression + + +, - - -type + + +declaration_statement - - -attribute_section + + +partial - - -= + + +local_variable_initializer - - -declaration_statement + + +identifier - - -; + + +assignment - - -; + + +) - - -async + + +implicitly_typed_local_variable_declarator - - -add + + +; - - -literal + + +namespace - - -= + + +local_variable_declaration - - -variance_annotation + + +interpolation_minimum_width - - + + ; - - -expression_statement + + +assignment + + + +unary_expression - - + + = - - -int + + +: - - -) + + +statement - - -primary_expression + + +contextual_keyword - - -; + + +implicitly_typed_local_variable_declaration - - -literal + + += - - -1d + + +literal - - -= + + +. - - -contextual_keyword + + +local_variable_declaration - - + + = - - -statement + + +variance_annotation - - -@float + + +declaration_statement - - -expression + + +[ - - -unary_expression + + +< - - + + identifier - - -> - - - -statement - - - -type + + +boolean_literal - - -type + + +var - - + + identifier - - -= - - - -local_variable_initializer + + +null_literal - - -literal + + +null_coalescing_expression - - -= + + +int - - -unary_expression + + +local_variable_initializer - - -literal + + +contextual_keyword - - -local_variable_declaration + + +unmanaged_type - - + + local_variable_declaration - - -implicitly_typed_local_variable_declaration - - - -null + + +using_directive - - -statement + + +0 - - -statement_list + + +identifier - - -statement + + +literal - - -A + + +attributes - - + + local_variable_declaration - - -predefined_type + + +literal + + + +expression - - + + local_variable_initializer - - -namespace_or_type_name + + +extern - - -= + + +int - - -explicitly_typed_local_variable_declarators + + +type - - -identifier + + +- - - -1.2f + + +attributes - - -partial + + +1 - - -; + + +, - - -static + + +local_variable_declaration - - -var + + +Ul - - + + +statement + + + identifier - - -assignment + + +statement - - -: + + +explicitly_typed_local_variable_declarator - - + + +namespace_body + + + identifier - - -namespace_declaration + + += - - -namespace_or_type_name + + +implicitly_typed_local_variable_declarator - - -statement + + +member_access + + + +param + + + +expression - - + + explicitly_typed_local_variable_declarators - - + + +statement + + + +type_parameter_constraints_clause + + + ; - - + + +dynamic + + + identifier - - -expression + + +; + + + +method_declaration + + + +explicitly_typed_local_variable_declaration + + + +\u0066 - - + + +statement + + + explicitly_typed_local_variable_declarators - - -expression + + +attribute_list - - -, + + +local_variable_declaration - - -implicitly_typed_local_variable_declaration + + +literal - - -local_variable_initializer + + +primary_expression - - -, + + +〔$"〕 - - -A + + +implicitly_typed_local_variable_declarator - - + + implicitly_typed_local_variable_declarator - - -ul + + +expression - - -= + + +primary_expression - - -literal + + +statement - - -local_variable_declaration + + +constant_declarators - - -@ulong + + +delegate_header - - -= + + +{ - - -block + + +integral_type - - -explicitly_typed_local_variable_declarators + + +var - - -integral_type + + +declaration_statement - - -explicitly_typed_local_variable_declarators + + +CreateDirectory - - -integral_type + + +nullable_type_annotation - - -identifier + + +( - - -contextual_keyword + + +explicitly_typed_local_variable_declarators - - -implicitly_typed_local_variable_declaration + + +statement - - + + identifier - - -constant_declarator + + += - - -pattern + + +literal - - -'\u0066' + + +L - - -local3 + + +assignment - - + + +@uint + + + unary_expression - - -0 + + +where - - -implicitly_typed_local_variable_declarator + + +attribute_arguments - - -local_variable_declaration + + +; - - -dynamic + + +integral_type - - -local_variable_declaration + + +type - - -explicitly_typed_local_variable_declarators + + +explicitly_typed_local_variable_declaration - - -identifier + + +prog - - -explicitly_typed_local_variable_declarator + + += - - -variant_type_parameters + + +assignment - - -identifier + + +M - - -nullable_reference_type + + +type - - -identifier + + +> - - -unary_expression + + +non_nullable_reference_type - - -type + + +Guid - - + + identifier - - -= + + +member_name - - -numeric_type + + +1D - - -: + + +type - - -0 + + +assignment_operator - - -= + + +SetLastError + + + +identifier + + + +; - - + + explicitly_typed_local_variable_declarator - - + + +; + + + +integral_type + + + +assignment_operator + + + local_variable_declaration - - -identifier + + +expression - - -identifier + + +var + + + +0 - - + + declaration_statement - - -statement + + +return_type - - -declaration_statement + + +0 - - -local_variable_declaration + + +non_nullable_value_type - - + + literal - - -{ + + +var - - -} + + +, - - -foo + + +statement - - -identifier + + += - - -: + + +contextual_keyword - - -0 + + += - - -) + + +1Ul - - -expression + + +i - - + + declaration_statement - - -MaxValue + + +literal - - -\U00000065 + + +explicitly_typed_local_variable_declarator - - -class_type + + +constant_declarator - - + + ; - - -predefined_type + + +identifier - - + + identifier - - + + ; - - -implicitly_typed_local_variable_declarator + + +( - - -; + + +statement_list - - -= + + +1d - - -= + + +'\u0066' - - -0 + + +var - - -l + + +identifier - - -implicitly_typed_local_variable_declarator + + +; - - -unary_expression + + +; + + + +implicitly_typed_local_variable_declarator - - + + declaration_statement - - -statement + + +declaration_statement - - -, + + +local_variable_declaration - - -identifier + + +; - - -implicitly_typed_local_variable_declarator + + +local_variable_declaration - - -integral_type + + +literal - - + + expression - - -, - - - -?? - - - -declaration_statement - - - -explicitly_typed_local_variable_declaration + + +identifier - - -= + + +- - - -explicitly_typed_local_variable_declarators + + +primary_expression - - -alias + + +; - - -class_modifier + + +explicitly_typed_local_variable_declarator - - + + explicitly_typed_local_variable_declaration - - -[ - - - -0 + + +; - - -identifier + + +in - - + + declaration_statement - - -declaration_statement + + +1L - - -identifier + + +parameter_list - - -var + + +identifier - - -local_variable_declaration + + +long - - + + = - - -local_variable_declaration + + +unary_expression - - -contextual_keyword + + += - - -var + + +@double - - -statement_expression + + +, - - -1.2m + + +declaration_statement - - -] + + +declaration_statement - - -primary_expression + + +statement + + + +; - - + + declaration_statement - - -explicitly_typed_local_variable_declarator + + +local_variable_declaration - - -local_variable_initializer + + +local_variable_declaration - - -declaration_statement + + +Console - - -type + + +literal - - -1.2e3 + + +мир - - -identifier + + +private - - -= + + +type - - -explicitly_typed_local_variable_declarator + + +identifier - - -attributes + + +statement - - + + type - - -string + + +contextual_keyword - - -local_variable_declaration + + +cast_expression - - -string + + +contextual_keyword - - -expression + + +attribute_list - - -0 + + +1 - - + + expression - - -type + + +constant_expression - - -assignment + + +local5 - - -local_variable_initializer + + +class_modifier - - + + statement - - -literal + + +unary_expression - - -= + + +, - - -s2 + + +statement - - -explicitly_typed_local_variable_declarator + + +expression - - -global + + +Hex - - -constant_expression + + +var - - -invocation_expression + + +var - - -local_variable_declaration + + += - - -identifier + + +on - - -( + + +LU - - -= + + +identifier - - -local_variable_initializer - - - -ref_method_modifier - - - -return_type + + +expression - - + + identifier - - -literal + + +constructor_declarator - - -0 + + +expression - - -} + + +named_argument - - -A + + +declaration_statement - - -constructor_body + + +identifier - - -literal + + +local_variable_declaration - - -relational_expression + + +local_variable_declaration - - -literal + + +assignment_operator - - -identifier + + +command + + + +declaration_statement - - + + int - - -as + + +constant_declarator - - -assignment_operator + + +expression_statement - - -2 + + +literal - - -constant_declarator + + +nullable_type_annotation - - -Guid + + +null - - -simple_type + + +var - - -identifier + + +explicitly_typed_local_variable_declarator - - + + 0 - - + + declaration_statement - - -char - - - -sa - - - + + ; + + +statement + static - - -identifier - - - -identifier - - - -2 - - - -T - - - -= + + +literal - - -{ + + +attribute_argument_expression - - -T + + +name - - -= + + +explicitly_typed_local_variable_declarator - - -CoContra2 + + +identifier - - + + identifier - - -delegate_header + + +type - - -explicitly_typed_local_variable_declarator + + +literal - - -local_variable_initializer + + +type - - -explicitly_typed_local_variable_declarators + + +local_variable_declaration - - + + 0 - - -statement_expression - - - -identifier + + +declaration_statement - - -attributes + + +implicitly_typed_local_variable_declarator - - -argument_list + + +statement - - -unsafe + + +implicitly_typed_local_variable_declarator - - -local_variable_initializer + + +; - - -unary_expression + + +attribute_name - - -integral_type + + +local_variable_declaration - - -literal + + +local_variable_declaration - - -identifier + + +1u - - + + expression - - -. - - - -@string - - - -where + + += - - -implicitly_typed_local_variable_declarator + + += - - -method + + +( - - -identifier + + +statement - - -type + + += - - -null_coalescing_expression + + +implicitly_typed_local_variable_declarator - - -local + + +local_variable_declaration - - -explicitly_typed_local_variable_declarator + + +type - - + + = - - -statement - - - -static_constructor_body + + +declaration_statement - - -identifier + + +implicitly_typed_local_variable_declaration - - -{ + + +interface_type_list - - -= + + +local_variable_declaration - - -expression + + +local_variable_initializer - - -0 + + +contextual_keyword - - + + literal - - -declaration_statement + + +{ - - -expression + + +statement - - -verbatim_interpolation + + +assignment_operator - - -0 + + +declaration_statement - - -statement + + +B - - -attribute + + +declaration_statement - - + + ; - - -1 - - - -Lu - - - -explicitly_typed_local_variable_declarator - - - -; - - - -int - - - -declaration_statement - - - -; - - - + + local_variable_declaration - - -method_modifiers + + +identifier - - + + ( - - -0 - - - -declaration_statement + + +class_type - - -statement + + +var - - + + type - - -implicitly_typed_local_variable_declaration + + +} - - + + identifier - - -statement - - - -= - - - -, - - - -statement - - - -named_argument + + +join - - -constant_declarator + + +: - - -0 + + +implicitly_typed_local_variable_declaration - - -identifier + + +; - - -static_constructor_declaration + + +"kernel32" - - + + identifier - - -= - - - -; + + +declaration_statement - - -statement + + +const - - + + identifier - - -} - - - -{ + + +declaration_statement - - -compilation_unit + + +local - - -extern + + +literal - - -] + + +statement - - -〔x·〕 + + +( - - -object_creation_expression + + +local_variable_initializer - - -primary_expression + + +local_variable_declaration - - -static_constructor_modifiers + + +constant_declarators - - -( + + +2l - - -floating_point_type + + +identifier - - + + literal - - -declaration_statement + + +identifier - - -declaration_statement + + +) - - -explicitly_typed_local_variable_declaration + + += - - -double + + +identifier - - -statement + + +; - - + + implicitly_typed_local_variable_declaration - - -0 - - - -statement - - - -export + + +type - - -= + + +public - - -local_variable_initializer + + +literal - - -identifier + + +〔:d〕 - - -expression + + +contextual_keyword - - -- + + +explicitly_typed_local_variable_declarators - - -local_variable_declaration + + +literal - - -; + + +add - - + + statement - - -statement + + +{ - - -statement_expression + + +type_parameter - - -interface_declaration + + +identifier - - -) + + +predefined_type - - -labeled_statement + + +literal - - -constant_declarators + + +implicitly_typed_local_variable_declarator - - -implicitly_typed_local_variable_declaration + + +argument_list - - -local_variable_declaration + + +, - - -1lu + + +ul - - -1 + + +declaration_statement - - + + unary_expression - - -literal + + +statement - - -explicitly_typed_local_variable_declarator + + +0 - - -declaration_statement + + +, - - + + identifier - - -literal - - - -type_parameter_constraints - - - -My - - - -expression - - - -++ - - - -unary_expression - - - -local_variable_declaration - - - -literal + + +local identifier - - + + +true + + + explicitly_typed_local_variable_declarators - - -namespace_member_declaration + + +sbyte - - -orderby + + +compilation_unit - - + + identifier - - -const - - - -unary_expression - - - -contextual_keyword - - - -identifier + + +implicitly_typed_local_variable_declarator - - -} + + +variance_annotation - - -identifier + + +C - - -declaration_statement + + +local_variable_declaration - - -when + + += - - -declaration_statement + + +statement - - -explicitly_typed_local_variable_declarator + + +new - - -- + + +integral_type - - -identifier + + +statement - - -local + + +UL - - -interpolation_minimum_width + + +statement - - -r + + +literal - - -local_variable_declaration + + +assignment_operator - - -; + + +local_variable_initializer - - -( + + +identifier - - -hexchar + + +expression_statement - - -declaration_statement + + +unsafe - - -statement + + +attributes - - -explicitly_typed_local_variable_declarator + + +s1 - - -@char + + +unary_expression - - -declaration_statement + + +; - - -1lU + + +arglist - - -local_variable_declaration + + +method_modifier - - -implicitly_typed_local_variable_declarator + + +explicitly_typed_local_variable_declaration - - -int + + += - - -member_access + + +< - - -identifier + + +expression - - -implicitly_typed_local_variable_declarator + + +local_variable_declaration - - -0 + + +statement - - -identifier + + +literal - - -) + + +variant_type_parameters - - -U + + +declaration_statement - - -literal + + +identifier - - -contextual_keyword + + +assignment_operator - - -implicitly_typed_local_variable_declaration + + +0 - - -namespace_body + + +static_constructor_body - - -implicitly_typed_local_variable_declarator + + +; - - + + statement - - -. + + +local_variable_initializer - - -System + + +? - - -identifier + + +unary_expression - - -integral_type + + +interface_type - - -. + + +type - - -= + + +hex - - + + local_variable_declaration - - -integral_type + + +class_member_declaration - - -type_parameter_constraints_clause + + +expression - - -member_access + + +implicitly_typed_local_variable_declaration - - -argument_list + + +0 - - -remove + + +identifier - - -local6 + + +local_variable_initializer - - -; + + +identifier - - -0 + + +namespace_or_type_name - - -declaration_statement + + +) - - -local_variable_initializer + + +statement + + + +simple_type - - + + +attribute + + + identifier - - -primary_expression + + +expression - - -integral_type + + +dynamic - - -object + + +literal - - -declaration_statement + + +implicitly_typed_local_variable_declarator - - -null + + +@sbyte - - -Obsolete + + +expression - - -public + + +local0 - - -identifier + + +2147483648 - - -class_member_declaration + + +explicitly_typed_local_variable_declarators - - -var + + += - - -explicitly_typed_local_variable_declaration + + +identifier - - + + identifier - - -statement + + +local_variable_declaration - - -var + + +statement_expression - - -@bool + + +0 - - -contextual_keyword + + +method_modifier - - -CoContra + + +local_variable_declaration - - -implicitly_typed_local_variable_declaration + + +; - - -0 + + +identifier - - + + ; - - -attribute_list - - - + + = - - + + +integral_type + + + +1 + + + identifier - - -= + + +fixed_parameter - - -explicitly_typed_local_variable_declarator + + +local_variable_declaration - - -implicitly_typed_local_variable_declarator + + +type_parameter - - -interpolated_regular_string_expression + + +class_modifier - - -contextual_keyword + + +declaration_statement - - -= + + +local - - -= + + +@decimal - - -identifier + + +explicitly_typed_local_variable_declarator - - -namespace_or_type_name + + +implicitly_typed_local_variable_declaration - - -[ + + +unary_expression - - + + +local_variable_declaration + + + +type + + + +statement_expression + + + literal - - -statement + + +; - - -= + + +local_variable_declaration - - -attribute_arguments + + +declaration_statement - - -identifier + + +relational_expression - - -var + + +explicitly_typed_local_variable_declaration - - -var + + +declaration_statement - - -local4 + + +await - - -nullable_type_annotation + + +attribute_section - - -local0 + + +identifier + + + += + + + +Obsolete - - -expression_statement + + +literal - - -( + + +declaration_statement - - -0 + + += - - + + implicitly_typed_local_variable_declaration - - -class_member_declaration + + +async - - -implicitly_typed_local_variable_declarator + + +implicitly_typed_local_variable_declaration - - -identifier + + +] - - -identifier + + +0 - - -unary_expression + + +statement - - -parameter_list + + +local_variable_initializer - - -identifier + + +declaration_statement - - -type + + +0 - - -prog + + +implicitly_typed_local_variable_declaration - - -attribute_name + + +} - - -where + + +var - - -мир + + +pre_increment_expression - - -literal + + +; - - -( + + +int - - -identifier + + +const - - -; + + +implicitly_typed_local_variable_declaration - - -declaration_statement + + +type_parameter - - -declaration_statement + + +1 - - -local_variable_initializer + + +expression_statement - - -let + + +explicitly_typed_local_variable_declarators - - -expression + + +1Lu - - -statement + + +conditional_or_expression - - -local_variable_initializer + + +implicitly_typed_local_variable_declaration - - -attributes + + += - - -block + + +My - - + + , - - -char - - - -long + + +identifier - - -statement + + +constant_declarator - - -l2 + + +literal - - -unmanaged_type + + += - - + + identifier - - + + identifier - - + + = - - -SecurityAttribute - - - -explicitly_typed_local_variable_declarators + + +literal - - -additive_expression + + +?? - - -Action + + +primary_constraint - - -implicitly_typed_local_variable_declaration + + +var - - -identifier + + +primary_expression - - -constructor_initializer + + +MinValue - - -constant_modifier + + +relational_expression - - -local5 + + +type - - -local_variable_declaration + + +explicitly_typed_local_variable_declarator - - + + 0 - - -〔x·〕 + + +contextual_keyword - - -? + + +explicitly_typed_local_variable_declaration - - -K + + +explicitly_typed_local_variable_declarator - - -I + + +, - - -LU + + +constant_expression - - -statement_expression + + +declaration_statement - - -statement_expression + + +: - - -bool + + +, - - -1U + + += - - -identifier + + +statement - - -class_body + + +- - - + + expression - - -literal + + +var - - -ushort + + += - - -[ + + +identifier + + + +; - - + + +statement + + + identifier - - -explicitly_typed_local_variable_declaration + + +assignment - - -local_variable_declaration + + +identifier - - -; + + +statement - - -= + + +select - - -explicitly_typed_local_variable_declaration + + +expression - - -; + + +) - - -var + + +〔x·〕 + + + +1UL + + + +type + + + +statement + + + +identifier + + + +relational_expression + + + +identifier + + + +interpolated_regular_string_expression + + + +local_variable_declaration - - -contextual_keyword + + +A - - -; + + +literal - - -9223372036854775808L + + +statement_expression - - -type_parameter + + +verbatim_interpolation - - + + = - - -@byte + + +named_argument_list - - -Obsolete + + +0 - - -implicitly_typed_local_variable_declaration + + +identifier - - -, + + +when - - -type + + +is - - -{ + + +local_variable_declaration - - -implicitly_typed_local_variable_declaration + + +expression qualified_identifier - - -2l - - - -expression_statement - - - -literal - - - -1Ul + + += - - -method_body + + +r - - -expression + + += - - + + local_variable_declaration - - -literal + + +type - - -literal + + +identifier - - -0 + + +implicitly_typed_local_variable_declaration - - -expression + + +explicitly_typed_local_variable_declaration - - -= + + +explicitly_typed_local_variable_declarator - - -interface_type + + +explicitly_typed_local_variable_declaration - - -uL + + +contextual_keyword - - -regular_interpolation + + +variant_type_parameters - - -expression + + +{ - - -statement + + +L - - -type + + +statement - - -literal + + += - - -expression + + += - - -implicitly_typed_local_variable_declaration + + +identifier - - -1 + + +1L - - -multiplicative_expression + + +implicitly_typed_local_variable_declaration - - -local_variable_declaration + + +floating_point_type - - -identifier + + +implicitly_typed_local_variable_declaration - - + + literal - - + + statement - - -identifier - - - -, + + +) - - -literal + + += - - -identifier + + +WriteLine - - -expression + + +integral_type - - -; + + +MaxValue - - -declaration_statement + + +explicitly_typed_local_variable_declarator - - -, + + +0 - - -contextual_keyword + + +constructor_modifier - - -1 + + +primary_expression - - -expression + + +var - - -integral_type + + +local_variable_initializer - - -explicitly_typed_local_variable_declaration + + +class_base - - -local_variable_declaration + + +local_variable_initializer - - -= + + +__ - - -= + + +} - - -cast_expression + + +type - - -literal + + +declaration_statement - - -SetLastError + + +ToString - - -"kernel32" + + +statement - - -local_variable_declaration + + +contextual_keyword - - -implicitly_typed_local_variable_declarator + + +literal - - -simple_type + + +0 - - -identifier + + +declaration_statement - - -local_variable_declaration + + +explicitly_typed_local_variable_declarator - - -class_type + + +expression_statement - - -unary_expression + + +identifier - - -) + + +var - - -@sbyte + + +identifier - - -null_literal + + +. - - -) + + +Lu - - -identifier + + += - - -; + + +attribute_list - - -variant_type_parameters + + +delegate_declaration - - -1.44M + + +block - - -literal + + +ref_method_modifier - - + + identifier - - -= - - - -declaration_statement - - - -= + + +explicitly_typed_local_variable_declarators - - -iefSupplied + + +; - - -unary_expression + + +. - - -literal + + +statement - - -class_type + + +global - - -contextual_keyword + + +, - - -statement + + +attribute_name - - -assignment + + +attribute_section - - -declaration_statement + + +〔"〕 - - -unary_expression + + += - - -; + + +explicitly_typed_local_variable_declarators - - -const + + +〔:d〕 - - -declaration_statement + + +statement - - -var + + +) - - + + ; - - -local_variable_declaration + + +0XDEADBEEF - - -implicitly_typed_local_variable_declarator + + +contextual_keyword - - -literal + + +identifier - - -implicitly_typed_local_variable_declaration + + +literal - - -out + + +type - - -- + + +ulong - - -assignment_operator + + +type - - -expression + + +sa - - -) + + +Obsolete - - -var + + +implicitly_typed_local_variable_declarator - - + + = - - -implicitly_typed_local_variable_declaration + + +statement - - -Console + + +identifier - - -assignment_operator + + +void - - -, + + +implicitly_typed_local_variable_declarator - - -type + + +identifier - - + + ; - - -expression + + +literal - - -integral_type + + += - - -base + + +statement - - -local_variable_initializer + + +statement - - -contextual_keyword + + +identifier - - + + +{ + + + +assignment_operator + + + +U + + + literal - - -; + + +identifier - - -type + + +implicitly_typed_local_variable_declarator - - -; + + +integral_type - - -local_variable_initializer + + += - - + + +expression + + + implicitly_typed_local_variable_declarator - - + + += + + + var - - -'c' + + +explicitly_typed_local_variable_declarators - - -Obsolete + + +explicitly_typed_local_variable_declarators - - -expression_statement + + +identifier - - -type + + += - - -statement + + +expression - - -B + + +identifier - - -var + + +s2 - - -declaration_statement + + +statement - - -var + + +identifier - - -\u0066 + + +literal - - -explicitly_typed_local_variable_declaration + + +identifier - - -explicitly_typed_local_variable_declaration + + +literal - - -assignment_operator + + +minInt64Value - - -explicitly_typed_local_variable_declarators + + +expression - - -@decimal + + +statement - - -identifier + + +〔"〕 - - -@uint + + +statement - - -unary_expression + + +, - - -class_declaration + + +literal - - -[ + + +unary_expression - - + + identifier - - -L + + +0 - - -local_variable_initializer + + +string - - -1uL + + +var - - -identifier + + +A - - + + declaration_statement - - -; + + +( - - -0 + + +literal - - -attribute_section + + +declaration_statement - - + + +literal + + + +I + + + +method_modifiers + + + +explicitly_typed_local_variable_declarator + + + ; - - -local_variable_declaration + + +implicitly_typed_local_variable_declaration - - + + local_variable_initializer - - -explicitly_typed_local_variable_declarator + + +local_variable_initializer - - -; + + +static - - -local_variable_declaration + + +unary_expression - - -; + + += - - -( + + +unary_expression - - + + expression - - + + ; - - -) + + +identifier - - -0 + + +local_variable_initializer - - + + ; - - -〔$"〕 + + +contextual_keyword - - -implicitly_typed_local_variable_declaration + + +( - - -= + + +contextual_keyword - - -literal + + +explicitly_typed_local_variable_declarators - - -param + + +local_variable_initializer - - -ToString + + +variant_type_parameter_list - - -implicitly_typed_local_variable_declaration + + +, - - -literal + + +unary_expression - - -implicitly_typed_local_variable_declaration + + +minInt32Value + + + +implicitly_typed_local_variable_declarator - - + + literal - - -= + + +int - - + + implicitly_typed_local_variable_declarator - - -= + + +local_variable_declaration - - -type + + +declaration_statement - - -expression + + +lu - - -explicitly_typed_local_variable_declarators + + +local_variable_declaration - - -expression + + +@char - - -delegate_declaration + + +type - - -constructor_declaration + + +integral_type - - -. + + +assignment_operator - - + + statement - - -1 - - - -literal - - - -= + + +, - - -constructor_modifier + + +0 - - -interface_type_list + + +descending - - + + literal - - -method_declaration + + +interface_declaration - - -> + + +0 - - -integral_type + + +statement - - -identifier + + +CoContra - - -using_directive + + +identifier - - -local5 + + +var - - -implicitly_typed_local_variable_declaration + + +argument_list - - -implicitly_typed_local_variable_declaration + + +namespace_or_type_name - - -implicitly_typed_local_variable_declarator + + +; - - -type + + +literal - - -fixed_parameter + + +identifier - - -class_base + + += - - -; + + +1LU - - -unary_expression + + +@double - - -identifier + + += - - -) + + +local6 - - -explicitly_typed_local_variable_declarators + + +conditional_or_expression - - + + identifier - - -member_access + + +explicitly_typed_local_variable_declarators - - -statement + + +declaration_statement - - -, + + +contextual_keyword - - -identifier + + +PI - - -statement + + +declaration_statement - - -type + + +} - - -unary_expression + + +привет - - -type + + +explicitly_typed_local_variable_declarator - - -statement + + +statement_expression - - -explicitly_typed_local_variable_declarators + + +0 - - + + literal - - -literal + + +statement - - -named_argument_list + + +identifier - - -var + + +block - - -literal + + +export - - -literal + + +local_variable_initializer - - -; + + +local_variable_declaration - - -identifier + + +local_variable_declaration - - -variance_annotation + + +contextual_keyword - - -@float + + +nullable_value_type - - -local_variable_declaration + + +unary_expression - - + + statement - - -local_variable_declaration + + += - - -implicitly_typed_local_variable_declarator + + +local_variable_initializer - - + + identifier - - -expression - - - -explicitly_typed_local_variable_declaration + + +statement - - -literal + + +from - - -< + + +set - - + + = - - -int + + +0 + + + +expression - - -explicitly_typed_local_variable_declarators + + +identifier - - -explicitly_typed_local_variable_declaration + + +- - - -class + + +1 - - + + identifier - - -local_variable_declaration + + +attribute_target_specifier - - -- + + +statement - - -member_access + + +const + + + +explicitly_typed_local_variable_declarators - - + + = - - -literal + + +var + + + +expression + + + +implicitly_typed_local_variable_declarator - - + + type - - -contextual_keyword + + +literal - - -; + + +double - - -explicitly_typed_local_variable_declarators + + +declaration_statement + + + +] - - + + declaration_statement - - -integral_type + + +? - - -= + + +alias - - -in + + +[ - - -local3 + + +@byte - - -name + + +expression - - -. + + +local_variable_declaration - - -var + + +lU - - -minInt64Value + + +unary_expression - - -local4 + + +〔$@"〕 - - -implicitly_typed_local_variable_declarator + + +explicitly_typed_local_variable_declarator - - -@double + + += - - -identifier + + +var - - -fixed_parameter + + += - - -join + + +explicitly_typed_local_variable_declaration - - -expression + + +null_coalescing_expression + + + +0 - - + + expression - - -attribute_target_specifier + + += - - -hexchar2 + + +; - - -interpolated_verbatim_string_expression + + +; - - -is + + +2 + + + +local_variable_declaration - - + + declaration_statement - - -M + + +statement - - -var + + +explicitly_typed_local_variable_declarator - - -= + + +identifier - - -explicitly_typed_local_variable_declarator + + +statement - - -contextual_keyword + + +integral_type - - -= + + +remove - - -declaration_statement + + +( - - -method_modifier + + +interface_body - - -literal + + +declaration_statement - - -integral_type + + +local_variable_declaration - - -dynamic + + +contextual_keyword - - + + type - - -= + + +identifier - - -local_variable_initializer + + +expression - - + + expression - - -type_parameter + + +using - - -explicitly_typed_local_variable_declarators + + +var - - -( + + +implicitly_typed_local_variable_declarator - - -identifier + + +member_access - - -, + + +identifier - - -statement + + +identifier - - -〔"〕 + + +) - - -explicitly_typed_local_variable_declarators + + +class_type - - -contextual_keyword + + +K - - -type_parameter + + +. - - -explicitly_typed_local_variable_declarator + + +sizeof - - -statement + + +contextual_keyword - - -declaration_statement + + +literal - - -contextual_keyword + + +explicitly_typed_local_variable_declarators - - -by + + +literal - - -statement + + +declaration_statement - - -sizeof_expression + + +} - - -( + + +explicitly_typed_local_variable_declarator - - + + local_variable_initializer - - -explicitly_typed_local_variable_declarator + + +local_variable_declaration - - + + identifier - - -interpolation_minimum_width + + +null_coalescing_expression - - -declaration_statement + + +@"""/*" - - -hex + + +expression + + + +contextual_keyword + + + +additive_expression - - -contextual_keyword + + +1 - - -= + + +literal - - -unary_expression + + +var - - -local_variable_initializer + + +namespace_member_declaration - - -identifier + + +} - - -statement + + +where - - -var + + +; - - -explicitly_typed_local_variable_declarators + + +expression - - -contextual_keyword + + +expression - - -local_variable_declaration + + +local4 - - -yield + + +identifier ] - - -relational_expression - - - -identifier + + +int - - -expression + + +explicitly_typed_local_variable_declaration - - -statement + + +constructor_declaration - - -ulong + + +explicitly_typed_local_variable_declarator - - -statement + + +implicitly_typed_local_variable_declarator - - -local_variable_initializer + + +integral_type - - -declaration_statement + + +} - - + + variance_annotation - - -1 - - - -1D - - - -variance_annotation + + +attribute_list - - -; + + +( - - -local_variable_declaration + + +bool - - -0xBAD + + +byte - - -variant_type_parameter_list + + += - - + + identifier - - -local_variable_declaration - - - -type + + +literal - - -implicitly_typed_local_variable_declaration + + += - - + + identifier - - -statement - - - -statement + + +variance_annotation - - -u + + +?? - - -var + + +type - - -implicitly_typed_local_variable_declaration + + +constant_modifier - - -explicitly_typed_local_variable_declaration + + +statement_list - - -; + + +local_variable_declaration - - -statement + + +unary_expression - - + + literal - - -1LU + + +1.2m - - -type_parameter + + +, - - -integral_type + + +Obsolete - - -identifier + + +, - - -floating_point_type + + +literal - - -assignment_operator + + +local_variable_declaration - - -lU + + +numeric_type - - -identifier + + +decimal - - -class_type + + +identifier - - + + implicitly_typed_local_variable_declaration - - -struct - - - -; + + +constructor_body - - -literal + + +statement - - -namespace_name + + +class_body - - -type + + += - - -statement + + +float - - -1 + + +implicitly_typed_local_variable_declaration - - -= + + +nameof - - -var + + +invocation_expression - - -identifier + + +uint - - -dynamic + + +interface - - -0xBADC0DE + + +local5 - - -explicitly_typed_local_variable_declarator + + +int - - -expression + + +type - - -var + + +literal - - + + local_variable_declaration - - -implicitly_typed_local_variable_declaration + + +explicitly_typed_local_variable_declarators - - -statement + + +char - - -- + + +; - - -assignment + + +type - - -declaration_statement + + +member_access - - -declaration_statement + + +[ - - -local_variable_declaration + + +identifier + + + +identifier + + + +char - - + + local_variable_declaration - - -attribute_target + + +partial - - -implicitly_typed_local_variable_declaration + + +explicitly_typed_local_variable_declarators - - -2147483648 + + +identifier - - -statement + + +identifier - - -explicitly_typed_local_variable_declarator + + +identifier - - -statement_expression + + +implicitly_typed_local_variable_declarator - - -expression + + +integral_type - - -identifier + + +attribute_target_specifier - - -0 + + +literal - - -. + + +nullable_reference_type - - -declaration_statement + + +constant_declaration - - -, + + +using_namespace_directive - - -identifier + + +namespace_member_declaration - - -explicitly_typed_local_variable_declaration + + +explicitly_typed_local_variable_declarator - - -implicitly_typed_local_variable_declarator + + +integral_type - - -Action + + +@dynamic - - -assignment_operator + + +literal - - -"\U00000065" + + +implicitly_typed_local_variable_declarator - - -relational_expression + + +local_variable_declaration - - -statement + + +unary_expression - - -expression + + +attribute - - + + statement - - -= + + +null_literal - - -expression + + +statement_expression - - -lu + + +local_variable_initializer - - -bool + + +local_variable_declaration - - -attribute_target_specifier + + +identifier - - -assignment + + +local3 - - + + identifier - - + + identifier - - -statement - - - -contextual_keyword - - - -@double + + +iefSupplied - - -contextual_keyword + + +explicitly_typed_local_variable_declarator - - + + declaration_statement - - -explicitly_typed_local_variable_declaration - - - -= + + +DllImport - - -invocation_expression + + +} - - -type + + +statement - - -local_variable_declaration + + +return_type - - -null_coalescing_expression + + +implicitly_typed_local_variable_declaration - - + + identifier - - -float + + +attribute_section - - -var + + +integral_type - - -; + + +local_variable_declaration - - -statement + + +@double - - + + var - - -local_variable_declaration - - - -unary_expression + + +1lU - - -= + + +method - - -implicitly_typed_local_variable_declaration + + +declaration_statement - - -expression + + +contextual_keyword - - + + unary_expression - - -explicitly_typed_local_variable_declarators - - - -literal - - - -local_variable_declaration + + +declaration_statement - - -type + + +@ushort - - -statement + + +implicitly_typed_local_variable_declarator - - -block + + +fixed_parameter - - -{ + + +var - - -implicitly_typed_local_variable_declaration + + +declaration_statement - - + + local_variable_initializer - - -local - - - -contextual_keyword - - - -i + + +public - - -explicitly_typed_local_variable_declarator + + +identifier - - -statement_expression + + +declaration_statement - - -= + + +; - - -statement + + +implicitly_typed_local_variable_declarator - - -identifier + + +literal - - -; + + += - - -type + + +@double - - -expression_statement + + +A - - -local_variable_initializer + + +explicitly_typed_local_variable_declarators null_coalescing_expression - - -namespace_member_declaration - - - -Ul - - - -implicitly_typed_local_variable_declarator + + +static_constructor_modifiers - - -; + + +regular_interpolation - - -local + + +expression - - -long + + +int - - -, + + +ref_method_modifier - - -statement + + +expression - - -identifier + + +namespace_or_type_name - - -identifier + + +; - - -conditional_or_expression + + +implicitly_typed_local_variable_declarator - - -literal + + +type - - -expression + + +local_variable_initializer - - -explicitly_typed_local_variable_declarators + + +identifier - - + + local_variable_declaration - - -contextual_keyword + + +explicitly_typed_local_variable_declaration - - -identifier + + +[ - - + + identifier - - -statement + + +; - - -assignment + + +- - - -declaration_statement + + +local_variable_initializer - - -expression + + +- - - -const + + +in - - -literal + + +identifier - - -ulong + + +literal - - -attributes + + +literal - - -decimal + + +identifier - - -statement + + +local_variable_initializer type - - -expression - - - -argument_list + + +A - - -identifier + + +declaration_statement - - -= + + +implicitly_typed_local_variable_declarator - - -local_variable_declaration + + +explicitly_typed_local_variable_declaration - - -null_literal + + +long - - -attribute_list + + +multiplicative_expression - - -constant_declarators + + +0xBADC0DE - - -@object + + +positional_argument_list - - + + ; - - -implicitly_typed_local_variable_declaration - - - -type_parameter + + +, - - -namespace + + += - - + + identifier - - -namespace_member_declaration - - - -contextual_keyword - - - -type + + +local_variable_declaration - - -fixed_parameter + + +identifier - - -, + + +constructor_initializer - - -identifier + + +declaration_statement - - + + ; - - -uint - - - -) + + +implicitly_typed_local_variable_declarator - - -variant_type_parameters + + +attribute_section - - -declaration_statement + + +attribute_target - - -1u + + += - - + + ; - - -declaration_statement + + +method_body - - -attribute_target + + +unary_expression - - -literal + + +expression - - -type + + +@float - - + + local_variable_declaration - - -type - - - -explicitly_typed_local_variable_declarator + + +expression - - -literal + + +; - - + + expression - - -literal - - - -int + + +group - - -assignment_operator + + +declaration_statement - - + + ; - - -constant_expression + + +foo - - -int + + +local_variable_initializer - - -explicitly_typed_local_variable_declaration + + +ushort - - -contextual_keyword + + +local_variable_initializer - - + + identifier - - -in - - - -; - - - -implicitly_typed_local_variable_declaration - - - -nullable_type_annotation + + +unary_expression - - -identifier + + +class_declaration - - + + . - - -) - - - -into - - - + + = - - -explicitly_typed_local_variable_declarator + + +explicitly_typed_local_variable_declaration - - -class_member_declaration + + +type_parameter_constraints - - -var + + +declaration_statement - - -; + + +0 - - -expression_statement + + +assignment - - -explicitly_typed_local_variable_declarators + + +, - - -explicitly_typed_local_variable_declaration + + += - - -identifier + + +statement_expression - - -identifier + + +explicitly_typed_local_variable_declaration - - -@short + + +: - - + + ; - - -привет - - - -explicitly_typed_local_variable_declarator - - - -var + + +implicitly_typed_local_variable_declarator - - -= + + +local_variable_declaration - - -local5 + + +; - - -declaration_statement + + +explicitly_typed_local_variable_declarator - - -attribute + + +local_variable_initializer + + + +type - - + + unary_expression - - -s1 + + +; - - -declaration_statement + + += - - -literal + + +primary_expression + + + +string - - + + expression - - -= + + +, - - -= + + +var - - -statement + + +additive_expression - - + + +assignment + + + ; - - -member_name + + +implicitly_typed_local_variable_declaration - - + + ; - - -implicitly_typed_local_variable_declaration + + +bool + + + +class_type + + + +dynamic + + + +null + + + +dynamic + + + +> - - + + explicitly_typed_local_variable_declaration - - -{ + + +implicitly_typed_local_variable_declaration - - -type + + +1U - - -local_variable_initializer + + +) - - -. + + +, - - -contextual_keyword + + += + + + +var + + + +1.44F - - + + +out + + + statement - - -integral_type + + +unary_expression - - -expression + + +contextual_keyword - - + + expression_statement - - -〔:d〕 + + +. + + + +Action - - + + identifier - - -expression_statement + + +object - - -@"""/*" + + +hexchar - - + + = - - -declaration_statement + + +class_member_declaration - - -sbyte + + +explicitly_typed_local_variable_declaration - - -conditional_or_expression + + +; - - + + = - - -literal + + +explicitly_typed_local_variable_declarators - - -contextual_keyword + + +2 - - -literal + + +; - - -identifier + + += - - -interface_body + + += - - -var + + +; - - -ref_method_modifier + + +local_variable_declaration - - -@ushort + + +class - - -get + + +implicitly_typed_local_variable_declaration - - -= + + +identifier - - -new + + +identifier - - -@dynamic + + +0 - - -var + + +explicitly_typed_local_variable_declaration + + + +attribute_target + + + +local_variable_declaration - - + + ; - - -statement_expression + + +〔x·〕 - - -primary_expression + + +int - - + + implicitly_typed_local_variable_declaration - - -identifier + + +var - - -local_variable_declaration + + +assignment - - -implicitly_typed_local_variable_declarator + + +contextual_keyword - - -attribute_section + + +explicitly_typed_local_variable_declaration - - -constant_declaration + + +local_variable_declaration - - -; + + +var - - + + identifier - - -} - - - -contextual_keyword + + += - - -0 + + +expression_statement - - -; + + +u - - -0 + + +explicitly_typed_local_variable_declarator - - + + expression - - -expression + + +declaration_statement - - -identifier + + += - - -contextual_keyword + + +@float - - -0 + + +implicitly_typed_local_variable_declarator - - -implicitly_typed_local_variable_declaration + + +expression - - -identifier + + +relational_expression - - + + +object_creation_expression + + + literal - - -@decimal + + +@long - - -integral_type + + +implicitly_typed_local_variable_declarator - - -implicitly_typed_local_variable_declaration + + +1 - - -sizeof + + +; - - -identifier + + +var - - -{ + + +interpolated_verbatim_string_expression - - + + ; - - -expression - - - -, - - - -identifier + + +var - - -where + + +@short - - -unary_expression + + +statement - - -identifier + + +0xBAD \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/ReadMe.md new file mode 100644 index 000000000..b9a7db252 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/ReadMe.md @@ -0,0 +1,14 @@ +# Sample: Type argument list disambiguation – Query expressions + +Uses modification set Rules which implements the disambiguation algorithm +to determine whether a sequence of tokens is a *type_argument_list* or some expression +when it occurs within a *query_expression*. + +Disambiguation is applied when a *type_argument_list* appears immediately before +a contextual query keyword within a query expression. This can happen with +those query clauses which end in an *expression* (e.g. *where_clause*) +and those with *expression* followed by a contextual keyword within the clause +itself (e.g. *join_clause* where the keywords `on` and `in` follow *expression*s). + +This is essentially the same process as for disambiguating within expression +context, but with the addition of additional following tokens within the query context. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.gruntree.red.txt new file mode 100644 index 000000000..602aecf74 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.gruntree.red.txt @@ -0,0 +1,705 @@ +⎛ +⎜ prog +⎜ ⎛ +⎜ ⎜ compilation_unit +⎜ ⎜ ⎛ +⎜ ⎜ ⎜ class_declaration +⎜ ⎜ ⎜ class +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ TypeArgumentListChecks +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ class_body +⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ TypeArgumentListChecks +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ != +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ H +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join_into_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_or_group_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ group_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ group +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ by +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Country +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_continuation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderings +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ O +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering_direction +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ascending +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderings +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Key +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering_direction +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ descending +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_or_group_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_object_creation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_object_initializer +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Country +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Key +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CustCount +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎝ +⎜ ⎝ +⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.stderr.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.stderr.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tokens.txt new file mode 100644 index 000000000..f251dd684 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tokens.txt @@ -0,0 +1,135 @@ +[@0,0:4='class',<'class'>,1:0] +[@1,6:27='TypeArgumentListChecks',,1:6] +[@2,29:29='{',<'{'>,2:0] +[@3,34:37='void',<'void'>,3:3] +[@4,39:60='TypeArgumentListChecks',,3:8] +[@5,61:61='(',<'('>,3:30] +[@6,62:62=')',<')'>,3:31] +[@7,67:67='{',<'{'>,4:3] +[@8,1111:1113='var',<'var'>,25:6] +[@9,1115:1119='query',,25:10] +[@10,1121:1121='=',<'='>,25:16] +[@11,1123:1126='from',<'from'>,25:18] +[@12,1128:1128='c',,25:23] +[@13,1130:1131='in',<'in'>,25:25] +[@14,1133:1141='customers',,25:28] +[@15,1142:1142='<',<'<'>,25:37] +[@16,1143:1143='A',,25:38] +[@17,1144:1144='>',<'>'>,25:39] +[@18,1164:1166='let',<'let'>,26:18] +[@19,1168:1168='d',,26:22] +[@20,1170:1170='=',<'='>,26:24] +[@21,1172:1172='c',,26:26] +[@22,1173:1173='<',<'<'>,26:27] +[@23,1174:1174='B',,26:28] +[@24,1175:1175='>',<'>'>,26:29] +[@25,1195:1199='where',<'where'>,27:18] +[@26,1201:1201='d',,27:24] +[@27,1203:1204='!=',<'!='>,27:26] +[@28,1206:1209='null',<'null'>,27:29] +[@29,1211:1212='&&',<'&&'>,27:34] +[@30,1214:1214='d',,27:37] +[@31,1215:1215='<',<'<'>,27:38] +[@32,1216:1216='C',,27:39] +[@33,1217:1217=',',<','>,27:40] +[@34,1218:1218='D',,27:41] +[@35,1219:1219='>',<'>'>,27:42] +[@36,1239:1242='join',<'join'>,28:18] +[@37,1244:1245='c1',,28:23] +[@38,1247:1248='in',<'in'>,28:26] +[@39,1250:1258='customers',,28:29] +[@40,1259:1259='<',<'<'>,28:38] +[@41,1260:1260='E',,28:39] +[@42,1261:1261='>',<'>'>,28:40] +[@43,1263:1264='on',<'on'>,28:42] +[@44,1266:1267='c1',,28:45] +[@45,1268:1268='.',<'.'>,28:47] +[@46,1269:1279='GetHashCode',,28:48] +[@47,1280:1280='(',<'('>,28:59] +[@48,1281:1281=')',<')'>,28:60] +[@49,1283:1284='&&',<'&&'>,28:62] +[@50,1286:1287='c1',,28:65] +[@51,1288:1288='<',<'<'>,28:67] +[@52,1289:1289='G',,28:68] +[@53,1290:1290='>',<'>'>,28:69] +[@54,1292:1297='equals',<'equals'>,28:71] +[@55,1299:1299='c',,28:78] +[@56,1300:1300='.',<'.'>,28:79] +[@57,1301:1311='GetHashCode',,28:80] +[@58,1312:1312='(',<'('>,28:91] +[@59,1313:1313=')',<')'>,28:92] +[@60,1315:1316='&&',<'&&'>,28:94] +[@61,1318:1318='c',,28:97] +[@62,1319:1319='<',<'<'>,28:98] +[@63,1320:1320='H',,28:99] +[@64,1321:1321='>',<'>'>,28:100] +[@65,1341:1344='join',<'join'>,29:18] +[@66,1346:1347='c1',,29:23] +[@67,1349:1350='in',<'in'>,29:26] +[@68,1352:1360='customers',,29:29] +[@69,1362:1363='on',<'on'>,29:39] +[@70,1365:1366='c1',,29:42] +[@71,1367:1367='.',<'.'>,29:44] +[@72,1368:1378='GetHashCode',,29:45] +[@73,1379:1379='(',<'('>,29:56] +[@74,1380:1380=')',<')'>,29:57] +[@75,1382:1387='equals',<'equals'>,29:59] +[@76,1389:1389='c',,29:66] +[@77,1390:1390='.',<'.'>,29:67] +[@78,1391:1401='GetHashCode',,29:68] +[@79,1402:1402='(',<'('>,29:79] +[@80,1403:1403=')',<')'>,29:80] +[@81,1405:1408='into',<'into'>,29:82] +[@82,1410:1410='e',,29:87] +[@83,1430:1434='group',<'group'>,30:18] +[@84,1436:1436='c',,30:24] +[@85,1437:1437='<',<'<'>,30:25] +[@86,1438:1438='K',,30:26] +[@87,1439:1439='>',<'>'>,30:27] +[@88,1441:1442='by',<'by'>,30:29] +[@89,1444:1444='c',,30:32] +[@90,1445:1445='.',<'.'>,30:33] +[@91,1446:1452='Country',,30:34] +[@92,1453:1453='<',<'<'>,30:41] +[@93,1454:1454='M',,30:42] +[@94,1455:1455='>',<'>'>,30:43] +[@95,1479:1482='into',<'into'>,31:22] +[@96,1484:1484='g',,31:27] +[@97,1508:1514='orderby',<'orderby'>,32:22] +[@98,1516:1516='g',,32:30] +[@99,1517:1517='.',<'.'>,32:31] +[@100,1518:1522='Count',,32:32] +[@101,1523:1523='(',<'('>,32:37] +[@102,1524:1524=')',<')'>,32:38] +[@103,1525:1525='.',<'.'>,32:39] +[@104,1526:1526='O',,32:40] +[@105,1527:1527='<',<'<'>,32:41] +[@106,1528:1528='P',,32:42] +[@107,1529:1529='>',<'>'>,32:43] +[@108,1531:1539='ascending',<'ascending'>,32:45] +[@109,1563:1569='orderby',<'orderby'>,33:22] +[@110,1571:1571='g',,33:30] +[@111,1572:1572='.',<'.'>,33:31] +[@112,1573:1575='Key',,33:32] +[@113,1577:1586='descending',<'descending'>,33:36] +[@114,1610:1615='select',<'select'>,34:22] +[@115,1617:1619='new',<'new'>,34:29] +[@116,1621:1621='{',<'{'>,34:33] +[@117,1623:1629='Country',,34:35] +[@118,1631:1631='=',<'='>,34:43] +[@119,1633:1633='g',,34:45] +[@120,1634:1634='.',<'.'>,34:46] +[@121,1635:1637='Key',,34:47] +[@122,1638:1638=',',<','>,34:50] +[@123,1640:1648='CustCount',,34:52] +[@124,1650:1650='=',<'='>,34:62] +[@125,1652:1652='g',,34:64] +[@126,1653:1653='.',<'.'>,34:65] +[@127,1654:1658='Count',,34:66] +[@128,1659:1659='(',<'('>,34:71] +[@129,1660:1660=')',<')'>,34:72] +[@130,1662:1662='}',<'}'>,34:74] +[@131,1663:1663=';',<';'>,34:75] +[@132,1669:1669='}',<'}'>,36:3] +[@133,1671:1671='}',<'}'>,37:0] +[@134,1672:1671='',,37:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.red.txt new file mode 100644 index 000000000..3a214f6e7 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (class_declaration class (identifier TypeArgumentListChecks) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier TypeArgumentListChecks)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier query) = (expression (query_expression (from_clause from (identifier c) in (expression (simple_name (identifier customers) (type_argument_list < (type_arguments (identifier A)) >)))) (query_body (query_body_clauses (query_body_clauses (query_body_clauses (query_body_clauses (let_clause let (identifier d) = (expression (simple_name (identifier c) (type_argument_list < (type_arguments (identifier B)) >))))) (query_body_clause (where_clause where (boolean_expression (conditional_and_expression (conditional_and_expression (equality_expression (equality_expression (identifier d)) != (relational_expression (null_literal null)))) && (inclusive_or_expression (simple_name (identifier d) (type_argument_list < (type_arguments (type_argument (identifier C)) , (type_argument (identifier D))) >)))))))) (query_body_clause (join_clause join (identifier c1) in (expression (simple_name (identifier customers) (type_argument_list < (type_arguments (identifier E)) >))) on (expression (conditional_and_expression (conditional_and_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) && (inclusive_or_expression (simple_name (identifier c1) (type_argument_list < (type_arguments (identifier G)) >))))) equals (expression (conditional_and_expression (conditional_and_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))) && (inclusive_or_expression (simple_name (identifier c) (type_argument_list < (type_arguments (identifier H)) >)))))))) (query_body_clause (join_into_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))) into (identifier e)))) (select_or_group_clause (group_clause group (expression (simple_name (identifier c) (type_argument_list < (type_arguments (identifier K)) >))) by (expression (member_access (primary_expression (identifier c)) . (identifier Country) (type_argument_list < (type_arguments (identifier M)) >))))) (query_continuation into (identifier g) (query_body (query_body_clauses (query_body_clauses (orderby_clause orderby (orderings (ordering (expression (member_access (primary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))) . (identifier O) (type_argument_list < (type_arguments (identifier P)) >))) (ordering_direction ascending))))) (query_body_clause (orderby_clause orderby (orderings (ordering (expression (member_access (primary_expression (identifier g)) . (identifier Key))) (ordering_direction descending)))))) (select_or_group_clause (select_clause select (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier Country) = (expression (member_access (primary_expression (identifier g)) . (identifier Key)))) , (member_declarator (identifier CustCount) = (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))))) }))))))))))))) ;)) })))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.svg new file mode 100644 index 000000000..e4b5c4de9 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.svg @@ -0,0 +1,1625 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +M + + + +type_argument + + + +D + + + +> + + + +( + + + +expression + + + +E + + + +simple_name + + + +> + + + +identifier + + + +. + + + +CustCount + + + +primary_expression + + + +member_access + + + +; + + + +member_access + + + +invocation_expression + + + +c + + + +type_argument_list + + + +< + + + +identifier + + + +primary_expression + + + +orderings + + + +primary_expression + + + +var + + + +identifier + + + +identifier + + + +identifier + + + +simple_name + + + +primary_expression + + + +group_clause + + + +local_variable_declaration + + + +class + + + +prog + + + +< + + + +, + + + +implicitly_typed_local_variable_declaration + + + +query_body_clause + + + +. + + + +primary_expression + + + +} + + + +from + + + +primary_expression + + + +!= + + + +expression + + + +c + + + +query_body + + + +orderby_clause + + + +select + + + +identifier + + + +declaration_statement + + + +primary_expression + + + +expression + + + +descending + + + +} + + + +GetHashCode + + + +member_declarator_list + + + +identifier + + + +g + + + +primary_expression + + + += + + + +{ + + + +> + + + +let_clause + + + +group + + + +anonymous_object_creation_expression + + + +query_body_clause + + + +expression + + + +inclusive_or_expression + + + +identifier + + + +member_access + + + +ordering + + + +select_or_group_clause + + + +member_access + + + +type_arguments + + + +. + + + +type_arguments + + + +identifier + + + +type_argument_list + + + +let + + + +null_literal + + + +expression + + + +< + + + +member_access + + + +c + + + +G + + + +customers + + + +null + + + +identifier + + + +) + + + +expression + + + +g + + + +member_name + + + +} + + + +query_continuation + + + +customers + + + +identifier + + + +query_body + + + +member_declarator + + + +member_access + + + +where_clause + + + +identifier + + + +in + + + +expression + + + +primary_expression + + + +( + + + +implicitly_typed_local_variable_declarator + + + +member_access + + + +ascending + + + +query_body_clause + + + +( + + + +GetHashCode + + + +join_clause + + + +c + + + +expression + + + +type_arguments + + + +type_arguments + + + +. + + + +in + + + +) + + + +type_arguments + + + +identifier + + + +relational_expression + + + +ordering_direction + + + +identifier + + + += + + + +conditional_and_expression + + + +C + + + +type_argument_list + + + +. + + + +member_access + + + +c1 + + + +. + + + +equals + + + +type_argument_list + + + +. + + + +query_body_clauses + + + +H + + + +GetHashCode + + + +invocation_expression + + + +{ + + + +orderings + + + +query + + + +c1 + + + += + + + +> + + + +identifier + + + +d + + + +expression + + + +g + + + +query_body_clauses + + + +identifier + + + +inclusive_or_expression + + + +type_arguments + + + +query_body_clauses + + + +. + + + +< + + + +expression + + + +> + + + +) + + + +) + + + +identifier + + + +simple_name + + + +identifier + + + +member_access + + + +. + + + +expression + + + +identifier + + + +Key + + + +d + + + +identifier + + + +equality_expression + + + +) + + + +identifier + + + +identifier + + + +primary_expression + + + +select_or_group_clause + + + +( + + + +primary_expression + + + +> + + + +identifier + + + +method_declaration + + + +identifier + + + +< + + + +class_declaration + + + +type_argument_list + + + +expression + + + +conditional_and_expression + + + +< + + + +&& + + + +statement_list + + + +invocation_expression + + + +expression + + + +into + + + +K + + + +identifier + + + +invocation_expression + + + +invocation_expression + + + +query_body_clause + + + +identifier + + + +Count + + + +return_type + + + +customers + + + +join + + + +identifier + + + +anonymous_object_initializer + + + +< + + + +identifier + + + +identifier + + + +( + + + +identifier + + + +g + + + +< + + + +identifier + + + +conditional_and_expression + + + +type_arguments + + + +c + + + +simple_name + + + +from_clause + + + +identifier + + + +Count + + + +member_access + + + +g + + + +identifier + + + +invocation_expression + + + +primary_expression + + + +new + + + +c1 + + + +join + + + +A + + + +orderby_clause + + + +simple_name + + + +identifier + + + +. + + + +type_arguments + + + +type_argument_list + + + +conditional_and_expression + + + +orderby + + + +c + + + +join_into_clause + + + +identifier + + + +block + + + +> + + + +compilation_unit + + + +GetHashCode + + + +identifier + + + +query_body_clauses + + + +e + + + +method_header + + + +select_clause + + + +type_argument_list + + + +query_body_clauses + + + +Country + + + +( + + + +d + + + +c1 + + + +type_arguments + + + +type_argument_list + + + +simple_name + + + +< + + + +boolean_expression + + + +conditional_and_expression + + + +> + + + +identifier + + + +identifier + + + +simple_name + + + +expression + + + +Key + + + +method_modifiers + + + +where + + + +identifier + + + +class_member_declaration + + + +{ + + + +B + + + +identifier + + + +Country + + + +) + + + +P + + + +identifier + + + +on + + + +> + + + +, + + + +TypeArgumentListChecks + + + +( + + + +inclusive_or_expression + + + +void + + + +query_expression + + + +type_argument_list + + + +c1 + + + +in + + + +expression + + + +primary_expression + + + +into + + + +identifier + + + += + + + +identifier + + + +conditional_and_expression + + + +expression + + + +identifier + + + +O + + + +primary_expression + + + +) + + + +&& + + + +on + + + +c + + + +identifier + + + +ordering_direction + + + +equality_expression + + + +member_declarator + + + +orderby + + + +method_body + + + +&& + + + +identifier + + + +class_body + + + +primary_expression + + + +identifier + + + +by + + + +ordering + + + +type_argument + + + +query_body_clauses + + + +primary_expression + + + +TypeArgumentListChecks + + + +equals + + + +identifier + + + +identifier + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/_Sample_Options.txt new file mode 100644 index 000000000..c3810f510 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/_Sample_Options.txt @@ -0,0 +1 @@ +-ms Rules -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/sample.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/sample.cs new file mode 100644 index 000000000..8e91846ba --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/sample.cs @@ -0,0 +1,37 @@ +class TypeArgumentListChecks +{ + void TypeArgumentListChecks() + { + /* While a *type_argument_list* occurring within a *query_expression* before a query + contextual keyword is syntactically supported we do not have a sample which uses + it and makes semantic sense (the above samples all at least make vague sense), + so instead we take the semantically valid: + + var query = from c in customers + let d = c + where d != null + join c1 in customers on c1.GetHashCode() equals c.GetHashCode() + join c1 in customers on c1.GetHashCode() equals c.GetHashCode() into e + group c by c.Country + into g + orderby g.Count() ascending + orderby g.Key descending + select new { Country = g.Key, CustCount = g.Count() }; + + and liberally sprinkle *type_argument_list*s where syntactically allowed and + use that as a test… + */ + + var query = from c in customers + let d = c + where d != null && d + join c1 in customers on c1.GetHashCode() && c1 equals c.GetHashCode() && c + join c1 in customers on c1.GetHashCode() equals c.GetHashCode() into e + group c by c.Country + into g + orderby g.Count().O

ascending + orderby g.Key descending + select new { Country = g.Key, CustCount = g.Count() }; + + } +} diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/ReadMe.md index 8b3fd4859..d7d98b3bc 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/ReadMe.md +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/ReadMe.md @@ -2,3 +2,5 @@ Uses modification set Rules which implements the disambiguation algorithm to determine whether a sequence of tokens is a *type_argument_list* or some expression. + +Many of the examples are taken from the Standard’s exmaples or from the source material. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.gruntree.red.txt index b96ec6a09..ff66652bf 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.gruntree.red.txt @@ -480,23 +480,23 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ y -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ is -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ is +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C @@ -515,14 +515,14 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ z -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ z ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ @@ -1040,9 +1040,9 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ is ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A @@ -1199,6 +1199,284 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ is +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ q +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ right_shift +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ r +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parenthesized_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ is +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ is +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_pattern +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_designation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tokens.txt index cbc9e7930..ddafc16d0 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tokens.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tokens.txt @@ -6,211 +6,258 @@ [@5,61:61='(',<'('>,3:30] [@6,62:62=')',<')'>,3:31] [@7,67:67='{',<'{'>,4:3] -[@8,80:80='F',,5:6] -[@9,81:81='(',<'('>,5:7] -[@10,82:82='G',,5:8] -[@11,83:83='<',<'<'>,5:9] -[@12,84:84='A',,5:10] -[@13,85:85=',',<','>,5:11] -[@14,87:87='B',,5:13] -[@15,88:88='>',<'>'>,5:14] -[@16,89:89='(',<'('>,5:15] -[@17,90:90='7',,5:16] -[@18,91:91=')',<')'>,5:17] -[@19,92:92=')',<')'>,5:18] -[@20,93:93=';',<';'>,5:19] -[@21,258:258='F',,7:6] -[@22,259:259='(',<'('>,7:7] -[@23,260:263='base',<'base'>,7:8] -[@24,264:264='.',<'.'>,7:12] -[@25,265:265='G',,7:13] -[@26,266:266='<',<'<'>,7:14] -[@27,267:267='A',,7:15] -[@28,268:268=',',<','>,7:16] -[@29,270:270='B',,7:18] -[@30,271:271='>',<'>'>,7:19] -[@31,272:272='(',<'('>,7:20] -[@32,273:273='7',,7:21] -[@33,274:274=')',<')'>,7:22] -[@34,275:275=')',<')'>,7:23] -[@35,276:276=';',<';'>,7:24] -[@36,301:301='F',,9:6] -[@37,302:302='(',<'('>,9:7] -[@38,303:303='G',,9:8] -[@39,304:304='<',<'<'>,9:9] -[@40,305:305='A',,9:10] -[@41,306:306=',',<','>,9:11] -[@42,308:308='B',,9:13] -[@43,309:309='>',<'>'>,9:14] -[@44,310:310='7',,9:15] -[@45,311:311=')',<')'>,9:16] -[@46,312:312=';',<';'>,9:17] -[@47,362:362='F',,10:6] -[@48,363:363='(',<'('>,10:7] -[@49,364:367='base',<'base'>,10:8] -[@50,368:368='.',<'.'>,10:12] -[@51,369:369='G',,10:13] -[@52,370:370='<',<'<'>,10:14] -[@53,371:371='A',,10:15] -[@54,372:372=',',<','>,10:16] -[@55,374:374='B',,10:18] -[@56,375:375='>',<'>'>,10:19] -[@57,376:376='7',,10:20] -[@58,377:377=')',<')'>,10:21] -[@59,378:378=';',<';'>,10:22] -[@60,398:398='F',,11:6] -[@61,399:399='(',<'('>,11:7] -[@62,400:400='G',,11:8] -[@63,401:401='<',<'<'>,11:9] -[@64,402:402='A',,11:10] -[@65,403:403=',',<','>,11:11] -[@66,405:405='B',,11:13] -[@67,406:406='>',<'>'>,11:14] -[@68,407:407='>',<'>'>,11:15] -[@69,408:408='7',,11:16] -[@70,409:409=')',<')'>,11:17] -[@71,410:410=';',<';'>,11:18] -[@72,442:442='x',,13:6] -[@73,444:444='=',<'='>,13:8] -[@74,446:446='F',,13:10] -[@75,447:447='<',<'<'>,13:11] -[@76,448:448='A',,13:12] -[@77,449:449='>',<'>'>,13:13] -[@78,451:451='+',<'+'>,13:15] -[@79,453:453='y',,13:17] -[@80,454:454=';',<';'>,13:18] -[@81,668:668='x',,17:6] -[@82,670:670='=',<'='>,17:8] -[@83,672:672='y',,17:10] -[@84,674:675='is',<'is'>,17:12] -[@85,677:677='C',,17:15] -[@86,678:678='<',<'<'>,17:16] -[@87,679:679='T',,17:17] -[@88,680:680='>',<'>'>,17:18] -[@89,682:683='&&',<'&&'>,17:20] -[@90,685:685='z',,17:23] -[@91,686:686=';',<';'>,17:24] -[@92,765:767='var',<'var'>,19:6] -[@93,769:769='v',,19:10] -[@94,771:771='=',<'='>,19:12] -[@95,773:773='(',<'('>,19:14] -[@96,774:774='A',,19:15] -[@97,776:776='<',<'<'>,19:17] -[@98,778:778='B',,19:19] -[@99,779:779=',',<','>,19:20] -[@100,781:781='C',,19:22] -[@101,782:782=')',<')'>,19:23] -[@102,783:783=';',<';'>,19:24] -[@103,805:807='var',<'var'>,21:6] -[@104,809:809='v',,21:10] -[@105,811:811='=',<'='>,21:12] -[@106,813:813='(',<'('>,21:14] -[@107,814:814='A',,21:15] -[@108,816:816='<',<'<'>,21:17] -[@109,818:818='B',,21:19] -[@110,819:819=',',<','>,21:20] -[@111,821:821='C',,21:22] -[@112,823:823='>',<'>'>,21:24] -[@113,825:825='D',,21:26] -[@114,826:826=')',<')'>,21:27] -[@115,827:827=';',<';'>,21:28] -[@116,896:898='var',<'var'>,23:6] -[@117,900:900='v',,23:10] -[@118,902:902='=',<'='>,23:12] -[@119,904:904='(',<'('>,23:14] -[@120,905:905='A',,23:15] -[@121,906:906='<',<'<'>,23:16] -[@122,907:907='B',,23:17] -[@123,908:908=',',<','>,23:18] -[@124,909:909='C',,23:19] -[@125,910:910='>',<'>'>,23:20] -[@126,912:912='D',,23:22] -[@127,913:913=',',<','>,23:23] -[@128,915:915='E',,23:25] -[@129,916:916=')',<')'>,23:26] -[@130,917:917=';',<';'>,23:27] -[@131,1076:1078='var',<'var'>,27:6] -[@132,1080:1080='v',,27:10] -[@133,1082:1082='=',<'='>,27:12] -[@134,1084:1084='M',,27:14] -[@135,1085:1085='(',<'('>,27:15] -[@136,1086:1086='A',,27:16] -[@137,1088:1088='<',<'<'>,27:18] -[@138,1090:1090='B',,27:20] -[@139,1091:1091=',',<','>,27:21] -[@140,1093:1093='C',,27:23] -[@141,1095:1095='>',<'>'>,27:25] -[@142,1097:1097='D',,27:27] -[@143,1098:1098=',',<','>,27:28] -[@144,1100:1100='E',,27:30] -[@145,1101:1101=')',<')'>,27:31] -[@146,1102:1102=';',<';'>,27:32] -[@147,1149:1151='var',<'var'>,29:6] -[@148,1153:1153='v',,29:10] -[@149,1155:1155='=',<'='>,29:12] -[@150,1157:1157='M',,29:14] -[@151,1158:1158='(',<'('>,29:15] -[@152,1159:1161='out',<'out'>,29:16] -[@153,1163:1163='A',,29:20] -[@154,1164:1164='<',<'<'>,29:21] -[@155,1165:1165='B',,29:22] -[@156,1166:1166=',',<','>,29:23] -[@157,1167:1167='C',,29:24] -[@158,1168:1168='>',<'>'>,29:25] -[@159,1170:1170='D',,29:27] -[@160,1171:1171=',',<','>,29:28] -[@161,1173:1173='E',,29:30] -[@162,1174:1174=')',<')'>,29:31] -[@163,1175:1175=';',<';'>,29:32] -[@164,1301:1302='if',<'if'>,32:6] -[@165,1304:1304='(',<'('>,32:9] -[@166,1305:1305='e',,32:10] -[@167,1307:1308='is',<'is'>,32:12] -[@168,1310:1310='A',,32:15] -[@169,1311:1311='<',<'<'>,32:16] -[@170,1312:1312='B',,32:17] -[@171,1313:1313='>',<'>'>,32:18] -[@172,1315:1315='C',,32:20] -[@173,1316:1316=')',<')'>,32:21] -[@174,1366:1366='W',,33:9] -[@175,1367:1367='(',<'('>,33:10] -[@176,1368:1368='C',,33:11] -[@177,1369:1369=')',<')'>,33:12] -[@178,1370:1370=';',<';'>,33:13] -[@179,1385:1386='if',<'if'>,35:6] -[@180,1388:1388='(',<'('>,35:9] -[@181,1389:1389='e',,35:10] -[@182,1391:1392='is',<'is'>,35:12] -[@183,1394:1394='A',,35:15] -[@184,1395:1395='<',<'<'>,35:16] -[@185,1396:1396='B',,35:17] -[@186,1397:1397='>',<'>'>,35:18] -[@187,1398:1398=')',<')'>,35:19] -[@188,1434:1434='W',,36:9] -[@189,1435:1435='(',<'('>,36:10] -[@190,1436:1436='C',,36:11] -[@191,1437:1437=')',<')'>,36:12] -[@192,1438:1438=';',<';'>,36:13] -[@193,1447:1452='switch',<'switch'>,38:6] -[@194,1454:1454='(',<'('>,38:13] -[@195,1455:1455='x',,38:14] -[@196,1456:1456=')',<')'>,38:15] -[@197,1464:1464='{',<'{'>,39:6] -[@198,1475:1478='case',<'case'>,40:9] -[@199,1480:1480='A',,40:14] -[@200,1481:1481='<',<'<'>,40:15] -[@201,1482:1482='B',,40:16] -[@202,1483:1483='>',<'>'>,40:17] -[@203,1485:1485='C',,40:19] -[@204,1486:1486=':',<':'>,40:20] -[@205,1540:1542='var',<'var'>,41:12] -[@206,1544:1544='z',,41:16] -[@207,1546:1546='=',<'='>,41:18] -[@208,1548:1548='C',,41:20] -[@209,1549:1549=';',<';'>,41:21] -[@210,1563:1567='break',<'break'>,42:12] -[@211,1568:1568=';',<';'>,42:17] -[@212,1576:1576='}',<'}'>,43:6] -[@213,1582:1582='}',<'}'>,45:3] -[@214,1584:1584='}',<'}'>,46:0] -[@215,1585:1584='',,46:1] +[@8,75:75='F',,5:6] +[@9,76:76='(',<'('>,5:7] +[@10,77:77='G',,5:8] +[@11,78:78='<',<'<'>,5:9] +[@12,79:79='A',,5:10] +[@13,80:80=',',<','>,5:11] +[@14,82:82='B',,5:13] +[@15,83:83='>',<'>'>,5:14] +[@16,84:84='(',<'('>,5:15] +[@17,85:85='7',,5:16] +[@18,86:86=')',<')'>,5:17] +[@19,87:87=')',<')'>,5:18] +[@20,88:88=';',<';'>,5:19] +[@21,253:253='F',,7:6] +[@22,254:254='(',<'('>,7:7] +[@23,255:258='base',<'base'>,7:8] +[@24,259:259='.',<'.'>,7:12] +[@25,260:260='G',,7:13] +[@26,261:261='<',<'<'>,7:14] +[@27,262:262='A',,7:15] +[@28,263:263=',',<','>,7:16] +[@29,265:265='B',,7:18] +[@30,266:266='>',<'>'>,7:19] +[@31,267:267='(',<'('>,7:20] +[@32,268:268='7',,7:21] +[@33,269:269=')',<')'>,7:22] +[@34,270:270=')',<')'>,7:23] +[@35,271:271=';',<';'>,7:24] +[@36,290:290='F',,9:6] +[@37,291:291='(',<'('>,9:7] +[@38,292:292='G',,9:8] +[@39,293:293='<',<'<'>,9:9] +[@40,294:294='A',,9:10] +[@41,295:295=',',<','>,9:11] +[@42,297:297='B',,9:13] +[@43,298:298='>',<'>'>,9:14] +[@44,299:299='7',,9:15] +[@45,300:300=')',<')'>,9:16] +[@46,301:301=';',<';'>,9:17] +[@47,351:351='F',,10:6] +[@48,352:352='(',<'('>,10:7] +[@49,353:356='base',<'base'>,10:8] +[@50,357:357='.',<'.'>,10:12] +[@51,358:358='G',,10:13] +[@52,359:359='<',<'<'>,10:14] +[@53,360:360='A',,10:15] +[@54,361:361=',',<','>,10:16] +[@55,363:363='B',,10:18] +[@56,364:364='>',<'>'>,10:19] +[@57,365:365='7',,10:20] +[@58,366:366=')',<')'>,10:21] +[@59,367:367=';',<';'>,10:22] +[@60,387:387='F',,11:6] +[@61,388:388='(',<'('>,11:7] +[@62,389:389='G',,11:8] +[@63,390:390='<',<'<'>,11:9] +[@64,391:391='A',,11:10] +[@65,392:392=',',<','>,11:11] +[@66,394:394='B',,11:13] +[@67,395:395='>',<'>'>,11:14] +[@68,396:396='>',<'>'>,11:15] +[@69,397:397='7',,11:16] +[@70,398:398=')',<')'>,11:17] +[@71,399:399=';',<';'>,11:18] +[@72,424:424='x',,13:6] +[@73,426:426='=',<'='>,13:8] +[@74,428:428='F',,13:10] +[@75,429:429='<',<'<'>,13:11] +[@76,430:430='A',,13:12] +[@77,431:431='>',<'>'>,13:13] +[@78,433:433='+',<'+'>,13:15] +[@79,435:435='y',,13:17] +[@80,436:436=';',<';'>,13:18] +[@81,644:644='x',,17:6] +[@82,646:646='=',<'='>,17:8] +[@83,648:648='y',,17:10] +[@84,650:651='is',<'is'>,17:12] +[@85,653:653='C',,17:15] +[@86,654:654='<',<'<'>,17:16] +[@87,655:655='T',,17:17] +[@88,656:656='>',<'>'>,17:18] +[@89,658:659='&&',<'&&'>,17:20] +[@90,661:661='z',,17:23] +[@91,662:662=';',<';'>,17:24] +[@92,735:737='var',<'var'>,19:6] +[@93,739:739='v',,19:10] +[@94,741:741='=',<'='>,19:12] +[@95,743:743='(',<'('>,19:14] +[@96,744:744='A',,19:15] +[@97,746:746='<',<'<'>,19:17] +[@98,748:748='B',,19:19] +[@99,749:749=',',<','>,19:20] +[@100,751:751='C',,19:22] +[@101,752:752=')',<')'>,19:23] +[@102,753:753=';',<';'>,19:24] +[@103,762:764='var',<'var'>,21:6] +[@104,766:766='v',,21:10] +[@105,768:768='=',<'='>,21:12] +[@106,770:770='(',<'('>,21:14] +[@107,771:771='A',,21:15] +[@108,773:773='<',<'<'>,21:17] +[@109,775:775='B',,21:19] +[@110,776:776=',',<','>,21:20] +[@111,778:778='C',,21:22] +[@112,780:780='>',<'>'>,21:24] +[@113,782:782='D',,21:26] +[@114,783:783=')',<')'>,21:27] +[@115,784:784=';',<';'>,21:28] +[@116,848:850='var',<'var'>,23:6] +[@117,852:852='v',,23:10] +[@118,854:854='=',<'='>,23:12] +[@119,856:856='(',<'('>,23:14] +[@120,857:857='A',,23:15] +[@121,858:858='<',<'<'>,23:16] +[@122,859:859='B',,23:17] +[@123,860:860=',',<','>,23:18] +[@124,861:861='C',,23:19] +[@125,862:862='>',<'>'>,23:20] +[@126,864:864='D',,23:22] +[@127,865:865=',',<','>,23:23] +[@128,867:867='E',,23:25] +[@129,868:868=')',<')'>,23:26] +[@130,869:869=';',<';'>,23:27] +[@131,1000:1002='var',<'var'>,26:6] +[@132,1004:1004='v',,26:10] +[@133,1006:1006='=',<'='>,26:12] +[@134,1008:1008='M',,26:14] +[@135,1009:1009='(',<'('>,26:15] +[@136,1010:1010='A',,26:16] +[@137,1012:1012='<',<'<'>,26:18] +[@138,1014:1014='B',,26:20] +[@139,1015:1015=',',<','>,26:21] +[@140,1017:1017='C',,26:23] +[@141,1019:1019='>',<'>'>,26:25] +[@142,1021:1021='D',,26:27] +[@143,1022:1022=',',<','>,26:28] +[@144,1024:1024='E',,26:30] +[@145,1025:1025=')',<')'>,26:31] +[@146,1026:1026=';',<';'>,26:32] +[@147,1067:1069='var',<'var'>,28:6] +[@148,1071:1071='v',,28:10] +[@149,1073:1073='=',<'='>,28:12] +[@150,1075:1075='M',,28:14] +[@151,1076:1076='(',<'('>,28:15] +[@152,1077:1079='out',<'out'>,28:16] +[@153,1081:1081='A',,28:20] +[@154,1082:1082='<',<'<'>,28:21] +[@155,1083:1083='B',,28:22] +[@156,1084:1084=',',<','>,28:23] +[@157,1085:1085='C',,28:24] +[@158,1086:1086='>',<'>'>,28:25] +[@159,1088:1088='D',,28:27] +[@160,1089:1089=',',<','>,28:28] +[@161,1091:1091='E',,28:30] +[@162,1092:1092=')',<')'>,28:31] +[@163,1093:1093=';',<';'>,28:32] +[@164,1213:1214='if',<'if'>,31:6] +[@165,1216:1216='(',<'('>,31:9] +[@166,1217:1217='e',,31:10] +[@167,1219:1220='is',<'is'>,31:12] +[@168,1222:1222='A',,31:15] +[@169,1223:1223='<',<'<'>,31:16] +[@170,1224:1224='B',,31:17] +[@171,1225:1225='>',<'>'>,31:18] +[@172,1227:1227='C',,31:20] +[@173,1228:1228=')',<')'>,31:21] +[@174,1278:1278='W',,32:9] +[@175,1279:1279='(',<'('>,32:10] +[@176,1280:1280='C',,32:11] +[@177,1281:1281=')',<')'>,32:12] +[@178,1282:1282=';',<';'>,32:13] +[@179,1291:1292='if',<'if'>,34:6] +[@180,1294:1294='(',<'('>,34:9] +[@181,1295:1295='e',,34:10] +[@182,1297:1298='is',<'is'>,34:12] +[@183,1300:1300='A',,34:15] +[@184,1301:1301='<',<'<'>,34:16] +[@185,1302:1302='B',,34:17] +[@186,1303:1303='>',<'>'>,34:18] +[@187,1304:1304=')',<')'>,34:19] +[@188,1340:1340='W',,35:9] +[@189,1341:1341='(',<'('>,35:10] +[@190,1342:1342='C',,35:11] +[@191,1343:1343=')',<')'>,35:12] +[@192,1344:1344=';',<';'>,35:13] +[@193,1353:1358='switch',<'switch'>,37:6] +[@194,1360:1360='(',<'('>,37:13] +[@195,1361:1361='x',,37:14] +[@196,1362:1362=')',<')'>,37:15] +[@197,1370:1370='{',<'{'>,38:6] +[@198,1381:1384='case',<'case'>,39:9] +[@199,1386:1386='A',,39:14] +[@200,1387:1387='<',<'<'>,39:15] +[@201,1388:1388='B',,39:16] +[@202,1389:1389='>',<'>'>,39:17] +[@203,1391:1391='C',,39:19] +[@204,1392:1392=':',<':'>,39:20] +[@205,1446:1448='var',<'var'>,40:12] +[@206,1450:1450='z',,40:16] +[@207,1452:1452='=',<'='>,40:18] +[@208,1454:1454='C',,40:20] +[@209,1455:1455=';',<';'>,40:21] +[@210,1469:1473='break',<'break'>,41:12] +[@211,1474:1474=';',<';'>,41:17] +[@212,1482:1482='}',<'}'>,42:6] +[@213,1491:1493='var',<'var'>,44:6] +[@214,1495:1495='p',,44:10] +[@215,1497:1497='=',<'='>,44:12] +[@216,1499:1499='x',,44:14] +[@217,1501:1502='is',<'is'>,44:16] +[@218,1504:1504='A',,44:19] +[@219,1505:1505='<',<'<'>,44:20] +[@220,1506:1506='B',,44:21] +[@221,1507:1507='>',<'>'>,44:22] +[@222,1508:1508='>',<'>'>,44:23] +[@223,1509:1509='C',,44:24] +[@224,1510:1510=';',<';'>,44:25] +[@225,1546:1548='var',<'var'>,45:6] +[@226,1550:1550='q',,45:10] +[@227,1552:1552='=',<'='>,45:12] +[@228,1554:1554='A',,45:14] +[@229,1555:1555='<',<'<'>,45:15] +[@230,1556:1556='B',,45:16] +[@231,1557:1557='>',<'>'>,45:17] +[@232,1558:1558='>',<'>'>,45:18] +[@233,1559:1559='C',,45:19] +[@234,1560:1560=';',<';'>,45:20] +[@235,1598:1600='var',<'var'>,46:6] +[@236,1602:1602='r',,46:10] +[@237,1604:1604='=',<'='>,46:12] +[@238,1606:1606='(',<'('>,46:14] +[@239,1607:1607='x',,46:15] +[@240,1609:1610='is',<'is'>,46:17] +[@241,1612:1612='A',,46:20] +[@242,1613:1613='<',<'<'>,46:21] +[@243,1614:1614='B',,46:22] +[@244,1615:1615='>',<'>'>,46:23] +[@245,1616:1616=')',<')'>,46:24] +[@246,1617:1617='>',<'>'>,46:25] +[@247,1618:1618='C',,46:26] +[@248,1619:1619=';',<';'>,46:27] +[@249,1653:1655='var',<'var'>,47:6] +[@250,1657:1657='s',,47:10] +[@251,1659:1659='=',<'='>,47:12] +[@252,1661:1661='x',,47:14] +[@253,1663:1664='is',<'is'>,47:16] +[@254,1666:1666='A',,47:19] +[@255,1667:1667='<',<'<'>,47:20] +[@256,1668:1668='B',,47:21] +[@257,1669:1669='>',<'>'>,47:22] +[@258,1671:1677='orderby',<'orderby'>,47:24] +[@259,1678:1678=';',<';'>,47:31] +[@260,1728:1728='}',<'}'>,48:3] +[@261,1730:1730='}',<'}'>,49:0] +[@262,1731:1730='',,49:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.red.txt index 760d289bc..c70454c9a 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (class_declaration class (identifier TypeArgumentListChecks) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier TypeArgumentListChecks)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (invocation_expression (primary_expression (simple_name (identifier G) (type_argument_list < (type_arguments (type_argument (identifier A)) , (type_argument (identifier B))) >))) ( (argument_list (literal 7)) ))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (invocation_expression (primary_expression (base_access base . (identifier G) (type_argument_list < (type_arguments (type_argument (identifier A)) , (type_argument (identifier B))) >))) ( (argument_list (literal 7)) ))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (argument (relational_expression (relational_expression (identifier G)) < (shift_expression (identifier A)))) , (argument (relational_expression (relational_expression (identifier B)) > (shift_expression (literal 7))))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (argument (relational_expression (relational_expression (base_access base . (identifier G))) < (shift_expression (identifier A)))) , (argument (relational_expression (relational_expression (identifier B)) > (shift_expression (literal 7))))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (argument (relational_expression (relational_expression (identifier G)) < (shift_expression (identifier A)))) , (argument (shift_expression (shift_expression (identifier B)) (right_shift > >) (additive_expression (literal 7))))) ))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier x)) (assignment_operator =) (expression (relational_expression (relational_expression (relational_expression (identifier F)) < (shift_expression (identifier A))) > (shift_expression (unary_expression + (unary_expression (identifier y)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier x)) (assignment_operator =) (expression (relational_expression (relational_expression (identifier y)) is (pattern (conditional_and_expression (conditional_and_expression (simple_name (identifier C) (type_argument_list < (type_arguments (identifier T)) >))) && (inclusive_or_expression (identifier z)))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (tuple_expression ( (tuple_element (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (tuple_element (identifier C)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (tuple_expression ( (tuple_element (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (tuple_element (relational_expression (relational_expression (identifier C)) > (shift_expression (identifier D)))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) (identifier D))) , (tuple_element (identifier E)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (argument (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (argument (relational_expression (relational_expression (identifier C)) > (shift_expression (identifier D)))) , (argument (identifier E))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) (identifier D))))) , (argument (identifier E))) )))))) ;)) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier e)) is (pattern (declaration_pattern (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >))) (simple_designation (identifier C)))))) ) (embedded_statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier W)) ( (argument_list (identifier C)) ))) ;)))) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier e)) is (pattern (simple_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >))))) ) (embedded_statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier W)) ( (argument_list (identifier C)) ))) ;)))) (statement (switch_statement switch ( (expression (identifier x)) ) (switch_block { (switch_section (switch_label case (pattern (declaration_pattern (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >))) (simple_designation (identifier C)))) :) (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier z) = (expression (identifier C))))) ;)) (statement (break_statement break ;)))) })))) })))) })))) +(prog (compilation_unit (class_declaration class (identifier TypeArgumentListChecks) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier TypeArgumentListChecks)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (invocation_expression (primary_expression (simple_name (identifier G) (type_argument_list < (type_arguments (type_argument (identifier A)) , (type_argument (identifier B))) >))) ( (argument_list (literal 7)) ))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (invocation_expression (primary_expression (base_access base . (identifier G) (type_argument_list < (type_arguments (type_argument (identifier A)) , (type_argument (identifier B))) >))) ( (argument_list (literal 7)) ))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (argument (relational_expression (relational_expression (identifier G)) < (shift_expression (identifier A)))) , (argument (relational_expression (relational_expression (identifier B)) > (shift_expression (literal 7))))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (argument (relational_expression (relational_expression (base_access base . (identifier G))) < (shift_expression (identifier A)))) , (argument (relational_expression (relational_expression (identifier B)) > (shift_expression (literal 7))))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (argument (relational_expression (relational_expression (identifier G)) < (shift_expression (identifier A)))) , (argument (shift_expression (shift_expression (identifier B)) (right_shift > >) (additive_expression (literal 7))))) ))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier x)) (assignment_operator =) (expression (relational_expression (relational_expression (relational_expression (identifier F)) < (shift_expression (identifier A))) > (shift_expression (unary_expression + (unary_expression (identifier y)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier x)) (assignment_operator =) (expression (conditional_and_expression (conditional_and_expression (relational_expression (relational_expression (identifier y)) is (type (namespace_or_type_name (identifier C) (type_argument_list < (type_arguments (identifier T)) >))))) && (inclusive_or_expression (identifier z)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (tuple_expression ( (tuple_element (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (tuple_element (identifier C)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (tuple_expression ( (tuple_element (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (tuple_element (relational_expression (relational_expression (identifier C)) > (shift_expression (identifier D)))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) (identifier D))) , (tuple_element (identifier E)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (argument (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (argument (relational_expression (relational_expression (identifier C)) > (shift_expression (identifier D)))) , (argument (identifier E))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) (identifier D))))) , (argument (identifier E))) )))))) ;)) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier e)) is (pattern (declaration_pattern (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >))) (simple_designation (identifier C)))))) ) (embedded_statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier W)) ( (argument_list (identifier C)) ))) ;)))) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier e)) is (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >))))) ) (embedded_statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier W)) ( (argument_list (identifier C)) ))) ;)))) (statement (switch_statement switch ( (expression (identifier x)) ) (switch_block { (switch_section (switch_label case (pattern (declaration_pattern (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >))) (simple_designation (identifier C)))) :) (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier z) = (expression (identifier C))))) ;)) (statement (break_statement break ;)))) }))) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier p) = (expression (relational_expression (relational_expression (relational_expression (identifier x)) is (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >)))) > (shift_expression (identifier C))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier q) = (expression (relational_expression (relational_expression (identifier A)) < (shift_expression (shift_expression (identifier B)) (right_shift > >) (additive_expression (identifier C)))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier r) = (expression (relational_expression (relational_expression (parenthesized_expression ( (expression (relational_expression (relational_expression (identifier x)) is (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >))))) ))) > (shift_expression (identifier C))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s) = (expression (relational_expression (relational_expression (identifier x)) is (pattern (declaration_pattern (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >))) (simple_designation (contextual_keyword orderby))))))))) ;))) })))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.svg index ffd2e6840..85e25a729 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.svg @@ -1,26 +1,26 @@ - - - - - - - - - - - + + + + + + + + + + + - + - - - - - + + + + + @@ -52,7 +52,7 @@ - + @@ -86,7 +86,7 @@ - + @@ -116,7 +116,7 @@ - + @@ -149,7 +149,7 @@ - + @@ -181,7 +181,7 @@ - + @@ -208,2533 +208,3153 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -conditional_and_expression + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +base_access - - + + ; - - -relational_expression + + +expression - - -statement + + +invocation_expression - - -statement + + +, - - -< + + +inclusive_or_expression - - -implicitly_typed_local_variable_declarator + + +switch_section - - -v + + +, - - -statement + + +var - - -) + + +; - - -identifier + + +namespace_or_type_name - - + + identifier - - -argument_list - - - -G - - - -shift_expression + + +local_variable_declaration - - -identifier + + +( - - -shift_expression + + +assignment - - -identifier + + +B - - -statement + + +D - - -> + + +( - - -literal + + +7 - - + + identifier - - -expression + + +parenthesized_expression - - -implicitly_typed_local_variable_declarator + + +statement_expression - - -) + + +var - - -method_declaration + + +declaration_pattern - - -B + + += - - -identifier + + +argument - - -implicitly_typed_local_variable_declaration + + +declaration_pattern - - -} + + +type_argument_list - - -invocation_expression + + +relational_expression - - -identifier + + +< + + + +type_argument - - + + relational_expression - - -compilation_unit + + +> - - -identifier + + +C - - -> + + +statement - - -( + + +A - - -namespace_or_type_name + + +expression_statement - - -relational_expression + + +statement_expression - - -local_variable_declaration + + +primary_expression - - -M + + +implicitly_typed_local_variable_declarator - - -( + + += - - -z + + +> - - -x + + +orderby - - -statement + + +B - - -( + + += - - -identifier + + +relational_expression - - -argument + + +identifier - - -primary_expression + + +identifier - - -, + + +< - - -shift_expression + + +C - - -type_arguments + + +) - - -( + + +implicitly_typed_local_variable_declaration - - -local_variable_declaration + + +7 - - + + identifier - - -relational_expression + + += - - -G + + +contextual_keyword - - -statement_expression + + +F - - + + identifier - - -= + + +primary_expression + + + +) + + + +identifier + + + +, - - + + expression_statement - - -tuple_expression + + +statement - - -< + + +local_variable_declaration - - -{ + + +shift_expression - - -primary_expression + + +declaration_statement - - -B + + +x - - -type_argument + + +argument_list - - -implicitly_typed_local_variable_declaration + + +argument_list - - + + +} + + + +invocation_expression + + + B - - -E + + +statement - - -base + + +M - - -A + + +z - - -identifier + + +shift_expression - - -x + + +identifier - - -relational_expression + + +identifier - - -F + + +{ - - + + relational_expression - - -G - - - -> - - - -; - - - -is - - - -7 - - - -, - - - -identifier - - - + + ( - - -declaration_pattern - - - -namespace_or_type_name - - - + + identifier - - -( + + +out - - + + ( - - -, - - - -> - - - -expression - - - -simple_designation - - - -; - - - -G + + +relational_expression - - + + identifier - - -simple_name + + +declaration_statement - - -; + + +v - - -> + + +var - - -} + + +invocation_expression unary_expression - - -statement + + +shift_expression - - -relational_expression + + +base - - -( + + +identifier - - -class_body + + +C - - -A + + +implicitly_typed_local_variable_declaration - - -x + + +conditional_and_expression - - -declaration_statement + + +. - - -unary_expression + + +switch_label - - -C + + +type_arguments - - + + identifier - - -embedded_statement - - - -if - - - -7 + + +shift_expression - - + + identifier - - -F - - - -class + + +declaration_statement - - -) + + +identifier - - -expression + + +statement - - -relational_expression + + +class_member_declaration - - -literal + + +; - - -statement + + +type_arguments invocation_expression - - -( + + +statement_expression - - -embedded_statement + + +< - - -C + + +literal - - -argument + + +assignment_operator - - -relational_expression + + +A - - -; + + +identifier - - -C + + +E - - -7 + + +shift_expression - - -type_arguments + + +literal - - -statement_list + + +statement - - -relational_expression + + +base - - -A + + +pattern - - -literal + + +type - - -implicitly_typed_local_variable_declaration + + +relational_expression - - + + identifier - - -identifier + + +is - - + + +is + + + identifier - - + + identifier - - -method_header + + +declaration_statement - - -base_access + + +; - - -A + + +) - - -switch + + +< - - -shift_expression + + +; - - -switch_statement + + +tuple_element - - -expression + + +invocation_expression - - -type_argument_list + + +namespace_or_type_name - - -> + + +B - - -switch_label + + +&& - - + + identifier - - -tuple_element + + +namespace_or_type_name - - + + relational_expression - - -expression_statement + + +> - - -simple_designation + + +) + + + +identifier + + + +x - - + + M - - -< + + +tuple_expression - - -base_access + + +prog - - -statement + + +argument_list - - -expression + + +r - - -tuple_element + + +7 - - -expression + + ++ - - + + identifier - - -< + + +namespace_or_type_name - - -declaration_statement + + +identifier + + + +identifier + + + +shift_expression + + + +C + + + +statement - - + + +; + + + +implicitly_typed_local_variable_declarator + + + +implicitly_typed_local_variable_declarator + + + += + + + +argument_list + + + type_argument - - -statement_expression + + +type_argument_list - - -local_variable_declaration + + +expression + + + +type_arguments + + + +expression + + + +; + + + +invocation_expression A - - -tuple_element + + +> - - -var + + +B + + + +identifier + + + +primary_expression + + + +identifier - - + + +B + + + +identifier + + + +A + + + +implicitly_typed_local_variable_declarator + + + +method_declaration + + + +boolean_expression + + + +simple_name + + + +declaration_statement + + + +) + + + +T + + + +implicitly_typed_local_variable_declarator + + + +, + + + +embedded_statement + + + statement - - + + +7 + + + +x + + + +; + + + +; + + + +argument_list + + + ( - - -invocation_expression + + +( - - + + +right_shift + + + identifier - - + + +statement + + + +, + + + identifier - - -C + + +A - - -&& + + +implicitly_typed_local_variable_declaration - - -) + + +var + + + +primary_expression + + + +x + + + +F + + + +relational_expression + + + +, + + + +namespace_or_type_name - - + + identifier - - -( + + +local_variable_declaration - - + + shift_expression - - + + +D + + + +identifier + + + +7 + + + +relational_expression + + + +statement + + + +local_variable_declaration + + + +C + + + A - - + + +implicitly_typed_local_variable_declaration + + + +relational_expression + + + +C + + + argument - - + + +type + + + +case + + + +expression + + + identifier - - -argument + + +pattern - - + + primary_expression - - + + +; + + + relational_expression - - -pattern + + +declaration_expression + + + +primary_expression + + + +class_declaration - - + + identifier - - -y + + +expression_statement - - -return_type + + +implicitly_typed_local_variable_declaration - - + + ) - - -var + + +relational_expression - - -tuple_element + + +B - - -7 + + +v - - -identifier + + +type_arguments - - + + +G + + + expression_statement - - -statement + + +< - - + + +: + + + +, + + + +{ + + + +relational_expression + + + +var + + + +shift_expression + + + +z + + + +declaration_statement + + + +break + + + +implicitly_typed_local_variable_declaration + + + +s + + + identifier + + +invocation_expression + + + +assignment_operator + + + +> + + + += + G - - -shift_expression + + +implicitly_typed_local_variable_declarator + + + +simple_designation + + + +} + + + +relational_expression + + + +F + + + +TypeArgumentListChecks + + + +( + + + +G + + + +e + + + += + + + +F + + + +declaration_statement + + + +implicitly_typed_local_variable_declaration + + + +identifier + + + +identifier + + + +identifier + + + +type_argument_list + + + +method_modifiers + + + +conditional_and_expression + + + +identifier + + + +( + + + +< + + + +e + + + +invocation_expression + + + +namespace_or_type_name + + + +statement_expression + + + +identifier + + + +type_arguments + + + +, + + + +local_variable_type + + + +identifier + + + +class_body + + + +A literal - - -tuple_expression + + +> + + + +block + + + +unary_expression + + + +expression + + + +type_argument_list + + + +is + + + +literal + + + +primary_expression + + + +argument - - + + identifier - - + + < - - -< + + +identifier - - -declaration_expression + + +G - - -type_arguments + + +tuple_element + + + +invocation_expression + + + +A + + + +declaration_statement + + + +identifier + + + +implicitly_typed_local_variable_declarator + + + +argument + + + +( + + + +statement_expression + + + +, + + + +relational_expression + + + +; + + + +identifier + + + +statement_expression + + + +identifier - - -declaration_statement + + +relational_expression - - -argument_list + + +var - - -type_argument_list + + +method_header - - -statement_list + + +expression - - -statement + + +implicitly_typed_local_variable_declarator - - -relational_expression + + +primary_expression - - + + expression_statement - - -, - - - -local_variable_declaration + + +tuple_element - - -var + + +identifier - - -base + + +< - - + + declaration_statement - - -type_argument_list - - - -identifier + + +, - - + + identifier - - -D - - - + + < - - -implicitly_typed_local_variable_declarator - - - -C - - - -type - - - + + identifier - - -B + + +is - - -local_variable_type + + +C - - -simple_name + + +v - - -( + + +; - - -F + + +local_variable_declaration - - -invocation_expression + + +relational_expression - - -primary_expression + + +) - - -declaration_pattern + + +identifier - - -, + + +tuple_element - - -C + + +shift_expression - - -argument + + +> - - -identifier + + +statement - - -A + + +relational_expression - - -assignment_operator + + +declaration_statement - - -D + + +relational_expression - - -( + + +) - - -y + + +var - - -E + + +) - - -identifier + + +method_body - - -argument_list + + +primary_expression - - -type_argument_list + + +> additive_expression - - + + +identifier + + + relational_expression - - -> + + +declaration_pattern - - -identifier + + +argument_list - - -, + + +relational_expression - - -statement + + += - - -namespace_or_type_name + + +argument + + + +A - - + + type_argument_list - - -statement + + +C - - -argument_list + + +identifier - - + + +is + + + +A + + + relational_expression - - -, + + +D - - -; + + +invocation_expression - - -; + + +return_type - - -unary_expression + + +implicitly_typed_local_variable_declarator - - -argument_list + + +< - - -declaration_statement + + +namespace_or_type_name - - -F + + +boolean_expression - - -identifier + + +. - - -member_name + + +statement - - -< + + +compilation_unit - - -type_argument_list + + +implicitly_typed_local_variable_declaration - - + + identifier - - + + > - - -identifier + + +if_statement - - -> + + +( - - -relational_expression + + +W - - + + +A + + + statement - - -> + + +expression + + + +implicitly_typed_local_variable_declaration + + + +y + + + +) invocation_expression - - -argument_list + + +identifier - - + + +identifier + + + +identifier + + + +> + + + +( + + + A - - -statement_expression + + +identifier - - -E + + +( + + + +type_arguments + + + +relational_expression + + + +statement - - -shift_expression + + +F - - + + B - - -invocation_expression - - - -right_shift + + +identifier - - -) + + +> - - -TypeArgumentListChecks + + +argument - - -argument_list + + +relational_expression - - -= + + +additive_expression - - -out + + +; - - -A + + +> - - -implicitly_typed_local_variable_declaration + + +argument_list - - -v + + +C - - -expression_statement + + +A - - + + identifier - - -identifier + + +tuple_element - - -relational_expression + + +type_argument_list - - + + < - - + + argument - - + + identifier - - -argument_list + + +argument_value - - + + shift_expression - - -B - - - -e - - - + + identifier - - -expression_statement - - - -argument + + +local_variable_declaration - - -if_statement + + +identifier - - -assignment_operator + + +y - - -> + + +) - - + + identifier - - -A - - - -W + + +statement - - -z + + +relational_expression - - -> + + +( - - -= + + +simple_designation - - + + identifier - - -relational_expression - - - -shift_expression + + +( - - -) + + +type_argument - - -argument_value + + += - - -type_arguments + + +class - - -C + + +< - - -is + + +statement_expression - - -< + + +; - - -. + + +switch_block - - -) + + +identifier - - -local_variable_declaration + + +; - - -< + + +relational_expression - - -( + + +} - - -identifier + + +base_access - - -: + + +tuple_expression - - -primary_expression + + +identifier - - -type_argument + + +; - - -prog + + +simple_designation - - -literal + + +break_statement - - -implicitly_typed_local_variable_declaration + + +type_argument_list - - + + expression_statement - - -statement + + +pattern - - -C + + +identifier - - -class_member_declaration + + +shift_expression - - + + type_argument - - -) + + +identifier - - -primary_expression + + +B - - -) + + +expression_statement - - -= + + +type_argument_list - - + + identifier - - + + expression_statement - - -< - - - -declaration_statement + + +namespace_or_type_name - - + + relational_expression - - -D + + +statement_list - - -; + + +> - - -argument + + +identifier - - -variable_reference + + +( - - -F + + +type - - -< + + +type_argument_list - - + + statement_expression - - -relational_expression + + +v - - -} + + +< - - -argument + + +is - - -identifier + + += - - + + declaration_expression - - -; + + +relational_expression - - + + +shift_expression + + + +identifier + + + < - - -relational_expression + + +x + + + +local_variable_declaration + + + +identifier + + + +shift_expression + + + +) + + + +identifier + + + +right_shift + + + +type + + + +D - - -shift_expression + + +; - - -, + + +x - - -A + + +implicitly_typed_local_variable_declaration - - -relational_expression + + +type_argument - - + + argument_list - - -B + + +namespace_or_type_name - - -C + + +G - - + + relational_expression - - -identifier + + +var - - -) + + +, - - + + identifier - - -; + + +argument - - -, + + +identifier - - -B + + +> - - -= + + +type_argument - - -identifier + + +( - - -, + + +) + + + +( - - + + identifier - - -local_variable_type + + +variable_reference - - -conditional_and_expression + + +> - - -relational_expression + + +identifier - - -if + + +TypeArgumentListChecks - - -{ + + +argument_list - - -B + + +type_arguments - - -invocation_expression + + +expression - - -shift_expression + + +B - - -) + + +identifier - - -; + + +statement - - -pattern + + +switch_statement - - -identifier + + +primary_expression - - -pattern + + +E - - -statement_expression + + +shift_expression - - + + identifier - - + + identifier - - -A + + +expression + + + +) - - + + identifier - - -primary_expression + + +> - - + + F - - -type_argument_list - - - -argument + + +identifier - - -expression + + +identifier - - + + ) - - -class_declaration + + +B - - -boolean_expression + + +) - - -identifier + + +embedded_statement - - -invocation_expression + + +; - - -shift_expression + + +( - - -case + + +primary_expression - - + + relational_expression - - + + identifier - - -( + + +identifier - - -) + + +relational_expression - - -type_argument_list + + +literal - - + + shift_expression - - + + +var + + + statement - - -primary_expression + + +unary_expression - - -type_argument + + +type_argument_list - - -> + + +) - - -identifier + + +< - - -identifier + + +v - - -; + + +relational_expression - - -identifier + + +{ - - -local_variable_declaration + + +relational_expression - - -; + + +A - - -type_argument + + +C - - -identifier + + +< - - -identifier + + +switch - - + + relational_expression - - -+ + + +type - - -identifier + + +type - - -inclusive_or_expression + + +if_statement - - -. + + +type_arguments - - -tuple_element + + +) - - -A + + +C - - + + identifier - - -unary_expression + + +type_arguments - - -B + + +; - - -) + + +; - - + + relational_expression - - -boolean_expression - - - -identifier + + +( - - -statement_expression + + +argument - - -block + + +assignment - - -identifier + + +E - - + + identifier - - -v + + +implicitly_typed_local_variable_declarator - - -method_body + + +argument - - -B + + +type_argument - - -relational_expression + + +var - - -type + + +A - - -is + + +type_argument - - + + , - - -( + + +expression - - -argument + + +statement - - -implicitly_typed_local_variable_declarator + + +expression_statement - - -( + + +A - - -, + + +C - - -< + + +identifier - - -invocation_expression + + +if - - -identifier + + +shift_expression - - -{ + + +if - - -namespace_or_type_name + + += - - -type_arguments + + +relational_expression - - -var + + +> - - -implicitly_typed_local_variable_declarator + + +shift_expression - - -statement_expression + + +local_variable_declaration - - -type_argument + + +void - - -argument_list + + +statement_list - - -implicitly_typed_local_variable_declaration + + +< - - -v + + +expression + + + +argument - - + + identifier - - -; + + +> - - -assignment + + +expression - - -statement_expression + + +type_arguments - - -switch_block + + +statement - - -e + + +tuple_expression - - -primary_expression + + +< - - -primary_expression + + +statement - - + + > - - -B - - - -statement_expression - - - -type_arguments + + +A - - -tuple_expression + + +B - - -= + + +unary_expression - - -implicitly_typed_local_variable_declarator + + +argument_list - - -switch_section + + +relational_expression - - -method_modifiers + + +> - - -invocation_expression + + +local_variable_declaration - - -var + + +> - - -) + + +tuple_element - - + + identifier - - -identifier + + +B - - + + type_arguments - - -D - - - + + identifier - - + + C - - -W + + +B - - + + +B + + + identifier - - -break + + +identifier - - + + relational_expression - - -pattern - - - -statement + + +> - - -argument_list + + +local_variable_declaration - - -if_statement + + +identifier - - -A + + +B - - -tuple_element + + +relational_expression - - + + expression - - -7 + + +B - - -= + + +argument_list - - -primary_expression + + +C - - -( + + +type - - -expression_statement + + += - - -identifier + + +statement_expression - - -T + + +statement - - + + +shift_expression + + + identifier - - -simple_name + + +member_name - - -shift_expression + + +statement - - -B + + +identifier + + + +local_variable_type - - + + , - - + + expression - - -) - - - -TypeArgumentListChecks - - - -type_argument + + +q - - -v + + +W - - -> + + +A - - -void + + +< - - -; + + +p - - -= + + +relational_expression - - -type_arguments + + +type_argument_list - - + + ) - - -assignment - - - -; - - - -invocation_expression - - - -C - - - -break_statement - - - -var - \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/sample.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/sample.cs index f4c429628..aa03d9671 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/sample.cs +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/sample.cs @@ -1,36 +1,36 @@ class TypeArgumentListChecks { void TypeArgumentListChecks() - { + { F(G(7)); // a call to F with one argument, which is a call to a generic // method G with two type arguments and one regular argument F(base.G(7)); // ditto - + F(G7); // a call to F with two arguments F(base.G7); // ditto - F(G>7); // ditto - + F(G>7); // ditto + x = F + y; // a less-than operator, greater-than operator and unary-plus // operator, as if the statement had been written: // x = (F < A) > (+y) - + x = y is C && z; // a namespace_or_type_name with a type_argument_list - - var v = (A < B, C); - + + var v = (A < B, C); + var v = (A < B, C > D); // a tuple with two elements, each a comparison. - + var v = (A D, E); // tuple with two elements, the first of which is // a declaration expression. var v = M(A < B, C > D, E); // call with three arguments. - + var v = M(out A D, E); // call with two arguments, the first of which is // an out declaration. - + if (e is A C) // a declaration pattern. W(C); - + if (e is A) // a type W(C); @@ -41,5 +41,9 @@ void TypeArgumentListChecks() break; } + var p = x is A>C; // (x is A) > C + var q = A>C; // A < (B >> C) + var r = (x is A)>C; // (x is A) > C + var s = x is A orderby; // declaration pattern defining `orderby` } } \ No newline at end of file From 85d9c741ecbc865a63e5372c88b004df4f19e443 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Mar 2025 16:40:22 -0400 Subject: [PATCH 227/259] Bump System.Text.Json from 9.0.2 to 9.0.3 in /tools in the dotnet group (#1288) Bumps the dotnet group in /tools with 1 update: [System.Text.Json](https://github.com/dotnet/runtime). Updates `System.Text.Json` from 9.0.2 to 9.0.3 - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](https://github.com/dotnet/runtime/compare/v9.0.2...v9.0.3) --- updated-dependencies: - dependency-name: System.Text.Json dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/Utilities/Utilities.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/Utilities/Utilities.csproj b/tools/Utilities/Utilities.csproj index f373b8a68..e8be2ed2b 100644 --- a/tools/Utilities/Utilities.csproj +++ b/tools/Utilities/Utilities.csproj @@ -8,7 +8,7 @@ - + From f0951ae6e91cf175555c6a84bf81d266a32c353c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Mar 2025 16:40:52 -0400 Subject: [PATCH 228/259] Bump peter-evans/create-pull-request from 7.0.7 to 7.0.8 (#1282) Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 7.0.7 to 7.0.8. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v7.0.7...v7.0.8) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/smart-quotes.yaml | 2 +- .github/workflows/update-on-merge.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/smart-quotes.yaml b/.github/workflows/smart-quotes.yaml index 5403d28b9..60fee2a3a 100644 --- a/.github/workflows/smart-quotes.yaml +++ b/.github/workflows/smart-quotes.yaml @@ -37,7 +37,7 @@ jobs: shell: bash - name: Create pull request - uses: peter-evans/create-pull-request@v7.0.7 + uses: peter-evans/create-pull-request@v7.0.8 with: title: 'Run smarten on demand' body: 'Run the smarten action to create smart quotes' \ No newline at end of file diff --git a/.github/workflows/update-on-merge.yaml b/.github/workflows/update-on-merge.yaml index 48090dd38..084cf86e7 100644 --- a/.github/workflows/update-on-merge.yaml +++ b/.github/workflows/update-on-merge.yaml @@ -56,7 +56,7 @@ jobs: shell: bash - name: Create pull request - uses: peter-evans/create-pull-request@v7.0.7 + uses: peter-evans/create-pull-request@v7.0.8 if: ${{ steps.renumber-sections.outputs.status }} == 'success' && ${{ steps.update-grammar.outputs.status }} == 'success' with: title: "Automated Section renumber and grammar extraction" From bebc6008d2a7868d5b041b72f3b0af96602b9830 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Mar 2025 15:59:01 -0400 Subject: [PATCH 229/259] Bump actions/setup-node from 4.2.0 to 4.3.0 (#1293) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.2.0 to 4.3.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a...cdca7365b2dadb8aad0a33bc7601856ffabcc48e) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/markdownlint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/markdownlint.yml b/.github/workflows/markdownlint.yml index afaf246d2..9f0016edc 100644 --- a/.github/workflows/markdownlint.yml +++ b/.github/workflows/markdownlint.yml @@ -30,7 +30,7 @@ jobs: steps: - uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2 - name: Use Node.js - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a + uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e with: node-version: 16.x - name: Run Markdownlint From 143bdc05c1d48d881ccf52639817545d20df41db Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Mon, 10 Mar 2025 14:24:13 +1300 Subject: [PATCH 230/259] =?UTF-8?q?Addresses=20issue=20#1283.=20Updates=20?= =?UTF-8?q?=C2=A76.2.5=20as=20per=20issue=20and=20also=20changes=20the=20d?= =?UTF-8?q?escriptive=20style=20to=20the=20proscriptive=20requirement=20of?= =?UTF-8?q?=20the=20Standard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- standard/expressions.md | 2 +- standard/lexical-structure.md | 96 ++++++++++++++++++++--------------- 2 files changed, 55 insertions(+), 43 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index d87c5338b..2c7bc5a03 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -4161,7 +4161,7 @@ equality_expression ; ``` -> *Note*: Lookup for the right operand of the `is` operator must first test as a *type*, then as an *expression* which may span multiple tokens. In the case where the operand is an *expreesion*, the pattern expression must have precedence at least as high as *shift_expression*. *end note* +> *Note*: Lookup for the right operand of the `is` operator must first test as a *type*, then as an *expression* which may span multiple tokens. In the case where the operand is an *expression*, the pattern expression must have precedence at least as high as *shift_expression*. *end note* The `is` operator is described in [§12.12.12](expressions.md#121212-the-is-operator) and the `as` operator is described in [§12.12.13](expressions.md#121213-the-as-operator). diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index 49c0a1008..3c2bab45a 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -52,7 +52,18 @@ Every compilation unit in a C# program shall conform to the *compilation_unit* ### 6.2.5 Grammar ambiguities -The productions for *simple_name* ([§12.8.4](expressions.md#1284-simple-names)) and *member_access* ([§12.8.7](expressions.md#1287-member-access)) can give rise to ambiguities in the grammar for expressions. +The productions for: + +- *simple_name* ([§12.8.4](expressions.md#1284-simple-names)), +- *member_access* ([§12.8.7](expressions.md#1287-member-access)), +- *null_conditional_member_access* ([§12.8.8](expressions.md#1288-null-conditional-member-access)), +- *dependent_access* ([§12.8.8](expressions.md#1288-dependent-access)), +- *base_access* ([§12.8.15](expressions.md#12815-base-access)) and +- *pointer_member_access* ([§23.6.3](unsafe-code.md#2363-pointer-member-access)); + +(the “disambiguated productions”) can give rise to ambiguities in the grammar for expressions. + +These productions occur in contexts where a value can occur in an expression, and have one or more alternatives that end with the grammar “`identifier type_argument_list?`”. It is the optional *type_argument_list* which results in the possible ambiguity. > *Example*: The statement: > @@ -65,16 +76,17 @@ The productions for *simple_name* ([§12.8.4](expressions.md#1284-simple-names)) > > *end example* -If a sequence of tokens can be parsed (in context) as a *simple_name* ([§12.8.4](expressions.md#1284-simple-names)), *member_access* ([§12.8.7](expressions.md#1287-member-access)), or *pointer_member_access* ([§23.6.3](unsafe-code.md#2363-pointer-member-access)) ending with a *type_argument_list* ([§8.4.2](types.md#842-type-arguments)), the token immediately following the closing `>` token is examined, to see if it is +If a sequence of tokens can be parsed, in context, as one of the disambiguated productions +including an optional *type_argument_list* ([§8.4.2](types.md#842-type-arguments)), then +the token immediately following the closing `>` token shall be examined and if it is: -- One of `( ) ] } : ; , . ? == != | ^ && || & [`; or -- One of the relational operators `< <= >= is as`; or -- A contextual query keyword appearing inside a query expression; or -- In certain contexts, *identifier* is treated as a disambiguating token. Those contexts are where the sequence of tokens being disambiguated is immediately preceded by one of the keywords `is`, `case` or `out`, or arises while parsing the first element of a tuple literal (in which case the tokens are preceded by `(` or `:` and the identifier is followed by a `,`) or a subsequent element of a tuple literal. +- one of `( ) ] } : ; , . ? == != | ^ && || & [`; or +- one of the relational operators `< <= >= is as`; or +- a contextual query keyword appearing inside a query expression. -If the following token is among this list, or an identifier in such a context, then the *type_argument_list* is retained as part of the *simple_name*, *member_access* or *pointer_member-access* and any other possible parse of the sequence of tokens is discarded. Otherwise, the *type_argument_list* is not considered to be part of the *simple_name*, *member_access* or *pointer_member_access*, even if there is no other possible parse of the sequence of tokens. +then the *type_argument_list* shall be retained as part of the disambiguated production and any other possible parse of the sequence of tokens discarded. Otherwise, the tokens parsed as a *type_argument_list* shall not be considered to be part of the disambiguated production, even if there is no other possible parse of those tokens. -> *Note*: These rules are not applied when parsing a *type_argument_list* in a *namespace_or_type_name* ([§7.8](basic-concepts.md#78-namespace-and-type-names)). *end note* +> *Note*: These disambiguation rules shall not be applied when parsing other productions even if they similarly end in “`identifier type_argument_list?`”; such productions shall be parsed as normal. Examples include: *namespace_or_type_name* ([§7.8](basic-concepts.md#78-namespace-and-type-names)); *named_entity* ([§12.8.23](expressions.md#12823-named-entity)); *null_conditional_projection_initializer* ([§12.8.8](expressions.md#§1288-null_conditional-projection-initializer)); and *qualified_alias_member* ([§14.8.1](namespaces.md#1481-qualified-alias-member)). *end note* @@ -124,7 +136,7 @@ If the following token is among this list, or an identifier in such a context, t > > *end example* -When recognising a *relational_expression* ([§12.12.1](expressions.md#12121-general)) if both the “*relational_expression* `is` *type*” and “*relational_expression* `is` *constant_pattern*” alternatives are applicable, and *type* resolves to an accessible type, then the “*relational_expression* `is` *type*” alternative shall be chosen. +When recognising a *relational_expression* ([§12.12.1](expressions.md#12121-general)) if both the “*relational_expression* `is` *type*” and “*relational_expression* `is` *pattern*” alternatives are applicable, and *type* resolves to an accessible type, then the “*relational_expression* `is` *type*” alternative shall be chosen. ## 6.3 Lexical analysis @@ -189,7 +201,7 @@ Line terminators divide the characters of a C# compilation unit into lines. ```ANTLR New_Line : New_Line_Character - | '\u000D\u000A' // carriage return, line feed + | '\u000D\u000A' // carriage return, line feed ; ``` @@ -262,7 +274,7 @@ fragment Input_Character // anything but New_Line_Character : ~('\u000D' | '\u000A' | '\u0085' | '\u2028' | '\u2029') ; - + fragment New_Line_Character : '\u000D' // carriage return | '\u000A' // line feed @@ -270,11 +282,11 @@ fragment New_Line_Character | '\u2028' // line separator | '\u2029' // paragraph separator ; - + fragment Delimited_Comment : '/*' Delimited_Comment_Section* ASTERISK+ '/' ; - + fragment Delimited_Comment_Section : SLASH | ASTERISK* Not_Slash_Or_Asterisk @@ -428,7 +440,7 @@ fragment Available_Identifier fragment Escaped_Identifier // Includes keywords and contextual keywords prefixed by '@'. // See note below. - : '@' Basic_Identifier + : '@' Basic_Identifier ; fragment Basic_Identifier @@ -664,16 +676,16 @@ fragment Decimal_Integer_Literal fragment Decorated_Decimal_Digit : '_'* Decimal_Digit ; - + fragment Decimal_Digit : '0'..'9' ; - + fragment Integer_Type_Suffix : 'U' | 'u' | 'L' | 'l' | 'UL' | 'Ul' | 'uL' | 'ul' | 'LU' | 'Lu' | 'lU' | 'lu' ; - + fragment Hexadecimal_Integer_Literal : ('0x' | '0X') Decorated_Hex_Digit+ Integer_Type_Suffix? ; @@ -681,11 +693,11 @@ fragment Hexadecimal_Integer_Literal fragment Decorated_Hex_Digit : '_'* Hex_Digit ; - + fragment Hex_Digit : '0'..'9' | 'A'..'F' | 'a'..'f' ; - + fragment Binary_Integer_Literal : ('0b' | '0B') Decorated_Binary_Digit+ Integer_Type_Suffix? ; @@ -693,7 +705,7 @@ fragment Binary_Integer_Literal fragment Decorated_Binary_Digit : '_'* Binary_Digit ; - + fragment Binary_Digit : '0' | '1' ; @@ -723,14 +735,14 @@ To permit the smallest possible `int` and `long` values to be written as integer > 1_2__3___4____5 // decimal, int > _123 // not a numeric literal; identifier due to leading _ > 123_ // invalid; no trailing _allowed -> +> > 0xFf // hex, int > 0X1b_a0_44_fEL // hex, long > 0x1ade_3FE1_29AaUL // hex, ulong > 0x_abc // hex, int > _0x123 // not a numeric literal; identifier due to leading _ > 0xabc_ // invalid; no trailing _ allowed -> +> > 0b101 // binary, int > 0B1001_1010u // binary, uint > 0b1111_1111_0000UL // binary, ulong @@ -774,7 +786,7 @@ If no *Real_Type_Suffix* is specified, the type of the *Real_Literal* is `double - A real literal suffixed by `D` or `d` is of type `double`. > *Example*: The literals `1d`, `1.5d`, `1e10d`, and `123.456D` are all of type `double`. *end example* - A real literal suffixed by `M` or `m` is of type `decimal`. - > *Example*: The literals `1m`, `1.5m`, `1e10m`, and `123.456M` are all of type `decimal`. *end example* + > *Example*: The literals `1m`, `1.5m`, `1e10m`, and `123.456M` are all of type `decimal`. *end example* This literal is converted to a `decimal` value by taking the exact value, and, if necessary, rounding to the nearest representable value using banker’s rounding ([§8.3.8](types.md#838-the-decimal-type)). Any scale apparent in the literal is preserved unless the value is rounded. > *Note*: Hence, the literal `2.900m` will be parsed to form the `decimal` with sign `0`, coefficient `2900`, and scale `3`. *end note* @@ -812,24 +824,24 @@ A character literal represents a single character, and consists of a character i Character_Literal : '\'' Character '\'' ; - + fragment Character : Single_Character | Simple_Escape_Sequence | Hexadecimal_Escape_Sequence | Unicode_Escape_Sequence ; - + fragment Single_Character // anything but ', \, and New_Line_Character : ~['\\\u000D\u000A\u0085\u2028\u2029] ; - + fragment Simple_Escape_Sequence : '\\\'' | '\\"' | '\\\\' | '\\0' | '\\a' | '\\b' | '\\f' | '\\n' | '\\r' | '\\t' | '\\v' ; - + fragment Hexadecimal_Escape_Sequence : '\\x' Hex_Digit Hex_Digit? Hex_Digit? Hex_Digit? ; @@ -890,11 +902,11 @@ String_Literal : Regular_String_Literal | Verbatim_String_Literal ; - + fragment Regular_String_Literal : '"' Regular_String_Literal_Character* '"' ; - + fragment Regular_String_Literal_Character : Single_Regular_String_Literal_Character | Simple_Escape_Sequence @@ -910,16 +922,16 @@ fragment Single_Regular_String_Literal_Character fragment Verbatim_String_Literal : '@"' Verbatim_String_Literal_Character* '"' ; - + fragment Verbatim_String_Literal_Character : Single_Verbatim_String_Literal_Character | Quote_Escape_Sequence ; - + fragment Single_Verbatim_String_Literal_Character : ~["] // anything but quotation mark (U+0022) ; - + fragment Quote_Escape_Sequence : '""' ; @@ -1102,7 +1114,7 @@ Pre-processing directives are not part of the syntactic grammar of C#. However, > #endif > #if B > void H() {} -> #else +> #else > void I() {} > #endif > } @@ -1155,11 +1167,11 @@ Pre-processing expressions can occur in `#if` and `#elif` directives. The operat fragment PP_Expression : PP_Whitespace? PP_Or_Expression PP_Whitespace? ; - + fragment PP_Or_Expression : PP_And_Expression (PP_Whitespace? '||' PP_Whitespace? PP_And_Expression)* ; - + fragment PP_And_Expression : PP_Equality_Expression (PP_Whitespace? '&&' PP_Whitespace? PP_Equality_Expression)* @@ -1169,12 +1181,12 @@ fragment PP_Equality_Expression : PP_Unary_Expression (PP_Whitespace? ('==' | '!=') PP_Whitespace? PP_Unary_Expression)* ; - + fragment PP_Unary_Expression : PP_Primary_Expression | '!' PP_Whitespace? PP_Unary_Expression ; - + fragment PP_Primary_Expression : TRUE | FALSE @@ -1282,15 +1294,15 @@ fragment PP_Conditional fragment PP_If_Section : 'if' PP_Whitespace PP_Expression ; - + fragment PP_Elif_Section : 'elif' PP_Whitespace PP_Expression ; - + fragment PP_Else_Section : 'else' ; - + fragment PP_Endif : 'endif' ; @@ -1488,11 +1500,11 @@ fragment PP_Line_Indicator | DEFAULT | 'hidden' ; - + fragment PP_Compilation_Unit_Name : '"' PP_Compilation_Unit_Name_Character* '"' ; - + fragment PP_Compilation_Unit_Name_Character // Any Input_Character except " : ~('\u000D' | '\u000A' | '\u0085' | '\u2028' | '\u2029' | '"') From a2cd777f99e2b5f7f50bdbb3690e41ad3d00b4ed Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Mon, 10 Mar 2025 14:50:55 +1300 Subject: [PATCH 231/259] Fix x-refs. --- standard/lexical-structure.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index 3c2bab45a..da93a845e 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -57,7 +57,7 @@ The productions for: - *simple_name* ([§12.8.4](expressions.md#1284-simple-names)), - *member_access* ([§12.8.7](expressions.md#1287-member-access)), - *null_conditional_member_access* ([§12.8.8](expressions.md#1288-null-conditional-member-access)), -- *dependent_access* ([§12.8.8](expressions.md#1288-dependent-access)), +- *dependent_access* ([§12.8.8](expressions.md#1288-null-conditional-member-access)), - *base_access* ([§12.8.15](expressions.md#12815-base-access)) and - *pointer_member_access* ([§23.6.3](unsafe-code.md#2363-pointer-member-access)); @@ -86,7 +86,7 @@ the token immediately following the closing `>` token shall be examined and if then the *type_argument_list* shall be retained as part of the disambiguated production and any other possible parse of the sequence of tokens discarded. Otherwise, the tokens parsed as a *type_argument_list* shall not be considered to be part of the disambiguated production, even if there is no other possible parse of those tokens. -> *Note*: These disambiguation rules shall not be applied when parsing other productions even if they similarly end in “`identifier type_argument_list?`”; such productions shall be parsed as normal. Examples include: *namespace_or_type_name* ([§7.8](basic-concepts.md#78-namespace-and-type-names)); *named_entity* ([§12.8.23](expressions.md#12823-named-entity)); *null_conditional_projection_initializer* ([§12.8.8](expressions.md#§1288-null_conditional-projection-initializer)); and *qualified_alias_member* ([§14.8.1](namespaces.md#1481-qualified-alias-member)). *end note* +> *Note*: These disambiguation rules shall not be applied when parsing other productions even if they similarly end in “`identifier type_argument_list?`”; such productions shall be parsed as normal. Examples include: *namespace_or_type_name* ([§7.8](basic-concepts.md#78-namespace-and-type-names)); *named_entity* ([§12.8.23](expressions.md#12823-the-nameof-operator)); *null_conditional_projection_initializer* ([§12.8.8](expressions.md#§1288-null-conditional-member-access)); and *qualified_alias_member* ([§14.8.1](namespaces.md#1481-general)). *end note* From 36a6983219491c09161c5af0895abd8ba8351c72 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Mon, 10 Mar 2025 19:24:05 +1300 Subject: [PATCH 232/259] Fix x-refs. --- standard/lexical-structure.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/standard/lexical-structure.md b/standard/lexical-structure.md index da93a845e..cdc01ce91 100644 --- a/standard/lexical-structure.md +++ b/standard/lexical-structure.md @@ -76,9 +76,7 @@ These productions occur in contexts where a value can occur in an expression, an > > *end example* -If a sequence of tokens can be parsed, in context, as one of the disambiguated productions -including an optional *type_argument_list* ([§8.4.2](types.md#842-type-arguments)), then -the token immediately following the closing `>` token shall be examined and if it is: +If a sequence of tokens can be parsed, in context, as one of the disambiguated productions including an optional *type_argument_list* ([§8.4.2](types.md#842-type-arguments)), then the token immediately following the closing `>` token shall be examined and if it is: - one of `( ) ] } : ; , . ? == != | ^ && || & [`; or - one of the relational operators `< <= >= is as`; or @@ -86,7 +84,7 @@ the token immediately following the closing `>` token shall be examined and if then the *type_argument_list* shall be retained as part of the disambiguated production and any other possible parse of the sequence of tokens discarded. Otherwise, the tokens parsed as a *type_argument_list* shall not be considered to be part of the disambiguated production, even if there is no other possible parse of those tokens. -> *Note*: These disambiguation rules shall not be applied when parsing other productions even if they similarly end in “`identifier type_argument_list?`”; such productions shall be parsed as normal. Examples include: *namespace_or_type_name* ([§7.8](basic-concepts.md#78-namespace-and-type-names)); *named_entity* ([§12.8.23](expressions.md#12823-the-nameof-operator)); *null_conditional_projection_initializer* ([§12.8.8](expressions.md#§1288-null-conditional-member-access)); and *qualified_alias_member* ([§14.8.1](namespaces.md#1481-general)). *end note* +> *Note*: These disambiguation rules shall not be applied when parsing other productions even if they similarly end in “`identifier type_argument_list?`”; such productions shall be parsed as normal. Examples include: *namespace_or_type_name* ([§7.8](basic-concepts.md#78-namespace-and-type-names)); *named_entity* ([§12.8.23](expressions.md#12823-the-nameof-operator)); *null_conditional_projection_initializer* ([§12.8.8](expressions.md#1288-null-conditional-member-access)); and *qualified_alias_member* ([§14.8.1](namespaces.md#1481-general)). *end note* From 75ca5735f2d25425f558bd4b2066c33833089e2b Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Mon, 17 Mar 2025 14:36:16 +1300 Subject: [PATCH 233/259] [DTW.1] expression_list, query_body_clauses, type_parameters, variant_type_parameters --- standard/classes.md | 5 +- standard/expressions.md | 10 +- standard/interfaces.md | 10 +- ...OneNoPreprocessor-v6-part.gruntree.red.txt | 90 +- ...llInOneNoPreprocessor-v6-part.tree.red.txt | 2 +- .../AllInOneNoPreprocessor-v6-part.tree.svg | 11946 +++++------ ...OneNoPreprocessor-v6-part.gruntree.red.txt | 6 +- ...llInOneNoPreprocessor-v6-part.tree.red.txt | 2 +- .../AllInOneNoPreprocessor-v6-part.tree.svg | 4538 ++--- ...OneNoPreprocessor-v6-part.gruntree.red.txt | 352 +- ...llInOneNoPreprocessor-v6-part.tree.red.txt | 2 +- .../AllInOneNoPreprocessor-v6-part.tree.svg | 4720 +++-- ...OneNoPreprocessor-v6-part.gruntree.red.txt | 2 +- ...llInOneNoPreprocessor-v6-part.tree.red.txt | 2 +- .../AllInOneNoPreprocessor-v6-part.tree.svg | 2198 +- ...OneNoPreprocessor-v6-part.gruntree.red.txt | 2 +- ...llInOneNoPreprocessor-v6-part.tree.red.txt | 2 +- .../AllInOneNoPreprocessor-v6-part.tree.svg | 2758 +-- ...OneNoPreprocessor-v6-part.gruntree.red.txt | 48 +- ...llInOneNoPreprocessor-v6-part.tree.red.txt | 2 +- .../AllInOneNoPreprocessor-v6-part.tree.svg | 4586 +++-- ...OneNoPreprocessor-v6-part.gruntree.red.txt | 2 +- ...llInOneNoPreprocessor-v6-part.tree.red.txt | 2 +- .../AllInOneNoPreprocessor-v6-part.tree.svg | 1562 +- ...OneNoPreprocessor-v6-part.gruntree.red.txt | 21 +- ...llInOneNoPreprocessor-v6-part.tree.red.txt | 2 +- .../AllInOneNoPreprocessor-v6-part.tree.svg | 3191 ++- ...OneNoPreprocessor-v6-part.gruntree.red.txt | 4 +- ...llInOneNoPreprocessor-v6-part.tree.red.txt | 2 +- .../AllInOneNoPreprocessor-v6-part.tree.svg | 1332 +- ...AllInOneNoPreprocessor-v7.gruntree.red.txt | 4 +- .../AllInOneNoPreprocessor-v7.tree.red.txt | 2 +- .../AllInOneNoPreprocessor-v7.tree.svg | 16936 ++++++++-------- .../Reference/sample.gruntree.red.txt | 534 +- .../Reference/sample.tokens.txt | 254 +- .../Reference/sample.tree.red.txt | 2 +- .../Reference/sample.tree.svg | 2494 ++- 37 files changed, 28763 insertions(+), 28864 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index b503055f1..0eca0c933 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -148,12 +148,11 @@ A type parameter is a simple identifier that denotes a placeholder for a type ar ```ANTLR type_parameter_list - : '<' type_parameters '>' + : '<' decorated_type_parameter (',' decorated_type_parameter)* '>' ; -type_parameters +decorated_type_parameter : attributes? type_parameter - | type_parameters ',' attributes? type_parameter ; ``` diff --git a/standard/expressions.md b/standard/expressions.md index 2c7bc5a03..4db4572ab 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -2644,8 +2644,7 @@ element_initializer ; expression_list - : expression - | expression_list ',' expression + : expression (',' expression)* ; ``` @@ -5689,12 +5688,7 @@ from_clause ; query_body - : query_body_clauses? select_or_group_clause query_continuation? - ; - -query_body_clauses - : query_body_clause - | query_body_clauses query_body_clause + : query_body_clause* select_or_group_clause query_continuation? ; query_body_clause diff --git a/standard/interfaces.md b/standard/interfaces.md index 82a777a7a..8bafe9849 100644 --- a/standard/interfaces.md +++ b/standard/interfaces.md @@ -57,19 +57,13 @@ Variant type parameter lists can only occur on interface and delegate types. The ```ANTLR variant_type_parameter_list - : '<' variant_type_parameters '>' + : '<' variant_type_parameter (',' variant_type_parameter)* '>' ; -``` -```ANTLR -variant_type_parameters +variant_type_parameter : attributes? variance_annotation? type_parameter - | variant_type_parameters ',' attributes? variance_annotation? - type_parameter ; -``` -```ANTLR variance_annotation : 'in' | 'out' diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt index 7df8f3733..464e97a56 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -54,22 +54,22 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in @@ -110,59 +110,59 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt index bc148014d..be691db8c 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier A)) . (identifier B))) ;)) (namespace_member_declaration (interface_declaration interface (identifier CoContra) (variant_type_parameter_list < (variant_type_parameters (variant_type_parameters (variance_annotation out) (type_parameter (identifier T))) , (variance_annotation in) (type_parameter (identifier K))) >) (interface_body { }))) (namespace_member_declaration (delegate_declaration delegate (return_type void) (delegate_header (identifier CoContra2) (variant_type_parameter_list < (variant_type_parameters (variant_type_parameters (attributes (attribute_section [ (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Obsolete))) (attribute_arguments ( )))) ])) (variance_annotation out) (type_parameter (identifier T))) , (variance_annotation in) (type_parameter (identifier K))) >) ( ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint struct))) ;))) (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier DllImport)) (attribute_arguments ( (positional_argument_list (literal "kernel32")) , (named_argument_list (named_argument (identifier SetLastError) = (attribute_argument_expression (boolean_literal true)))) )))) ])) (method_modifiers (method_modifier (ref_method_modifier static)) (method_modifier (ref_method_modifier extern))) (return_type (simple_type bool)) (method_header (member_name (identifier CreateDirectory)) ( (parameter_list (fixed_parameters (fixed_parameter (type (class_type string)) (identifier name)) , (fixed_parameter (type (identifier SecurityAttribute)) (identifier sa)))) )) (method_body ;))) (class_member_declaration (constant_declaration (constant_modifier private) const (type (integral_type int)) (constant_declarators (constant_declarator (identifier (contextual_keyword global)) = (constant_expression (additive_expression (additive_expression (member_access (predefined_type int) . (identifier MinValue))) - (multiplicative_expression (literal 1)))))) ;)) (class_member_declaration (static_constructor_declaration (static_constructor_modifiers static) (identifier A) ( ) (static_constructor_body (block { })))) (class_member_declaration (constructor_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (labeled_statement (identifier L) : (statement (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (sizeof_expression sizeof ( (unmanaged_type (integral_type int)) ))))))) ;)) (statement (expression_statement (statement_expression (pre_increment_expression ++ (unary_expression (identifier i)))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s1) = (expression (interpolated_regular_string_expression 〔$"〕 〔x 〕 { (regular_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s2) = (expression (interpolated_verbatim_string_expression 〔$@"〕 〔x 〕 { (verbatim_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;))) })))) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Console)) . (identifier WriteLine))) ( (argument_list (member_access (primary_expression (member_access (primary_expression (identifier export)) . (identifier iefSupplied))) . (identifier command))) ))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local) = (constant_expression (member_access (predefined_type int) . (identifier MaxValue)))))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_reference_type (non_nullable_reference_type (identifier Guid)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local0) = (constant_expression (object_creation_expression new (type (identifier Guid)) ( (argument_list (invocation_expression (primary_expression (member_access (primary_expression (identifier r)) . (identifier ToString))) ( ))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier привет) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier мир) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword var)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier local3) = (local_variable_initializer (literal 0))) , (explicitly_typed_local_variable_declarator (identifier local4) = (local_variable_initializer (literal 1)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier local3)) (assignment_operator =) (expression (assignment (unary_expression (identifier local4)) (assignment_operator =) (expression (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local5) = (expression (null_coalescing_expression (conditional_or_expression (relational_expression (relational_expression (null_literal null)) as (type (identifier Action)))) ?? (null_coalescing_expression (null_literal null))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local6) = (expression (relational_expression (relational_expression (identifier local5)) is (type (identifier Action))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier u) = (expression (literal 1u))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier U) = (expression (literal 1U))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier hex) = (local_variable_initializer (literal 0xBADC0DE))) , (explicitly_typed_local_variable_declarator (identifier Hex) = (local_variable_initializer (literal 0XDEADBEEF))) , (explicitly_typed_local_variable_declarator (identifier l) = (local_variable_initializer (unary_expression - (unary_expression (literal 1L))))) , (explicitly_typed_local_variable_declarator (identifier L) = (local_variable_initializer (literal 1L))) , (explicitly_typed_local_variable_declarator (identifier l2) = (local_variable_initializer (literal 2l)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier ul) = (local_variable_initializer (literal 1ul))) , (explicitly_typed_local_variable_declarator (identifier Ul) = (local_variable_initializer (literal 1Ul))) , (explicitly_typed_local_variable_declarator (identifier uL) = (local_variable_initializer (literal 1uL))) , (explicitly_typed_local_variable_declarator (identifier UL) = (local_variable_initializer (literal 1UL))) , (explicitly_typed_local_variable_declarator (identifier lu) = (local_variable_initializer (literal 1lu))) , (explicitly_typed_local_variable_declarator (identifier Lu) = (local_variable_initializer (literal 1Lu))) , (explicitly_typed_local_variable_declarator (identifier lU) = (local_variable_initializer (literal 1lU))) , (explicitly_typed_local_variable_declarator (identifier LU) = (local_variable_initializer (literal 1LU)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt32Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 2147483648)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt64Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 9223372036854775808L)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (simple_type bool)) (explicitly_typed_local_variable_declarators (identifier @bool)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type byte)) (explicitly_typed_local_variable_declarators (identifier @byte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type char)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @char) = (local_variable_initializer (literal 'c'))) , (explicitly_typed_local_variable_declarator (identifier \u0066) = (local_variable_initializer (literal '\u0066'))) , (explicitly_typed_local_variable_declarator (identifier hexchar) = (local_variable_initializer (literal '\x0130'))) , (explicitly_typed_local_variable_declarator (identifier hexchar2) = (local_variable_initializer (cast_expression ( (type (integral_type char)) ) (unary_expression (literal 0xBAD)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier \U00000065) = (local_variable_initializer (literal "\U00000065")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (numeric_type decimal)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @decimal) = (local_variable_initializer (literal 1.44M)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @decimal)) (assignment_operator =) (expression (literal 1.2m)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (identifier @dynamic)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type double)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @double) = (local_variable_initializer (member_access (primary_expression (identifier M)) . (identifier PI))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1d)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1D)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (unary_expression - (unary_expression (literal 1.2e3)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type float)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @float) = (local_variable_initializer (literal 1.2f)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @float)) (assignment_operator =) (expression (literal 1.44F)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @int) = (local_variable_initializer (null_coalescing_expression (conditional_or_expression (identifier local)) ?? (null_coalescing_expression (unary_expression - (unary_expression (literal 1)))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (identifier @long)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type object)) (explicitly_typed_local_variable_declarators (identifier @object)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type sbyte)) (explicitly_typed_local_variable_declarators (identifier @sbyte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type short)) (explicitly_typed_local_variable_declarators (identifier @short)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @string) = (local_variable_initializer (literal @"""/*")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type uint)) (explicitly_typed_local_variable_declarators (identifier @uint)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (identifier @ulong)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ushort)) (explicitly_typed_local_variable_declarators (identifier @ushort)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (local_variable_initializer (identifier local5)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword add)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword alias)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier arglist) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword ascending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword async)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword await)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword by)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword descending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword equals)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword from)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword get)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword group)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword into)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword join)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword let)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword nameof)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword on)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword orderby)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword partial)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword remove)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword select)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword set)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword var)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword when)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword where)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword yield)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier __) = (expression (literal 0))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (contextual_keyword where)) (assignment_operator =) (expression (assignment (unary_expression (contextual_keyword yield)) (assignment_operator =) (expression (literal 0)))))) ;))) })))) }))) })))) +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier A)) . (identifier B))) ;)) (namespace_member_declaration (interface_declaration interface (identifier CoContra) (variant_type_parameter_list < (variant_type_parameter (variance_annotation out) (type_parameter (identifier T))) , (variant_type_parameter (variance_annotation in) (type_parameter (identifier K))) >) (interface_body { }))) (namespace_member_declaration (delegate_declaration delegate (return_type void) (delegate_header (identifier CoContra2) (variant_type_parameter_list < (variant_type_parameter (attributes (attribute_section [ (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Obsolete))) (attribute_arguments ( )))) ])) (variance_annotation out) (type_parameter (identifier T))) , (variant_type_parameter (variance_annotation in) (type_parameter (identifier K))) >) ( ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint struct))) ;))) (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier DllImport)) (attribute_arguments ( (positional_argument_list (literal "kernel32")) , (named_argument_list (named_argument (identifier SetLastError) = (attribute_argument_expression (boolean_literal true)))) )))) ])) (method_modifiers (method_modifier (ref_method_modifier static)) (method_modifier (ref_method_modifier extern))) (return_type (simple_type bool)) (method_header (member_name (identifier CreateDirectory)) ( (parameter_list (fixed_parameters (fixed_parameter (type (class_type string)) (identifier name)) , (fixed_parameter (type (identifier SecurityAttribute)) (identifier sa)))) )) (method_body ;))) (class_member_declaration (constant_declaration (constant_modifier private) const (type (integral_type int)) (constant_declarators (constant_declarator (identifier (contextual_keyword global)) = (constant_expression (additive_expression (additive_expression (member_access (predefined_type int) . (identifier MinValue))) - (multiplicative_expression (literal 1)))))) ;)) (class_member_declaration (static_constructor_declaration (static_constructor_modifiers static) (identifier A) ( ) (static_constructor_body (block { })))) (class_member_declaration (constructor_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (labeled_statement (identifier L) : (statement (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (sizeof_expression sizeof ( (unmanaged_type (integral_type int)) ))))))) ;)) (statement (expression_statement (statement_expression (pre_increment_expression ++ (unary_expression (identifier i)))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s1) = (expression (interpolated_regular_string_expression 〔$"〕 〔x 〕 { (regular_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s2) = (expression (interpolated_verbatim_string_expression 〔$@"〕 〔x 〕 { (verbatim_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;))) })))) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Console)) . (identifier WriteLine))) ( (argument_list (member_access (primary_expression (member_access (primary_expression (identifier export)) . (identifier iefSupplied))) . (identifier command))) ))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local) = (constant_expression (member_access (predefined_type int) . (identifier MaxValue)))))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_reference_type (non_nullable_reference_type (identifier Guid)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local0) = (constant_expression (object_creation_expression new (type (identifier Guid)) ( (argument_list (invocation_expression (primary_expression (member_access (primary_expression (identifier r)) . (identifier ToString))) ( ))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier привет) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier мир) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword var)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier local3) = (local_variable_initializer (literal 0))) , (explicitly_typed_local_variable_declarator (identifier local4) = (local_variable_initializer (literal 1)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier local3)) (assignment_operator =) (expression (assignment (unary_expression (identifier local4)) (assignment_operator =) (expression (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local5) = (expression (null_coalescing_expression (conditional_or_expression (relational_expression (relational_expression (null_literal null)) as (type (identifier Action)))) ?? (null_coalescing_expression (null_literal null))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local6) = (expression (relational_expression (relational_expression (identifier local5)) is (type (identifier Action))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier u) = (expression (literal 1u))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier U) = (expression (literal 1U))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier hex) = (local_variable_initializer (literal 0xBADC0DE))) , (explicitly_typed_local_variable_declarator (identifier Hex) = (local_variable_initializer (literal 0XDEADBEEF))) , (explicitly_typed_local_variable_declarator (identifier l) = (local_variable_initializer (unary_expression - (unary_expression (literal 1L))))) , (explicitly_typed_local_variable_declarator (identifier L) = (local_variable_initializer (literal 1L))) , (explicitly_typed_local_variable_declarator (identifier l2) = (local_variable_initializer (literal 2l)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier ul) = (local_variable_initializer (literal 1ul))) , (explicitly_typed_local_variable_declarator (identifier Ul) = (local_variable_initializer (literal 1Ul))) , (explicitly_typed_local_variable_declarator (identifier uL) = (local_variable_initializer (literal 1uL))) , (explicitly_typed_local_variable_declarator (identifier UL) = (local_variable_initializer (literal 1UL))) , (explicitly_typed_local_variable_declarator (identifier lu) = (local_variable_initializer (literal 1lu))) , (explicitly_typed_local_variable_declarator (identifier Lu) = (local_variable_initializer (literal 1Lu))) , (explicitly_typed_local_variable_declarator (identifier lU) = (local_variable_initializer (literal 1lU))) , (explicitly_typed_local_variable_declarator (identifier LU) = (local_variable_initializer (literal 1LU)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt32Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 2147483648)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt64Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 9223372036854775808L)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (simple_type bool)) (explicitly_typed_local_variable_declarators (identifier @bool)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type byte)) (explicitly_typed_local_variable_declarators (identifier @byte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type char)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @char) = (local_variable_initializer (literal 'c'))) , (explicitly_typed_local_variable_declarator (identifier \u0066) = (local_variable_initializer (literal '\u0066'))) , (explicitly_typed_local_variable_declarator (identifier hexchar) = (local_variable_initializer (literal '\x0130'))) , (explicitly_typed_local_variable_declarator (identifier hexchar2) = (local_variable_initializer (cast_expression ( (type (integral_type char)) ) (unary_expression (literal 0xBAD)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier \U00000065) = (local_variable_initializer (literal "\U00000065")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (numeric_type decimal)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @decimal) = (local_variable_initializer (literal 1.44M)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @decimal)) (assignment_operator =) (expression (literal 1.2m)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (identifier @dynamic)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type double)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @double) = (local_variable_initializer (member_access (primary_expression (identifier M)) . (identifier PI))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1d)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1D)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (unary_expression - (unary_expression (literal 1.2e3)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type float)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @float) = (local_variable_initializer (literal 1.2f)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @float)) (assignment_operator =) (expression (literal 1.44F)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @int) = (local_variable_initializer (null_coalescing_expression (conditional_or_expression (identifier local)) ?? (null_coalescing_expression (unary_expression - (unary_expression (literal 1)))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (identifier @long)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type object)) (explicitly_typed_local_variable_declarators (identifier @object)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type sbyte)) (explicitly_typed_local_variable_declarators (identifier @sbyte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type short)) (explicitly_typed_local_variable_declarators (identifier @short)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @string) = (local_variable_initializer (literal @"""/*")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type uint)) (explicitly_typed_local_variable_declarators (identifier @uint)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (identifier @ulong)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ushort)) (explicitly_typed_local_variable_declarators (identifier @ushort)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (local_variable_initializer (identifier local5)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword add)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword alias)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier arglist) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword ascending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword async)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword await)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword by)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword descending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword equals)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword from)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword get)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword group)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword into)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword join)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword let)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword nameof)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword on)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword orderby)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword partial)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword remove)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword select)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword set)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword var)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword when)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword where)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword yield)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier __) = (expression (literal 0))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (contextual_keyword where)) (assignment_operator =) (expression (assignment (unary_expression (contextual_keyword yield)) (assignment_operator =) (expression (literal 0)))))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.svg index cd5598e55..edaba311b 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -1,12 +1,12 @@ - - - - + + + + - - - + + + @@ -18,7608 +18,7608 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -declaration_statement + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +) - - + + statement - - -explicitly_typed_local_variable_declarator + + +[ - - -statement + + +; - - -SecurityAttribute + + +; - - -local_variable_initializer + + +2l - - -variant_type_parameters + + +literal - - -let + + +statement - - -identifier + + +expression - - -1uL + + +implicitly_typed_local_variable_declaration - - + + declaration_statement - - -statement + + +identifier - - -literal + + +( - - -contextual_keyword + + += - - + + statement - - -T - - - -@ulong + + +@decimal - - -implicitly_typed_local_variable_declarator + + +declaration_statement - - -constant_expression + + +statement - - -literal + + +local_variable_declaration - - -1ul + + +expression - - -1.44M + + +local_variable_declaration - - -local4 + + +unary_expression - - + + statement - - -contextual_keyword + + +identifier - - -type + + += - - -var + + +L - - -; + + +unmanaged_type - - -unary_expression + + +literal - - -0 + + +identifier - - -fixed_parameters + + += - - -literal + + +0xBADC0DE - - -'c' + + +local_variable_declaration - - -1lu + + +null - - -unary_expression + + +local_variable_initializer - - -string + + +- - - -implicitly_typed_local_variable_declaration + + +declaration_statement - - -implicitly_typed_local_variable_declaration + + +statement_expression - - -attributes + + +identifier - - -; + + += - - + + +contextual_keyword + + + +type + + + identifier - - -interpolation_minimum_width + + +0 - - -{ + + +attribute_section - - -simple_type + + +literal - - -explicitly_typed_local_variable_declaration + + +) - - -labeled_statement + + +identifier + + + +0 - - + + +expression + + + = - - + + +class_member_declaration + + + statement - - -expression_statement + + +implicitly_typed_local_variable_declarator - - -contextual_keyword + + +explicitly_typed_local_variable_declarator - - -= + + +integral_type + + + +literal + + + +type + + + +? - - + + implicitly_typed_local_variable_declaration - - -declaration_statement + + +unary_expression - - -explicitly_typed_local_variable_declarators + + +statement - - -literal + + +int - - -delegate + + +1 - - -argument_list + + +{ - - -@string + + +relational_expression - - -implicitly_typed_local_variable_declaration + + +'c' - - -primary_expression + + +conditional_or_expression - - -"\U00000065" + + +; - - -interface_type + + +expression - - -member_access + + +arglist - - -@object + + += - - -unary_expression + + +contextual_keyword - - + + local_variable_declaration - - -literal - - - + + implicitly_typed_local_variable_declaration - - -( + + +explicitly_typed_local_variable_declaration - - -statement_expression + + +constructor_initializer - - -variant_type_parameters + + +foo - - -@decimal + + +statement - - -implicitly_typed_local_variable_declarator + + += - - -identifier + + +@char + + + +explicitly_typed_local_variable_declaration - - + + identifier - - -explicitly_typed_local_variable_declarator + + +i - - + + ( - - -expression + + +B + + + +var + + + +, + + + +class_type + + + +literal + + + +implicitly_typed_local_variable_declaration + + + +method_body - - + + type - - -identifier + + +implicitly_typed_local_variable_declaration - - -; + + +expression - - -= + + +method_modifiers - - -statement + + +implicitly_typed_local_variable_declaration - - -implicitly_typed_local_variable_declarator + + += - - -namespace_name + + +declaration_statement - - + + identifier - - -int + + +contextual_keyword - - -var + + +L - - -Guid + + +declaration_statement - - -local3 + + +literal - - -identifier + + += - - -implicitly_typed_local_variable_declaration + + +local_variable_declaration - - -statement + + +literal + + + +Obsolete - - + + statement - - -variant_type_parameter_list + + +method_modifier - - + + ; - - -0 + + +block - - -= + + +explicitly_typed_local_variable_declaration - - -] + + +local_variable_initializer - - -explicitly_typed_local_variable_declaration + + +statement - - + + ; - - -) - - - + + ; - - + + +: + + + identifier - - -explicitly_typed_local_variable_declaration + + +statement - - -explicitly_typed_local_variable_declarator + + +static_constructor_modifiers - - -explicitly_typed_local_variable_declaration + + += - - -integral_type + + +statement - - -into + + +expression_statement - - -var + + +local_variable_initializer - - -expression + + +identifier - - -declaration_statement + + +unary_expression - - -predefined_type + + +local_variable_declaration - - -, + + +local_variable_declaration - - -explicitly_typed_local_variable_declarator + + +identifier - - -implicitly_typed_local_variable_declaration + + +delegate - - -literal + + +const + + + +мир - - + + type - - + + +statement + + + declaration_statement - - -contextual_keyword + + +identifier - - -: + + +identifier - - -declaration_statement + + += - - -i + + +minInt32Value - - -unary_expression + + +T - - -K + + +var - - -. + + +literal + + + +literal - - + + identifier - - -= + + +2 - - -local_constant_declaration - - - -contextual_keyword - - - -System - - - -1.2f - - - -local_variable_declaration - - - -var - - - -l - - - + + identifier - - -declaration_statement - - - -implicitly_typed_local_variable_declaration + + +. - - -sizeof_expression + + +] - - -explicitly_typed_local_variable_declarator + + +attribute_arguments - - -short + + +const - - -implicitly_typed_local_variable_declarator + + +. - - + + identifier - - + + declaration_statement - - -statement - - - -= - - - -where - - - -contextual_keyword - - - + + identifier - - -equals + + +; - - + + identifier - - -implicitly_typed_local_variable_declaration - - - + + contextual_keyword - - -0 - - - -orderby + + +statement - - -expression_statement + + +} - - -invocation_expression + + +declaration_statement - - -implicitly_typed_local_variable_declarator + + +type - - -statement + + +dynamic - - -out + + +declaration_statement - - -l2 + + +explicitly_typed_local_variable_declarator - - -identifier + + +declaration_statement - - -unsafe_modifier + + +literal - - -statement + + +argument_list - - -) + + +string - - + + explicitly_typed_local_variable_declarators - - -0 - - - -expression - - - -attribute_arguments + + +unary_expression - - -integral_type + + +; - - -hexchar2 + + +identifier - - + + literal - - -'\x0130' + + +identifier - - -ulong + + +〔"〕 - - -explicitly_typed_local_variable_declarator + + +〔x·〕 - - -statement + + +unary_expression - - + + declaration_statement - - -statement - - - -= + + +; - - -T + + +statement - - -expression + + +identifier - - + + ; - - + + +identifier + + + var - - -integral_type + + +var - - -: + + +1 - - -contextual_keyword + + +constructor_declarator - - -assignment_operator + + +1L - - -contextual_keyword + + +integral_type - - -declaration_statement + + += - - -var + + +explicitly_typed_local_variable_declarator - - -base + + +identifier - - -, + + +explicitly_typed_local_variable_declarator - - -fixed_parameter + + +expression - - -; + + +implicitly_typed_local_variable_declarator - - -var + + +assignment - - -; + + +implicitly_typed_local_variable_declaration - - -member_access + + +unary_expression - - -class_member_declaration + + +1 - - -identifier + + +literal - - -local_variable_declaration + + +ushort - - -; + + +〔:d〕 - - + + contextual_keyword - - -namespace_declaration - - - -literal - - - -{ + + +simple_type - - -yield + + +〔:d〕 - - -1.2e3 + + +type - - -0 + + +identifier - - -type_parameter + + +\u0066 - - -namespace_or_type_name + + +explicitly_typed_local_variable_declarators - - -; + + +contextual_keyword - - -literal + + +identifier - - + + type - - -identifier + + +class_base - - -class_member_declaration + + +type - - -integral_type + + +) - - -statement_expression + + +identifier - - -literal + + +identifier - - -contextual_keyword + + +primary_constraint - - -++ + + +float - - + + assignment - - -0 - - - -contextual_keyword - - - -; + + +explicitly_typed_local_variable_declaration - - + + explicitly_typed_local_variable_declarators - - -local5 + + +unary_expression - - -uL + + +literal - - + + statement - - -identifier - - - -. + + +; - - + + = - - -expression + + +declaration_statement - - + + identifier - - + + identifier - - -identifier + + +declaration_statement - - -yield + + +declaration_statement - - -expression + + +identifier - - -parameter_list + + +identifier - - + + 0 - - -implicitly_typed_local_variable_declaration - - - -by + + +nullable_value_type - - -statement_expression + + +explicitly_typed_local_variable_declarator - - -local_variable_declaration + + +1u - - -member_access + + +var - - -@int + + +literal - - + + expression - - -= - - - -identifier - - - -literal + + +; - - -static_constructor_declaration + + +attribute_list - - -T + + +interpolated_verbatim_string_expression - - -; + + +: - - + + identifier - - -method_header + + +local_constant_declaration - - -expression_statement + + += - - -statement + + +expression - - -explicitly_typed_local_variable_declaration + + +implicitly_typed_local_variable_declaration - - -Action + + +expression_statement - - -get + + +explicitly_typed_local_variable_declaration - - -= + + +explicitly_typed_local_variable_declaration - - -identifier + + +literal - - + + implicitly_typed_local_variable_declarator - - -@bool - - - -local_variable_declaration + + +[ - - -- + + +constant_modifier - - + + statement - - -constant_declarators + + +statement - - -explicitly_typed_local_variable_declarator + + += - - -var + + +contextual_keyword - - -) + + +, - - + + identifier - - -; + + +int - - -expression + + +true - - + + statement - - -implicitly_typed_local_variable_declaration + + +identifier - - -CoContra2 + + +return_type - - -( + + +SecurityAttribute - - -as + + +assignment - - -var + + +identifier - - -type_parameter + + +expression - - -= + + +declaration_statement + + + +1 - - + + implicitly_typed_local_variable_declaration - - -explicitly_typed_local_variable_declaration + + +CreateDirectory - - -namespace_member_declaration + + +type - - -) + + +extern - - -struct + + +declaration_statement - - -statement + + +local_variable_declaration - - -class_type + + +implicitly_typed_local_variable_declaration - - -= + + +literal - - -{ + + +; - - -floating_point_type + + +attribute_name - - -identifier + + +sizeof_expression - - -literal + + +expression + + + +; + + + +local_variable_declaration + + + +implicitly_typed_local_variable_declarator - - + + identifier - - -; + + +param - - -literal + + +local_variable_initializer - - -explicitly_typed_local_variable_declarators + + +uL - - -type + + +unary_expression - - -literal + + +@double - - -local_constant_declaration + + +declaration_statement - - -identifier + + +implicitly_typed_local_variable_declarator - - -implicitly_typed_local_variable_declaration + + +short + + + +explicitly_typed_local_variable_declaration - - + + literal - - -type + + +primary_expression - - -= + + +statement - - -- + + +local_variable_declaration - - -integral_type + + +statement - - -local_variable_initializer + + +type - - -expression + + +var + + + +explicitly_typed_local_variable_declaration - - + + declaration_statement - - -explicitly_typed_local_variable_declarators + + +; - - -integral_type + + +〔"〕 - - -9223372036854775808L + + += - - -identifier + + +U - - + + local_variable_declaration - - + + local_variable_declaration - - -identifier - - - -. + + +local_variable_declaration - - + + ; - - -; + + +declaration_statement - - -member_access + + +declaration_statement - - -\U00000065 + + +multiplicative_expression - - -ascending + + +1L - - -; + + +local_variable_declaration - - -identifier + + +local_variable_declaration - - -implicitly_typed_local_variable_declaration + + +var - - -declaration_statement + + +implicitly_typed_local_variable_declaration - - -local + + +member_access - - -identifier + + +type - - -local_variable_initializer + + +local_variable_declaration - - -block + + +1lu - - + + literal - - -, + + +@"""/*" - - -declaration_statement + + +{ - - -partial + + +local_variable_declaration - - -local_variable_initializer + + +} - - -identifier + + +unary_expression - - -assignment + + +local_variable_declaration - - -) + + += - - -implicitly_typed_local_variable_declarator + + +literal - - -; + + +MaxValue - - -namespace + + += + + + +- - - + + local_variable_declaration - - -interpolation_minimum_width + + +var - - -; + + +local_variable_declaration - - -assignment + + +invocation_expression - - -unary_expression + + +++ - - -= + + +local_variable_initializer - - -: + + +implicitly_typed_local_variable_declaration - - -statement + + +( - - -contextual_keyword + + +identifier - - -implicitly_typed_local_variable_declaration + + +, - - -= + + +declaration_statement - - -literal + + +primary_expression - - -. + + +statement - - + + local_variable_declaration - - + + = - - -variance_annotation + + +remove - - -declaration_statement + + +equals - - -[ + + +parameter_list - - -< + + +local - - -identifier + + +declaration_statement - - -boolean_literal + + +literal - - -var + + +; - - -identifier + + +additive_expression - - -null_literal + + +explicitly_typed_local_variable_declarator - - -null_coalescing_expression + + +1.2e3 - - -int + + +integral_type + + + +; + + + +identifier - - + + local_variable_initializer - - -contextual_keyword + + +block - - -unmanaged_type + + +statement_list - - -local_variable_declaration + + +null_literal - - -using_directive + + +constant_declarators - - -0 + + +attribute_target_specifier - - + + identifier - - -literal - - - -attributes + + +contextual_keyword - - -local_variable_declaration + + +var - - -literal + + +implicitly_typed_local_variable_declaration - - -expression + + +type - - -local_variable_initializer + + +. - - -extern + + +local_variable_declaration - - -int + + +statement - - -type + + +identifier - - -- + + +hexchar2 - - -attributes + + +0 - - -1 + + +implicitly_typed_local_variable_declaration - - -, + + +expression - - -local_variable_declaration + + +class_type - - -Ul + + +in - - -statement + + +local_constant_declaration - - -identifier + + +; - - -statement + + +2 - - -explicitly_typed_local_variable_declarator + + +literal - - -namespace_body + + +statement_list - - -identifier + + +unary_expression - - -= + + +; - - + + implicitly_typed_local_variable_declarator - - -member_access + + +assignment_operator - - -param + + +var - - -expression + + +identifier - - -explicitly_typed_local_variable_declarators + + +expression - - -statement + + +, - - -type_parameter_constraints_clause + + +1.44F - - + + ; - - -dynamic + + +unary_expression - - -identifier + + +explicitly_typed_local_variable_declaration - - -; + + +explicitly_typed_local_variable_declaration - - -method_declaration + + +interface_type_list - - -explicitly_typed_local_variable_declaration + + +declaration_statement - - -\u0066 + + +; - - + + statement - - -explicitly_typed_local_variable_declarators + + +local_variable_declaration + + + +implicitly_typed_local_variable_declarator - - + + attribute_list - - + + +@byte + + + +) + + + +cast_expression + + + local_variable_declaration - - -literal + + +implicitly_typed_local_variable_declaration - - -primary_expression + + +expression - - -〔$"〕 + + +unary_expression - - -implicitly_typed_local_variable_declarator + + +attribute_target - - -implicitly_typed_local_variable_declarator + + +identifier - - -expression + + +( - - -primary_expression + + +ulong - - -statement + + +namespace_member_declaration - - -constant_declarators + + +assignment - - -delegate_header + + +; - - -{ + + +identifier - - -integral_type + + +explicitly_typed_local_variable_declaration - - -var + + += + + + +identifier + + + +) - - + + declaration_statement - - -CreateDirectory + + +0xBAD - - -nullable_type_annotation + + +type_parameter - - -( + + +System - - -explicitly_typed_local_variable_declarators + + +literal - - + + statement - - + + identifier - - + + +assignment + + + = - - -literal + + +object - - -L + + +class_member_declaration - - -assignment + + +declaration_statement - - -@uint + + +local_variable_initializer - - -unary_expression + + +literal - - -where + + +{ - - -attribute_arguments + + +struct - - -; + + +type - - -integral_type + + +"\U00000065" - - -type + + += - - -explicitly_typed_local_variable_declaration + + +( - - -prog + + +additive_expression - - -= + + +implicitly_typed_local_variable_declarator - - -assignment + + +1 - - -M + + +0 - - + + type - - -> - - - -non_nullable_reference_type + + +local_variable_initializer - - -Guid + + +integral_type - - -identifier + + +attribute_argument_expression - - -member_name + + +null_coalescing_expression - - -1D + + += - - -type + + +local_variable_declaration - - -assignment_operator + + +implicitly_typed_local_variable_declarator - - -SetLastError + + +as - - -identifier + + +implicitly_typed_local_variable_declaration - - -; + + +expression - - -explicitly_typed_local_variable_declarator + + +statement - - -; + + +identifier - - -integral_type + + +( - - -assignment_operator + + +identifier - - -local_variable_declaration + + +{ - - + + expression - - -var + + += - - -0 + + +; - - -declaration_statement + + +( - - -return_type + + +. - - -0 + + +expression - - -non_nullable_value_type + + +member_access - - -literal + + +int + + + +implicitly_typed_local_variable_declaration - - + + var - - -, + + +identifier - - -statement + + +sbyte - - + + = - - -contextual_keyword + + +; - - -= + + +implicitly_typed_local_variable_declarator - - -1Ul + + +assignment - - -i + + +primary_expression - - -declaration_statement + + +interface_type - - -literal + + +local_variable_initializer - - -explicitly_typed_local_variable_declarator + + +{ - - -constant_declarator + + +nullable_type_annotation - - -; + + +, - - -identifier + + +sizeof - - -identifier + + +explicitly_typed_local_variable_declarator - - + + ; - - -( + + +identifier - - -statement_list + + += - - -1d + + +expression - - -'\u0066' + + +0 - - -var + + +member_access - - -identifier + + +constant_expression - - -; + + +set - - -; + + +integral_type - - -implicitly_typed_local_variable_declarator + + +expression - - -declaration_statement + + +0 - - -declaration_statement + + +; - - + + local_variable_declaration - - -; + + +type_parameter_constraints_clause - - -local_variable_declaration + + +?? - - -literal + + +type - - -expression + + +let - - -identifier + + +declaration_statement - - -- + + +literal - - -primary_expression + + +bool - - -; + + +static_constructor_declaration - - -explicitly_typed_local_variable_declarator + + +unary_expression - - -explicitly_typed_local_variable_declaration + + +iefSupplied - - -; + + +, - - -in + + +interface_declaration - - -declaration_statement + + +literal - - -1L + + +local_variable_declaration - - -parameter_list + + +literal - - -identifier + + +expression_statement - - -long + + +out - - -= + + +local_variable_initializer - - -unary_expression + + +integral_type - - -= + + +explicitly_typed_local_variable_declaration - - -@double + + +identifier - - -, + + +"kernel32" - - -declaration_statement + + +Ul - - -declaration_statement + + +- - - + + statement - - -; + + +0 - - -declaration_statement + + +assignment_operator - - -local_variable_declaration + + +literal - - -local_variable_declaration + + +identifier - - -Console + + +] - - + + literal - - -мир - - - -private - - - + + type - - -identifier + + +local_variable_declaration - - + + statement - - -type + + +identifier - - -contextual_keyword + + +SetLastError - - -cast_expression + + +Action - - -contextual_keyword + + += - - -attribute_list + + +identifier - - -1 + + +var - - -expression + + +ulong - - -constant_expression + + +0 - - -local5 + + +; - - -class_modifier + + +implicitly_typed_local_variable_declaration - - -statement + + +declaration_statement - - -unary_expression + + +constructor_declaration + + + +My + + + +Lu + + + +explicitly_typed_local_variable_declaration - - + + , - - + + +explicitly_typed_local_variable_declarators + + + statement - - -expression + + +explicitly_typed_local_variable_declarator - - -Hex + + +statement - - -var + + +contextual_keyword - - -var + + +UL - - -= + + +explicitly_typed_local_variable_declaration - - -on + + +@ulong - - -LU + + +implicitly_typed_local_variable_declarator - - -identifier + + +statement - - -expression + + +statement - - -identifier + + += - - -constructor_declarator + + +'\x0130' - - -expression + + += - - -named_argument + + +; - - -declaration_statement + + +expression - - -identifier + + +explicitly_typed_local_variable_declarators - - -local_variable_declaration + + +statement_expression - - -local_variable_declaration + + +integral_type - - -assignment_operator + + +explicitly_typed_local_variable_declaration - - -command + + +implicitly_typed_local_variable_declarator - - -declaration_statement + + +; - - -int + + +namespace_member_declaration - - -constant_declarator + + += - - -expression_statement + + +var - - -literal + + +attribute_target - - -nullable_type_annotation + + +; - - -null + + +compilation_unit - - + + var - - -explicitly_typed_local_variable_declarator + + +?? - - -0 + + +assignment_operator - - + + declaration_statement - - -; + + +literal - - + + statement - - -static + + +0 - - -literal + + +contextual_keyword - - -attribute_argument_expression + + +identifier - - -name + + +command - - -explicitly_typed_local_variable_declarator + + +statement - - -identifier + + +void - - -identifier + + +0 - - -type + + +implicitly_typed_local_variable_declarator - - + + literal - - -type + + +var - - -local_variable_declaration + + +explicitly_typed_local_variable_declarators - - -0 + + +type_parameter - - -declaration_statement + + +statement + + + +statement - - + + implicitly_typed_local_variable_declarator - - -statement + + +unary_expression - - + + implicitly_typed_local_variable_declarator - - -; + + +type - - -attribute_name + + +interpolated_regular_string_expression - - + + local_variable_declaration - - -local_variable_declaration + + +explicitly_typed_local_variable_declaration - - -1u + + +identifier - - -expression + + +@decimal - - -= + + +type - - -= + + +T - - -( + + += - - -statement + + +explicitly_typed_local_variable_declarator - - -= + + +explicitly_typed_local_variable_declarators - - -implicitly_typed_local_variable_declarator + + +; - - + + local_variable_declaration - - -type - - - -= + + +member_access - - -declaration_statement + + +PI - - -implicitly_typed_local_variable_declaration + + +in - - -interface_type_list + + +; - - -local_variable_declaration + + +identifier - - -local_variable_initializer + + +global - - -contextual_keyword + + +namespace_name - - + + literal - - -{ + + +, - - + + statement - - -assignment_operator + + +) - - -declaration_statement + + +local_variable_declaration - - -B + + +literal + + + +member_access + + + +namespace_declaration + + + +0 + + + +fixed_parameter - - + + declaration_statement - - -; + + +, - - -local_variable_declaration + + +literal - - -identifier + + +declaration_statement - - -( + + += - - -class_type + + +[ - - -var + + +M - - -type + + +local_variable_declaration - - -} + + +0 - - -identifier + + +type - - -join + + += - - -: + + +ref_method_modifier - - -implicitly_typed_local_variable_declaration + + +@ushort - - -; + + +partial - - -"kernel32" + + +join - - -identifier + + +implicitly_typed_local_variable_declaration - - -declaration_statement + + +explicitly_typed_local_variable_declarators - - -const + + +( - - -identifier + + +attributes + + + +implicitly_typed_local_variable_declaration - - + + declaration_statement - - -local + + +local_variable_initializer - - -literal + + +, - - -statement + + +fixed_parameters - - -( + + +implicitly_typed_local_variable_declaration - - -local_variable_initializer + + +implicitly_typed_local_variable_declarator - - -local_variable_declaration + + +declaration_statement - - -constant_declarators + + +implicitly_typed_local_variable_declarator - - -2l + + +MinValue - - -identifier + + +@dynamic - - -literal + + +statement_expression - - -identifier + + +( - - -) + + +expression_statement - - + + = - - -identifier + + +declaration_statement - - -; + + +expression - - + + implicitly_typed_local_variable_declaration - - -type - - - -public + + +primary_expression - - + + literal - - -〔:d〕 + + +; - - -contextual_keyword + + +@object - - -explicitly_typed_local_variable_declarators + + +numeric_type - - -literal + + +implicitly_typed_local_variable_declaration - - -add + + +) - - -statement + + +argument_list - - -{ + + +WriteLine - - -type_parameter + + +verbatim_interpolation - - -identifier - - - -predefined_type - - - -literal - - - -implicitly_typed_local_variable_declarator + + +assignment - - -argument_list + + +@sbyte - - -, + + +DllImport - - -ul + + +expression - - -declaration_statement + + +var - - -unary_expression + + +identifier - - -statement + + +explicitly_typed_local_variable_declarator - - -0 + + +integral_type - - -, + + +group - - + + identifier - - -local + + +nameof - - + + identifier - - -true - - - -explicitly_typed_local_variable_declarators - - - -sbyte + + +namespace_body - - -compilation_unit + + += - - + + identifier - - -implicitly_typed_local_variable_declarator - - - -variance_annotation - - - -C - - - -local_variable_declaration + + +expression_statement - - + + = - - + + statement - - -new - - - -integral_type + + +public - - -statement + + += - - -UL + + +; - - -statement + + +unsafe - - -literal + + +1.44M - - -assignment_operator + + +A - - -local_variable_initializer + + +; - - + + identifier - - -expression_statement - - - -unsafe - - - -attributes - - - -s1 + + += - - -unary_expression + + +local_variable_declaration - - -; + + +identifier - - -arglist + + +double - - -method_modifier + + += - - -explicitly_typed_local_variable_declaration + + +type - - -= + + +identifier - - -< + + +parameter_list - - -expression + + +by - - -local_variable_declaration + + +declaration_statement - - -statement + + +identifier - - + + literal - - -variant_type_parameters + + +local_variable_declaration - - -declaration_statement + + +; - - -identifier + + +explicitly_typed_local_variable_declarators - - -assignment_operator + + +into - - -0 + + +implicitly_typed_local_variable_declarator - - -static_constructor_body + + +expression - - -; + + +identifier - - + + statement - - -local_variable_initializer + + +null_coalescing_expression - - -? + + +1ul - - -unary_expression + + +literal - - -interface_type + + +literal - - -type + + +local_variable_declaration - - -hex + + +; - - + + local_variable_declaration - - -class_member_declaration + + +{ - - -expression + + +declaration_statement - - -implicitly_typed_local_variable_declaration + + +dynamic - - -0 + + +statement - - -identifier + + +namespace - - -local_variable_initializer + + +statement - - -identifier + + += - - -namespace_or_type_name + + +, - - -) + + +var - - -statement + + +LU - - -simple_type + + +explicitly_typed_local_variable_declarator - - -attribute + + +expression - - + + identifier - - -expression + + +implicitly_typed_local_variable_declarator - - -dynamic + + +qualified_identifier - - -literal + + +static_constructor_body - - -implicitly_typed_local_variable_declarator + + +< - - -@sbyte + + +descending - - -expression + + +implicitly_typed_local_variable_declarator - - -local0 + + +on - - -2147483648 + + +expression - - -explicitly_typed_local_variable_declarators + + +variant_type_parameter - - -= + + +declaration_statement - - -identifier + + +statement - - + + identifier - - -local_variable_declaration - - - -statement_expression - - - -0 + + +implicitly_typed_local_variable_declarator - - -method_modifier + + +local_variable_initializer - - -local_variable_declaration + + +explicitly_typed_local_variable_declarator - - + + ; - - -identifier - - - -; + + +) - - -= + + +CoContra2 - - -integral_type + + +contextual_keyword - - -1 + + +literal - - -identifier + + +char - - -fixed_parameter + + +literal - - -local_variable_declaration + + +var - - -type_parameter + + +local_variable_initializer - - -class_modifier + + +0 - - -declaration_statement + + +0 - - -local + + +Console - - -@decimal + + += - - -explicitly_typed_local_variable_declarator + + +namespace_or_type_name - - -implicitly_typed_local_variable_declaration + + +〔x·〕 - - -unary_expression + + +A - - -local_variable_declaration + + +variant_type_parameter - - -type + + += - - + + statement_expression - - -literal - - - -; - - - -local_variable_declaration + + +explicitly_typed_local_variable_declarator - - -declaration_statement + + += - - -relational_expression + + +identifier - - -explicitly_typed_local_variable_declaration + + +local_variable_declaration - - -declaration_statement + + +var - - -await + + +local_variable_initializer - - -attribute_section + + +explicitly_typed_local_variable_declarator - - -identifier + + +local_variable_declaration - - -= + + +} - - -Obsolete + + +; - - + + literal - - -declaration_statement + + +? - - -= + + +explicitly_typed_local_variable_declarator - - -implicitly_typed_local_variable_declaration + + +expression - - -async + + +declaration_statement - - -implicitly_typed_local_variable_declaration + + +type_parameter - - -] + + +local_variable_initializer - - -0 + + +) - - -statement + + +type - - + + local_variable_initializer - - -declaration_statement - - - -0 + + +local5 - - -implicitly_typed_local_variable_declaration + + +identifier - - -} + + +identifier - - -var + + +invocation_expression - - -pre_increment_expression + + +local5 - - -; + + +, - - -int + + +declaration_statement - - -const + + +) - - -implicitly_typed_local_variable_declaration + + +identifier - - -type_parameter + + +Guid - - -1 + + +declaration_statement - - -expression_statement + + +local_variable_declaration - - -explicitly_typed_local_variable_declarators + + +identifier - - -1Lu + + +class_member_declaration - - -conditional_or_expression + + +identifier - - -implicitly_typed_local_variable_declaration + + +expression_statement - - -= + + +identifier - - -My + + +local_variable_declaration - - -, + + +explicitly_typed_local_variable_declarator - - -identifier + + +local_variable_declaration - - -constant_declarator + + +long - - -literal + + +0 - - + + = - - -identifier + + +contextual_keyword - - -identifier + + +unary_expression - - -= + + +identifier - - -literal + + +orderby - - -?? + + +local_variable_declaration - - -primary_constraint + + +0 - - -var + + +; - - -primary_expression + + +, - - -MinValue + + +: - - -relational_expression + + +; - - -type + + +implicitly_typed_local_variable_declarator - - -explicitly_typed_local_variable_declarator + + +var - - -0 + + +} - - -contextual_keyword + + +implicitly_typed_local_variable_declaration - - -explicitly_typed_local_variable_declaration + + +1uL - - -explicitly_typed_local_variable_declarator + + +literal - - -, + + +assignment_operator - - -constant_expression + + +expression - - -declaration_statement + + +contextual_keyword - - -: + + +0 - - -, + + +contextual_keyword - - -= + + +local_variable_declaration - - + + statement - - -- - - - + + expression - - -var - - - + + = - - -identifier - - - -; + + +Obsolete - - -statement + + +literal - - -identifier + + +named_argument - - -assignment + + +labeled_statement - - + + identifier - - -statement - - - -select - - - -expression + + +var - - -) + + +int - - -〔x·〕 + + +is - - -1UL + + +identifier - - -type + + +explicitly_typed_local_variable_declarators - - + + statement - - -identifier - - - -relational_expression + + +. - - -identifier + + +; - - -interpolated_regular_string_expression + + +; - - -local_variable_declaration + + +assignment_operator - - -A + + +> - - -literal + + +expression - - -statement_expression + + += - - -verbatim_interpolation + + +contextual_keyword - - + + = - - -named_argument_list + + +1UL - - -0 + + +expression - - -identifier + + +string - - -when + + +, - - -is + + +expression_statement - - -local_variable_declaration + + +explicitly_typed_local_variable_declaration - - -expression + + +expression_statement - - -qualified_identifier + + +var - - -= + + +export - - -r + + +statement - - -= + + +expression - - -local_variable_declaration + + +implicitly_typed_local_variable_declarator - - -type + + +local_variable_initializer - - -identifier + + +explicitly_typed_local_variable_declaration - - + + implicitly_typed_local_variable_declaration - - -explicitly_typed_local_variable_declaration + + +0 - - -explicitly_typed_local_variable_declarator + + +9223372036854775808L - - -explicitly_typed_local_variable_declaration + + +dynamic - - -contextual_keyword + + +identifier - - -variant_type_parameters + + +; - - -{ + + +type - - -L + + +implicitly_typed_local_variable_declaration - - + + statement - - -= + + +variant_type_parameter - - -= + + +2147483648 - - -identifier + + +local_variable_initializer - - -1L + + +declaration_statement - - -implicitly_typed_local_variable_declaration + + +local_variable_declaration - - -floating_point_type + + +local_variable_declaration - - -implicitly_typed_local_variable_declaration + + +class_modifier - - -literal + + +0 - - + + statement - - -) + + +interface_body - - -= + + +member_name - - -WriteLine + + +statement - - -integral_type + + +statement_expression - - -MaxValue + + +expression - - -explicitly_typed_local_variable_declarator + + +delegate_declaration - - -0 + + +implicitly_typed_local_variable_declarator - - -constructor_modifier + + +type - - -primary_expression + + +identifier - - -var + + += - - -local_variable_initializer + + +char - - -class_base + + +static - - -local_variable_initializer + + += - - -__ + + +literal - - -} + + +s1 - - -type + + +ul - - -declaration_statement + + +0 - - -ToString + + += - - -statement + + +\U00000065 - - -contextual_keyword + + +using - - -literal + + +local - - -0 + + +explicitly_typed_local_variable_declarators - - + + declaration_statement - - -explicitly_typed_local_variable_declarator - - - -expression_statement + + +literal - - -identifier + + +contextual_keyword - - -var + + +object_creation_expression - - + + identifier - - -. + + +when - - -Lu + + +attribute_list - - + + = - - -attribute_list + + +identifier - - -delegate_declaration + + +; - - -block + + +explicitly_typed_local_variable_declarators - - -ref_method_modifier + + +; - - -identifier + + +; - - -explicitly_typed_local_variable_declarators + + +local_variable_initializer - - -; + + +0 - - -. + + +expression - - -statement + + +1D - - -global + + +contextual_keyword - - -, + + +contextual_keyword - - -attribute_name + + +contextual_keyword - - -attribute_section + + +argument_list - - -〔"〕 + + +assignment_operator - - -= + + +class_body - - + + explicitly_typed_local_variable_declarators - - -〔:d〕 + + +ToString - - -statement + + +@bool - - -) + + +local_variable_initializer - - -; + + +1lU - - -0XDEADBEEF + + +variance_annotation - - -contextual_keyword + + +declaration_statement - - -identifier + + +local_variable_initializer - - -literal + + +implicitly_typed_local_variable_declarator - - -type + + +declaration_statement - - -ulong + + +integral_type - - -type + + +constant_declarator - - -sa + + +l - - -Obsolete + + +interpolation_minimum_width - - -implicitly_typed_local_variable_declarator + + +expression - - -= + + +local_variable_initializer - - + + statement - - -identifier + + +declaration_statement - - -void + + +implicitly_typed_local_variable_declaration - - -implicitly_typed_local_variable_declarator + + +, - - + + identifier - - -; + + += - - -literal + + +@float + + + +Guid - - + + = - - -statement + + +expression - - -statement + + +local3 - - -identifier + + += - - -{ + + +literal - - -assignment_operator + + +привет - - -U + + +dynamic - - + + literal - - + + identifier - - -implicitly_typed_local_variable_declarator - - - -integral_type + + +predefined_type - - -= + + +string - - -expression + + +local_variable_declaration - - -implicitly_typed_local_variable_declarator + + +fixed_parameter - - + + = - - -var + + +declaration_statement - - -explicitly_typed_local_variable_declarators + + +class_type + + + +statement - - + + explicitly_typed_local_variable_declarators - - + + identifier - - -= + + +identifier - - -expression + + +literal - - -identifier + + +class_type - - -s2 + + +where + + + +integral_type - - + + statement - - -identifier + + +@float - - -literal + + +expression - - -identifier + + +local3 - - -literal + + +@double - - -minInt64Value + + +implicitly_typed_local_variable_declarator - - -expression + + +hexchar - - -statement + + +- - - -〔"〕 + + +member_access - - -statement + + +implicitly_typed_local_variable_declarator - - -, + + +constant_expression - - -literal + + +implicitly_typed_local_variable_declarator - - -unary_expression + + +statement + + + +; + + + +constant_declarator - - + + identifier - - -0 + + +expression_statement - - -string + + +local_variable_declaration - - -var + + +attribute_name - - -A + + +attribute_section + + + +non_nullable_reference_type - - + + declaration_statement - - -( + + +declaration_statement - - -literal + + +implicitly_typed_local_variable_declaration - - -declaration_statement + + +var - - -literal + + +statement - - -I + + +constructor_modifier - - -method_modifiers + + +var - - -explicitly_typed_local_variable_declarator + + +unary_expression - - -; + + +contextual_keyword - - -implicitly_typed_local_variable_declaration + + +expression - - -local_variable_initializer + + +namespace_or_type_name - - -local_variable_initializer + + +identifier - - -static + + +explicitly_typed_local_variable_declaration - - -unary_expression + + +implicitly_typed_local_variable_declaration - - + + = - - -unary_expression + + +local_variable_declaration - - -expression + + +variance_annotation + + + +local - - + + ; - - -identifier + + += - - -local_variable_initializer + + +} - - -; + + +attribute_section - - -contextual_keyword + + +primary_expression - - -( + + +null_coalescing_expression - - -contextual_keyword + + +var - - -explicitly_typed_local_variable_declarators + + +: - - -local_variable_initializer + + +identifier - - -variant_type_parameter_list + + +implicitly_typed_local_variable_declaration + + + +floating_point_type - - + + , - - -unary_expression + + +type_parameter - - -minInt32Value + + +identifier - - -implicitly_typed_local_variable_declarator + + +literal - - + + literal - - -int + + +explicitly_typed_local_variable_declarators - - -implicitly_typed_local_variable_declarator + + += - - -local_variable_declaration + + +variant_type_parameter + + + +identifier - - + + declaration_statement - - -lu + + +null - - -local_variable_declaration + + +identifier - - -@char + + +local_variable_declaration - - -type + + +delegate_header - - -integral_type + + +local_variable_declaration - - -assignment_operator + + +local_variable_initializer - - + + statement - - -, + + +K - - -0 + + +1Lu - - -descending + + +explicitly_typed_local_variable_declarator - - -literal + + +var - - -interface_declaration + + +explicitly_typed_local_variable_declaration - - -0 + + +await - - -statement + + +var - - -CoContra + + +〔$"〕 - - -identifier + + +explicitly_typed_local_variable_declarators - - + + var - - -argument_list + + +identifier - - -namespace_or_type_name + + +'\u0066' - - -; + + +contextual_keyword - - -literal + + += - - -identifier + + +literal - - -= + + +hex - - -1LU + + +implicitly_typed_local_variable_declarator - - -@double + + +explicitly_typed_local_variable_declarator - - -= + + +prog - - -local6 + + +lU - - -conditional_or_expression + + +literal - - + + identifier - - -explicitly_typed_local_variable_declarators + + +integral_type - - -declaration_statement + + +; - - -contextual_keyword + + +base - - -PI + + +expression + + + +unary_expression + + + +explicitly_typed_local_variable_declarator - - + + declaration_statement - - -} + + +contextual_keyword - - -привет + + +local4 - - -explicitly_typed_local_variable_declarator + + +assignment_operator - - -statement_expression + + +public - - -0 + + +integral_type - - -literal + + +out - - -statement + + +: - - -identifier + + +constructor_body - - -block + + +int - - -export + + +declaration_statement - - -local_variable_initializer + + +1LU - - -local_variable_declaration + + +type + + + +assignment + + + +get - - + + local_variable_declaration - - -contextual_keyword + + +int - - -nullable_value_type + + +identifier - - + + unary_expression - - -statement + + +statement_expression + + + +explicitly_typed_local_variable_declarator + + + +; - - + + = - - -local_variable_initializer + + +implicitly_typed_local_variable_declaration - - -identifier + + +A - - -statement + + +where + + + +{ + + + +explicitly_typed_local_variable_declarator + + + +I + + + +contextual_keyword - - -from + + +assignment_operator - - -set + + +identifier - - -= + + +identifier - - -0 + + +local_variable_initializer - - + + expression - - + + identifier - - -- + + +literal - - -1 + + +attributes + + + +namespace_or_type_name - - + + identifier - - -attribute_target_specifier + + +@int - - -statement + + +} - - -const + + +null_coalescing_expression - - -explicitly_typed_local_variable_declarators + + +; - - -= + + +statement - - + + var - - -expression - - - -implicitly_typed_local_variable_declarator - - - + + type - - -literal + + +statement - - -double + + +interface - - -declaration_statement + + +relational_expression - - + + ] - - -declaration_statement - - - -? - - - -alias - - - -[ + + +Action - - -@byte + + +s2 - - -expression + + +identifier - - -local_variable_declaration + + += - - -lU + + +identifier - - -unary_expression + + +; - - -〔$@"〕 + + +assignment_operator - - -explicitly_typed_local_variable_declarator + + +implicitly_typed_local_variable_declarator - - -= + + +partial - - -var + + +contextual_keyword - - -= + + +local_variable_declaration - - + + explicitly_typed_local_variable_declaration - - -null_coalescing_expression - - - -0 + + +var - - -expression + + +implicitly_typed_local_variable_declaration - - + + = - - -; + + +using_namespace_directive - - -; + + +@string - - -2 + + +assignment - - -local_variable_declaration + + +0 - - -declaration_statement + + +variance_annotation - - -statement + + +1.2m - - -explicitly_typed_local_variable_declarator + + +class_member_declaration - - -identifier + + +declaration_statement - - -statement + + +variant_type_parameter_list - - -integral_type + + +; - - -remove + + +unary_expression - - -( + + +identifier - - -interface_body + + +local_variable_initializer - - -declaration_statement + + +identifier - - -local_variable_declaration + + +type - - -contextual_keyword + + +expression - - -type + + +statement - - + + identifier - - -expression + + +constant_declarators - - -expression + + +- - - -using + + +- - - -var + + +literal - - -implicitly_typed_local_variable_declarator + + +} - - -member_access + + +literal - - + + identifier - - + + identifier - - -) + + +type_parameter_constraints - - -class_type + + +interpolation_minimum_width - - -K + + +named_argument_list - - -. + + +add - - -sizeof + + +local_variable_initializer + + + +statement_expression - - + + contextual_keyword - - -literal + + +contextual_keyword - - -explicitly_typed_local_variable_declarators + + +1Ul - - -literal + + +using_directive - - -declaration_statement + + +variance_annotation - - -} + + +fixed_parameter - - -explicitly_typed_local_variable_declarator + + +literal - - -local_variable_initializer + + +0XDEADBEEF - - + + local_variable_declaration - - -identifier - - - -null_coalescing_expression - - - -@"""/*" - - - -expression + + +statement - - -contextual_keyword + + +; - - -additive_expression + + +- - - -1 + + +statement - - + + literal - - + + +statement + + + var - - -namespace_member_declaration + + +attribute - - -} + + +explicitly_typed_local_variable_declarator - - -where + + +type - - -; + + +namespace_member_declaration - - -expression + + +contextual_keyword - - -expression + + +@double - - -local4 + + +r - - + + identifier - - -] + + +relational_expression - - -int + + +0 - - -explicitly_typed_local_variable_declaration + + +namespace_or_type_name - - -constructor_declaration + + +nullable_type_annotation - - -explicitly_typed_local_variable_declarator + + +local0 - - -implicitly_typed_local_variable_declarator + + +int - - -integral_type + + +statement - - -} + + +@double - - -variance_annotation + + +[ - - -attribute_list + + +implicitly_typed_local_variable_declaration + + + +} - - + + ( - - -bool + + +statement - - -byte + + +explicitly_typed_local_variable_declarators - - -= + + +local5 + + + +static - - + + identifier - - -literal + + +; - - -= + + +explicitly_typed_local_variable_declarator - - -identifier + + +local_variable_initializer - - -variance_annotation + + +alias - - -?? + + +uint - - -type + + +implicitly_typed_local_variable_declarator - - -constant_modifier + + +expression - - -statement_list + + +explicitly_typed_local_variable_declarator - - -local_variable_declaration + + +identifier - - -unary_expression + + +explicitly_typed_local_variable_declarators - - -literal + + +integral_type - - -1.2m + + +statement_expression - - -, + + +identifier - - -Obsolete + + +; - - -, + + +statement - - -literal + + +primary_expression - - -local_variable_declaration + + +0 - - -numeric_type + + +type - - -decimal + + +declaration_statement - - -identifier + + +declaration_statement + + + +type + + + +integral_type - - -implicitly_typed_local_variable_declaration + + +new - - -constructor_body + + +, - - + + statement - - -class_body - - - + + = - - -float + + +expression - - + + implicitly_typed_local_variable_declaration - - -nameof + + +1 - - -invocation_expression + + +〔$@"〕 - - -uint + + +bool - - -interface + + +, - - -local5 + + +private - - -int + + +; - - -type + + +statement - - -literal + + +statement_expression - - -local_variable_declaration + + +long - - -explicitly_typed_local_variable_declarators + + +contextual_keyword - - -char + + +< - - -; + + +pre_increment_expression - - -type + + +statement - - -member_access + + +contextual_keyword - - -[ + + +expression - - -identifier + + +; - - -identifier + + +simple_type - - -char + + +sa - - -local_variable_declaration + + +integral_type - - -partial + + +identifier - - -explicitly_typed_local_variable_declarators + + +interface_type - - + + identifier - - + + identifier - - -identifier + + +local6 - - -implicitly_typed_local_variable_declarator + + +literal - - -integral_type + + += - - -attribute_target_specifier + + +explicitly_typed_local_variable_declaration - - -literal + + +non_nullable_value_type - - -nullable_reference_type + + +int - - -constant_declaration + + +. - - -using_namespace_directive + + +0 - - -namespace_member_declaration + + +declaration_statement - - + + explicitly_typed_local_variable_declarator - - -integral_type - - - -@dynamic - - - -literal + + +__ - - -implicitly_typed_local_variable_declarator + + +identifier - - -local_variable_declaration + + +const - - + + unary_expression - - -attribute + + +; - - -statement + + +; + + + +> - - + + null_literal - - -statement_expression + + +declaration_statement - - -local_variable_initializer + + +literal - - -local_variable_declaration + + +implicitly_typed_local_variable_declarator - - -identifier + + +predefined_type - - -local3 + + +explicitly_typed_local_variable_declarator - - -identifier + + +( - - -identifier + + +method_modifier - - -iefSupplied + + +attribute_section - - -explicitly_typed_local_variable_declarator + + +implicitly_typed_local_variable_declarator - - -declaration_statement + + +async - - -DllImport + + +expression - - -} + + +unary_expression - - -statement + + +local_variable_initializer - - -return_type + + +literal - - -implicitly_typed_local_variable_declaration + + +statement + + + +contextual_keyword - - + + identifier - - -attribute_section + + +declaration_statement - - -integral_type + + +explicitly_typed_local_variable_declaration - - -local_variable_declaration + + +explicitly_typed_local_variable_declarator - - -@double + + +explicitly_typed_local_variable_declarators - - -var + + +type - - -1lU + + +contextual_keyword - - -method + + +{ + + + +; - - + + +yield + + + declaration_statement - - -contextual_keyword + + +identifier - - -unary_expression + + +type - - -declaration_statement + + +integral_type - - -@ushort + + +method - - -implicitly_typed_local_variable_declarator + + +identifier - - -fixed_parameter + + +0 - - -var + + += - - + + +local_variable_declaration + + + +, + + + declaration_statement - - -local_variable_initializer + + +- - - -public + + +var - - + + identifier - - -declaration_statement + + +ascending + + + +conditional_or_expression - - + + ; - - -implicitly_typed_local_variable_declarator + + +; - - -literal + + +CoContra - - + + = - - -@double + + +; - - -A + + +nullable_reference_type - - -explicitly_typed_local_variable_declarators + + +statement - - -null_coalescing_expression + + +type_parameter - - -static_constructor_modifiers + + +identifier - - + + regular_interpolation - - -expression + + +name - - -int + + +statement - - -ref_method_modifier + + +identifier - - -expression + + +; - - -namespace_or_type_name + + +select - - -; + + +literal - - -implicitly_typed_local_variable_declarator + + +identifier - - -type + + +var - - -local_variable_initializer + + +local4 - - + + identifier - - -local_variable_declaration + + +explicitly_typed_local_variable_declarators - - -explicitly_typed_local_variable_declaration + + +@long - - -[ + + += - - -identifier + + +byte - - -; + + +statement - - -- + + +method_declaration - - -local_variable_initializer + + +literal - - -- + + +return_type - - -in + + +type - - -identifier + + +; - - -literal + + +expression - - -literal + + +attribute_target_specifier - - -identifier + + +; - - -local_variable_initializer + + +. - - -type + + +integral_type - - -A + + +identifier - - -declaration_statement + + +lu - - -implicitly_typed_local_variable_declarator + + +l2 - - -explicitly_typed_local_variable_declaration + + +identifier - - -long + + +contextual_keyword - - -multiplicative_expression + + +literal - - -0xBADC0DE + + +explicitly_typed_local_variable_declarators - - -positional_argument_list + + +local_variable_initializer - - -; + + +minInt64Value - - -, + + +primary_expression - - -= + + +statement - - -identifier + + +block - - -local_variable_declaration + + +expression - - + + identifier - - -constructor_initializer + + +integral_type + + + +explicitly_typed_local_variable_declarators - - + + declaration_statement - - -; + + +0 - - -implicitly_typed_local_variable_declarator + + +member_access - - -attribute_section + + +statement - - -attribute_target + + +@uint - - -= + + +implicitly_typed_local_variable_declaration - - + + ; - - -method_body - - - -unary_expression + + +var - - -expression + + +literal - - -@float + + +attribute - - -local_variable_declaration + + +1 - - -expression + + +implicitly_typed_local_variable_declarator - - -; + + += - - -expression + + +int - - -group + + +local - - -declaration_statement + + +local_variable_declaration - - -; + + +identifier - - -foo + + +literal - - -local_variable_initializer + + +declaration_statement - - -ushort + + +( - - -local_variable_initializer + + +local_variable_declaration - - + + identifier - - -unary_expression - - - -class_declaration - - - -. + + +explicitly_typed_local_variable_declarators - - -= + + +type - - + + explicitly_typed_local_variable_declaration - - -type_parameter_constraints - - - -declaration_statement + + +, - - -0 + + +. - - -assignment + + +from - - -, + + +unsafe_modifier - - -= + + +constant_expression - - -statement_expression + + +literal - - -explicitly_typed_local_variable_declaration + + +contextual_keyword - - -: + + +statement - - -; + + +local_variable_declaration - - -implicitly_typed_local_variable_declarator + + +Obsolete - - -local_variable_declaration + + +constant_declarators - - -; + + +identifier - - -explicitly_typed_local_variable_declarator + + +class_declaration - - -local_variable_initializer + + +integral_type - - -type + + +explicitly_typed_local_variable_declarator - - -unary_expression + + +local_variable_declaration - - -; + + +explicitly_typed_local_variable_declarators - - + + = - - -primary_expression - - - -string + + +declaration_statement - - -expression + + +] - - -, + + +literal - - -var + + +: - - -additive_expression + + +0 - - -assignment + + +. - - -; + + +class_modifier - - -implicitly_typed_local_variable_declaration + + +) - - -; + + +identifier - - -bool + + +yield - - -class_type + + +1d - - -dynamic + + +; - - -null + + +identifier - - -dynamic + + +declaration_statement - - -> + + +expression - - -explicitly_typed_local_variable_declaration + + +literal - - -implicitly_typed_local_variable_declaration + + +var - - -1U + + +positional_argument_list - - -) + + +T - - -, + + +ref_method_modifier - - -= + + +int - - + + var - - -1.44F - - - -out + + +class - - -statement + + +; - - -unary_expression + + += - - -contextual_keyword + + +local_variable_declaration - - -expression_statement + + +unary_expression - - -. + + +literal - - -Action + + += - - -identifier + + +implicitly_typed_local_variable_declarator - - -object + + +expression - - -hexchar + + +implicitly_typed_local_variable_declarator - - -= + + +attribute_arguments - - -class_member_declaration + + +) - - -explicitly_typed_local_variable_declaration + + +literal - - -; + + +attribute_list - - -= + + +type - - -explicitly_typed_local_variable_declarators + + +attributes - - -2 + + +literal - - -; + + +var - - -= + + +method_header - - -= + + +u - - -; + + +@short - - -local_variable_declaration + + +unary_expression - - -class + + +, - - -implicitly_typed_local_variable_declaration + + +C - - + + identifier - - -identifier + + +where - - -0 + + += - - -explicitly_typed_local_variable_declaration + + +, - - -attribute_target + + += - - + + local_variable_declaration - - -; - - - -〔x·〕 - - - -int + + +floating_point_type - - -implicitly_typed_local_variable_declaration + + +0 - - + + var - - -assignment + + +decimal - - -contextual_keyword + + +implicitly_typed_local_variable_declaration - - -explicitly_typed_local_variable_declaration + + +attributes - - -local_variable_declaration + + +explicitly_typed_local_variable_declarator - - -var + + +relational_expression - - -identifier + + +Hex + + + +; - - + + = - - -expression_statement + + +A - - -u + + +boolean_literal - - -explicitly_typed_local_variable_declarator + + +1.2f - - -expression + + +identifier - - -declaration_statement + + +identifier - - + + = - - -@float - - - -implicitly_typed_local_variable_declarator + + +identifier - - -expression + + += - - -relational_expression + + +; - - -object_creation_expression + + +identifier - - -literal + + +identifier - - -@long + + +1U - - -implicitly_typed_local_variable_declarator + + +constant_declarator - - -1 + + += - - -; + + +i - - -var + + += - - -interpolated_verbatim_string_expression + + +constant_declaration - - + + ; - - -var + + +variant_type_parameter_list - - -@short + + +K - - -statement + + +unary_expression - - -0xBAD + + +unary_expression \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt index 10a7910d4..4dcab9d0d 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -630,7 +630,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 @@ -654,7 +654,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 @@ -1188,7 +1188,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt index 666335cbd..0581e4d61 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (constructor_declaration (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (literal 0)))) ) (embedded_statement (block { (statement_list (return_statement return ;)) })) else (embedded_statement (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier i)) == (relational_expression (literal 0)))) ) (embedded_statement (block { (statement_list (throw_statement throw (expression (object_creation_expression new (type (identifier Exception)) ( ))) ;)) })))))) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o1) = (expression (object_creation_expression new (type (identifier MyObject)) ( )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o2) = (expression (object_creation_expression new (type (identifier MyObject)) ( (argument_list (contextual_keyword var)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o3) = (expression (object_creation_expression new (type (identifier MyObject)) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target (identifier A)) = (initializer_value (identifier i)))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o4) = (expression (object_creation_expression new (type (identifier MyObject)) ( (argument_list (identifier @dynamic)) ) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target (identifier A)) = (initializer_value (literal 0))) , (member_initializer (initializer_target (identifier B)) = (initializer_value (literal 0))) , (member_initializer (initializer_target (identifier C)) = (initializer_value (literal 0)))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o5) = (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier A) = (expression (literal 0)))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier dictionaryInitializer) = (expression (object_creation_expression new (type (namespace_or_type_name (identifier Dictionary) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (class_type string))) >))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer { (expression_list (expression_list (literal 1)) , (expression (literal ""))) }) , (element_initializer { (expression_list (expression_list (literal 2)) , (expression (literal "a"))) })) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (floating_point_type float)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (array_type (non_array_type (floating_point_type float)) (rank_specifier [ ]))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer (literal 0f)) , (element_initializer (literal 1.1f))) })))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ , , ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier cube) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 111)) , (variable_initializer (literal 112))) , })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 121)) , (variable_initializer (literal 122))) }))) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 211)) , (variable_initializer (literal 212))) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 221)) , (variable_initializer (literal 222))) }))) }))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier jagged) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (literal 111)) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 121)) , (variable_initializer (literal 122))) }))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]) (rank_specifier [ , ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier arr) = (local_variable_initializer (array_creation_expression new (non_array_type (integral_type int)) [ (expression_list (literal 5)) ] (rank_specifier [ , ]))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) (assignment_operator =) (expression (array_creation_expression new (non_array_type (integral_type int)) [ (expression_list (expression_list (literal 5)) , (expression (literal 5))) ])))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) [ (argument_list (argument (literal 0)) , (argument (literal 0))) ])) (assignment_operator =) (expression (literal 47)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier arrayTypeInference) = (local_variable_initializer (array_creation_expression new (rank_specifier [ ]) (array_initializer { (variable_initializer_list (variable_initializer (literal 0)) , (variable_initializer (literal 1))) , }))))))) ;))) })))) }))) })))) +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (constructor_declaration (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (literal 0)))) ) (embedded_statement (block { (statement_list (return_statement return ;)) })) else (embedded_statement (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier i)) == (relational_expression (literal 0)))) ) (embedded_statement (block { (statement_list (throw_statement throw (expression (object_creation_expression new (type (identifier Exception)) ( ))) ;)) })))))) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o1) = (expression (object_creation_expression new (type (identifier MyObject)) ( )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o2) = (expression (object_creation_expression new (type (identifier MyObject)) ( (argument_list (contextual_keyword var)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o3) = (expression (object_creation_expression new (type (identifier MyObject)) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target (identifier A)) = (initializer_value (identifier i)))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o4) = (expression (object_creation_expression new (type (identifier MyObject)) ( (argument_list (identifier @dynamic)) ) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target (identifier A)) = (initializer_value (literal 0))) , (member_initializer (initializer_target (identifier B)) = (initializer_value (literal 0))) , (member_initializer (initializer_target (identifier C)) = (initializer_value (literal 0)))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o5) = (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier A) = (expression (literal 0)))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier dictionaryInitializer) = (expression (object_creation_expression new (type (namespace_or_type_name (identifier Dictionary) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (class_type string))) >))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer { (expression_list (expression (literal 1)) , (expression (literal ""))) }) , (element_initializer { (expression_list (expression (literal 2)) , (expression (literal "a"))) })) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (floating_point_type float)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (array_type (non_array_type (floating_point_type float)) (rank_specifier [ ]))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer (literal 0f)) , (element_initializer (literal 1.1f))) })))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ , , ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier cube) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 111)) , (variable_initializer (literal 112))) , })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 121)) , (variable_initializer (literal 122))) }))) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 211)) , (variable_initializer (literal 212))) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 221)) , (variable_initializer (literal 222))) }))) }))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier jagged) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (literal 111)) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 121)) , (variable_initializer (literal 122))) }))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]) (rank_specifier [ , ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier arr) = (local_variable_initializer (array_creation_expression new (non_array_type (integral_type int)) [ (expression_list (literal 5)) ] (rank_specifier [ , ]))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) (assignment_operator =) (expression (array_creation_expression new (non_array_type (integral_type int)) [ (expression_list (expression (literal 5)) , (expression (literal 5))) ])))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) [ (argument_list (argument (literal 0)) , (argument (literal 0))) ])) (assignment_operator =) (expression (literal 47)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier arrayTypeInference) = (local_variable_initializer (array_creation_expression new (rank_specifier [ ]) (array_initializer { (variable_initializer_list (variable_initializer (literal 0)) , (variable_initializer (literal 1))) , }))))))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.svg index 02a231478..69a636a95 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -1,23 +1,23 @@ - - - - - - - - - - - + + + + + + + + + + + - + - - - + + + - + @@ -27,13 +27,13 @@ - - - - - + + + + + - + @@ -65,11 +65,11 @@ - - - - - + + + + + @@ -122,7 +122,7 @@ - + @@ -140,7 +140,7 @@ - + @@ -161,7 +161,7 @@ - + @@ -190,7 +190,7 @@ - + @@ -242,7 +242,7 @@ - + @@ -266,19 +266,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -293,2908 +293,2908 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -variable_initializer_list - - - -literal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +array_initializer - - -( + + +{ - - -identifier + + +i - - -object_or_collection_initializer + + +local_variable_declaration - - -expression + + +121 - - -literal + + +anonymous_object_creation_expression - - -declaration_statement + + +0 - - -type + + +literal - - -@dynamic + + += - - -relational_expression + + +assignment_operator - - + + } - - -member_initializer - - - -array_initializer - - - -, - - - -; + + +foo - - -parameter_list + + +primary_no_array_creation_expression - - -{ + + +rank_specifier - - -literal + + +A - - -variable_initializer + + +rank_specifier - - -C + + +unsafe_modifier - - -{ + + +Obsolete - - -embedded_statement + + +, - - -111 + + +namespace_member_declaration - - + + new - - -class_member_declaration - - - -integral_type + + +expression - - -string + + +} - - + + ] - - -jagged + + +Exception - - -constructor_initializer + + +identifier - - -if + + +, - - -identifier + + +, - - -literal + + +, - - -local_variable_declaration + + +> - - -literal + + +boolean_expression - - -int + + +interface_type - - -explicitly_typed_local_variable_declarators + + +element_access - - -variable_initializer + + +identifier - - -= + + +{ - - -argument + + +declaration_statement - - -statement + + += - - -rank_specifier + + +class_modifier - - -integral_type + + +implicitly_typed_local_variable_declarator - - -implicitly_typed_local_variable_declaration + + +member_initializer_list - - -local_variable_declaration + + +111 - - -type + + +variable_initializer - - -new + + +param - - + + +attribute_target_specifier + + + ( - - -{ + + +member_initializer - - -112 + + +, - - -} + + +explicitly_typed_local_variable_declaration - - -, + + +[ - - -relational_expression + + +array_initializer - - -rank_specifier + + +implicitly_typed_local_variable_declarator + + + +{ - - + + 0 - - -identifier + + +element_initializer - - + + +local_variable_declaration + + + = - - -5 + + +element_access - - + + +} + + + new - - -initializer_value + + +attributes initializer_value - - -A - - - -explicitly_typed_local_variable_declarator + + +] - - -Obsolete + + +} - - -embedded_statement + + +array_initializer - - -expression_list + + +element_initializer - - -, + + +a - - -221 + + +{ - - -expression_list + + +] - - -[ + + +} - - -identifier - - - -0 - - - -] - - - -Dictionary - - - -{ - - - -expression - - - -object_creation_expression - - - -) - - - -{ - - - -dictionaryInitializer + + +unsafe - - -expression + + +literal - - -variable_initializer + + +non_array_type - - -variable_initializer + + +local_variable_initializer - - + + ] - - -0 - - - -var + + +variable_initializer_list - - -statement_list + + +explicitly_typed_local_variable_declaration - - -statement_expression + + +literal - - -o3 + + +if - - -declaration_statement + + +{ - - + + , - - -literal - - - -collection_initializer - - - -) - - - -implicitly_typed_local_variable_declaration + + +; - - -non_array_type + + +local_variable_declaration - - + + ; - - -} - - - -var + + +identifier - - -122 + + +identifier - - -variable_initializer + + +[ - - + + } - - -rank_specifier + + +} - - + + ; - - -primary_no_array_creation_expression - - - -type + + +literal - - -} + + +222 - - -param + + +; - - -member_initializer_list + + +A - - -contextual_keyword + + +explicitly_typed_local_variable_declarator - - -expression + + +array_type - - -rank_specifier + + +C - - -; + + +variable_initializer - - -local_variable_initializer + + +identifier - - -local_variable_declaration + + +explicitly_typed_local_variable_declarator - - -) + + +var - - -new + + +collection_initializer - - -identifier + + +] - - -literal + + +unary_expression - - -} + + +MyObject - - -[ + + +member_declarator_list - - -type + + +111 - - -non_array_type + + +implicitly_typed_local_variable_declarator - - -= + + +literal - - -explicitly_typed_local_variable_declaration + + +public - - -assignment_operator + + +explicitly_typed_local_variable_declarators - - -identifier + + += - - -arr + + +local_variable_initializer - - -member_initializer + + +{ statement_list - - -boolean_expression - - - -literal + + +) - - -variable_initializer + + +object_initializer - - -non_array_type + + +implicitly_typed_local_variable_declaration - - -expression + + +unary_expression - - -{ + + +implicitly_typed_local_variable_declaration - - -variable_initializer_list + + +; - - -statement + + += - - + + literal - - -class_type - - - -variable_initializer - - - -argument_list - - - -2 + + +identifier - - -int + + +declaration_statement - - -< + + +object_or_collection_initializer - - -float + + +relational_expression - - -variable_initializer + + +embedded_statement - - -; + + +literal - - -== + + +new - - -element_initializer_list + + +statement - - -a + + +declaration_statement - - -literal + + +, - - -int + + +public - - -unary_expression + + +contextual_keyword - - -; + + +object_creation_expression - - -expression + + +type - - -0 + + +array_initializer - - -array_creation_expression + + +statement - - -identifier + + +interface_type_list - - + + { - - -1.1f + + +variable_initializer - - + + { - - -literal - - - -variable_initializer + + +block - - -expression_statement + + +fixed_parameter - - -element_access + + +type_argument_list - - -new + + += - - -element_initializer + + +variable_initializer - - -expression_statement + + +assignment_operator - - + + ( + + +212 + expression - - -, - - - -initializer_value - - - -variable_initializer_list - - - -embedded_statement - - - -member_declarator - - - -literal + + +object_creation_expression - - -array_type + + +== - - -i + + +new - - -object_or_collection_initializer + + +, - - -literal + + +integral_type - - -assignment + + +variable_initializer_list - - -} + + +return_statement - - + + identifier - - -namespace_member_declaration - - - -else + + +statement - - -int + + +array_initializer - - -{ + + +variable_initializer - - -MyObject + + +local_variable_initializer - - -identifier + + +0 - - -explicitly_typed_local_variable_declarators + + +( - - -; + + +rank_specifier - - -0f + + +local_variable_declaration - - -{ + + +array_type - - -type + + +5 - - -local_variable_declaration + + +221 - - -} + + +array_creation_expression - - -] + + +statement_expression - - -, + + +; - - -o5 + + +identifier - - -object_creation_expression + + +) - - + + literal - - -declaration_statement + + +initializer_value - - -, + + +expression - - -array_initializer + + +rank_specifier - - -variable_initializer_list + + +non_array_type - - -} + + +identifier - - -5 + + +type - - -= + + +initializer_value - - -if_statement + + +identifier - - -var + + +element_initializer_list - - -expression + + +explicitly_typed_local_variable_declarators - - -identifier + + +} - - -identifier + + +[ - - -literal + + +} - - -unary_expression + + +explicitly_typed_local_variable_declarator - - -identifier + + +primary_no_array_creation_expression - - -statement + + +declaration_statement - - -identifier + + +type - - -attribute_section + + += - - -) + + +rank_specifier - - -literal + + +float - - + + local_variable_declaration - - -initializer_target + + +literal - - -"a" + + +{ - - + + variable_initializer - - -} - - - -} - - - -argument_list + + +statement - - + + identifier - - -element_initializer_list + + +type_arguments - - -var + + +element_initializer_list - - -implicitly_typed_local_variable_declaration + + +identifier - - -array_type + + +parameter_list - - -namespace_body + + +MyObject - - -declaration_statement + + +211 - - -; + + +variable_initializer_list - - -rank_specifier + + +variable_initializer_list - - -type + + +array_type - - -] + + +non_array_type - - + + { - - -statement + + +] - - -( + + +C - - -initializer_value + + +[ - - -, + + +member_initializer - - -= + + +variable_initializer_list - - -literal + + +base - - -declaration_statement + + +literal - - -class_modifier + + +literal - - -array_initializer + + +variable_initializer - - -assignment + + +} - - + + { - - -} + + +, - - -; + + +} - - -array_type + + +if_statement - - -statement + + +variable_initializer - - -implicitly_typed_local_variable_declaration + + +: - - + + 0 - - -class_base + + +primary_no_array_creation_expression - - -declaration_statement + + +variable_initializer - - -) + + +MyObject - - -literal + + +{ - - -, + + +My - - -constructor_modifier + + +new - - + + +implicitly_typed_local_variable_declaration + + + +A + + + +> + + + +local_variable_declaration + + + +112 + + + +variable_initializer + + + expression - - -object_creation_expression + + +var - - -expression_list + + +type - - -statement_expression + + +] - - -interface_type + + += - - -local_variable_initializer + + +compilation_unit - - -arrayTypeInference + + += - - -non_array_type + + +variable_initializer - - -constructor_declaration + + +122 - - -throw + + +literal - - -rank_specifier + + +arr - - + + ( - - -, + + +literal - - -) + + +"a" - - -public + + +0 - - -class_body + + +variable_initializer_list - - -o4 + + +statement - - -} + + +variable_initializer - - -implicitly_typed_local_variable_declaration + + +identifier - - -] + + +0 + + + +local_variable_declaration + + + += + + + +anonymous_object_initializer - - -= + + +var - - -} + + +0f - - + + identifier - - -argument_list - - - + + local_variable_declaration - - -expression - - - -identifier - initializer_target - - -1 + + +5 - - + + +5 + + + implicitly_typed_local_variable_declarator - - + + [ - - -element_access - - - -"" - - - -121 - - - -integral_type - - - -foo + + +, ; - - -: + + +literal - - -object_creation_expression + + +element_initializer - - -collection_initializer + + +expression - - + + variable_initializer - - -[ - - - -element_initializer + + +0 - - -A + + +) - - -member_initializer + + +identifier - - -floating_point_type + + +} - - -identifier + + +statement_list - - -implicitly_typed_local_variable_declarator + + +declaration_statement - - -member_declarator_list + + +} - - + + var - - -qualified_identifier + + +} - - -new + + +explicitly_typed_local_variable_declaration - - -literal + + +object_or_collection_initializer - - -initializer_target + + +statement - - -, + + +relational_expression - - -equality_expression + + +throw - - -= + + +, - - -object_creation_expression + + +interface_type - - -121 + + +integral_type - - + + new - - -partial + + +literal - - -identifier + + +122 - - -type_argument_list + + +argument - - -} + + +floating_point_type - - -variable_initializer_list + + +identifier - - -[ + + +1.1f - - -; + + +local_variable_initializer - - -statement + + +] - - -C + + +prog - - + + +0 + + + identifier - - -{ + + +, - - -( + + +[ - - -var + + +constructor_body + + + +element_access + + + +identifier + + + +cube - - + + { - - -variable_initializer + + +identifier - - -local_variable_initializer + + +implicitly_typed_local_variable_declaration - - -if + + +} - - -array_creation_expression + + +{ - - -array_initializer + + +] - - -expression_list + + +integral_type - - -explicitly_typed_local_variable_declarator + + +array_initializer - - -[ + + +1 - - -rank_specifier + + +{ - - -element_initializer + + +identifier - - -] + + +} - - -variable_initializer + + +initializer_target - - -explicitly_typed_local_variable_declarators + + += - - -variable_initializer_list + + +statement - - -literal + + +type - - -literal + + +type - - -variable_initializer + + +[ - - -statement + + +integral_type + + + +relational_expression - - -> + + +[ - - + + } - - -implicitly_typed_local_variable_declarator + + +integral_type - - -statement + + +argument_list + + + +variable_initializer - - + + = - - -array_type + + +namespace_or_type_name - - -212 + + +identifier - - + + literal - - -] + + +int - - -= + + +expression_list - - -expression + + +, - - -B + + +class_declaration - - -array_initializer + + +initializer_target - - -anonymous_object_initializer + + +variable_initializer - - -0 + + +argument_list - - -, + + +class_body - - + + { - - -int + + +new - - -, + + +variable_initializer_list - - -= + + +literal - - + + identifier - - -arr + + +constructor_initializer - - -type + + +identifier - - -} + + +expression_list - - -type_arguments + + +] - - -argument + + +statement - - -} + + +o3 - - -base + + +; - - -, + + +int - - -variable_initializer_list + + +o4 - - -0 + + +literal - - -explicitly_typed_local_variable_declaration + + +var - - -equality_expression + + +argument_list - - -literal + + +{ - - -, + + +: - - -object_initializer + + +object_or_collection_initializer - - -local_variable_declaration + + +, - - -222 + + +literal - - -namespace + + +array_initializer - - -member_initializer + + +array_creation_expression - - -identifier + + +constructor_modifier - - -explicitly_typed_local_variable_declarator + + +[ - - -object_creation_expression + + +type - - -variable_initializer + + +, - - -} + + +class_type - - -= + + +MyObject - - -if_statement + + +non_array_type - - + + literal - - -, - - - -attribute_target_specifier - - - -variable_initializer + + +array_type - - -identifier + + +, - - + + literal - - -identifier + + +array_initializer - - -explicitly_typed_local_variable_declaration + + +expression - - -new + + +arr - - -integral_type + + +{ - - -object_or_collection_initializer + + +A - - -, + + +literal - - -expression + + +attribute_target - - -literal + + +) - - -primary_no_array_creation_expression + + +variable_initializer - - -0 + + +[ - - -= + + +expression - - -identifier + + +literal - - -array_initializer + + +47 - - -integral_type + + +class - - -i + + +block - - -namespace_or_type_name + + +rank_specifier - - -boolean_expression + + += - - -local_variable_declaration + + +collection_initializer - - -identifier + + +member_initializer - - -o1 + + +( - - -rank_specifier + + +] - - -, + + +identifier - - -integral_type + + +local_variable_initializer - - -47 + + +1 - - -A + + +statement - - -) + + +expression_list - - -literal + + +[ - - -explicitly_typed_local_variable_declaration + + +block - - -] + + +expression - - -prog + + +A - - -, + + +else - - -unsafe + + +( - - + + int - - -identifier + + +object_creation_expression - - -111 + + +class_modifier - - -constructor_body + + +constructor_declaration - - + + arr - - -declaration_statement + + +o5 - - -interface_type_list + + +object_initializer - - -integral_type + + +statement_expression - - -{ + + +: - - -, + + +type_argument - - -, + + +identifier - - -element_initializer + + +array_type - - -{ + + +non_array_type - - -variable_initializer + + +B + + + +{ - - + + } - - -0 + + +int - - -argument_list + + +statement - - -float + + +initializer_target - - -variable_initializer_list + + +type - - -expression_list + + +integral_type - - -array_initializer + + +identifier - - -argument_list + + +explicitly_typed_local_variable_declaration - - -[ + + +qualified_identifier - - -type_argument + + +[ - - -= + + +class_base - - -anonymous_object_creation_expression + + +0 - - -A + + +expression - - -block + + +non_array_type - - -, + + += - - -expression_list + + +literal - - -explicitly_typed_local_variable_declarators + + +identifier - - -MyObject + + +variable_initializer - - + + statement - - -type_argument - - - -cube + + +} - - -explicitly_typed_local_variable_declarators + + +object_creation_expression - - -member_initializer_list + + +declaration_statement - - -integral_type + + +, - - -; + + +int - - -( + + +embedded_statement - - -array_type + + +) - - -My + + +Dictionary - - -type + + +floating_point_type - - -[ + + +declaration_statement - - -[ + + +, - - -primary_no_array_creation_expression + + +expression - - -int + + +identifier - - -MyObject + + +implicitly_typed_local_variable_declarator - - -[ + + +) - - + + type - - -variable_initializer_list + + +, - - -array_initializer + + +declaration_statement + + + +local_variable_declaration - - + + , - - -public + + +attribute_list - - -I + + +object_creation_expression - - -statement + + +type_argument - - -attributes + + +variable_initializer_list - - -A + + +integral_type - - -relational_expression + + +] + + + +assignment + + + +< object_or_collection_initializer - - -object_creation_expression + + +identifier + + + +expression - - -floating_point_type + + +element_initializer - - -type + + +variable_initializer_list - - -explicitly_typed_local_variable_declarator + + +namespace_declaration - - -, + + +o1 - - -= + + +class_member_declaration - - -identifier + + +array_creation_expression - - -{ + + +explicitly_typed_local_variable_declarators - - -] + + +array_type - - -local_variable_declaration + + +variable_initializer - - -local_variable_initializer + + +] - - -element_access + + +( - - -throw_statement + + +, - - + + literal - - -initializer_target - - - -variable_initializer + + +{ - - -1 + + +declaration_statement - - -non_array_type + + +statement - - + + statement - - -] + + +if - - -rank_specifier + + += - - -constructor_declarator + + +assignment - - -] + + +explicitly_typed_local_variable_declarator - - -non_array_type + + +; - - -array_initializer + + +return - - -assignment_operator + + +implicitly_typed_local_variable_declarator - - -[ + + +explicitly_typed_local_variable_declaration - - -, + + += - - -explicitly_typed_local_variable_declarator + + +variable_initializer - - -new + + +rank_specifier - - -{ + + +argument_list - - -local_variable_initializer + + +@dynamic - - -[ + + +expression_statement - - -statement + + +object_creation_expression - - -variable_initializer + + +expression - - -object_initializer + + +expression - - + + , - - -0 + + +expression - - -[ + + +boolean_expression - - -explicitly_typed_local_variable_declaration + + +, - - -statement + + +expression_list - - -= + + +literal - - -declaration_statement + + +1 - - -local_variable_declaration + + +jagged - - -expression_list + + +argument - - -{ + + +arrayTypeInference - - -o2 + + +constructor_declarator - - -implicitly_typed_local_variable_declaration + + +{ - - -] + + +expression_statement - - -type + + +] - - -; + + +explicitly_typed_local_variable_declarators - - -; + + +declaration_statement - - -unsafe_modifier + + +identifier - - -implicitly_typed_local_variable_declarator + + +i - - -int + + +rank_specifier - - -type + + +argument_list - - -array_initializer + + +"" - - -declaration_statement + + +namespace_body - - -class_modifier + + +member_initializer_list - - -= + + +implicitly_typed_local_variable_declaration - - -identifier + + +partial - - -var + + +o2 = - - -expression - - - -interface_type + + +literal - - + + identifier - - -variable_initializer_list + + +int + + + +local_variable_declaration + + + +embedded_statement + + + +; + + + +argument_list + + + +, - - + + 0 - - + + +explicitly_typed_local_variable_declarators + + + literal - - -identifier + + +new - - -5 + + +non_array_type - - -{ + + +equality_expression - - -declaration_statement + + +0 - - -array_type + + +; - - -non_array_type + + +{ - - + + literal - - -] + + +array_initializer - - + + identifier - - -argument_list + + +type - - + + +2 + + + literal - - -: + + +I - - -literal + + +[ - - -} + + +; - - -} + + +) - - -literal + + +int - - -block + + +new - - -variable_initializer_list + + +; - - -[ + + +integral_type - - -{ + + +i + + + +statement_list + + + +) - - + + +} + + + ; - - -attribute_list + + +rank_specifier - - -( + + +[ - - -Exception + + +expression - - -) + + +implicitly_typed_local_variable_declaration - - -block + + +string - - -declaration_statement + + +non_array_type - - -implicitly_typed_local_variable_declarator + + +local_variable_declaration - - -{ + + +float - - -statement_list + + +dictionaryInitializer - - -} + + +declaration_statement - - -211 + + +if_statement + + + +] shift_expression - - -identifier + + +initializer_value - - -rank_specifier + + +array_initializer - - -> + + +} - - + + +var + + + [ - - -identifier + + +object_creation_expression - - -compilation_unit + + +new - - -identifier + + +equality_expression - - -namespace_declaration + + +} - - -: + + +; - - -identifier + + +variable_initializer_list - - + + array_initializer - - -return_statement + + +throw_statement - - -implicitly_typed_local_variable_declarator + + +namespace - - -122 + + +] - - -class + + +[ - - -statement + + +type - - + + +, + + + +literal + + + +identifier + + + +expression + + + +variable_initializer_list + + + += + + + new - - -1 + + +var - - -return + + +member_declarator - - -class_declaration + + +} + + + +{ - - + + literal - - -i + + +type - - -] + + +int - - -attribute_target + + +rank_specifier - - -[ + + +literal - - -array_creation_expression + + +attribute_section - - -= + + +type - - -] + + +identifier - - -fixed_parameter + + +( - - -new + + +statement - - -local_variable_declaration + + +identifier - - -MyObject + + +, - - + + +explicitly_typed_local_variable_declarator + + + identifier - - -non_array_type + + +variable_initializer - - -type + + +121 - - -variable_initializer + + +member_initializer + + + +literal \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt index e438b7175..aef2978de 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -1001,209 +1001,200 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ != +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ != +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join_into_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join_into_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ @@ -1250,81 +1241,78 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderings ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderings +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering_direction -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ascending +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering_direction +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ascending +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderings ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderings +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Key +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Key +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering_direction -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ descending -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering_direction +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ descending ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt index f5db83ac8..f4ceb7ac3 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (constructor_declaration (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (lock_statement lock ( (expression (identifier sync)) ) (embedded_statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier process)) ( ))) ;)))) (statement (using_statement using ( (resource_acquisition (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (invocation_expression (primary_expression (identifier BeginScope)) ( )))))) ) (embedded_statement (using_statement using ( (resource_acquisition (explicitly_typed_local_variable_declaration (type (identifier A)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( ))))))) ) (embedded_statement (using_statement using ( (resource_acquisition (explicitly_typed_local_variable_declaration (type (identifier A)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( )))) , (explicitly_typed_local_variable_declarator (identifier b) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( ))))))) ) (embedded_statement (using_statement using ( (resource_acquisition (invocation_expression (primary_expression (identifier BeginScope)) ( ))) ) (embedded_statement (return_statement return ;)))))))))) (statement (yield_statement yield return (expression (element_access (primary_no_array_creation_expression (member_access (primary_expression (this_access this)) . (identifier items))) [ (argument_list (literal 3)) ])) ;)) (statement (yield_statement yield break ;)) (statement (fixed_statement fixed ( (pointer_type (value_type (integral_type int)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier p) = (fixed_pointer_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 100)) ]))) , (fixed_pointer_declarator (identifier q) = (fixed_pointer_initializer & (variable_reference (identifier y))))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (pointer_indirection_expression * (unary_expression (identifier intref)))) (assignment_operator =) (expression (literal 1)))) ;)) })))) (statement (fixed_statement fixed ( (pointer_type (value_type (integral_type int)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier p) = (fixed_pointer_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 100)) ])))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (pointer_indirection_expression * (unary_expression (identifier intref)))) (assignment_operator =) (expression (literal 1)))) ;)) })))) (statement (unsafe_statement unsafe (block { (statement_list (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (pointer_type (value_type (integral_type int)) *)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier p) = (local_variable_initializer (null_literal null)))))) ;)) }))) (statement (try_statement try (block { (statement_list (throw_statement throw (expression (null_literal null)) ;)) }) (catch_clauses (specific_catch_clause catch (exception_specifier ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier AccessViolationException))) (identifier av) )) (block { (statement_list (throw_statement throw (expression (identifier av)) ;)) })) (specific_catch_clause catch (exception_specifier ( (type (identifier Exception)) )) (block { (statement_list (throw_statement throw ;)) }))) (finally_clause finally (block { (statement_list (try_statement try (block { }) (catch_clauses (general_catch_clause catch (block { }))))) })))) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword var)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier anonymous) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (assignment (unary_expression (identifier A)) (assignment_operator =) (expression (literal 1)))) , (variable_initializer (assignment (unary_expression (identifier B)) (assignment_operator =) (expression (literal 2)))) , (variable_initializer (assignment (unary_expression (identifier C)) (assignment_operator =) (expression (literal 3))))) , })))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier query) = (expression (query_expression (from_clause from (identifier c) in (expression (identifier customers))) (query_body (query_body_clauses (query_body_clauses (query_body_clauses (query_body_clauses (let_clause let (identifier d) = (expression (identifier c)))) (query_body_clause (where_clause where (boolean_expression (equality_expression (equality_expression (identifier d)) != (relational_expression (null_literal null))))))) (query_body_clause (join_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( )))))) (query_body_clause (join_into_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))) into (identifier e)))) (select_or_group_clause (group_clause group (expression (identifier c)) by (expression (member_access (primary_expression (identifier c)) . (identifier Country))))) (query_continuation into (identifier g) (query_body (query_body_clauses (query_body_clauses (orderby_clause orderby (orderings (ordering (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))) (ordering_direction ascending))))) (query_body_clause (orderby_clause orderby (orderings (ordering (expression (member_access (primary_expression (identifier g)) . (identifier Key))) (ordering_direction descending)))))) (select_or_group_clause (select_clause select (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier Country) = (expression (member_access (primary_expression (identifier g)) . (identifier Key)))) , (member_declarator (identifier CustCount) = (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))))) }))))))))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier query)) (assignment_operator =) (expression (query_expression (from_clause from (identifier c) in (expression (identifier customers))) (query_body (select_or_group_clause (select_clause select (expression (identifier c)))) (query_continuation into (identifier d) (query_body (select_clause select (expression (identifier d)))))))))) ;))) })))) }))) })))) +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (constructor_declaration (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (lock_statement lock ( (expression (identifier sync)) ) (embedded_statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier process)) ( ))) ;)))) (statement (using_statement using ( (resource_acquisition (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (invocation_expression (primary_expression (identifier BeginScope)) ( )))))) ) (embedded_statement (using_statement using ( (resource_acquisition (explicitly_typed_local_variable_declaration (type (identifier A)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( ))))))) ) (embedded_statement (using_statement using ( (resource_acquisition (explicitly_typed_local_variable_declaration (type (identifier A)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( )))) , (explicitly_typed_local_variable_declarator (identifier b) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( ))))))) ) (embedded_statement (using_statement using ( (resource_acquisition (invocation_expression (primary_expression (identifier BeginScope)) ( ))) ) (embedded_statement (return_statement return ;)))))))))) (statement (yield_statement yield return (expression (element_access (primary_no_array_creation_expression (member_access (primary_expression (this_access this)) . (identifier items))) [ (argument_list (literal 3)) ])) ;)) (statement (yield_statement yield break ;)) (statement (fixed_statement fixed ( (pointer_type (value_type (integral_type int)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier p) = (fixed_pointer_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 100)) ]))) , (fixed_pointer_declarator (identifier q) = (fixed_pointer_initializer & (variable_reference (identifier y))))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (pointer_indirection_expression * (unary_expression (identifier intref)))) (assignment_operator =) (expression (literal 1)))) ;)) })))) (statement (fixed_statement fixed ( (pointer_type (value_type (integral_type int)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier p) = (fixed_pointer_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 100)) ])))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (pointer_indirection_expression * (unary_expression (identifier intref)))) (assignment_operator =) (expression (literal 1)))) ;)) })))) (statement (unsafe_statement unsafe (block { (statement_list (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (pointer_type (value_type (integral_type int)) *)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier p) = (local_variable_initializer (null_literal null)))))) ;)) }))) (statement (try_statement try (block { (statement_list (throw_statement throw (expression (null_literal null)) ;)) }) (catch_clauses (specific_catch_clause catch (exception_specifier ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier AccessViolationException))) (identifier av) )) (block { (statement_list (throw_statement throw (expression (identifier av)) ;)) })) (specific_catch_clause catch (exception_specifier ( (type (identifier Exception)) )) (block { (statement_list (throw_statement throw ;)) }))) (finally_clause finally (block { (statement_list (try_statement try (block { }) (catch_clauses (general_catch_clause catch (block { }))))) })))) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword var)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier anonymous) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (assignment (unary_expression (identifier A)) (assignment_operator =) (expression (literal 1)))) , (variable_initializer (assignment (unary_expression (identifier B)) (assignment_operator =) (expression (literal 2)))) , (variable_initializer (assignment (unary_expression (identifier C)) (assignment_operator =) (expression (literal 3))))) , })))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier query) = (expression (query_expression (from_clause from (identifier c) in (expression (identifier customers))) (query_body (query_body_clause (let_clause let (identifier d) = (expression (identifier c)))) (query_body_clause (where_clause where (boolean_expression (equality_expression (equality_expression (identifier d)) != (relational_expression (null_literal null)))))) (query_body_clause (join_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))))) (query_body_clause (join_into_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))) into (identifier e))) (select_or_group_clause (group_clause group (expression (identifier c)) by (expression (member_access (primary_expression (identifier c)) . (identifier Country))))) (query_continuation into (identifier g) (query_body (query_body_clause (orderby_clause orderby (orderings (ordering (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))) (ordering_direction ascending))))) (query_body_clause (orderby_clause orderby (orderings (ordering (expression (member_access (primary_expression (identifier g)) . (identifier Key))) (ordering_direction descending))))) (select_or_group_clause (select_clause select (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier Country) = (expression (member_access (primary_expression (identifier g)) . (identifier Key)))) , (member_declarator (identifier CustCount) = (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))))) }))))))))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier query)) (assignment_operator =) (expression (query_expression (from_clause from (identifier c) in (expression (identifier customers))) (query_body (select_or_group_clause (select_clause select (expression (identifier c)))) (query_continuation into (identifier d) (query_body (select_clause select (expression (identifier d)))))))))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.svg index 0f0d6d839..e90eafea5 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -1,23 +1,23 @@ - - - - - - - - - - - + + + + + + + + + + + - + - - - + + + - + @@ -27,13 +27,13 @@ - - - - - + + + + + - + @@ -65,11 +65,11 @@ - - - - - + + + + + @@ -87,7 +87,7 @@ - + @@ -181,7 +181,7 @@ - + @@ -201,12 +201,12 @@ - + - + @@ -262,7 +262,7 @@ - + @@ -308,7 +308,7 @@ - + @@ -333,7 +333,7 @@ - + @@ -404,7 +404,7 @@ - + @@ -455,3096 +455,3076 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -identifier - - - -new - - - -primary_expression - - - -invocation_expression - - - -} - - - -) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +null - - -identifier + + +member_access - - + + statement - - -expression - - - + + identifier - - -primary_expression - - - -group - - - -) - - - -1 + + +attribute_list - - -{ + + +class - - -into + + +query - - -resource_acquisition + + +statement_list - - -unsafe + + +int - - -} + + +namespace_body - - -expression + + +literal - - -} + + +embedded_statement - - -return_statement + + +on - - -A + + +embedded_statement - - -= + + +{ - - -class_modifier + + +integral_type - - -var + + +identifier - - + + ( - - -C + + +} local_variable_declaration - - -identifier - - - -items - - - -) - - - -= - - - -expression + + +class_declaration - - -invocation_expression + + +} - - -in + + +, integral_type - - -{ + + +* - - -A + + +q - - -av + + +identifier - - -declaration_statement + + +primary_expression - - -statement + + +in - - -query_body + + +p - - -( + + +fixed_pointer_declarators - - -( + + +A - - -} + + +anonymous_object_creation_expression - - -throw + + +catch - - -equals + + +identifier - - -( + + +block - - -c + + +. - - -local_variable_initializer + + +primary_expression - - -c + + +customers - - -exception_specifier + + +specific_catch_clause - - -identifier + + +d - - -int + + +) - - -identifier + + +declaration_statement - - -BeginScope + + +catch - - -My + + +{ - - -. + + +; - - -customers + + +identifier - - -constructor_body + + +expression - - -fixed_parameter + + +GetHashCode - - -identifier + + +c1 - - -identifier + + +let_clause - - + + primary_expression - - -identifier - - - -fixed_statement + + +resource_acquisition - - -statement - - - -identifier - - - -unary_expression - - - -embedded_statement - - - -identifier - - - -local_variable_initializer - - - -equality_expression + + +} - - -from_clause + + +av - - -{ + + +expression - - -* + + +, - - -fixed_statement + + +Key - - -GetHashCode + + +expression - - -primary_expression + + +g - - -stackalloc + + +type - - -pointer_type + + +A - - -primary_expression + + +statement_expression - - + + ) - - -, - - - + + identifier - - -orderby_clause + + +identifier - - -value_type + + +using_statement - - -) + + +using - - -identifier + + +explicitly_typed_local_variable_declarators - - -unsafe_statement + + +: - - -null_literal + + +interface_type - - -statement_expression + + +object_creation_expression - - -resource_acquisition + + +namespace_declaration - - -member_access + + +interface_type - - + + identifier - - -= + + +statement - - + + identifier - - -} - - - -parameter_list - - - -expression - - - -expression + + +using_statement - - -) + + +param - - -variable_initializer + + +v - - -select + + +identifier - - -variable_initializer_list + + +identifier - - -ordering + + +orderby - - -assignment_operator + + +qualified_identifier - - -expression + + +pointer_indirection_expression - - -new + + +C - - -av + + +attribute_target - - -using_statement + + +( - - + + identifier - - -member_access - - - -statement + + +invocation_expression - - -explicitly_typed_local_variable_declaration + + +100 - - + + stackalloc - - -explicitly_typed_local_variable_declaration - - - -identifier - - - -class_member_declaration + + += - - -unary_expression + + +. - - -; + + +statement_list - - -integral_type + + +{ - - -A + + +customers - - -select_clause + + +int - - -identifier + + +block - - + + { - - -value_type + + +pointer_type - - -= + + +) - - + + identifier - - -statement + + +identifier - - -assignment_operator + + += - - -p + + +statement - - -fixed_pointer_initializer + + +) - - -* + + +3 - - -member_access + + +identifier - - -c + + +expression - - -C + + +expression - - -( + + +expression_statement - - -fixed_pointer_declarators + + +, - - + + identifier - - -int + + +. - - -Country + + +( - - -expression + + +; - - -statement_list + + +invocation_expression - - -A + + +member_access - - -ascending + + +query_continuation - - -intref + + +variable_initializer_list - - -p + + +equality_expression + + + +} - - + + identifier - - -expression + + +fixed_statement - - -primary_expression + + +let - - -fixed_pointer_declarator + + +throw_statement - - -} + + +; - - + + +unsafe + + + identifier - - -c + + +p - - -sync + + +descending - - -assignment + + +( - - -fixed_pointer_declarators + + +; - - + + ( - - -{ + + +assignment - - -from_clause + + +I - - -attribute_section + + +unary_expression - - -primary_no_array_creation_expression + + +finally_clause - - -( + + +integral_type - - -= + + +from - - -) + + +finally - - + + block - - -query_body_clauses - - - -unsafe - - - -expression - - - -unary_expression + + +[ - - -implicitly_typed_local_variable_declaration + + +statement - - -identifier + + +local_variable_initializer - - -where_clause + + +join_into_clause - - -= + + +Count - - + + identifier - - -) - - - -] + + +lock_statement - - + + invocation_expression - - -query_body_clauses - - - -A + + +member_access - - -primary_expression + + +member_declarator_list - - -a + + +member_access - - -type + + +explicitly_typed_local_variable_declaration - - -int + + +identifier - - -unmanaged_type + + +identifier - - -primary_expression + + +throw - - -local_variable_initializer + + +assignment_operator - - -. + + +into - - -attribute_target_specifier + + +1 - - + + +element_access + + + . - - -namespace_or_type_name + + +; - - -( + + += - - -v + + +expression - - -embedded_statement + + +int - - -statement_list + + +{ - - -literal + + +: - - -from + + +block + + + +items - - + + . - - -identifier + + +: - - -ordering_direction + + +( - - -identifier + + +{ - - -expression_statement + + +identifier - - + + identifier - - -unmanaged_type + + +CustCount - - -Country + + +select_clause - - + + select - - -* + + +variable_initializer - - -expression + + +customers - - -p + + +] - - -in + + +) - - -attributes + + +expression - - -= + + +type - - -member_access + + +expression - - -block + + +assignment - - -invocation_expression + + +identifier - - -declaration_statement + + +intref - - -g + + +expression - - + + identifier - - + + primary_expression - - -integral_type - - - -= - - - -literal - - - -member_access + + +assignment - - + + ; - - -block - - - -expression - - - -fixed_pointer_declarator - - - -member_access - - - -query - - - -pointer_type + + +{ - - -c + + +) - - -( + + +100 - - -fixed + + +a - - -identifier + + +local_variable_initializer - - -orderby + + +3 - - -expression + + +unary_expression - - + + identifier - - -g + + +on using - - -{ - - - -expression - - - -var + + +member_declarator - - -A + + +pointer_type - - -primary_expression + + +select_or_group_clause - - -Count + + +constructor_declaration - - + + identifier - - -= + + +implicitly_typed_local_variable_declaration - - -statement_list + + +query_continuation - - -break + + +return - - -let + + +namespace_or_type_name - - -[ + + +A - - -assignment_operator + + +query_body - - -BeginScope + + +ascending - - -) + + +var - - -explicitly_typed_local_variable_declarators + + +type - - -identifier + + +new - - -select_clause + + +] - - -query_body + + +attributes - - -identifier + + +unary_expression - - -specific_catch_clause + + +} - - -identifier + + +primary_expression - - + + assignment - - -interface_type + + +} - - -identifier + + +local_variable_declaration - - -identifier + + +p - - -int + + +exception_specifier - - + + identifier - - -statement + + +, - - -namespace_member_declaration + + +declaration_statement - - -y + + +statement - - -in + + +query_body_clause - - -( + + +BeginScope - - -1 + + +GetHashCode - - -boolean_expression + + +, - - -select + + +null - - -identifier + + +} - - -literal + + +value_type - - -: + + +C - - + + +block + + + identifier - - -explicitly_typed_local_variable_declaration + + +unmanaged_type - - -integral_type + + +invocation_expression - - -catch_clauses + + +explicitly_typed_local_variable_declarator - - -d + + +expression_statement - - + + +, + + + +primary_expression + + + ) - - -on + + +sync - - -type + + +resource_acquisition + + + +, + + + +identifier - - + + ordering_direction - - -invocation_expression + + +. primary_expression - - -identifier - - - -type + + +GetHashCode - - + + expression - - -] + + +break - - -expression + + +BeginScope - - -c1 + + +try_statement - - + + +throw + + + ) - - -local_variable_initializer + + +My - - -block + + +* - - -query_continuation + + += - - -expression + + +primary_no_array_creation_expression - - -statement_expression + + +) - - -try + + +type - - + + +partial + + + +. + + + +) + + + identifier - - + + +( + + + +( + + + +invocation_expression + + + +expression + + + +integral_type + + + expression - - -group_clause + + +. - - -stackalloc_expression + + +( - - -anonymous + + +identifier - - -element_access + + +namespace - - -local_variable_initializer + + +expression - - -orderby_clause + + +} - - -( + + +using - - -; + + +argument_list - - -literal + + +catch - - -local_variable_declaration + + +expression - - -identifier + + +query_body_clause - - -( + + +compilation_unit - - -statement + + +statement_expression - - -query_body_clause + + +expression - - -B + + +array_initializer - - -object_creation_expression + + +[ - - -statement_list + + +orderings - - -public + + +Country - - -orderby + + +} - - -assignment_operator + + +anonymous_object_initializer - - -fixed_pointer_declarator + + +( - - -explicitly_typed_local_variable_declarator + + +explicitly_typed_local_variable_declaration - - + + identifier - - -; + + +1 - - -new + + +identifier - - -c1 + + +object_creation_expression - - -invocation_expression + + +explicitly_typed_local_variable_declarators - - -ordering + + +identifier - - -CustCount + + +) - - -fixed_pointer_initializer + + +identifier - - -assignment + + +block - - -query + + +unary_expression - - + + +local_variable_declaration + + + identifier - - -query_body + + +explicitly_typed_local_variable_declaration - - -implicitly_typed_local_variable_declarator + + +c - - -pointer_indirection_expression + + +constructor_modifier - - -c + + +identifier - - + + +identifier + + + } - - -expression_statement + + +identifier - - -this + + +yield - - -assignment_operator + + +attribute_target_specifier - - + + ( - - -g - - - -; + + +statement_list - - -public + + +A - - -. + + +identifier - - -attribute_target + + +attribute_section - - -using + + +select - - -) + + +; - - -identifier + + +select_or_group_clause - - -query_continuation + + +return_statement - - -namespace_or_type_name + + +; - - -query_body_clauses + + +member_access - - -Count + + +primary_expression - - -2 + + +constructor_body - - -where + + +from - - -unary_expression + + +embedded_statement - - -unary_expression + + +av - - -c + + +) - - -namespace_body + + +block - - + + pointer_type - - -identifier + + +expression + + + +fixed_pointer_initializer - - + + ) - - -. + + +identifier - - -query_body_clauses + + +member_access - - -( + + +from_clause - - -, + + +unary_expression - - -assignment + + +new - - -finally + + +null - - -assignment + + +B - - -} + + +identifier - - -qualified_identifier + + +( - - -var + + +foo - - -primary_expression + + +try_statement - - -!= + + +class_member_declaration - - -, + + +catch_clauses - - -compilation_unit + + +stackalloc_expression - - -object_creation_expression + + +expression - - -throw_statement + + +member_access - - -customers + + +( - - -class_declaration + + +statement - - -identifier + + +using_statement - - + + literal - - -( + + +] - - -yield_statement + + +d - - -select_or_group_clause + + +Obsolete - - -query_body_clauses + + +block - - -. + + +primary_expression - - -type + + +literal - - -block + + +{ - - -resource_acquisition + + +equals - - -{ + + +ordering - - + + +throw + + + +primary_expression + + + identifier - - -statement_list + + +c - - + + +embedded_statement + + + int - - -constructor_declarator + + +unary_expression - - -{ + + +class_body - - -) + + +fixed_parameter - - -catch + + += - - -[ + + +return - - -) + + +select_clause - - -select_or_group_clause + + +( - - -; + + +{ - - -value_type + + +identifier - - -try_statement + + +( - - -interface_type_list + + +ordering - - -lock_statement + + +in - - -assignment + + +ordering_direction - - -contextual_keyword + + +orderby_clause - - -query_body_clause + + +expression - - -invocation_expression + + +g - - -= + + +primary_expression - - -statement + + +identifier - - -} + + +class_modifier - - -, + + +expression - - -null + + += - - -. + + +assignment identifier - - -expression + + +identifier - - -explicitly_typed_local_variable_declarator + + +invocation_expression - - + + +a + + + ; - - -( + + +implicitly_typed_local_variable_declaration - - -on + + +using_statement - - -d + + +var - - -namespace + + +join - - -resource_acquisition + + +GetHashCode - - -yield + + +Country - - -GetHashCode + + += - - -identifier + + +embedded_statement - - -type + + +c1 - - -* + + +local_variable_initializer - - -; + + +statement - - -statement_list + + +c1 - - -[ + + +equals - - -= + + +} - - -. + + +c - - -class_base + + +primary_expression - - -anonymous_object_initializer + + +value_type - - -catch + + +] - - -3 + + +[ - - -identifier + + +equality_expression - - -member_declarator_list + + +new - - -using_statement + + +expression - - -block + + +local_variable_initializer - - -array_initializer + + +declaration_statement - - -throw + + +select_clause - - -descending + + +query_body_clause - - -attribute_list + + +identifier - - -customers + + +yield - - -c1 + + +identifier - - -= + + +. - - -expression + + +relational_expression - - -* + + +unary_expression - - -= + + +( - - -class + + +where - - -type + + +query_body - - -fixed + + +expression - - -] + + +( - - -identifier + + +2 - - -this_access + + +invocation_expression + + + +customers integral_type - - -A - - - -, - - - -Key + + +!= - - -unary_expression + + +explicitly_typed_local_variable_declarator - - -= + + +AccessViolationException - - -primary_expression + + +yield_statement - + member_declarator - - -explicitly_typed_local_variable_declarators + + +) - - -expression + + +; - - -finally_clause + + +. + + + +identifier + + + +fixed_pointer_declarator + + + += + + + +statement_list + + + +try + + + +primary_expression + + + +type int - - -param - - - -} + + +by - - -invocation_expression + + +A - - -class_modifier + + +using - - -expression + + +select_or_group_clause - - -block + + += - - -throw_statement + + +} - - -d + + +explicitly_typed_local_variable_declarator - - -: + + +primary_expression - - -invocation_expression + + += - - -join_into_clause + + +{ - - -anonymous_object_creation_expression + + +query_expression - - -null_literal + + +identifier - - -embedded_statement + + +identifier - - -catch_clauses + + +y - - -embedded_statement + + +statement_list - - -return + + += - - -identifier + + +expression - - + + 1 - - -using_statement + + +expression - - -argument_list + + +e - - -member_declarator + + +query_body - - -identifier + + +member_access - - -explicitly_typed_local_variable_declarator + + +literal - - -variable_reference + + +constructor_declarator - - + + primary_expression - - + + ) - - -expression + + +statement_list - - -= + + +statement - - -100 + + +& - - -explicitly_typed_local_variable_declarators + + +fixed_statement - - -query_expression + + +null_literal - - -= + + +d - - + + = - - -explicitly_typed_local_variable_declarators - - - -orderings + + +lock - - -AccessViolationException + + +expression - - -primary_expression + + +into - - -specific_catch_clause + + +unmanaged_type - - -) + + +constructor_initializer - - -c + + +identifier - - -fixed_pointer_initializer + + +assignment_operator - - -100 + + +where_clause - - -( + + +A - - -identifier + + +type argument_list - - -identifier - - - -b - - - -expression - - - -literal - - - -; - - - -query_body_clause - - - -( - - - -declaration_statement - - - -e - - - -general_catch_clause - - - -statement - - - -throw + + +primary_expression - - -relational_expression + + +invocation_expression - - + + +) + + + ) - - -; + + +identifier - - + + identifier - - -equals + + +expression - - + + ) - - -customers + + +} - - -try_statement + + +object_creation_expression - - -intref + + +namespace_or_type_name + + + +) - - + + identifier - - -; + + +this - - -embedded_statement + + +invocation_expression - - -null + + +group - - -into + + +) - - -GetHashCode + + +pointer_indirection_expression - - -statement_expression + + +expression - - -c1 + + +expression_statement - - -identifier + + +{ - - -identifier + + +anonymous - - -Exception + + +boolean_expression - - -primary_expression + + +prog - - -member_access + + +c1 - - + + +. + + + +( + + + +explicitly_typed_local_variable_declarators + + + +A + + + ) - - -identifier + + +select - - -literal + + +integral_type - - + + embedded_statement - - + + in - - -identifier + + +public - - -expression + + +( - - + + +class_modifier + + + +assignment + + + = - - -constructor_modifier + + +assignment_operator - - -) + + +literal - - -g + + +fixed - - -assignment_operator + + +c - - -using + + +) - - -, + + +primary_expression - - + + identifier - - -select_or_group_clause + + +implicitly_typed_local_variable_declarator - - -{ + + +identifier - - -. + + +null_literal - - + + statement - - -expression - - - -; + + +literal - - -identifier + + +parameter_list - - -primary_expression + + +block - - -( + + +null_literal - - + + identifier - - -primary_expression + + +member_access - - -namespace_declaration + + +primary_expression unsafe_modifier - - -object_creation_expression + + +var - - -expression_statement + + +expression - - -try + + +public - - -base + + +from_clause - - -{ + + +member_access - - -( + + +value_type - - + + +type + + + +; + + + +query + + + stackalloc_expression - - + + +query_body + + + identifier - - -foo + + +; - - -yield + + +into + + + +expression - - -block + + +resource_acquisition - - -[ + + +variable_initializer - - -catch + + +System - - -expression + + +local_variable_initializer - - -expression + + +block - - -explicitly_typed_local_variable_declarator + + +variable_initializer - - -GetHashCode + + +try - - -return + + +query_body_clause - - -constructor_declaration + + +identifier - - -A + + +; - - -a + + +( - - -constructor_initializer + + +new - - + + identifier - - -{ + + +throw_statement - - -expression + + +c - - -{ + + +assignment_operator - - -prog + + +g - - -explicitly_typed_local_variable_declaration + + +* - - -join + + +g - - -member_access + + +statement_expression - - + + literal - - + + identifier - - -expression + + += - - -new + + +{ - - -identifier + + +1 - - -identifier + + +process - - -} + + +orderby_clause - - -class_body + + +base - - -member_access + + +orderby - - -into + + +catch_clauses - - -Key + + +fixed_pointer_declarator - - -q + + +statement_expression - - -using_statement + + +Key - - + + +g + + + explicitly_typed_local_variable_declarator - - -exception_specifier + + +assignment_operator - - -block + + +type - - -integral_type + + +identifier - - -( + + +} - - -throw_statement + + +statement - - -block + + +unsafe - - -partial + + +A - - -variable_initializer + + += - - -local_variable_declaration + + +explicitly_typed_local_variable_declarator - - -1 + + +identifier - - + + type - - -join + + +this_access - - -Obsolete + + +identifier - - -statement_list + + +d - - -; + + +[ - - -} + + +exception_specifier - - -& + + +unary_expression - - -null_literal + + +Exception - - -unary_expression + + +general_catch_clause - - -, + + +query_body_clause - - -} + + +( + + + +fixed_pointer_declarator - - + + identifier - - -implicitly_typed_local_variable_declaration + + +explicitly_typed_local_variable_declaration - - -. + + +namespace_member_declaration + + + +statement_list - - -statement_expression + + +unsafe_statement - - + + identifier - - -type + + +resource_acquisition - - -yield_statement + + +explicitly_typed_local_variable_declarators - - -equality_expression + + +) - - -= + + +query_expression - - -process + + +join_clause - - -g + + +* - - -lock + + +Count - - -expression + + += - - -System + + +in - - -pointer_indirection_expression + + +identifier - - -from + + +( - - -interface_type + + +type - - -join_clause + + +identifier - - -by + + +literal - - -null + + +fixed_pointer_declarators - - -query_body + + +implicitly_typed_local_variable_declarator - - -I + + +class_base - - -] + + +intref expression_statement - - -statement_list + + +literal - - -{ + + +c - - -query_expression + + +query_body_clause - - -{ + + +interface_type_list - - + + identifier - - -identifier + + += - - -select_clause + + +expression - - -( + + +expression - - -( + + += - - -implicitly_typed_local_variable_declarator + + +{ - - -let_clause + + +statement_list - - -identifier + + +c - - -using + + +embedded_statement - - -identifier + + +expression - - -orderings + + +join - - + + identifier - - -statement + + +stackalloc - - -: + + +* - - -type + + +identifier - - -variable_initializer + + +identifier - - -query_body_clauses + + +identifier - - + + expression - - -} + + +fixed - - -d + + +specific_catch_clause - - -expression + + +orderings - - -query_body_clause + + +identifier - - -embedded_statement + + +throw_statement - - -) + + += - - -type + + +fixed_pointer_initializer - - -3 + + +c - - + + +assignment_operator + + + +group_clause + + + +contextual_keyword + + + +( + + + primary_expression - - -literal + + +statement - - -member_access + + +b - - -unary_expression + + +yield_statement - - -) + + +fixed_pointer_initializer + + + +{ + + + +int + + + +variable_reference \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt index 36348fd13..d473c9a45 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -476,7 +476,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ decorated_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt index 7adeb8202..cd4d525d7 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (finalizer_declaration ~ (identifier A) ( ) (finalizer_body (block { })))) (class_member_declaration (field_declaration (field_modifier private) (field_modifier readonly) (type (integral_type int)) (variable_declarators (identifier f1)) ;)) (class_member_declaration (field_declaration (attributes (attribute_section [ (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_list (identifier NonExisting)) ]) (attribute_section [ (attribute_list (attribute (attribute_name (qualified_alias_member (identifier Foo) :: (identifier NonExisting))) (attribute_arguments ( (positional_argument_list (positional_argument (contextual_keyword var)) , (positional_argument (literal 5))) )))) ]) (attribute_section [ (attribute_list (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (boolean_literal false)) )))) ]) (attribute_section [ (attribute_list (attribute (identifier Obsolete)) , (attribute (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier NonSerialized))) , (attribute (identifier NonSerialized)) , (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (conditional_or_expression (conditional_or_expression (boolean_literal true)) || (conditional_and_expression (and_expression (and_expression (boolean_literal false)) & (equality_expression (boolean_literal true)))))) )))) ])) (field_modifier private) (field_modifier volatile) (type (integral_type int)) (variable_declarators (identifier f2)) ;)) (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (keyword return)) :) (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Handler)) ( (parameter_list (fixed_parameter (type (class_type object)) (identifier (contextual_keyword value)))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type (integral_type int)) (method_header (member_name (identifier m)) (type_parameter_list < (type_parameters (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier t))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint class) , (constructor_constraint new ( ))))) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (base_access base . (identifier m))) ( (argument_list (identifier t)) ))) ;)) (statement (return_statement return (expression (literal 1)) ;))) })))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body (block { (statement_list (return_statement return (expression (literal "A")) ;)) }))) (set_accessor_declaration set (accessor_body ;))) }))) (class_member_declaration (property_declaration (property_modifier public) (property_modifier abstract) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) }))) }))) })))) +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (finalizer_declaration ~ (identifier A) ( ) (finalizer_body (block { })))) (class_member_declaration (field_declaration (field_modifier private) (field_modifier readonly) (type (integral_type int)) (variable_declarators (identifier f1)) ;)) (class_member_declaration (field_declaration (attributes (attribute_section [ (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_list (identifier NonExisting)) ]) (attribute_section [ (attribute_list (attribute (attribute_name (qualified_alias_member (identifier Foo) :: (identifier NonExisting))) (attribute_arguments ( (positional_argument_list (positional_argument (contextual_keyword var)) , (positional_argument (literal 5))) )))) ]) (attribute_section [ (attribute_list (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (boolean_literal false)) )))) ]) (attribute_section [ (attribute_list (attribute (identifier Obsolete)) , (attribute (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier NonSerialized))) , (attribute (identifier NonSerialized)) , (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (conditional_or_expression (conditional_or_expression (boolean_literal true)) || (conditional_and_expression (and_expression (and_expression (boolean_literal false)) & (equality_expression (boolean_literal true)))))) )))) ])) (field_modifier private) (field_modifier volatile) (type (integral_type int)) (variable_declarators (identifier f2)) ;)) (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (keyword return)) :) (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Handler)) ( (parameter_list (fixed_parameter (type (class_type object)) (identifier (contextual_keyword value)))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type (integral_type int)) (method_header (member_name (identifier m)) (type_parameter_list < (decorated_type_parameter (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier t))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint class) , (constructor_constraint new ( ))))) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (base_access base . (identifier m))) ( (argument_list (identifier t)) ))) ;)) (statement (return_statement return (expression (literal 1)) ;))) })))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body (block { (statement_list (return_statement return (expression (literal "A")) ;)) }))) (set_accessor_declaration set (accessor_body ;))) }))) (class_member_declaration (property_declaration (property_modifier public) (property_modifier abstract) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) }))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.svg index 4260ce853..fb801a53a 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -1,23 +1,23 @@ - - - - - - - - - - - + + + + + + + + + + + - + - - - + + + - + @@ -27,9 +27,9 @@ - - - + + + @@ -40,7 +40,7 @@ - + @@ -53,7 +53,7 @@ - + @@ -159,7 +159,7 @@ - + @@ -207,563 +207,567 @@ - - - + + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { - - -variable_declarators + + +boolean_literal - - -T + + +] - - -) + + +; - - + + +statement_expression + + + identifier - - -unsafe_modifier + + +primary_expression - - -conditional_or_expression + + +var - - -positional_argument_list + + +interface_type_list - - + + [ - - -statement_list + + +true - - -public + + +boolean_literal - - -namespace_or_type_name + + +return_type - - -partial + + +attributes - - -identifier + + +unsafe_modifier - - -integral_type + + +method_header - - -; + + +|| - - -variable_declarators + + +class - - -method_modifiers + + +t - - -identifier + + +type - - -identifier + + +T - - -Obsolete + + +attribute_target_specifier - - -m + + +return_statement - - -type + + +return - - -method_header + + +identifier - - -attribute_target_specifier + + +& - - -expression_statement + + +compilation_unit - - -identifier + + +conditional_or_expression - - -] + + +private - - -class_member_declaration + + +int - - -interface_type + + +accessor_body - - -class_member_declaration + + +( - - -) + + +partial - - -field_declaration + + +attribute_section - - -return_type + + +} - - -method_body + + +class_member_declaration - - + + identifier - - -type_parameter - - - -keyword + + +public - - -) + + +expression - - -get_accessor_declaration + + +attribute - - -} + + +identifier - - -block + + +class_type - - -] + + +property_body - - -, + + +I - - -m + + +method_header - - -primary_constraint + + +type - - -] + + +"A" - - -property_modifier + + +namespace_member_declaration - - -NonExisting + + +class - - -value + + +fixed_parameter - - -class_type + + +argument_list - - -] + + +attribute_list - - -type + + +attribute_list - - -f1 + + +attribute_section - - -argument_list + + +[ - - + + identifier - - -attribute + + +block - - -{ + + +attributes - - -type_parameter_constraints_clause + + +get_accessor_declaration - - -namespace_member_declaration + + +identifier - - -set + + +identifier - - -; + + +identifier - - -, + + +and_expression - - -private + + +identifier - - -} + + +constructor_constraint - - -& + + +class_member_declaration - - -C + + +type - - -attribute_section + + +( - - -method_header + + +parameter_list - - -block + + +attribute_list - - -unsafe + + +identifier - - -attribute + + +public - - -[ + + +} - - -] + + +identifier - - -. + + +statement_list - - -set_accessor_declaration + + +true - - -public + + +decorated_type_parameter - - -attribute_arguments + + +identifier - - -false + + +[ - - -identifier + + +{ - - -Obsolete + + +accessor_declarations - - -attribute_target_specifier + + +{ - - -; + + +NonExisting - - -type + + +5 - - -boolean_literal + + +f2 - - -int + + +accessor_body - - -attribute_target + + +get_accessor_declaration - - -property_body + + +abstract - - -{ + + +class_body - - -type_parameter_constraints + + +} - - -block + + +) - - -return + + +; - - -identifier + + +( - - -< + + +, - - -property_modifier + + +) + + + +; + + + +: + + + +) + + + +] identifier + + +invocation_expression + int - - -} - - - -( - - - -class_member_declaration + + +class_base - - -expression + + +positional_argument - - + + identifier - - -parameter_list - - - -attribute_section - - - -; + + +attribute - - -qualified_alias_member + + +variable_declarators - - -public + + +integral_type - - -} + + +get - - -[ + + +~ @@ -773,888 +777,884 @@ attribute_list positional_argument_list - - -boolean_literal + + +[ - - -A + + +interface_type - - -class_member_declaration + + +T - - -literal + + +:: - - -Obsolete + + +variable_declarators - - -NonExisting + + +attribute - - -member_name + + +attribute_list - - -method_body + + +Handler - - -get + + +fixed_parameter - - -finalizer_declaration + + +base_access - - -{ + + +return - - -interface_type_list + + +identifier + + + +type_parameter - - + + { - - -identifier + + +1 - - -t + + +attribute - - -accessor_body + + +property_declaration - - -statement_list + + +; - - -( + + +accessor_declarations - - + + +attribute_arguments + + + +class_modifier + + + +conditional_or_expression + + + +attribute_target + + + member_name - - -attribute_arguments + + +[ - - -property_body + + +] - - -get_accessor_declaration + + +m - - -|| + + +block - - -type + + +identifier - - -string + + +primary_constraint - - -P + + +) - - -prog + + +; - - -( + + +expression - - -( + + +, - - -attribute_list + + +property_declaration - - -ref_method_modifier + + +field_modifier - - -class_modifier + + +private - - -true + + +method_modifiers - - -attribute_section + + +( - - -expression + + +} - - + + ) - - -attribute_arguments + + +attribute + + + +finalizer_body - - + + +f1 + + + identifier ) - - -type_parameter_list - - - -identifier - - - -public + + +and_expression - - -class_declaration + + +type_parameter_constraints_clause - - + + class_member_declaration - - -attribute_list - - - -statement + + +property_modifier - - -private + + +( - - -property_declaration + + +block - - -namespace_body + + +prog - - -attribute_list + + +type - - -attribute_name + + +identifier - - -readonly + + +method - - -identifier + + +] - - -> + + +qualified_alias_member - - -return_statement + + +public - - -var + + +A - - -new + + +attribute_name - - -identifier + + +ref_method_modifier - - -namespace_or_type_name + + +attribute_arguments - - -identifier + + +) - - -"A" + + +literal - - -property_modifier + + +boolean_literal int - - -and_expression + + +( - - -statement + + +get - - -} + + +[ - - -:: + + +} - - -Obsolete + + +identifier - - -statement_expression + + +identifier - - -[ + + +attribute_target_specifier - - -identifier + + +block - - -integral_type + + +A - - -boolean_literal + + +positional_argument_list - - -attribute_target + + +attribute_section - - -] + + +class_modifier - - -equality_expression + + +return - - -) + + +namespace - - -( + + +identifier - - -attribute_section + + +> - - -qualified_identifier + + +contextual_keyword - - -( + + +Obsolete - - -finalizer_body + + +method_body - - -attributes + + +, - - -NonSerialized + + +unsafe - - -member_name + + +type_parameter_constraints - - -attributes + + +expression_statement - - -; + + +attribute - - -; + + +class_type - - -( + + +parameter_list - - -class_body + + +. - - -method_modifiers + + +keyword - - -identifier + + +field_declaration - - -constructor_constraint + + +integral_type - - -identifier + + +false - - -fixed_parameter + + +attribute_section - - -contextual_keyword + + +void - - -accessor_declarations + + +] - - -attribute + + +object - - -P + + +method_modifiers - - -~ + + +< - - -} + + +base - - -} + + +attribute_list + + + +{ field_declaration - - -void + + +; - - -literal + + +attribute_name - - -: + + +NonExisting - - -fixed_parameter + + +statement_list - - -type_parameters + + +set_accessor_declaration - - -field_modifier + + +identifier - - -base + + +public - - -accessor_declarations + + +return_statement - - -: + + +} - - -class_type + + +property_modifier - - -identifier + + +statement - - -field_modifier + + +P - - -class_modifier + + +member_name - - -attribute_name + + +identifier - - -, + + +member_name - - -method_declaration + + +accessor_body - - -System + + +My - - -} + + +volatile - - -positional_argument + + +literal - - -true + + +attribute_target + + + +namespace_body boolean_literal - - -attribute + + +m - - -return + + +where - - -identifier + + +literal - - -interface_type + + +CLSCompliant - - -] + + +type - - -CLSCompliant + + +field_modifier - - -member_name + + +System - - -namespace + + +property_body - - -. + + +class_member_declaration - - -5 + + +: - - -identifier + + +[ - - -block + + +, - - -conditional_and_expression + + +P - - -class_member_declaration + + +field_modifier - - -A + + +return_type - - + + +class_member_declaration + + + identifier - - -, + + +NonSerialized - - -[ + + +identifier - - -( + + +new - - -identifier + + +{ - - -t + + +( - - -class + + +Foo - - -integral_type + + +finalizer_declaration - - -accessor_body + + +type_parameter_list - - -, + + +member_name - - -return_type + + +positional_argument - - -attribute_name + + +identifier - - -CLSCompliant + + +method_declaration - - -f2 + + +namespace_declaration - - -primary_expression + + +type - - -contextual_keyword + + +] - - -T + + +class_member_declaration - - -parameter_list + + +method_declaration - - -compilation_unit + + +false field_modifier - - -ref_method_modifier - - - -public + + +, identifier - - -volatile - - - -object + + +qualified_identifier - - -field_modifier + + +, - - -conditional_or_expression + + +attribute_list attribute_section - - -class_member_declaration + + +integral_type - - -, + + +] - - -identifier + + +{ - - -return_statement + + +NonSerialized - - -attribute + + +equality_expression - - -{ + + +string - - -attribute_section + + +statement - - -Handler + + +value - - + + +method_body + + + ) - - -[ + + +class_member_declaration - - -where + + +readonly - - -attribute_list + + +interface_type - - -abstract + + +identifier - - -class_type + + +T - - -; + + +Obsolete - - -type + + +: - - -attribute_list + + +class_declaration - - -method_declaration + + +attribute_name - - -type + + +Obsolete - - -method + + +namespace_or_type_name - - -[ + + +CLSCompliant - - -Foo + + +identifier - - -base_access + + +. - - -T + + +{ - - -: + + +; - - -) + + +public - - -NonSerialized + + +attribute_section - - -string + + +identifier attribute_section - - -namespace_declaration - - - -{ - - - -I - - - -false - - - -1 - - - -identifier - - - -get + + +class_type - - -and_expression + + +} - - -positional_argument_list + + +namespace_or_type_name - - -invocation_expression + + +contextual_keyword - - -identifier + + +set - - -return + + +( - - -literal + + +ref_method_modifier - - -My + + +: - - -identifier + + +Obsolete - - -class_base + + +attribute_arguments - - -attribute + + +string - - -attribute_list + + +} - - + + identifier - - -accessor_body - - - -{ + + +conditional_and_expression - - -positional_argument + + +C - - -property_declaration + + +t - - -: + + +property_modifier - - -class + + +positional_argument_list \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt index c180b8993..53e3487ad 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -219,7 +219,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ decorated_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt index c21efaea0..c3566db3d 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (struct_declaration (struct_modifier public) struct (identifier S) (struct_interfaces : (interface_type_list (identifier I))) (struct_body { (struct_member_declaration (constructor_declaration (constructor_modifier public) (constructor_declarator (identifier S) ( )) (constructor_body (block { })))) (struct_member_declaration (field_declaration (field_modifier private) (type (integral_type int)) (variable_declarators (identifier f1)) ;)) (struct_member_declaration (field_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier Obsolete)) (attribute_arguments ( (positional_argument_list (positional_argument (literal "Use Script instead")) , (positional_argument (argument_name (identifier error) :) (attribute_argument_expression (boolean_literal false)))) )))) ])) (field_modifier private) (field_modifier volatile) (type (integral_type int)) (variable_declarators (identifier f2)) ;)) (struct_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier abstract))) (return_type (integral_type int)) (method_header (member_name (identifier m)) (type_parameter_list < (type_parameters (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier t))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint struct)))) (method_body (block { (statement_list (return_statement return (expression (literal 1)) ;)) })))) (struct_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword value)) = (local_variable_initializer (literal 0)))))) ;)) (statement (return_statement return (expression (literal "A")) ;))) }))) (set_accessor_declaration set (accessor_body ;))) }))) (struct_member_declaration (property_declaration (property_modifier public) (property_modifier abstract) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) }))) (struct_member_declaration (indexer_declaration (indexer_modifier public) (indexer_modifier abstract) (indexer_declarator (type (integral_type int)) this [ (parameter_list (fixed_parameter (type (integral_type int)) (identifier index))) ]) (indexer_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;)) (set_accessor_declaration (accessor_modifier internal protected) set (accessor_body ;))) }))) (struct_member_declaration (event_declaration (event_modifier public) event (type (identifier Event)) (variable_declarators (identifier E)) ;)) (struct_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (binary_operator_declarator (type (identifier A)) operator (overloadable_binary_operator +) ( (fixed_parameter (type (identifier A)) (identifier first)) , (fixed_parameter (type (identifier A)) (identifier second)) ))) (operator_body (block { (statement_list (return_statement return (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier first)) . (identifier Add))) ( (argument_list (identifier second)) ))) ;)) })))) (struct_member_declaration (fixed_size_buffer_declaration fixed (buffer_element_type (integral_type int)) (fixed_size_buffer_declarators (fixed_size_buffer_declarator (identifier field) [ (constant_expression (literal 10)) ])) ;)) (struct_member_declaration (class_declaration class (identifier C) (class_body { }))) }))) (namespace_member_declaration (interface_declaration (interface_modifier public) interface (identifier I) (interface_body { (interface_member_declaration (interface_method_declaration (return_type void) (interface_method_header (identifier A) ( (parameter_list (fixed_parameter (type (integral_type int)) (identifier (contextual_keyword value)))) ) ;))) (interface_member_declaration (interface_property_declaration (type (class_type string)) (identifier Value) { (interface_accessors get ; set ;) })) }))) })))) +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (struct_declaration (struct_modifier public) struct (identifier S) (struct_interfaces : (interface_type_list (identifier I))) (struct_body { (struct_member_declaration (constructor_declaration (constructor_modifier public) (constructor_declarator (identifier S) ( )) (constructor_body (block { })))) (struct_member_declaration (field_declaration (field_modifier private) (type (integral_type int)) (variable_declarators (identifier f1)) ;)) (struct_member_declaration (field_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier Obsolete)) (attribute_arguments ( (positional_argument_list (positional_argument (literal "Use Script instead")) , (positional_argument (argument_name (identifier error) :) (attribute_argument_expression (boolean_literal false)))) )))) ])) (field_modifier private) (field_modifier volatile) (type (integral_type int)) (variable_declarators (identifier f2)) ;)) (struct_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier abstract))) (return_type (integral_type int)) (method_header (member_name (identifier m)) (type_parameter_list < (decorated_type_parameter (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier t))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint struct)))) (method_body (block { (statement_list (return_statement return (expression (literal 1)) ;)) })))) (struct_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword value)) = (local_variable_initializer (literal 0)))))) ;)) (statement (return_statement return (expression (literal "A")) ;))) }))) (set_accessor_declaration set (accessor_body ;))) }))) (struct_member_declaration (property_declaration (property_modifier public) (property_modifier abstract) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) }))) (struct_member_declaration (indexer_declaration (indexer_modifier public) (indexer_modifier abstract) (indexer_declarator (type (integral_type int)) this [ (parameter_list (fixed_parameter (type (integral_type int)) (identifier index))) ]) (indexer_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;)) (set_accessor_declaration (accessor_modifier internal protected) set (accessor_body ;))) }))) (struct_member_declaration (event_declaration (event_modifier public) event (type (identifier Event)) (variable_declarators (identifier E)) ;)) (struct_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (binary_operator_declarator (type (identifier A)) operator (overloadable_binary_operator +) ( (fixed_parameter (type (identifier A)) (identifier first)) , (fixed_parameter (type (identifier A)) (identifier second)) ))) (operator_body (block { (statement_list (return_statement return (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier first)) . (identifier Add))) ( (argument_list (identifier second)) ))) ;)) })))) (struct_member_declaration (fixed_size_buffer_declaration fixed (buffer_element_type (integral_type int)) (fixed_size_buffer_declarators (fixed_size_buffer_declarator (identifier field) [ (constant_expression (literal 10)) ])) ;)) (struct_member_declaration (class_declaration class (identifier C) (class_body { }))) }))) (namespace_member_declaration (interface_declaration (interface_modifier public) interface (identifier I) (interface_body { (interface_member_declaration (interface_method_declaration (return_type void) (interface_method_header (identifier A) ( (parameter_list (fixed_parameter (type (integral_type int)) (identifier (contextual_keyword value)))) ) ;))) (interface_member_declaration (interface_property_declaration (type (class_type string)) (identifier Value) { (interface_accessors get ; set ;) })) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.svg index bfd254c23..ca86b258d 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -1,26 +1,26 @@ - - - - - - - - - - - + + + + + + + + + + + - - + + - + - - - + + + @@ -33,7 +33,7 @@ - + @@ -44,7 +44,7 @@ - + @@ -82,1779 +82,1779 @@ - - - + + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -attribute_arguments - - - -property_declaration + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +variable_declarators - - + + abstract - - -indexer_modifier + + +literal - - -( + + +local_variable_declaration - - -indexer_modifier + + +event_modifier - - -Add + + +type - - -get_accessor_declaration + + +this - - + + property_declaration - - -public + + +field_modifier - - + + +set_accessor_declaration + + + +: + + + ; - - + + ) - - -method_modifier + + +indexer_declaration - - -struct_interfaces + + +literal - - -} + + +set - - -namespace + + +Obsolete - - -namespace_member_declaration + + +string - - -return_statement + + +identifier - - -type + + +event - - -literal + + +type - - -int + + +public - - -constructor_declaration + + +struct_member_declaration - - -f1 + + +{ - - -get + + +where - - + + identifier - - -primary_expression - - - -type + + +S - - -struct_declaration + + +identifier - - -[ + + +get - - -accessor_body + + +struct - - -( + + +type - - -explicitly_typed_local_variable_declarators + + +1 - - + + { - - -block + + +{ - - + + type - - -statement_list - - - -T + + +} - - + + { - - -; + + +statement - - -My + + +integral_type - - -parameter_list + + +public - - -int + + +[ - - -return_type + + +int - - -fixed_parameter + + +operator_body - - -ref_method_modifier + + +int - - -method_declaration + + +operator_modifier - - -; + + +] - - -"A" + + +method_modifiers - - -indexer_body + + +invocation_expression - - -qualified_identifier + + +struct_member_declaration - - -integral_type + + +literal - - + + integral_type - - -int + + +ref_method_modifier - - -Value + + +member_name - - + + } - - -Event + + +) - - -private + + +string - - -; + + +method_declaration - - -identifier + + ++ - - -accessor_body + + +; - - -get_accessor_declaration + + +Event - - + + public - - + + +( + + + ; - - -first + + +set - - -struct_member_declaration + + +statement_list - - -: + + +class_type - - -; + + +block + + + +return + + + +accessor_body - - + + identifier - - -} + + +type - - -{ + + +buffer_element_type - - -local_variable_initializer + + +( - - + + identifier - - -block + + +interface_property_declaration - - -int + + +; - - -overloadable_binary_operator + + +type - - -compilation_unit + + +) - - -attribute_name + + +identifier - - -{ + + +} - - -struct_body + + +identifier - - -) + + +identifier - - -where + + +property_modifier - - -int + + +return_type - - -fixed_size_buffer_declarators + + +struct_member_declaration - - -0 + + +int - - -fixed_size_buffer_declaration + + +( - - -struct_modifier + + +volatile - - -[ + + +integral_type - - -expression + + +accessor_modifier - - -} + + +operator - - -interface_accessors + + +class_type - - -> + + +E - - + + identifier - - + + +{ + + + } - - -field_modifier + + +operator_modifier - - -< + + +parameter_list - - -member_name + + +accessor_declarations - - -P + + +; - - -{ + + +property_modifier - - -property_body + + +block - - -declaration_statement + + +identifier - - -[ + + +, - - -fixed_parameter + + +fixed_size_buffer_declarator - - -operator_declaration + + +ref_method_modifier - - -first + + +constructor_modifier - - -property_modifier + + +property_body - - -10 + + +m - - + + +contextual_keyword + + + +f2 + + + } - - -literal + + +error - - + + ; - - -member_name + + +struct_body - - -( + + +} - - -accessor_declarations + + +private - - -interface_property_declaration + + +identifier - - -) + + +integral_type - - -class_body + + +10 - - -accessor_body + + +integral_type - - -; + + +struct_member_declaration + + + +member_name + + + +indexer_modifier - - + + +} + + + { - - -, + + +class_type - - -S + + +get_accessor_declaration - - -public + + +identifier - - -type + + +A - - -public + + +compilation_unit - - -explicitly_typed_local_variable_declaration + + +namespace_member_declaration - - -public + + +{ - - -get + + +indexer_body - - -accessor_declarations + + +: - - + + identifier - - -struct_member_declaration + + +interface_member_declaration - - -struct_member_declaration + + +) - - -property_modifier + + +] - - -accessor_body + + +int - - + + return - - -} + + +: - - -type_parameter_list + + +operator_declarator - - -indexer_declaration + + +integral_type - - -] + + +struct_interfaces - - -{ + + +identifier - - -property_modifier + + +parameter_list - - -C + + +property_body - - -set_accessor_declaration + + +struct + + + +qualified_identifier + + + +} - - + + ; - - -I + + +] - - -class + + +attribute_name - - -statement_list + + +( - - + + identifier - - -int - - - -positional_argument + + +identifier - - -, + + +integral_type - - + + fixed_parameter - - -abstract - - - -Obsolete + + +primary_expression - - -type + + +identifier - - -E + + +namespace_declaration - - -literal + + +indexer_modifier - - -; + + +static - - -type + + +method_modifier - - -int + + +integral_type - - -field_declaration + + +indexer_declarator - - -constructor_declarator + + +positional_argument - - -m + + +argument_name - - -attribute_argument_expression + + +interface_accessors - - -identifier + + +struct_modifier - - -contextual_keyword + + +interface_method_declaration - - -identifier + + +struct_member_declaration - - -statement_list + + +private - - -= + + +overloadable_binary_operator - - + + contextual_keyword - - -class_type + + +false - - -interface_method_declaration + + +primary_constraint - - -f2 + + +value - - -attribute_list + + +literal - - -struct_member_declaration + + +identifier - - -parameter_list + + +explicitly_typed_local_variable_declaration - - -statement + + +{ - - -block + + +interface_modifier - - + + identifier - - -; - - - -void + + +A - - -( + + +int - - -identifier + + +protected - - -property_body + + +Value - - -set + + +property_declaration - - -integral_type + + +field_declaration - - -literal + + +[ - - -variable_declarators + + +{ - - -protected + + +int - - -field_modifier + + +identifier - - -method_modifiers + + +constructor_declarator - - -struct_member_declaration + + +type - - -fixed_parameter + + +attribute_argument_expression - - -set_accessor_declaration + + +( - - -prog + + +0 - - -return_statement + + +interface_method_header - - -1 + + +boolean_literal - - + + public - - -indexer_declarator - - - -expression + + +value - - -fixed_size_buffer_declarator + + +T - - -operator + + +Add - - -parameter_list + + +explicitly_typed_local_variable_declarators - - -interface_declaration + + +} - - + + struct_member_declaration - - -type + + +get_accessor_declaration - - -type + + +public - - + + identifier - - -; - - - -identifier + + +expression - - -integral_type + + +( - - -S + + +type_parameter_constraints_clause - - + + } - - -struct_member_declaration + + +event_declaration - - -} + + +) - - -positional_argument_list + + +struct_member_declaration - - -identifier + + +class - - -t + + +type - - -; + + +{ - - -type + + +return_statement - - -operator_modifier + + +first - - -A + + +identifier - - -type_parameter_constraints + + +member_access - - -{ + + +get - - -identifier + + +; - - + + identifier - - -identifier + + +accessor_declarations + + + +{ "Use·Script·instead" - - -expression - - - -member_name - - - -] + + +type - - -class_declaration + + +P - - -interface_method_header + + +identifier - - -fixed + + +statement_list - - -type + + +abstract - - -fixed_parameter + + +A - - -set + + +statement_list - - -error + + +; - - -boolean_literal + + +type - - -event + + +P - - + + identifier - - -accessor_declarations + + +constructor_declaration - - -class_type + + +type - - -identifier + + +interface_type_list - - -; + + +fixed_size_buffer_declarators - - -public + + +index - - -type_parameters + + +> - - -struct + + +return_statement - - + + public - - -return - - - -interface_member_declaration - - - -struct_member_declaration + + +namespace_member_declaration - - -get + + +identifier - - -constant_expression + + +positional_argument - - -( + + +statement - - -local_variable_declaration + + +int - - -interface_body + + +attribute_list - - -event_modifier + + +constant_expression - - -A + + +namespace_body - - -return + + +class_declaration - - -identifier + + +I - - -identifier + + +accessor_body - - -A + + +return_statement - - -method_body + + +struct_member_declaration - - -{ + + +expression - - + + identifier - - -positional_argument + + +return - - -interface_type_list + + +void - - -string + + +int - - -volatile + + +first - - -return_statement + + +identifier - - -) + + +literal - - -argument_list + + +attribute_arguments - - -struct_member_declaration + + +method_body - - -) + + +fixed_parameter - - -{ + + +interface - - -second + + +} - - -identifier + + +class_body - - -identifier + + +variable_declarators - - -attribute_section + + +< - - -type_parameter + + +positional_argument_list - - -attributes + + +local_variable_initializer - - -] + + +method_header - - -identifier + + +accessor_body - - -( + + +public - - -method_header + + +get - - -primary_constraint + + +accessor_body - - + + ; - - -string + + +fixed_parameter - - -: + + +set_accessor_declaration - - -invocation_expression + + +explicitly_typed_local_variable_declarator - - -operator_declarator + + +fixed_parameter - - -string + + += - - -member_access + + +member_name - - -integral_type + + +identifier - - + + +interface_member_declaration + + + type - - -variable_declarators + + +[ + + + +second attribute - - -} + + +declaration_statement - - -private + + +} - - -identifier + + +fixed - - -namespace_body + + +{ - - -primary_expression + + +interface_declaration - - -namespace_member_declaration + + +public - - -false + + +, - - -index + + +t - - -A + + +abstract - - -return_type + + +f1 - - -event_declaration + + +field_declaration - - -integral_type + + +method_modifier - - -struct_member_declaration + + +interface_body - - -+ + + +struct_declaration - - -literal + + +decorated_type_parameter - - -operator_modifier + + +expression - - -identifier + + +; - - -ref_method_modifier + + +type - - -interface_modifier + + +field - - -int + + +field_modifier - - + + T - - -) - - - -namespace_declaration - - - -get - - - -internal + + +variable_declarators - - -value + + +type_parameter_list - - -I + + +; - - + + identifier - - -integral_type + + +) - - -identifier + + +type_parameter - - -struct + + +set - - -operator_body + + +parameter_list - - -. + + +field_modifier - - -second + + +struct_member_declaration - - -block + + +namespace - - -interface + + +struct_member_declaration - - -set + + +; - - -} + + +block - - -explicitly_typed_local_variable_declarator + + +property_modifier - - + + identifier - - -T - - - -field_modifier - - - -method_modifier - - - -struct_member_declaration + + +C - - -public + + +identifier constructor_body - - -constructor_modifier + + +I + + + +My - - + + accessor_body - - -accessor_modifier + + +binary_operator_declarator - - -variable_declarators + + +struct_member_declaration - - -field + + +accessor_declarations - - -type_parameter_constraints_clause + + +type_parameter_constraints - - -{ + + +; - - + + identifier - - -statement - - - -class_type + + +primary_expression - - -field_declaration + + +"A" - - -buffer_element_type + + +. - - -} + + +prog - - -abstract + + +A - - -type + + +return_type - - -identifier + + +public - - -integral_type + + +S - - + + get_accessor_declaration - - -type + + +get - - -value + + +fixed_size_buffer_declaration - - -interface_member_declaration + + +second - - -argument_name + + +block - - -{ + + +string - - -: + + +fixed_parameter - - -binary_operator_declarator + + +T - - -P + + +argument_list - - -this + + +attribute_section - - -static + + +attributes - - -identifier + + +; + + + +operator_declaration + + + +internal - - + + type \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt index 0cadaf8a5..fa0a914c2 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -43,7 +43,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ decorated_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T @@ -443,21 +443,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ decorated_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T1 ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ decorated_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T2 ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > @@ -800,7 +797,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ decorated_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T @@ -872,7 +869,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ decorated_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U @@ -937,21 +934,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ decorated_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ decorated_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ V -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ V ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt index 64796ef02..974659e28 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier RecursiveGenericBaseType)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier A) (type_parameter_list < (type_parameters (identifier T)) >) (class_base : (class_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >)))) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier virtual))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier M)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier abstract))) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier N)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier static)) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier O)) ( )) (method_body (block { })))) }))) (namespace_member_declaration (class_declaration (class_modifier sealed) class (identifier B) (type_parameter_list < (type_parameters (type_parameters (identifier T1)) , (type_parameter (identifier T2))) >) (class_base : (class_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (identifier T1)) , (type_argument (identifier T2))) >))) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier override))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier M)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier sealed)) (method_modifier (ref_method_modifier override))) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier N)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier new)) (method_modifier (ref_method_modifier static))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier O)) ( )) (method_body (block { })))) }))) }))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier Boo)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) class (identifier Bar) (type_parameter_list < (type_parameters (identifier T)) >) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (identifier IComparable))) (class_body { (class_member_declaration (field_declaration (field_modifier public) (type (identifier T)) (variable_declarators (identifier f)) ;)) (class_member_declaration (class_declaration (class_modifier public) class (identifier Foo) (type_parameter_list < (type_parameters (identifier U)) >) (class_base : (class_type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_arguments (identifier T)) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Method)) (type_parameter_list < (type_parameters (type_parameters (identifier K)) , (type_parameter (identifier V))) >) ( (parameter_list (fixed_parameters (fixed_parameter (type (identifier K)) (identifier k)) , (fixed_parameter (type (identifier T)) (identifier t)) , (fixed_parameter (type (identifier U)) (identifier u)))) ) (type_parameter_constraints_clause where (type_parameter (identifier K)) : (type_parameter_constraints (primary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier V)) >))) , (secondary_constraints (secondary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier T)) >))) , (secondary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier U)) >)))))) (type_parameter_constraints_clause where (type_parameter (identifier V)) : (type_parameter_constraints (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier K)) >))))) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (identifier a)))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (invocation_expression (primary_expression (simple_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) ( (argument_list (literal 5)) ))) ))) ;))) })))) }) ;)) }) ;)) }) ;)) })))) +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier RecursiveGenericBaseType)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier A) (type_parameter_list < (decorated_type_parameter (identifier T)) >) (class_base : (class_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >)))) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier virtual))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier M)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier abstract))) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier N)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier static)) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier O)) ( )) (method_body (block { })))) }))) (namespace_member_declaration (class_declaration (class_modifier sealed) class (identifier B) (type_parameter_list < (decorated_type_parameter (identifier T1)) , (decorated_type_parameter (identifier T2)) >) (class_base : (class_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (identifier T1)) , (type_argument (identifier T2))) >))) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier override))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier M)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier sealed)) (method_modifier (ref_method_modifier override))) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier N)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier new)) (method_modifier (ref_method_modifier static))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier O)) ( )) (method_body (block { })))) }))) }))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier Boo)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) class (identifier Bar) (type_parameter_list < (decorated_type_parameter (identifier T)) >) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (identifier IComparable))) (class_body { (class_member_declaration (field_declaration (field_modifier public) (type (identifier T)) (variable_declarators (identifier f)) ;)) (class_member_declaration (class_declaration (class_modifier public) class (identifier Foo) (type_parameter_list < (decorated_type_parameter (identifier U)) >) (class_base : (class_type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_arguments (identifier T)) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Method)) (type_parameter_list < (decorated_type_parameter (identifier K)) , (decorated_type_parameter (identifier V)) >) ( (parameter_list (fixed_parameters (fixed_parameter (type (identifier K)) (identifier k)) , (fixed_parameter (type (identifier T)) (identifier t)) , (fixed_parameter (type (identifier U)) (identifier u)))) ) (type_parameter_constraints_clause where (type_parameter (identifier K)) : (type_parameter_constraints (primary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier V)) >))) , (secondary_constraints (secondary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier T)) >))) , (secondary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier U)) >)))))) (type_parameter_constraints_clause where (type_parameter (identifier V)) : (type_parameter_constraints (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier K)) >))))) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (identifier a)))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (invocation_expression (primary_expression (simple_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) ( (argument_list (literal 5)) ))) ))) ;))) })))) }) ;)) }) ;)) }) ;)) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.svg index d1ac0e0fa..36536dc5c 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -1,2940 +1,2930 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -type_parameters - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fixed_parameter - - -identifier + + +> - - + + class_member_declaration - - -M - - - -block - - - -identifier - - - -) - - - -type_arguments + + +> - - -type_argument + + +protected - - -type_argument + + +< - - -> + + +namespace_member_declaration - - -( + + +void - - -method_declaration + + +ref_method_modifier - - -, + + +method_modifiers - - + + identifier - - -identifier + + +prog - - -A + + +type_arguments - - -integral_type + + +member_name - - -T2 + + +; - - -identifier + + +return_type - - -A + + +{ - - -< + + +method_modifiers - - -V + + +T - - -type_argument_list + + +K - - -type_argument + + +type_argument_list - - -: + + +statement_list - - -where + + +{ - - -M + + +) - - -type_parameter + + +type_parameter_list - - -block + + +IList - - -> + + +: - - -type_argument_list + + +statement_expression - - -T + + +> - - -T + + +namespace_body - - -identifier + + +> - - -identifier + + +ref_method_modifier - - -identifier + + +} - - + + namespace_or_type_name - - -type_argument_list - - - -class_member_declaration - - - -identifier + + +decorated_type_parameter - - -) + + +namespace_or_type_name - - -< + + +: - - -Bar + + +decorated_type_parameter - - -> + + +IList - - -A + + +namespace_or_type_name - - + + identifier - - + + method_header - - + + , - - + + < - - -T2 + + +A - - -> + + +, - - -method_modifier + + +block - - -type_argument_list + + +IComparable - - -ref_method_modifier + + +argument_list - - -static + + +B - - -identifier + + +method_modifier - - -< + + +type_arguments - - -< + + +type_arguments - - -explicitly_typed_local_variable_declaration + + +: - - -override + + +identifier - - -compilation_unit + + +identifier - - -M + + +T - - -identifier + + +explicitly_typed_local_variable_declarators - - -method_header + + +type_arguments - - -protected + + +class - - -class_base + + +static - - + + identifier - - -namespace_or_type_name + + +integral_type - - -} + + +Bar - - -namespace_or_type_name + + +expression_statement - - -class_declaration + + +class_member_declaration - - -local_variable_declaration + + +identifier - - -variable_declarators + + +{ - - -class_type + + +identifier - - -< + + +} - - -public + + +identifier - - -method_modifier + + +} - - + + identifier - - -T + + +type_argument_list - - + + type - - -abstract - - - -identifier - - - -prog - - - -type_argument_list + + +IEnumerable - - -class_body + + +class_member_declaration - - -ref_method_modifier + + +{ - - -> + + +A - - -namespace_or_type_name + + +identifier - - -type_argument_list + + +type_parameter_constraints - - + + type_arguments - - -B + + +type_argument_list - - -IList + + +type_argument_list - - -} + + +T - - + + type_arguments - - -return_type + + +identifier + + + +K - - + + namespace_or_type_name - - -IComparable + + +< - - -class_type + + +class_base - - -< + + +T1 - - + + type_argument_list - - -, + + +ref_method_modifier - - -type + + +type_arguments - - + + < - - -} + + +IList - - + + ( - - -identifier + + +return_type - - -identifier + + +< - - + + < - - + + +identifier + + + < - - -) + + +namespace_or_type_name - - -K + + +T - - -< + + +identifier - - -B + + +identifier - - -type_arguments + + +type_parameter_constraints_clause - - -< + + +primary_expression - - -Method + + +namespace_or_type_name - - -ref_method_modifier + + +M - - + + identifier - - -class_type + + +public + + + +method_declaration - - + + identifier - - -U + + +identifier - - -type_argument_list + + +namespace_or_type_name - - -type_arguments + + +a - - -{ + + +( - - -class_member_declaration + + +type_arguments - - -type_argument_list + + +< - - -field_modifier + + +namespace - - -namespace_body + + +identifier - - -namespace + + +namespace_or_type_name - - -{ + + +T - - -namespace_declaration + + +A - - -} + + +A - - -identifier + + +compilation_unit - - -namespace_or_type_name + + +< - - -method_modifier + + +namespace_member_declaration - - -; + + +A - - -protected + + +U - - -class_base + + +{ - - -> + + +O - - -B + + +type_parameter - - -: + + +protected - - -type_argument_list + + +< - - -class_member_declaration + + +identifier - - + + identifier - - -method_header + + +class_base - - -namespace_or_type_name - - - -type_argument + + +type_argument_list - - -type_parameter_list + + +u - - -> + + +< - - + + type_argument_list - - -return_type + + +) - - + + +< + + + identifier - - -class_modifier + + +identifier - - -qualified_identifier + + +< - - -namespace_declaration + + +< - - -type_argument_list + + +namespace_body - - -member_name + + +A - - -namespace_declaration + + +> - - -namespace + + +type_arguments - - -field_declaration + + +t - - -primary_constraint + + +type_parameter_list - - -secondary_constraint + + +> - - -namespace_or_type_name + + +ref_method_modifier - - -A + + +N - - -A + + +class_modifier - - -type_arguments + + +namespace_or_type_name - - + + +abstract + + + identifier - - + + type_argument - - -type_parameters - - - -, - - - -} - - - -IEnumerable + + +where - - -type_parameter_constraints + + +local_variable_declaration - - -> + + +namespace_or_type_name - - -type + + +, - - -V + + +type_argument_list - - -type_arguments + + +T - - -identifier + + +type_argument_list - - + + member_name - - -A - - - + + } - - -type + + +method_body - - + + +namespace_body + + + identifier - - -namespace_or_type_name + + +T - - -identifier + + +U - - -) + + +> - - -block + + +T - - -type_arguments + + +> - - -IList + + +qualified_identifier - - -type_argument_list + + +C - - -member_name + + +identifier - - -public + + +primary_constraint - - -method_modifier + + +M - - -statement + + +{ - - + + identifier - - + + +< + + + { - - -type_parameters + + +< - - -type_argument_list + + +} - - -member_name + + +> - - -B + + +type - - -method_modifier + + +override - - -A + + +type_parameter - - -method_declaration + + +simple_name - - -class_body + + +declaration_statement - - -expression_statement + + +A - - -namespace + + +class_member_declaration - - -type_arguments + + +identifier - - -a + + +< - - -statement + + +namespace_or_type_name - - + + namespace_or_type_name - - -T + + +A - - -method_modifiers + + +return_type - - -; + + +< - - -method_header + + +T - - -, + + +type_arguments - - -static + + +sealed - - -identifier + + +T - - -identifier + + +argument_list - - -{ + + +method_header - - -virtual + + +namespace - - -simple_name + + +identifier - - -protected + + +field_declaration - - -type_argument_list + + +( + + + +statement - - + + identifier - - -type_parameter_constraints_clause + + +type_parameter_list - - -class_declaration + + +virtual - - -method_declaration + + +secondary_constraint - - -type_parameter_constraints_clause + + +f - - -< + + +block - - -identifier + + +fixed_parameters - - -{ + + +) - - -, + + +method_modifier - - -void + + +type_argument - - -T + + +V - - + + +type_parameter_constraints + + + identifier - - -method_declaration + + +protected - - + + +B + + + identifier - - -T + + +B - - -primary_expression + + +method_body - - -T + + +namespace_declaration - - -method_modifier + + +identifier - - -return_type + + +type_arguments - - -sealed + + +> - - -O + + +ref_method_modifier - - + + identifier - - -type_parameter_constraints_clause + + +sealed - - -identifier + + +namespace_declaration - - -A + + +public - - -type_parameter_constraints + + +identifier - - -namespace_member_declaration + + +B - - -T1 + + +( - - -V + + +method_body - - -T + + +statement - - -namespace_member_declaration + + +namespace_or_type_name - - + + type_arguments - - + + } - - -> + + +identifier - - -method_declaration + + +< - - -, + + +type_argument - - -int + + +method_header - - -type_parameter_constraints_clause + + +ref_method_modifier - - -type_parameter + + +{ - - -class_declaration + + +A - - -namespace_body + + +namespace_member_declaration - - -secondary_constraint + + +: - - -B + + +ref_method_modifier - - -method_modifier + + +O - - -identifier + + +fixed_parameter - - + + identifier - - -IList - - - -method_modifiers - - - -member_name - - - -T - - - -: - - - -> - - - -method_modifiers - - - -> + + +type_parameter_list - - -T + + +< - - -> + + +) - - -{ + + +type_argument - - -{ + + +A - - + + namespace_or_type_name - - -public - - - -T1 - - - -method_modifiers - - - -method_modifier + + +type_arguments - - + + T - - -ref_method_modifier - - - -( + + +A - - -} + + +explicitly_typed_local_variable_declaration - - -identifier + + +type_argument_list - - -identifier + + +type - - -type_arguments + + +, - - + + method_body - - -identifier + + +decorated_type_parameter - - -( + + +literal - - -< + + +type_parameter - - -B + + +identifier - - -type_argument + + +where - - -class + + +5 - - -class_declaration + + +Boo - - -class_base + + +} - - -K + + +method_declaration - - -identifier + + +} - - -T + + +> - - -identifier + + +< - - -type_argument + + +> - - -} + + +class_type - - -A + + +V - - -namespace_member_declaration + + +T - - -method_body + + +identifier - - -class_body + + +type_argument_list - - -method_header + + +class_member_declaration - - -{ + + +identifier - - -class + + +type_argument_list - - -< + + +, - - -override + + +A - - -> + + +method_declaration - - -sealed + + +class - - -f + + +class - - -type_argument_list + + +identifier - - -ref_method_modifier + + +identifier - - + + > - - -fixed_parameters + + +class_member_declaration - - -> + + +method_modifier - - -T + + +} - - + + type_arguments - - -namespace_member_declaration + + +type_parameter - - -method_body + + +type_argument - - -type_argument_list + + +; - - -type_arguments + + +type_parameter_constraints_clause - - + + identifier - - + + ) - - -identifier + + +) - - -qualified_identifier + + +) - - -explicitly_typed_local_variable_declarators + + +{ - - -identifier + + +variable_declarators - - -primary_expression + + +class_type - - -> + + +method_declaration - - -return_type + + +, - - -type_parameter_list + + +T2 + + + +identifier - - + + namespace_or_type_name - - -> + + +< - - -type_parameter + + +type_arguments - - + + +identifier + + + type_argument - - + + type_arguments - - -method_body + + +identifier - - + + type_argument_list - - -; + + +Foo - - -type_arguments + + +namespace_or_type_name - - -) + + +identifier - - -type_argument_list + + +identifier - - -type_argument_list + + +type_arguments - - -; + + +> - - -U + + +> - - -< + + +identifier - - -namespace_or_type_name + + +static - - -} + + +( - - -Boo + + +type_argument_list - - -method_modifiers + + +> - - -ref_method_modifier + + +type_argument_list - - -identifier + + +member_name - - -namespace_or_type_name + + +ref_method_modifier - - -A + + +decorated_type_parameter - - -T + + +where + + + +identifier - - + + type_argument_list - - -identifier + + +type_argument - - -class_modifier + + +T1 - - -{ + + +class_body - - -identifier + + +> - - + + identifier - - -C + + +class_base - - -B + + +method_declaration - - -qualified_identifier + + +class_declaration - - -method_modifiers + + +return_type - - -; + + +override + + + +decorated_type_parameter - - + + +block + + + > - - -ref_method_modifier + + +ConsoleApplication1 - - -: + + +; - - -type_arguments + + +class_member_declaration - - -k + + +T - - -type_arguments + + +type_argument_list - - + + identifier - - -identifier + + +method_modifiers - - -} + + +, - - -RecursiveGenericBaseType + + +{ - - -T + + +type_arguments + + + +block + + + +namespace_or_type_name - - + + +method_modifiers + + + identifier - - + + identifier - - -ref_method_modifier + + +type - - -type_parameter_constraints + + +parameter_list - - -type_arguments + + +identifier - - -( + + +U - - -( + + +class_member_declaration - - -N + + +return_type - - -method_body + + +T - - -namespace_or_type_name + + +type_argument - - -argument_list + + +identifier - - -, + + +method_header - - -< + + +: - - -T + + +namespace_member_declaration - - + + method_modifier - - -< + + +A - - -) + + +class_modifier - - -block + + +T2 - - -type_parameter_list + + +method_modifiers + + + +( - - -type_parameters + + +namespace_or_type_name - - -: + + +namespace_or_type_name - - + + > - - -type_parameter + + +where - - -secondary_constraints + + +namespace_or_type_name - - -method_declaration + + +{ - - -method_modifier + + +{ - - -T + + +member_name - - + + > - - -namespace_or_type_name - - - -A - - - -identifier + + +type_argument_list - - -protected + + +} - - -, + + +method_modifier - - -identifier + + +B - - -> + + +class_modifier - - -type_parameter + + +type_arguments - - -> + + +type_arguments - - -where + + +type_argument_list - - -> + + +identifier - - -type_argument + + +, - - + + class_body - - -ref_method_modifier - - - + + < - - -class_member_declaration - - - -< + + +invocation_expression - - -< + + +method_declaration - - -identifier + + +A - - -namespace_or_type_name + + +) - - -identifier + + +T - - -} + + +T - - -type_arguments + + +T - - -invocation_expression + + +T - - -< + + +( - - -identifier + + +qualified_identifier - - -where + + +method_modifier - - + + identifier - - -{ + + +method_body - - -} + + +T - - + + identifier - - -type_parameters - - - -type_arguments + + +> - - + + identifier - - + + +method_declaration + + + +B + + + , - - -identifier + + +> - - -type_argument_list + + +namespace_or_type_name - - -type_arguments + + +new - - -A + + +ref_method_modifier - - -namespace_or_type_name + + +< - - -namespace_or_type_name + + +, - - -class + + +type_argument_list - - -identifier + + +N - - -class + + +class_body - - -T + + +secondary_constraint - - + + A - - -member_name + + +type_arguments - - -t + + +; - - -< + + +type_arguments - - -type_argument + + +class_type - - -method_header + + +return_type - - -> + + +type_argument_list - - -class_member_declaration + + +int - - -ref_method_modifier + + +identifier - - -5 + + +type_parameter_constraints - - -type_parameters + + +member_name - - -) + + +qualified_identifier - - -new + + +} - - -return_type + + +decorated_type_parameter - - -identifier + + +, - - -T + + +decorated_type_parameter - - -: + + +type_argument_list + + + +class_body - - + + < - - -block + + +ref_method_modifier - - -{ + + +method_modifier - - -( + + +identifier - - -invocation_expression + + +namespace - - -< + + +method_modifiers - - -> + + +type_argument_list - - -method_header + + +type_argument + + + +class_member_declaration - - + + ref_method_modifier - - -> + + +class_declaration - - -member_name + + +public - - -type + + +type_parameter_constraints_clause + + + +namespace_declaration - - + + identifier - - -ref_method_modifier + + +{ + + + +method_body - - + + identifier - - -> + + +method_modifier - - -< + + +B - - -< + + +identifier - - -statement_expression + + +type_arguments - - -identifier + + +public - - -) + + +type - - + + , - - -namespace_body - - - -type_parameter_list + + +T - - -{ + + +( - - -class_member_declaration + + +: - - -u + + +type_argument_list - - -namespace_or_type_name + + +class - - + + < - - -{ + + +method_body - - -type_arguments + + +Method - - -namespace_or_type_name + + +method_modifier - - + + > - - -type_arguments + + +> - - -method_modifiers + + +secondary_constraints - - -> + + +type_arguments - - -; + + +< - - -( + + +protected - - -type_parameter_list + + +identifier - - -( + + +method_modifier - - -< + + +namespace_member_declaration - - -T + + +K - - -A + + +ref_method_modifier - - -A + + +identifier - - -type_arguments + + +K - - -ConsoleApplication1 + + +; - - -{ + + +method_modifiers - - -block + + +namespace_or_type_name - - + + namespace_or_type_name - - -return_type + + +IList + + + +type_argument + + + +} + + + +A - - + + identifier - - + + identifier - - -class_modifier + + +RecursiveGenericBaseType - - -literal + + +identifier - - -A + + +type_argument - - + + identifier - - -namespace_or_type_name + + +class_declaration - - -method_declaration + + +method_modifier - - + + identifier - - -method_body + + +type_argument - - -class_member_declaration + + +> - - -public + + +} - - -type_parameter + + +identifier - - -parameter_list + + +identifier - - -type_arguments + + +type_parameter_constraints_clause - - -method_modifier + + +block - - -method_body + + +type_parameter_list - - + + identifier - - -ref_method_modifier + + +return_type - - -< + + +> - - -type_argument_list + + +type_parameter_constraints - - -identifier + + +member_name - - -N + + +} - - -class_member_declaration + + +M - - -identifier + + +block - - -namespace_member_declaration + + +method_header - - -statement_list + + +type_argument_list - - -U + + +> - - -type_argument + + +{ - - + + identifier - - -return_type + + +class_declaration - - -, + + +field_modifier + + + +: + + + +> + + + +method_header - - + + identifier - - -Foo + + +( - - -type_parameter_constraints + + +type_arguments - - -namespace_or_type_name + + +method_header - - + + identifier - - -K + + +fixed_parameter - - + + block - - + + > - - -fixed_parameter - - - -declaration_statement - - - -} + + +identifier - - + + identifier - - -type_argument_list + + +identifier - - -K + + +< - - -identifier + + +ref_method_modifier - - -where + + +namespace_or_type_name - - + + identifier - - -O + + +k - - -type_parameters + + +V - - -identifier + + +primary_expression - - -identifier + + +) - - -IList + + +< - - -type_argument + + +invocation_expression - - -: + + +identifier - - -argument_list + + +; - - -type_argument_list + + +member_name - - -fixed_parameter + + +< + + + +> \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt index 3ffb3eb9e..103f83e25 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -326,7 +326,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where_clause ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt index c4d84e642..191b9ba54 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Bar3)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier x) = (expression (object_creation_expression new (type (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier Boo)) . (identifier Bar) (type_argument_list < (type_arguments (integral_type int)) >)) . (identifier Foo) (type_argument_list < (type_arguments (class_type object)) >))) ( )))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier x)) . (identifier Method) (type_argument_list < (type_arguments (type_argument (class_type string)) , (type_argument (class_type string))) >))) ( (argument_list (argument (literal " ")) , (argument (literal 5)) , (argument (object_creation_expression new (type (class_type object)) ( )))) ))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier q) = (expression (query_expression (from_clause from (identifier i) in (expression (object_creation_expression new (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer (literal 1)) , (element_initializer (literal 2)) , (element_initializer (literal 3)) , (element_initializer (literal 4))) }))))) (query_body (query_body_clauses (where_clause where (boolean_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (literal 5)))))) (select_or_group_clause (select_clause select (expression (identifier i)))))))))) ;))) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator implicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s)) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (namespace_or_type_name (namespace_or_type_name (identifier ConsoleApplication1)) . (identifier Test))) ( ))) ;)) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator explicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s) (default_argument = (expression (literal "")))) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (identifier Test)) ( ))) ;)) })))) }))) })))) +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Bar3)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier x) = (expression (object_creation_expression new (type (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier Boo)) . (identifier Bar) (type_argument_list < (type_arguments (integral_type int)) >)) . (identifier Foo) (type_argument_list < (type_arguments (class_type object)) >))) ( )))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier x)) . (identifier Method) (type_argument_list < (type_arguments (type_argument (class_type string)) , (type_argument (class_type string))) >))) ( (argument_list (argument (literal " ")) , (argument (literal 5)) , (argument (object_creation_expression new (type (class_type object)) ( )))) ))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier q) = (expression (query_expression (from_clause from (identifier i) in (expression (object_creation_expression new (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer (literal 1)) , (element_initializer (literal 2)) , (element_initializer (literal 3)) , (element_initializer (literal 4))) }))))) (query_body (query_body_clause (where_clause where (boolean_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (literal 5)))))) (select_or_group_clause (select_clause select (expression (identifier i)))))))))) ;))) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator implicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s)) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (namespace_or_type_name (namespace_or_type_name (identifier ConsoleApplication1)) . (identifier Test))) ( ))) ;)) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator explicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s) (default_argument = (expression (literal "")))) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (identifier Test)) ( ))) ;)) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.svg index 446836d46..2a63b85e3 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -264,1072 +264,1072 @@ + + +operator_body + + + +statement + + + +x + + + +type + + + +new + + + +statement_list + query_expression - - -; - - - -operator_declaration + + +type - - -return_statement + + +5 - - -member_access + + +operator_modifier - - -namespace_or_type_name + + +primary_expression object_or_collection_initializer - - -( + + +namespace_or_type_name - - -class_type + + +} - - -4 + + +identifier - - -class_member_declaration + + +identifier - - + + +{ + + + ) - - -collection_initializer + + +type - - -Bar3 + + +namespace - - -object_creation_expression + + +> - - -"·" + + +expression_statement - - -operator_body + + +boolean_expression - - -namespace_or_type_name + + +compilation_unit - - -return_type + + +x - - + + +< + + + +5 + + + expression - - -literal + + +select_clause identifier - - -namespace_or_type_name - - - -> - - - -declaration_statement - - - -( + + +type - - + + identifier - - -. + + +literal - - -qualified_identifier + + +new - - -{ + + +expression - - -type_argument_list + + +] - - -local_variable_declaration + + +expression - - -q + + +literal - - -Boo + + +method_modifiers - - -[ + + += - - -2 + + +element_initializer - - -operator_declarator + + +integral_type - - -ConsoleApplication1 + + +conversion_operator_declarator - - -expression_statement + + +namespace_declaration - - -array_type + + +method_declaration - - -method_header + + +literal - - -Method + + +class_type - - -x + + +block - - -new + + +var - - -statement_expression + + +Test - - -implicitly_typed_local_variable_declaration + + +statement - - -type_arguments + + +) - - -implicitly_typed_local_variable_declarator + + +2 - - -identifier + + +class_type - - -"" + + +identifier - - -literal + + +qualified_identifier - - -{ + + +"·" - - + + , - - -query_body_clauses - - - -Test - - - -namespace_declaration - - - -. + + +local_variable_declaration - - -implicitly_typed_local_variable_declaration + + +operator_modifier - - -type + + +identifier - - -type + + +conversion_operator_declarator - - + + return_statement - - -from + + +statement_list where - - -; - - - -s + + +namespace_or_type_name - - -Foo + + +type - - + + identifier - - -type_argument_list + + +{ - - -expression + + +relational_expression - - -block + + +Boo - - -namespace + + +class_type - - -Bar + + +) - - -identifier + + +local_variable_declaration - - -{ + + +) - - -block + + +rank_specifier - - -Test + + +class_declaration - - -static + + +string - - -argument + + +element_initializer - - -} + + +member_access - - -integral_type + + +operator - - -( + + +where_clause - - -operator_modifier + + +element_initializer_list - - -class + + +identifier - - -element_initializer + + +i - - -) + + +type - - -expression + + +block - - -string + + +type_arguments - - -; - - - -> - - - -> + + +void ( - - -new - - - -argument - - - -< - - - -element_initializer - - - -boolean_expression + + +s - - + + identifier - - -5 - - - -public - - - -1 - - - -class_member_declaration - - - -class_type - - - -static - - - -} - - - -operator_body + + +method_body - - -} + + +int shift_expression - - -return - - - -} - - - -object_creation_expression - - - -( - - - -non_array_type - - - -namespace_or_type_name - - - -literal - - - -identifier + + +) - - -. + + +static - - -return + + +class_member_declaration - - -string + + +> - - -argument + + +( - - -local_variable_declaration + + +object_creation_expression identifier - - -conversion_operator_declarator - - - -Test + + +identifier class_body - - + + +identifier + + + string - - -operator_modifier + + +q - - -identifier + + +) - - -statement_list + + +Test - - -operator + + +; + + + +Test expression - - -method_declaration - - - -statement - - - -literal - - - -( - - - -default_argument - - - -from_clause - - - -) - - - -) + + +relational_expression class_type - - -identifier - - - -i - - - -type - - - -; - - - -namespace_body + + +expression type_argument - - -object + + +namespace_member_declaration - - -; + + +operator_modifier - - -literal + + +fixed_parameter - - -method_modifiers + + +. - - -( + + +} - - -void + + +, - - -expression + + +, - - -type + + +fixed_parameter - - -select_clause + + +block - - -] + + +class_type + + + +{ + + + +operator_declaration + + + +; + + + +object_creation_expression + + + +primary_expression + + + +identifier + + + +type_argument_list + + + +literal implicit - - + + ( - - -, + + +{ - - -identifier + + +Test - - -{ + + +int - - -} + + +Method - - -compilation_unit + + +identifier + + + +Foo element_initializer - - -operator_modifier - - - -prog - - - -expression + + +from - - -operator_declarator + + +object_creation_expression - - + + identifier - - -, - - - -var - select - - -member_name + + +operator_body - - -class_member_declaration + + +( - - -class_type + + +in - - -type + + +object_creation_expression - - + + +> + + + += + + + +namespace_or_type_name + + + +argument + + + +1 + + + +public + + + +class + + + +statement_list + + + +string + + + +< + + + ) - - -i + + +< - - -{ + + +object_creation_expression - - -identifier + + +. - - -literal + + +} - - -new + + +} - - -s + + +type + + + +( + + + +type_arguments + + + +return + + + +type_argument_list + + + +{ + + + +, + + + +invocation_expression + + + +implicitly_typed_local_variable_declaration - - -expression + + +type_argument_list - - -> + + +query_body - - -Test + + +} - - -literal + + +string = - - -block + + +class_member_declaration - - -statement + + +return_statement - - -literal + + +operator_modifier - - -identifier + + +Bar3 - - -string + + +default_argument - - -i + + +"" - - -declaration_statement + + +query_body_clause - - -type + + +return - - -identifier + + +operator_declarator - - -int + + +Bar - - -identifier + + +integral_type - - -in + + +Test - - + + +array_type + + + +i + + + +argument_list + + + +ConsoleApplication1 + + + new - - -type + + +implicitly_typed_local_variable_declarator - - -, + + +public - - -} + + +. - - -= + + +collection_initializer - - -element_initializer + + +4 - - -) + + +select_or_group_clause operator - - -statement - - - -class_type - - - -class_type + + +> - - -query_body + + +type - - -operator_declaration + + +expression - - -type + + +prog - - -type_argument_list + + +expression - - -object_creation_expression + + +member_name - - -statement_list + + +literal - - -object_creation_expression + + +non_array_type - - -element_initializer_list + + +type_argument - - -relational_expression + + +type_arguments - - -fixed_parameter + + +identifier - - -explicit + + +new - - -statement_list + + +namespace_or_type_name - - -primary_expression + + +static - - -implicitly_typed_local_variable_declarator + + +3 - - -object_creation_expression + + +return_type - - -identifier + + +( - - -namespace_or_type_name + + +operator_declarator - - -type_arguments + + +declaration_statement - - -x + + +implicitly_typed_local_variable_declaration - - -< + + +argument - - -, + + +identifier - - -) + + +literal - - -where_clause + + +; - - -5 + + +argument - - -class_declaration + + +s - - -identifier + + +; - - -conversion_operator_declarator + + +implicitly_typed_local_variable_declarator - - -< + + +ConsoleApplication1 - - -{ + + +from_clause - - -relational_expression + + +i - - -int + + +[ - - + + +declaration_statement + + + identifier - - -primary_expression + + +literal - - -= + + +; - - -rank_specifier + + +new - - -type_arguments + + +) - - -integral_type + + +( - - -namespace_member_declaration + + +( - - -var + + +. + + + +namespace_or_type_name type - - -argument_list + + +class_type - - -method_body + + +statement - - + + +, + + + +identifier + + + object - - + + , - - -ConsoleApplication1 + + +class_member_declaration - - -. + + +var - - -type_argument + + +operator_declaration - - -select_or_group_clause + + +{ - - -public + + +namespace_body - - -operator_modifier + + +element_initializer - - -fixed_parameter + + +method_header - - -invocation_expression + + +statement_expression - - -) + + +identifier - - -3 + + +explicit - - -Test + + +object - - -identifier + + +literal - - -new + + +} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt index 9ad3e50f0..a8f0b2772 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -1095,21 +1095,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ R -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ R ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt index 0167316ac..a1c0dec3c 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (field_declaration (field_modifier public) (type (integral_type int)) (variable_declarators (variable_declarator (identifier foo) = (variable_initializer (literal 5)))) ;)) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Bar2)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier foo)) (assignment_operator =) (expression (literal 6)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (member_access (primary_expression (this_access this)) . (identifier Foo))) (assignment_operator =) (expression (invocation_expression (primary_expression (member_access (primary_expression (literal 5)) . (identifier GetType))) ( ))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Test)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier t) = (local_variable_initializer (literal "sss")))))) ;))) })))) (class_member_declaration (event_declaration (event_modifier public) event (type (identifier EventHandler)) (variable_declarators (variable_declarator (identifier MyEvent) = (variable_initializer (anonymous_method_expression delegate (block { }))))) ;)) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Blah)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (literal 5)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier j) = (local_variable_initializer (literal 6)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Expression) (type_argument_list < (type_arguments (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (integral_type int)) >))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier e) = (local_variable_initializer (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (identifier i)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Expression) (type_argument_list < (type_arguments (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (simple_type bool)) , (type_argument (identifier Action))) >))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier e2) = (local_variable_initializer (lambda_expression (anonymous_function_signature (identifier b)) => (anonymous_function_body (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (return_statement return ;)) })))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (simple_type bool)) , (type_argument (simple_type bool))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f) = (local_variable_initializer (anonymous_method_expression async delegate (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (type (simple_type bool)) (identifier a))) )) (block { (statement_list (return_statement return (expression (await_expression await (unary_expression (logical_negation_operator !) (unary_expression (identifier a))))) ;)) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (integral_type int)) , (type_argument (integral_type int))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f2) = (local_variable_initializer (lambda_expression (anonymous_function_signature (implicit_anonymous_function_signature ( (implicit_anonymous_function_parameter_list (implicit_anonymous_function_parameter (identifier a)) , (implicit_anonymous_function_parameter (identifier b))) ))) => (anonymous_function_body (literal 0)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (type (integral_type int)) (identifier a)) , (explicit_anonymous_function_parameter (type (integral_type int)) (identifier b))) ))) => (anonymous_function_body (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Action)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (identifier Blah)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { })))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (empty_statement ;)) })))))) ;))) })))) (class_member_declaration (delegate_declaration delegate (return_type (identifier Recursive)) (delegate_header (identifier Recursive) ( (parameter_list (fixed_parameter (type (identifier Recursive)) (identifier r))) ) ;))) (class_member_declaration (delegate_declaration delegate (return_type (identifier Recursive)) (delegate_header (identifier Recursive) (variant_type_parameter_list < (variant_type_parameters (variant_type_parameters (identifier A)) , (type_parameter (identifier R))) >) ( (parameter_list (fixed_parameter (type (namespace_or_type_name (identifier Recursive) (type_argument_list < (type_arguments (type_argument (identifier A)) , (type_argument (identifier R))) >))) (identifier r))) ) ;))) }))) })))) +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (field_declaration (field_modifier public) (type (integral_type int)) (variable_declarators (variable_declarator (identifier foo) = (variable_initializer (literal 5)))) ;)) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Bar2)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier foo)) (assignment_operator =) (expression (literal 6)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (member_access (primary_expression (this_access this)) . (identifier Foo))) (assignment_operator =) (expression (invocation_expression (primary_expression (member_access (primary_expression (literal 5)) . (identifier GetType))) ( ))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Test)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier t) = (local_variable_initializer (literal "sss")))))) ;))) })))) (class_member_declaration (event_declaration (event_modifier public) event (type (identifier EventHandler)) (variable_declarators (variable_declarator (identifier MyEvent) = (variable_initializer (anonymous_method_expression delegate (block { }))))) ;)) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Blah)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (literal 5)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier j) = (local_variable_initializer (literal 6)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Expression) (type_argument_list < (type_arguments (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (integral_type int)) >))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier e) = (local_variable_initializer (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (identifier i)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Expression) (type_argument_list < (type_arguments (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (simple_type bool)) , (type_argument (identifier Action))) >))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier e2) = (local_variable_initializer (lambda_expression (anonymous_function_signature (identifier b)) => (anonymous_function_body (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (return_statement return ;)) })))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (simple_type bool)) , (type_argument (simple_type bool))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f) = (local_variable_initializer (anonymous_method_expression async delegate (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (type (simple_type bool)) (identifier a))) )) (block { (statement_list (return_statement return (expression (await_expression await (unary_expression (logical_negation_operator !) (unary_expression (identifier a))))) ;)) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (integral_type int)) , (type_argument (integral_type int))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f2) = (local_variable_initializer (lambda_expression (anonymous_function_signature (implicit_anonymous_function_signature ( (implicit_anonymous_function_parameter_list (implicit_anonymous_function_parameter (identifier a)) , (implicit_anonymous_function_parameter (identifier b))) ))) => (anonymous_function_body (literal 0)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (type (integral_type int)) (identifier a)) , (explicit_anonymous_function_parameter (type (integral_type int)) (identifier b))) ))) => (anonymous_function_body (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Action)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (identifier Blah)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { })))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (empty_statement ;)) })))))) ;))) })))) (class_member_declaration (delegate_declaration delegate (return_type (identifier Recursive)) (delegate_header (identifier Recursive) ( (parameter_list (fixed_parameter (type (identifier Recursive)) (identifier r))) ) ;))) (class_member_declaration (delegate_declaration delegate (return_type (identifier Recursive)) (delegate_header (identifier Recursive) (variant_type_parameter_list < (variant_type_parameter (identifier A)) , (variant_type_parameter (identifier R)) >) ( (parameter_list (fixed_parameter (type (namespace_or_type_name (identifier Recursive) (type_argument_list < (type_arguments (type_argument (identifier A)) , (type_argument (identifier R))) >))) (identifier r))) ) ;))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.svg index 3cc208da3..35b24bf1e 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + @@ -29,7 +29,7 @@ - + @@ -101,7 +101,7 @@ - + @@ -121,7 +121,7 @@ - + @@ -460,7 +460,7 @@ - + @@ -479,2152 +479,2147 @@ - - - - + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -local_variable_initializer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +return_type - - -( + + +implicit_anonymous_function_parameter - - -expression + + +assignment - - -non_nullable_value_type + + +expression_statement - - -event + + += - - -variable_declarators + + +type_argument - - -t + + +explicitly_typed_local_variable_declaration - - -f2 + + +member_name - - -type + + +empty_statement - - -( + + +explicit_anonymous_function_parameter_list - - -statement_list + + +method_modifiers - - -type + + +) - - -class_member_declaration + + +namespace_or_type_name - - -local_variable_declaration + + +explicitly_typed_local_variable_declarators - - -return_statement + + +( - - -declaration_statement + + +assignment_operator - - -) + + +namespace_or_type_name - - + + local_variable_declaration - - + + +) + + + +( + + + integral_type - - -lambda_expression + + += - - -variant_type_parameters + + +type_argument - - -type_arguments + + +identifier - - -return_type + + +anonymous_function_signature - - -; + + +unary_expression - - -Expression + + +variant_type_parameter - - -a + + +simple_type - - + + +explicit_anonymous_function_signature + + + identifier - - -< + + +explicitly_typed_local_variable_declarator - - -lambda_expression + + +explicit_anonymous_function_signature - - -anonymous_function_body + + +member_access - - -) + + +=> - - -type + + +identifier - - -{ + + +local_variable_declaration - - -explicit_anonymous_function_parameter + + +anonymous_function_signature - - -simple_type + + +foo - - -block + + +explicitly_typed_local_variable_declarators - - -Action + + +namespace_declaration - - -} + + +simple_type - - -namespace_body + + +Foo - - -statement_expression + + +this - - -method_modifiers + + +> - - -return + + +type int - - -int + + +class_member_declaration - - -statement - - - -local_variable_initializer - - - -type_argument - - - -variable_declarators - - - -local_variable_initializer - - - + + identifier - - -variable_initializer + + +b - - -identifier + + +statement - - -; + + +identifier - - -explicitly_typed_local_variable_declarator + + +EventHandler - - -explicit_anonymous_function_signature + + +{ - - -event_declaration + + += - - -=> + + +implicit_anonymous_function_signature - - -Recursive + + +anonymous_function_body - - + + identifier - - -? - - - -; + + +namespace_or_type_name - - -) + + +} lambda_expression - - -f2 - - - -b - - - -Recursive + + +block - - -type_arguments + + +f2 - - -type + + +variant_type_parameter_list - - + + statement - - -explicitly_typed_local_variable_declarators - - - -int - - - -= + + +member_access - - -Recursive + + +block - - -variant_type_parameter_list + + +identifier - - -Recursive + + +identifier - - -type + + +type_arguments - - -local_variable_declaration + + +delegate_header - - -parameter_list + + +anonymous_method_expression - - -block + + +nullable_value_type - - -Test + + +e - - -e2 + + +local_variable_initializer - - -type_argument_list + + +type_argument - - -statement + + +< - - -statement + + +identifier - - -anonymous_function_body + + +field_modifier - - -explicitly_typed_local_variable_declarator + + +delegate_declaration - - -identifier + + +; - - -type_argument_list + + +simple_type anonymous_method_expression - - -explicitly_typed_local_variable_declarators + + +lambda_expression - - -type + + +return_statement - - -explicitly_typed_local_variable_declaration + + +a - - -< + + +local_variable_declaration - - -identifier + + +namespace_or_type_name - - -unary_expression + + +0 - - -type_argument_list + + +type_argument - - -class_member_declaration + + +> - - -anonymous_method_expression + + +method_declaration - - -< + + +type_arguments - - -type_argument_list + + +integral_type - - -5 + + +compilation_unit - - -expression + + +bool - - -identifier + + +; - - -, + + +"sss" - - -simple_type + + +literal - - -identifier + + +void - - -( + + +type_argument - - -declaration_statement + + +explicitly_typed_local_variable_declarators - - + + +GetType + + + +Func + + + = - - + + ) - - -assignment + + +( - - -explicitly_typed_local_variable_declaration + + +{ - - -class_member_declaration + + +assignment_operator - - -delegate + + +=> - - -= + + +event_declaration - - -statement_expression + + +MyEvent - - -namespace + + +; - - -variant_type_parameters + + +local_variable_declaration - - -6 + + +< - - -, + + +foo - - + + +) + + + +} + + + +explicitly_typed_local_variable_declarator + + + +) + + + +expression_statement + + + identifier - - -explicit_anonymous_function_signature + + +method_modifiers - - + + identifier - - -integral_type + + +; - - -r + + +expression_statement - - -} + + +invocation_expression - - -statement_expression + + +delegate_declaration - - -} + + +class_member_declaration - - + + type_argument_list - - -declaration_statement + + +; - - -literal + + +int - - -block + + +; - - -local_variable_initializer + + +explicit_anonymous_function_signature - - -( + + +a - - -R + + +delegate_header - - -implicit_anonymous_function_parameter + + +parameter_list - - -declaration_statement + + +Expression - - -, + + +identifier - - -explicitly_typed_local_variable_declarator + + +anonymous_function_signature - - -local_variable_declaration + + += - - -assignment_operator - - - -; - - - -statement + + +} - - -expression_statement + + +5 - - -logical_negation_operator + + +) - - + + identifier - - -assignment + + +identifier - - -return_type + + +literal - - -Func + + +event_modifier - - -explicitly_typed_local_variable_declarators + + +identifier - - -statement + + +explicit_anonymous_function_parameter - - + + explicitly_typed_local_variable_declaration - - -namespace_or_type_name - - - -type + + +bool - - -local_variable_declaration + + +type_arguments - - -explicit_anonymous_function_signature + + +void - - -literal + + +declaration_statement - - -type_argument_list + + +assignment_operator - - -type_arguments + + +j - - -, + + +non_nullable_value_type - - -explicitly_typed_local_variable_declaration + + +return_statement > - - -class_member_declaration - - - -statement - - - -anonymous_function_body + + +i - - -= + + +lambda_expression ; - - -) - - - -variable_initializer - - - -type - - - -j + + +identifier - - -namespace_declaration + + +namespace_body - - -type_argument + + +6 - - + + identifier - - -int - - - -= + + +integral_type - - -method_header + + +) - - -"sss" + + +( - - -literal + + +Action - - -implicit_anonymous_function_parameter + + +> - - -; + + +unary_expression - - -explicitly_typed_local_variable_declarators + + +( - - -Func + + +explicitly_typed_local_variable_declarator nullable_type_annotation - - -< - - - -} + + +return - - -< + + +statement - - -identifier + + +class_body - - -implicit_anonymous_function_parameter_list + + +Func - - -, + + +Blah - - + + identifier - - -delegate + + +variable_initializer - - -=> + + +explicitly_typed_local_variable_declarators - - -integral_type - - - -type_argument - - - -type_argument_list - - - -Func + + +unary_expression - - -anonymous_function_signature + + +type - - -identifier + + +statement - - + + explicitly_typed_local_variable_declaration - - -identifier + + +integral_type - - -=> + + +int - - -statement_list + + += - - -delegate_declaration + + +> - - -int + + +f - - -bool + + +type - - -int + + +explicitly_typed_local_variable_declarators - - -explicitly_typed_local_variable_declarator + + +method_declaration - - -member_name + + +this_access - - -block + + +( - - -await + + +statement - - -implicit_anonymous_function_signature + + +declaration_statement - - -simple_type + + +int - - -variable_declarator + + +unary_expression - - -= + + +anonymous_function_body - - -f + + +} - - -statement_list + + +expression_statement - - -anonymous_function_body + + +literal - - -namespace_or_type_name + + +declaration_statement - - + + identifier - - -. + + +integral_type - - -EventHandler + + +variable_declarators - - -return_statement + + +type - - -identifier + + +r - - -identifier + + +local_variable_initializer - - -method_modifiers + + +, - - -type_arguments + + +explicitly_typed_local_variable_declaration - - -< + + +( - - -declaration_statement + + += - - -Foo + + +statement_list - - -foo + + +statement_expression - - -> + + +delegate - - -( + + +, - - -empty_statement + + +type_argument_list - - -} + + +b - - -Bar2 + + +, - - -anonymous_function_signature + + +explicit_anonymous_function_parameter - - -method_body + + +type - - -f2 + + +identifier - - -delegate_header + + +i - - -qualified_identifier + + +} - - -method_header + + +type - - -namespace_or_type_name + + +qualified_identifier - - -, + + +return_type - - -assignment + + +6 - - -namespace_or_type_name + + +; - - + + +identifier + + + statement_list - - + + identifier - - -local_variable_initializer + + +} + + + +type + + + +type + + + +Recursive + + + +Blah - - -method_declaration + + +identifier - - -delegate + + +Recursive - - -} + + +; - - -= + + +=> - - + + identifier - - -identifier + + +a - - -) + + +delegate - - -explicit_anonymous_function_parameter_list + + +Recursive - - -type_argument + + +statement - - -; + + +explicitly_typed_local_variable_declarator - - -{ + + +} - - -5 + + +delegate - - -parameter_list + + +( - - -local_variable_declaration + + +class_member_declaration - - -( + + +type - - + + explicitly_typed_local_variable_declaration - - -b + + +, - - -assignment_operator + + +; - - -Recursive + + +type_argument_list - - -identifier + + +int - - -i + + +identifier - - -. + + +identifier - - -anonymous_function_signature + + +local_variable_initializer - - -} + + +async - - -class + + +variable_declarators - - + + explicit_anonymous_function_parameter_list - - -type + + +variable_declarator - - -declaration_statement + + +event - - -type_argument + + +explicitly_typed_local_variable_declarators - - -A + + +explicitly_typed_local_variable_declarator - - -namespace_member_declaration + + +literal - - -assignment + + +r - - -expression_statement + + +variant_type_parameter - - -expression_statement + + +A - - -nullable_value_type + + +type_argument - - + + +, + + + +a + + + +5 + + + anonymous_function_signature - - -= + + +explicitly_typed_local_variable_declaration - - -primary_expression + + +int - - -explicitly_typed_local_variable_declarator + + +expression - - -ConsoleApplication1 + + +type_argument - - -; + + +lambda_expression - - -invocation_expression + + +implicit_anonymous_function_parameter - - -identifier + + +type - - -explicitly_typed_local_variable_declarators + + +type - - -Action + + +{ + + + +identifier - - -field_declaration + + +type_argument_list - - -= + + +; - - -statement_list + + +statement - - + + integral_type - - -identifier + + +block - - -identifier + + += - - -primary_expression + + +f2 - - -statement + + +; - - -async + + +prog - - + + identifier - - -explicitly_typed_local_variable_declarators + + +. - - -identifier + + +=> - - -anonymous_function_body + + +simple_type - - -identifier + + +{ - - -identifier + + +b - - -local_variable_declaration + + +{ - - -lambda_expression + + +{ - - + + ; - - -) - - - -identifier + + +public - - -int + + +integral_type - - -= + + +field_declaration - - + + ( - - -type_arguments - - - -; + + +anonymous_function_body - - -type_arguments + + +lambda_expression - - -identifier + + +local_variable_initializer - - -statement_expression + + +R - - -0 + + +class_member_declaration - - -; + + +statement - - -namespace_or_type_name + + +delegate - - -lambda_expression + + +declaration_statement - - -=> + + +block - - -MyEvent + + +statement_expression - - -= + + +assignment_operator - - -= + + +( - - -local_variable_initializer + + +anonymous_function_body - - -; + + +statement - - -) + + += - - + + identifier - - -identifier + + +statement - - -field_modifier + + +; - - -public + + +parameter_list - - -primary_expression + + +< - - -{ + + +anonymous_function_body - - -integral_type + + +block lambda_expression - - -> + + +identifier + + + +int - - -anonymous_function_body + + +Recursive - - -=> + + +type_arguments - - -type_argument + + +) - - -unary_expression + + +statement - - -simple_type + + +int - - -explicit_anonymous_function_signature + + +unary_expression - - -bool + + +identifier - - -Blah + + +local_variable_initializer - - -delegate_header + + +class - - + + ( - - -{ + + +local_variable_declaration - - -unary_expression + + +Test - - -expression + + +local_variable_initializer - - -this_access + + +identifier - - -expression_statement + + +declaration_statement - - + + identifier - - -} + + +assignment - - + + +statement_expression + + + explicitly_typed_local_variable_declaration - - -local_variable_initializer + + +local_variable_declaration - - -GetType + + +e2 - - -anonymous_function_signature + + +} - - -declaration_statement + + +await - - -! + + +statement_list - - + + +identifier + + + +) + + + +ConsoleApplication1 + + + += + + + +expression + + + a - - -unary_expression + + +type - - -assignment + + +expression - - -literal + + +; - - -identifier + + +statement_list - - -return_type + + +member_name - - -Test + + +namespace_member_declaration - - -event_modifier + + += - - + + identifier - - -type_argument + + +Func - - -, + + +type_arguments - - -literal + + +? - - -delegate_declaration + + +assignment_operator - - -class_body + + +Expression - - -prog + + +class_declaration - - -A + + +< - - -> + + +type_argument - - -expression + + +explicitly_typed_local_variable_declarator - - -> + + +{ - - -explicitly_typed_local_variable_declaration + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +identifier - - -literal + + +explicitly_typed_local_variable_declarators - - -= + + +expression - - -5 + + +identifier - - -fixed_parameter + + +< - - -member_access + + +( statement_expression - - -statement - - - -unary_expression + + +literal - - -{ + + +bool - - -class_declaration + + +implicit_anonymous_function_parameter_list - - -> + + +type_argument_list - - -) + + +return_type - - -( + + +type_arguments - - -> + + +local_variable_initializer - - -unary_expression + + +integral_type - - -explicit_anonymous_function_signature + + +statement - - -integral_type + + +variable_declarator - - -; + + +declaration_statement - - -delegate + + +namespace_or_type_name - - -=> + + +namespace - - -explicitly_typed_local_variable_declarators + + +block - - -public + + +, - - -return_type + + += - - + + identifier - - -assignment_operator + + +< - - -{ + + +integral_type - - -namespace_or_type_name + + +class_member_declaration - - -Expression + + +bool - - -identifier + + +Bar2 - - -block + + +declaration_statement - - -b + + +type_arguments - - -explicitly_typed_local_variable_declarators + + +logical_negation_operator - - -explicitly_typed_local_variable_declarator + + +! - - -) + + +; - - -identifier + + +=> + + + +; literal - - -bool + + +< - - -variable_declarator + + +declaration_statement - - -identifier + + +literal - - -r + + +class_member_declaration - - -; + + +} - - -member_name + + +anonymous_function_signature - - -integral_type + + +identifier - - -int + + +lambda_expression - - -type + + +assignment - - -integral_type + + +block - - -type_argument + + +Recursive - - -expression_statement + + +t - - -; + + +Func - - -; + + +Action - - -void + + +expression - - -; + + +identifier - - -< + + +{ - - -local_variable_initializer + + +identifier - - -Func + + +> - - + + explicitly_typed_local_variable_declarator - - + + +fixed_parameter + + + identifier - - -type + + +int - - -integral_type + + +f2 - - -{ + + +R - - -; + + +method_header - - + + type - - -compilation_unit - - - -) - - - -Blah + + +=> - - -a + + +1 - - + + ; - - -< - - - -explicit_anonymous_function_parameter + + +explicitly_typed_local_variable_declarators - - -> + + +=> - - -( + + += - - + + anonymous_function_body - - -{ + + +A - - -identifier + + +. - - -type_argument + + +local_variable_declaration - - -explicit_anonymous_function_parameter + + +type_argument_list - - -this + + +primary_expression - - + + +primary_expression + + + identifier - - -statement + + +public - - -expression + + +) - - -foo + + +local_variable_declaration - - -identifier + + +{ - - -declaration_statement + + +explicit_anonymous_function_signature - - -identifier + + +explicit_anonymous_function_signature - - -block + + +type - - -int + + +type - - -fixed_parameter + + +> - - -f2 + + +< - - -} + + +) - - -( + + +fixed_parameter - - -method_declaration + + +type_argument_list - - + + , - - -type + + +identifier - - -Recursive + + +identifier + + + +; - - -statement + + +return - - -identifier + + +Test - - -6 + + +unary_expression - - -a + + +type_argument - - -bool + + +assignment - - -lambda_expression + + +anonymous_function_signature - - -statement + + +local_variable_initializer - - + + identifier - - -1 + + +identifier - - -expression + + +return_type - - -namespace_or_type_name + + +identifier - - -statement + + +method_header - - -type_parameter + + +statement_expression - - -class_member_declaration + + +expression_statement - - -member_access + + +explicit_anonymous_function_signature - - + + +anonymous_function_body + + + ) - - -a + + +expression - - -return + + +; - - -{ + + +assignment - - -type_arguments + + +variable_initializer - - -class_member_declaration + + +primary_expression - - -i + + +anonymous_function_signature - - -e + + +namespace_or_type_name - - + + +explicit_anonymous_function_parameter + + + method_body - - -type + + +unary_expression + + + +statement_list + + + +, + + + +f2 identifier - - -assignment_operator - - - -identifier + + +Recursive - - -identifier + + +namespace_or_type_name - - -block + + += - - -unary_expression + + +5 - - -anonymous_function_signature + + +identifier - - -=> + + +explicitly_typed_local_variable_declaration - - -local_variable_declaration + + +method_body - - -literal + + +statement - - -explicit_anonymous_function_signature + + +> await_expression - - -( - - - -type - - - -assignment_operator - - - -void - - - -; - - - -explicitly_typed_local_variable_declarator - - - + + = - - -anonymous_function_signature - - - -R - - - -= + + +literal \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt index 5ef95c1de..c60ca56bf 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt @@ -38,7 +38,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ decorated_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T @@ -71,7 +71,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ decorated_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt index b628599c8..db3ac9f40 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier Comments) . (identifier XmlComments) . (identifier UndocumentedKeywords)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier C) (type_parameter_list < (type_parameters (identifier T)) >) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier M)) (type_parameter_list < (type_parameters (identifier U)) >) ( (parameter_list (fixed_parameters (fixed_parameter (type (identifier T)) (identifier t)) , (fixed_parameter (type (identifier U)) (identifier u)))) )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier intValue) = (local_variable_initializer (literal 0)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier intValue)) (assignment_operator =) (expression (additive_expression (additive_expression (identifier intValue)) + (multiplicative_expression (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier strValue) = (local_variable_initializer (literal "hello")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier MyClass)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier c) = (local_variable_initializer (object_creation_expression new (type (identifier MyClass)) ( ))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier verbatimStr) = (local_variable_initializer (literal @"\\\\")))))) ;))) })))) }))) (namespace_member_declaration (class_declaration class (identifier TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX) (class_body { }))) (namespace_member_declaration (class_declaration class (identifier TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22) (class_body { }))) })))) +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier Comments) . (identifier XmlComments) . (identifier UndocumentedKeywords)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier C) (type_parameter_list < (decorated_type_parameter (identifier T)) >) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier M)) (type_parameter_list < (decorated_type_parameter (identifier U)) >) ( (parameter_list (fixed_parameters (fixed_parameter (type (identifier T)) (identifier t)) , (fixed_parameter (type (identifier U)) (identifier u)))) )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier intValue) = (local_variable_initializer (literal 0)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier intValue)) (assignment_operator =) (expression (additive_expression (additive_expression (identifier intValue)) + (multiplicative_expression (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier strValue) = (local_variable_initializer (literal "hello")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier MyClass)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier c) = (local_variable_initializer (object_creation_expression new (type (identifier MyClass)) ( ))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier verbatimStr) = (local_variable_initializer (literal @"\\\\")))))) ;))) })))) }))) (namespace_member_declaration (class_declaration class (identifier TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX) (class_body { }))) (namespace_member_declaration (class_declaration class (identifier TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22) (class_body { }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.svg index a6f7a9d45..1ed559834 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.svg @@ -1,855 +1,855 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -} - - - -type_parameter_list - - - -explicitly_typed_local_variable_declarator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +U - - + + local_variable_initializer - - + + identifier - - -declaration_statement + + +string - - -class_declaration + + +namespace - - -class_type + + +explicitly_typed_local_variable_declarator - - -identifier + + +; - - -literal + + +statement_expression - - -local_variable_declaration + + +expression_statement - - -C + + +literal - - -local_variable_initializer + + +class - - -explicitly_typed_local_variable_declarators + + +identifier - - -intValue + + +statement - - -object_creation_expression + + +; - - -explicitly_typed_local_variable_declaration + + +literal - - -declaration_statement + + ++ - - -namespace_member_declaration + + +new - - -statement + + += - - -identifier + + +compilation_unit - - -; + + +type_parameter_list - - -expression + + +parameter_list - - -identifier + + += - - -declaration_statement + + +class_declaration - - -explicitly_typed_local_variable_declarators + + +TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - - -, + + +int - - -t + + +{ - - -> + + +identifier - - -intValue + + +U - - + + identifier - - -string + + +qualified_identifier - - -1 + + +statement_list - - -) + + +method_header - - -type + + +class_member_declaration - - -namespace_declaration + + +type - - -explicitly_typed_local_variable_declarator + + +intValue - - -type_parameter_list + + +class_body - - -identifier + + +MyClass - - -fixed_parameter + + +T - - -identifier + + +class_declaration - - -unary_expression + + +method_declaration - - -method_header + + +decorated_type_parameter - - + + return_type - - + + +Comments + + + namespace_member_declaration - - -class_body + + +explicitly_typed_local_variable_declaration - - -class + + +. - - -local_variable_declaration + + +explicitly_typed_local_variable_declaration - - -class + + +local_variable_declaration - - -. + + +identifier - - -literal + + +) - - + + identifier - - + + +declaration_statement + + + identifier - - -TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22 + + +class_type - - -0 + + +} - - -U + + +class_declaration - - -verbatimStr + + +additive_expression - - -compilation_unit + + +namespace_declaration - - -) + + +local_variable_initializer - - -T + + +declaration_statement - - -statement + + +identifier - - -type + + +explicitly_typed_local_variable_declarator - - -MyClass + + +statement - - -; + + +explicitly_typed_local_variable_declarator - - -U + + +integral_type + + + +} - - + + class - - -class_body + + +identifier - - -explicitly_typed_local_variable_declarator + + +namespace_member_declaration - - -declaration_statement + + +local_variable_declaration - - -statement + + +literal - - -type + + +verbatimStr - - -identifier + + +fixed_parameters - - -intValue + + +{ - - -. + + +block - - -fixed_parameters + + +statement - - -UndocumentedKeywords + + +"hello" - - -fixed_parameter + + +} - - -new + + +intValue - - -u + + +multiplicative_expression - - -< + + +class_type - - -explicitly_typed_local_variable_declaration + + +type - - -@"\\\\" + + +strValue - - + + identifier - - -explicitly_typed_local_variable_declarators + + +assignment_operator - - -identifier + + +explicitly_typed_local_variable_declarators - - -integral_type + + +explicitly_typed_local_variable_declaration - - + + = - - -M + + +< - - -} + + +1 - - -type_parameters + + +prog - - -= + + +u - - -; + + +namespace_member_declaration - - -= + + +local_variable_initializer - - -type + + +additive_expression - - -member_name + + +class_body - - -{ + + +. - - -additive_expression + + +< - - -identifier + + +@"\\\\" - - -Comments + + +T - - -local_variable_initializer + + +intValue - - + + identifier - - -explicitly_typed_local_variable_declaration - - - -method_declaration + + +( - - + + type - - -TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - - - + + identifier - - -( - - - -type + + +member_name - - -assignment_operator + + +local_variable_declaration - - -+ + + +> - - -namespace + + +0 - - -statement + + +> - - -type_parameters + + +identifier - - -qualified_identifier + + +assignment - - -local_variable_declaration + + +, - - -class_declaration + + +identifier - - + + string - - -statement_list + + +identifier - - -class_member_declaration + + +type - - -literal + + +c - - -identifier + + +explicitly_typed_local_variable_declarator - - + + identifier - - -< + + +declaration_statement - - -; + + +explicitly_typed_local_variable_declarators - - -additive_expression + + +{ - - -( + + +class_body - - + + identifier - - -explicitly_typed_local_variable_declarators + + += - - -multiplicative_expression + + +type - - -XmlComments + + +statement - - -method_body + + +; - - -explicitly_typed_local_variable_declaration + + +namespace_body - - -} + + +expression - - -= + + +MyClass - - -block + + +{ + + + +fixed_parameter - - + + void - - -statement + + +( - - + + +unary_expression + + + identifier - - + + method_modifiers - - -{ + + +type_parameter_list - - -class_declaration + + +local_variable_declaration - - -prog + + +local_variable_initializer - - -statement_expression + + +M - - -literal + + +; - - -MyClass + + +identifier + + + +} - - + + ; - - -strValue + + +) - - -} + + +t - - -namespace_body + + +type - - -c + + +decorated_type_parameter - - -{ + + +declaration_statement - - -class_type + + +explicitly_typed_local_variable_declarators - - + + identifier - - -class_body - - - -{ + + +XmlComments - - -type + + +C - - -local_variable_declaration + + +literal - - -identifier + + +TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22 - - -T + + +} - - + + = - - -parameter_list + + +identifier - - -> + + +class - - -explicitly_typed_local_variable_declarator + + +statement - - -assignment + + +explicitly_typed_local_variable_declaration - - -namespace_member_declaration + + +explicitly_typed_local_variable_declarators - - -int + + +UndocumentedKeywords - - -{ + + +type - - -local_variable_initializer + + +{ - - -"hello" + + +method_body - - -} + + +fixed_parameter - - -expression_statement + + +object_creation_expression \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.gruntree.red.txt index 3e12b69eb..7765f37f5 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.gruntree.red.txt @@ -657,7 +657,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ decorated_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T @@ -3841,7 +3841,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ decorated_type_parameter ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.red.txt index 27473dc76..8ea666ca8 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_member_declaration (class_declaration class (identifier CSharp70) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier PatternMatching)) ( (parameter_list (fixed_parameters (fixed_parameter (type (class_type string)) (identifier arg)) , (fixed_parameter (type (integral_type int)) (identifier b)))) )) (method_body (block { (statement_list (statement (switch_statement switch ( (expression (identifier arg)) ) (switch_block { (switch_section (switch_label case (pattern (literal "A")) (case_guard when (expression (relational_expression (relational_expression (identifier b)) > (shift_expression (literal 50))))) :) (switch_label case (pattern (literal "B")) (case_guard when (expression (relational_expression (relational_expression (identifier b)) < (shift_expression (literal 50))))) :) (switch_label default :) (statement_list (break_statement break ;))) }))) (statement (expression_statement (statement_expression (assignment (unary_expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) (identifier D))) , (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier E) (type_argument_list < (type_arguments (type_argument (identifier F)) , (type_argument (identifier G))) >))) (identifier H))) ))) (assignment_operator =) (expression (identifier e)))) ;)) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (null_conditional_member_access (primary_expression (null_conditional_member_access (primary_expression (identifier x)) ? . (identifier y))) ? . (identifier z))) is (pattern (declaration_pattern (type (identifier Type)) (simple_designation (identifier value2)))))) ) (embedded_statement (block { })))) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier expr)) is (pattern (declaration_pattern (type (identifier Type)) (simple_designation (identifier v)))))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (invocation_expression (primary_expression (identifier Hello)) ( ))) ;)) }))))) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier static)) (method_modifier async)) (return_type (identifier Task)) (method_header (member_name (identifier LocalFunctions)) ( (parameter_list (fixed_parameter (type (array_type (non_array_type (class_type string)) (rank_specifier [ ]))) (identifier args))) )) (method_body (block { (statement_list (statement (local_function_declaration (return_type (class_type string)) (local_function_header (identifier Hello2) ( (parameter_list (fixed_parameter (type (integral_type int)) (identifier i))) )) (local_function_body (block { (statement_list (return_statement return (expression (element_access (primary_no_array_creation_expression (identifier args)) [ (argument_list (identifier i)) ])) ;)) })))) (statement (local_function_declaration (local_function_modifier async) (return_type (namespace_or_type_name (identifier Task) (type_argument_list < (type_arguments (class_type string)) >))) (local_function_header (identifier Hello) (type_parameter_list < (type_parameters (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier i))) )) (local_function_body => (expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Task)) . (identifier FromResult))) ( (argument_list (element_access (primary_no_array_creation_expression (identifier args)) [ (argument_list (identifier i)) ])) ))))) ;))) (statement (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (identifier Hello)) ( (argument_list (literal 1)) ))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier static))) (return_type void) (method_header (member_name (identifier OutVar)) ( (parameter_list (fixed_parameter (type (array_type (non_array_type (class_type string)) (rank_specifier [ ]))) (identifier args))) )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (predefined_type int) . (identifier TryParse))) ( (argument_list (argument (invocation_expression (primary_expression (identifier Hello)) ( (argument_list (literal 1)) ))) , (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (contextual_keyword var)) (identifier item)))))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (predefined_type int) . (identifier TryParse))) ( (argument_list (argument (invocation_expression (primary_expression (identifier Hello)) ( (argument_list (literal 1)) ))) , (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (integral_type int)) (identifier item)))))) ))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ThrowExpression)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier result) = (expression (null_coalescing_expression (conditional_or_expression (identifier nullableResult)) ?? (null_coalescing_expression (throw_expression throw (null_coalescing_expression (object_creation_expression new (type (identifier NullReferenceException)) ( )))))))))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier BinaryLiterals)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier nineteen) = (local_variable_initializer (literal 0b10011)))))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier DigitSeparators)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier bin) = (local_variable_initializer (literal 0b1001_1010_0001_0100)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier hex) = (local_variable_initializer (literal 0x1b_a0_44_fe)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier dec) = (local_variable_initializer (literal 33_554_432)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier weird) = (local_variable_initializer (literal 1_2__3___4____5_____6______7_______8________9)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type double)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier real) = (local_variable_initializer (literal 1_000.111_1e-1_000)))))) ;))) })))) }))) (namespace_member_declaration (class_declaration class (identifier CSharp71) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier DefaultWithoutTypeName)) ( (parameter_list (fixed_parameter (type (class_type string)) (identifier content) (default_argument = (expression (default_literal default))))) )) (method_body (block { (statement_list (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DefaultWithoutTypeName)) ( (argument_list (default_literal default)) ))) ;)) })))) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier TupleRecognize)) ( (parameter_list (fixed_parameters (fixed_parameter (type (integral_type int)) (identifier a)) , (fixed_parameter (type (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) ))) (identifier b)) , (fixed_parameter (type (nullable_value_type (non_nullable_value_type (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) ))) (nullable_type_annotation ?))) (identifier c)))) )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier result) = (expression (invocation_expression (primary_expression (member_access (primary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier list)) . (identifier Select))) ( (argument_list (lambda_expression (anonymous_function_signature (identifier c)) => (anonymous_function_body (tuple_expression ( (tuple_element (member_access (primary_expression (identifier c)) . (identifier f1))) , (tuple_element (identifier f3) : (expression (member_access (primary_expression (identifier c)) . (identifier f2)))) ))))) ))) . (identifier Where))) ( (argument_list (lambda_expression (anonymous_function_signature (identifier t)) => (anonymous_function_body (equality_expression (equality_expression (member_access (primary_expression (identifier t)) . (identifier f2))) == (relational_expression (literal 1)))))) )))))) ;)) })))) }))) (namespace_member_declaration (class_declaration class (identifier CSharp72) (class_body { (class_member_declaration (struct_declaration (struct_modifier readonly) struct (identifier ReadonlyRef1) (struct_body { (struct_member_declaration (field_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (integral_type int))) >))) (variable_declarators (variable_declarator (identifier s) = (variable_initializer (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (anonymous_function_parameter_modifier in) (type (integral_type int)) (identifier x))) ))) => (anonymous_function_body (identifier x)))))) ;)) (struct_member_declaration (indexer_declaration (ref_kind ref) (indexer_declarator (type (identifier TValue)) this [ (parameter_list (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier TKey)) (identifier index))) ]) (ref_indexer_body => ref (variable_reference (null_literal null)) ;))) (struct_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (binary_operator_declarator (type (identifier Vector3)) operator (overloadable_binary_operator +) ( (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier x)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier y)) ))) (operator_body => (expression (null_literal null)) ;))) (struct_member_declaration (method_declaration (ref_method_modifiers (ref_method_modifier static)) (ref_kind ref readonly) (ref_return_type (identifier Vector3)) (method_header (member_name (identifier M1_Trace)) ( )) (ref_method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration (ref_kind ref readonly) var (ref_local_variable_declarator (identifier r1) = ref (variable_reference (invocation_expression (primary_expression (identifier M1)) ( )))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_ref_local_variable_declaration (ref_kind ref readonly) (type (identifier Vector3)) (ref_local_variable_declarators (ref_local_variable_declarator (identifier r2) = ref (variable_reference (explictly_typed_default default ( (type (identifier Vector3)) ))))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier Mutate)) ( (argument_list (argument_value ref (variable_reference (identifier r1)))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier Print)) ( (argument_list (argument_value in (variable_reference (identifier r1)))) ))) ;)) (statement (return_statement return ref (variable_reference (identifier r1)) ;))) })))) }))) (class_member_declaration (struct_declaration ref struct (identifier ReadonlyRef2) (struct_body { (struct_member_declaration (method_declaration ref_method_modifiers (ref_kind ref readonly) (ref_return_type (identifier Guid)) (method_header (member_name (identifier Test)) ( (parameter_list (fixed_parameters (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier v1)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier v2)))) )) (ref_method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier v1)) (assignment_operator =) (expression (explictly_typed_default default ( (type (identifier Vector3)) ))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (member_access (primary_expression (identifier v1)) . (identifier X))) (assignment_operator =) (expression (literal 0)))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier foo)) ( (argument_list (argument_value ref (variable_reference (member_access (primary_expression (identifier v1)) . (identifier X))))) ))) ;)) (statement (return_statement return ref (variable_reference (parenthesized_expression ( (expression (conditional_expression (null_coalescing_expression (equality_expression (equality_expression (identifier arr)) != (relational_expression (null_literal null)))) ? ref (variable_reference (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) : ref (variable_reference (element_access (primary_no_array_creation_expression (identifier otherArr)) [ (argument_list (literal 0)) ])))) ))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier span) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 1)) ])))))) ;)) (statement (return_statement return (expression (object_creation_expression new (type (identifier Vector3)) ( (argument_list (argument (additive_expression (additive_expression (member_access (primary_expression (identifier v1)) . (identifier X))) + (multiplicative_expression (member_access (primary_expression (identifier v2)) . (identifier X))))) , (argument (additive_expression (additive_expression (member_access (primary_expression (identifier v1)) . (identifier Y))) + (multiplicative_expression (member_access (primary_expression (identifier v2)) . (identifier Y))))) , (argument (additive_expression (additive_expression (member_access (primary_expression (identifier v1)) . (identifier Z))) + (multiplicative_expression (member_access (primary_expression (identifier v2)) . (identifier Z)))))) ))) ;))) })))) (struct_member_declaration (method_declaration ref_method_modifiers (ref_kind ref) (ref_return_type (identifier T)) (method_header (member_name (identifier Choice)) ( (parameter_list (fixed_parameters (fixed_parameter (type (simple_type bool)) (identifier condition)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (identifier T)) (identifier consequence)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (identifier T)) (identifier alternative)))) )) (ref_method_body (block { (statement_list (if_statement if ( (boolean_expression (identifier condition)) ) (embedded_statement (block { (statement_list (return_statement return ref (variable_reference (identifier consequence)) ;)) })) else (embedded_statement (block { (statement_list (return_statement return ref (variable_reference (identifier alternative)) ;)) })))) })))) }))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier DoSomething)) ( (parameter_list (fixed_parameters (fixed_parameter (type (simple_type bool)) (identifier isEmployed)) , (fixed_parameter (type (class_type string)) (identifier personName)) , (fixed_parameter (type (integral_type int)) (identifier personAge)))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier NonTrailingNamedArguments)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (argument_name (identifier isEmployed) :) (argument_value (boolean_literal true))) , (argument (identifier name)) , (argument (identifier age))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (boolean_literal true)) , (argument (argument_name (identifier personName) :) (argument_value (identifier name))) , (argument (identifier age))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (identifier name)) , (argument (argument_name (identifier isEmployed) :) (argument_value (boolean_literal true))) , (argument (identifier age))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (identifier name)) , (argument (identifier age)) , (argument (argument_name (identifier isEmployed) :) (argument_value (boolean_literal true)))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (boolean_literal true)) , (argument (argument_name (identifier personAge) :) (argument_value (identifier age))) , (argument (argument_name (identifier personName) :) (argument_value (identifier name)))) ))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ConditionalRef)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration (ref_kind ref) var (ref_local_variable_declarator (identifier r) = ref (variable_reference (parenthesized_expression ( (expression (conditional_expression (null_coalescing_expression (equality_expression (equality_expression (identifier arr)) != (relational_expression (null_literal null)))) ? ref (variable_reference (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) : ref (variable_reference (element_access (primary_no_array_creation_expression (identifier otherArr)) [ (argument_list (literal 0)) ])))) )))))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier LeadingSeparator)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier res) = (expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (literal 0)) + (multiplicative_expression (literal 123))) + (multiplicative_expression (literal 1_2_3))) + (multiplicative_expression (literal 0x1_2_3))) + (multiplicative_expression (literal 0b101))) + (multiplicative_expression (literal 0b1_0_1))) + (multiplicative_expression (literal 0x_1_2))) + (multiplicative_expression (literal 0b_1_0_1))))))) ;)) })))) }))) (namespace_member_declaration (class_declaration class (identifier CSharp73) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Blittable)) (type_parameter_list < (type_parameters (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier (contextual_keyword value)))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (contextual_keyword unmanaged)))) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword unmanaged)) = (expression (literal 666))))) ;)) })))) (class_member_declaration (struct_declaration (struct_modifier (unsafe_modifier unsafe)) struct (identifier IndexingMovableFixed) (struct_body { (struct_member_declaration (fixed_size_buffer_declaration (fixed_size_buffer_modifier public) fixed (buffer_element_type (integral_type int)) (fixed_size_buffer_declarators (fixed_size_buffer_declarator (identifier myFixedField) [ (constant_expression (literal 10)) ])) ;)) }))) (class_member_declaration (field_declaration (field_modifier static) (type (identifier IndexingMovableFixed)) (variable_declarators (identifier s)) ;)) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (unsafe_modifier unsafe))) (return_type void) (method_header (member_name (identifier IndexingMovableFixedFields)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (pointer_type (value_type (integral_type int)) *)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier ptr) = (local_variable_initializer (member_access (primary_expression (identifier s)) . (identifier myFixedField))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier t) = (local_variable_initializer (element_access (primary_no_array_creation_expression (member_access (primary_expression (identifier s)) . (identifier myFixedField))) [ (argument_list (literal 5)) ])))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier PatternBasedFixed)) ( )) (method_body (block { (statement_list (fixed_statement fixed ( (pointer_type (value_type (integral_type byte)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier ptr) = (fixed_pointer_initializer (identifier byteArray)))) ) (embedded_statement (block { })))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier StackallocArrayInitializer)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 3)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (constant_expression (literal 3)) ] (stackalloc_initializer { (stackalloc_initializer_element_list (stackalloc_element_initializer (literal 1)) , (stackalloc_element_initializer (literal 2)) , (stackalloc_element_initializer (literal 3))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ ] (stackalloc_initializer { (stackalloc_initializer_element_list (stackalloc_element_initializer (literal 1)) , (stackalloc_element_initializer (literal 2)) , (stackalloc_element_initializer (literal 3))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc [ ] (stackalloc_initializer { (stackalloc_initializer_element_list (stackalloc_element_initializer (literal 1)) , (stackalloc_element_initializer (literal 2)) , (stackalloc_element_initializer (literal 3))) }))))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier TupleEquality)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) ))) ))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier t1)) , (explicitly_typed_local_variable_declarator (identifier t2))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier res) = (expression (equality_expression (equality_expression (identifier t1)) == (relational_expression (tuple_expression ( (tuple_element (literal 1)) , (tuple_element (tuple_expression ( (tuple_element (literal 2)) , (tuple_element (literal 3)) ))) )))))))) ;))) })))) }))))) +(prog (compilation_unit (namespace_member_declaration (class_declaration class (identifier CSharp70) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier PatternMatching)) ( (parameter_list (fixed_parameters (fixed_parameter (type (class_type string)) (identifier arg)) , (fixed_parameter (type (integral_type int)) (identifier b)))) )) (method_body (block { (statement_list (statement (switch_statement switch ( (expression (identifier arg)) ) (switch_block { (switch_section (switch_label case (pattern (literal "A")) (case_guard when (expression (relational_expression (relational_expression (identifier b)) > (shift_expression (literal 50))))) :) (switch_label case (pattern (literal "B")) (case_guard when (expression (relational_expression (relational_expression (identifier b)) < (shift_expression (literal 50))))) :) (switch_label default :) (statement_list (break_statement break ;))) }))) (statement (expression_statement (statement_expression (assignment (unary_expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) (identifier D))) , (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier E) (type_argument_list < (type_arguments (type_argument (identifier F)) , (type_argument (identifier G))) >))) (identifier H))) ))) (assignment_operator =) (expression (identifier e)))) ;)) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (null_conditional_member_access (primary_expression (null_conditional_member_access (primary_expression (identifier x)) ? . (identifier y))) ? . (identifier z))) is (pattern (declaration_pattern (type (identifier Type)) (simple_designation (identifier value2)))))) ) (embedded_statement (block { })))) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier expr)) is (pattern (declaration_pattern (type (identifier Type)) (simple_designation (identifier v)))))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (invocation_expression (primary_expression (identifier Hello)) ( ))) ;)) }))))) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier static)) (method_modifier async)) (return_type (identifier Task)) (method_header (member_name (identifier LocalFunctions)) ( (parameter_list (fixed_parameter (type (array_type (non_array_type (class_type string)) (rank_specifier [ ]))) (identifier args))) )) (method_body (block { (statement_list (statement (local_function_declaration (return_type (class_type string)) (local_function_header (identifier Hello2) ( (parameter_list (fixed_parameter (type (integral_type int)) (identifier i))) )) (local_function_body (block { (statement_list (return_statement return (expression (element_access (primary_no_array_creation_expression (identifier args)) [ (argument_list (identifier i)) ])) ;)) })))) (statement (local_function_declaration (local_function_modifier async) (return_type (namespace_or_type_name (identifier Task) (type_argument_list < (type_arguments (class_type string)) >))) (local_function_header (identifier Hello) (type_parameter_list < (decorated_type_parameter (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier i))) )) (local_function_body => (expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Task)) . (identifier FromResult))) ( (argument_list (element_access (primary_no_array_creation_expression (identifier args)) [ (argument_list (identifier i)) ])) ))))) ;))) (statement (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (identifier Hello)) ( (argument_list (literal 1)) ))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier static))) (return_type void) (method_header (member_name (identifier OutVar)) ( (parameter_list (fixed_parameter (type (array_type (non_array_type (class_type string)) (rank_specifier [ ]))) (identifier args))) )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (predefined_type int) . (identifier TryParse))) ( (argument_list (argument (invocation_expression (primary_expression (identifier Hello)) ( (argument_list (literal 1)) ))) , (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (contextual_keyword var)) (identifier item)))))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (predefined_type int) . (identifier TryParse))) ( (argument_list (argument (invocation_expression (primary_expression (identifier Hello)) ( (argument_list (literal 1)) ))) , (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (integral_type int)) (identifier item)))))) ))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ThrowExpression)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier result) = (expression (null_coalescing_expression (conditional_or_expression (identifier nullableResult)) ?? (null_coalescing_expression (throw_expression throw (null_coalescing_expression (object_creation_expression new (type (identifier NullReferenceException)) ( )))))))))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier BinaryLiterals)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier nineteen) = (local_variable_initializer (literal 0b10011)))))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier DigitSeparators)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier bin) = (local_variable_initializer (literal 0b1001_1010_0001_0100)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier hex) = (local_variable_initializer (literal 0x1b_a0_44_fe)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier dec) = (local_variable_initializer (literal 33_554_432)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier weird) = (local_variable_initializer (literal 1_2__3___4____5_____6______7_______8________9)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type double)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier real) = (local_variable_initializer (literal 1_000.111_1e-1_000)))))) ;))) })))) }))) (namespace_member_declaration (class_declaration class (identifier CSharp71) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier DefaultWithoutTypeName)) ( (parameter_list (fixed_parameter (type (class_type string)) (identifier content) (default_argument = (expression (default_literal default))))) )) (method_body (block { (statement_list (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DefaultWithoutTypeName)) ( (argument_list (default_literal default)) ))) ;)) })))) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier TupleRecognize)) ( (parameter_list (fixed_parameters (fixed_parameter (type (integral_type int)) (identifier a)) , (fixed_parameter (type (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) ))) (identifier b)) , (fixed_parameter (type (nullable_value_type (non_nullable_value_type (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) ))) (nullable_type_annotation ?))) (identifier c)))) )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier result) = (expression (invocation_expression (primary_expression (member_access (primary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier list)) . (identifier Select))) ( (argument_list (lambda_expression (anonymous_function_signature (identifier c)) => (anonymous_function_body (tuple_expression ( (tuple_element (member_access (primary_expression (identifier c)) . (identifier f1))) , (tuple_element (identifier f3) : (expression (member_access (primary_expression (identifier c)) . (identifier f2)))) ))))) ))) . (identifier Where))) ( (argument_list (lambda_expression (anonymous_function_signature (identifier t)) => (anonymous_function_body (equality_expression (equality_expression (member_access (primary_expression (identifier t)) . (identifier f2))) == (relational_expression (literal 1)))))) )))))) ;)) })))) }))) (namespace_member_declaration (class_declaration class (identifier CSharp72) (class_body { (class_member_declaration (struct_declaration (struct_modifier readonly) struct (identifier ReadonlyRef1) (struct_body { (struct_member_declaration (field_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (integral_type int))) >))) (variable_declarators (variable_declarator (identifier s) = (variable_initializer (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (anonymous_function_parameter_modifier in) (type (integral_type int)) (identifier x))) ))) => (anonymous_function_body (identifier x)))))) ;)) (struct_member_declaration (indexer_declaration (ref_kind ref) (indexer_declarator (type (identifier TValue)) this [ (parameter_list (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier TKey)) (identifier index))) ]) (ref_indexer_body => ref (variable_reference (null_literal null)) ;))) (struct_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (binary_operator_declarator (type (identifier Vector3)) operator (overloadable_binary_operator +) ( (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier x)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier y)) ))) (operator_body => (expression (null_literal null)) ;))) (struct_member_declaration (method_declaration (ref_method_modifiers (ref_method_modifier static)) (ref_kind ref readonly) (ref_return_type (identifier Vector3)) (method_header (member_name (identifier M1_Trace)) ( )) (ref_method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration (ref_kind ref readonly) var (ref_local_variable_declarator (identifier r1) = ref (variable_reference (invocation_expression (primary_expression (identifier M1)) ( )))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_ref_local_variable_declaration (ref_kind ref readonly) (type (identifier Vector3)) (ref_local_variable_declarators (ref_local_variable_declarator (identifier r2) = ref (variable_reference (explictly_typed_default default ( (type (identifier Vector3)) ))))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier Mutate)) ( (argument_list (argument_value ref (variable_reference (identifier r1)))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier Print)) ( (argument_list (argument_value in (variable_reference (identifier r1)))) ))) ;)) (statement (return_statement return ref (variable_reference (identifier r1)) ;))) })))) }))) (class_member_declaration (struct_declaration ref struct (identifier ReadonlyRef2) (struct_body { (struct_member_declaration (method_declaration ref_method_modifiers (ref_kind ref readonly) (ref_return_type (identifier Guid)) (method_header (member_name (identifier Test)) ( (parameter_list (fixed_parameters (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier v1)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier v2)))) )) (ref_method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier v1)) (assignment_operator =) (expression (explictly_typed_default default ( (type (identifier Vector3)) ))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (member_access (primary_expression (identifier v1)) . (identifier X))) (assignment_operator =) (expression (literal 0)))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier foo)) ( (argument_list (argument_value ref (variable_reference (member_access (primary_expression (identifier v1)) . (identifier X))))) ))) ;)) (statement (return_statement return ref (variable_reference (parenthesized_expression ( (expression (conditional_expression (null_coalescing_expression (equality_expression (equality_expression (identifier arr)) != (relational_expression (null_literal null)))) ? ref (variable_reference (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) : ref (variable_reference (element_access (primary_no_array_creation_expression (identifier otherArr)) [ (argument_list (literal 0)) ])))) ))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier span) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 1)) ])))))) ;)) (statement (return_statement return (expression (object_creation_expression new (type (identifier Vector3)) ( (argument_list (argument (additive_expression (additive_expression (member_access (primary_expression (identifier v1)) . (identifier X))) + (multiplicative_expression (member_access (primary_expression (identifier v2)) . (identifier X))))) , (argument (additive_expression (additive_expression (member_access (primary_expression (identifier v1)) . (identifier Y))) + (multiplicative_expression (member_access (primary_expression (identifier v2)) . (identifier Y))))) , (argument (additive_expression (additive_expression (member_access (primary_expression (identifier v1)) . (identifier Z))) + (multiplicative_expression (member_access (primary_expression (identifier v2)) . (identifier Z)))))) ))) ;))) })))) (struct_member_declaration (method_declaration ref_method_modifiers (ref_kind ref) (ref_return_type (identifier T)) (method_header (member_name (identifier Choice)) ( (parameter_list (fixed_parameters (fixed_parameter (type (simple_type bool)) (identifier condition)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (identifier T)) (identifier consequence)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (identifier T)) (identifier alternative)))) )) (ref_method_body (block { (statement_list (if_statement if ( (boolean_expression (identifier condition)) ) (embedded_statement (block { (statement_list (return_statement return ref (variable_reference (identifier consequence)) ;)) })) else (embedded_statement (block { (statement_list (return_statement return ref (variable_reference (identifier alternative)) ;)) })))) })))) }))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier DoSomething)) ( (parameter_list (fixed_parameters (fixed_parameter (type (simple_type bool)) (identifier isEmployed)) , (fixed_parameter (type (class_type string)) (identifier personName)) , (fixed_parameter (type (integral_type int)) (identifier personAge)))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier NonTrailingNamedArguments)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (argument_name (identifier isEmployed) :) (argument_value (boolean_literal true))) , (argument (identifier name)) , (argument (identifier age))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (boolean_literal true)) , (argument (argument_name (identifier personName) :) (argument_value (identifier name))) , (argument (identifier age))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (identifier name)) , (argument (argument_name (identifier isEmployed) :) (argument_value (boolean_literal true))) , (argument (identifier age))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (identifier name)) , (argument (identifier age)) , (argument (argument_name (identifier isEmployed) :) (argument_value (boolean_literal true)))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (boolean_literal true)) , (argument (argument_name (identifier personAge) :) (argument_value (identifier age))) , (argument (argument_name (identifier personName) :) (argument_value (identifier name)))) ))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ConditionalRef)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration (ref_kind ref) var (ref_local_variable_declarator (identifier r) = ref (variable_reference (parenthesized_expression ( (expression (conditional_expression (null_coalescing_expression (equality_expression (equality_expression (identifier arr)) != (relational_expression (null_literal null)))) ? ref (variable_reference (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) : ref (variable_reference (element_access (primary_no_array_creation_expression (identifier otherArr)) [ (argument_list (literal 0)) ])))) )))))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier LeadingSeparator)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier res) = (expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (literal 0)) + (multiplicative_expression (literal 123))) + (multiplicative_expression (literal 1_2_3))) + (multiplicative_expression (literal 0x1_2_3))) + (multiplicative_expression (literal 0b101))) + (multiplicative_expression (literal 0b1_0_1))) + (multiplicative_expression (literal 0x_1_2))) + (multiplicative_expression (literal 0b_1_0_1))))))) ;)) })))) }))) (namespace_member_declaration (class_declaration class (identifier CSharp73) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Blittable)) (type_parameter_list < (decorated_type_parameter (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier (contextual_keyword value)))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (contextual_keyword unmanaged)))) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword unmanaged)) = (expression (literal 666))))) ;)) })))) (class_member_declaration (struct_declaration (struct_modifier (unsafe_modifier unsafe)) struct (identifier IndexingMovableFixed) (struct_body { (struct_member_declaration (fixed_size_buffer_declaration (fixed_size_buffer_modifier public) fixed (buffer_element_type (integral_type int)) (fixed_size_buffer_declarators (fixed_size_buffer_declarator (identifier myFixedField) [ (constant_expression (literal 10)) ])) ;)) }))) (class_member_declaration (field_declaration (field_modifier static) (type (identifier IndexingMovableFixed)) (variable_declarators (identifier s)) ;)) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (unsafe_modifier unsafe))) (return_type void) (method_header (member_name (identifier IndexingMovableFixedFields)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (pointer_type (value_type (integral_type int)) *)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier ptr) = (local_variable_initializer (member_access (primary_expression (identifier s)) . (identifier myFixedField))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier t) = (local_variable_initializer (element_access (primary_no_array_creation_expression (member_access (primary_expression (identifier s)) . (identifier myFixedField))) [ (argument_list (literal 5)) ])))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier PatternBasedFixed)) ( )) (method_body (block { (statement_list (fixed_statement fixed ( (pointer_type (value_type (integral_type byte)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier ptr) = (fixed_pointer_initializer (identifier byteArray)))) ) (embedded_statement (block { })))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier StackallocArrayInitializer)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 3)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (constant_expression (literal 3)) ] (stackalloc_initializer { (stackalloc_initializer_element_list (stackalloc_element_initializer (literal 1)) , (stackalloc_element_initializer (literal 2)) , (stackalloc_element_initializer (literal 3))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ ] (stackalloc_initializer { (stackalloc_initializer_element_list (stackalloc_element_initializer (literal 1)) , (stackalloc_element_initializer (literal 2)) , (stackalloc_element_initializer (literal 3))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc [ ] (stackalloc_initializer { (stackalloc_initializer_element_list (stackalloc_element_initializer (literal 1)) , (stackalloc_element_initializer (literal 2)) , (stackalloc_element_initializer (literal 3))) }))))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier TupleEquality)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) ))) ))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier t1)) , (explicitly_typed_local_variable_declarator (identifier t2))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier res) = (expression (equality_expression (equality_expression (identifier t1)) == (relational_expression (tuple_expression ( (tuple_element (literal 1)) , (tuple_element (tuple_expression ( (tuple_element (literal 2)) , (tuple_element (literal 3)) ))) )))))))) ;))) })))) }))))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.svg index af57f8c21..8c6b4a8e6 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.svg @@ -1,12 +1,12 @@ - - - - - + + + + + - - - + + + @@ -211,9 +211,9 @@ - - - + + + @@ -222,10 +222,10 @@ - + - + @@ -243,11 +243,11 @@ - - - - - + + + + + @@ -282,11 +282,11 @@ - - - + + + - + @@ -296,10770 +296,10770 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - -declaration_expression + + + + + + + + + + + +statement_expression - - -identifier + + +local_variable_type - - -throw_expression + + +( - - -method_modifiers + + +argument_list - - -parameter_list + + ++ - - -explicitly_typed_local_variable_declarators + + +identifier - - -1 + + +statement_list - - -stackalloc_element_initializer + + +int - - -readonly + + +case_guard - - -ref_method_modifier + + +ref - - -] + + +r1 - - -namespace_member_declaration + + +block + + + +PatternBasedFixed - - + + +member_access + + + identifier - - -local_variable_declaration + + +local_variable_type - - -class_member_declaration + + +2 - - -type + + +literal - - -pattern + + +case - - -value2 + + +type_argument_list - - -: + + +method_declaration - - -name + + +invocation_expression - - -) + + +( - - -ref + + +} - - -ref + + +, - - -method_declaration + + +: - - -statement + + +value2 - - -method_header + + +) - - -null_literal + + +z - - -( + + +Type - - -method_modifiers + + +fixed_parameter - - -, + + +boolean_literal - - -primary_expression + + +age - - -identifier + + +switch_label - - -block + + +type - - -declaration_statement + + +statement_list - - -DigitSeparators + + +tuple_element - - -ref + + +. - - -additive_expression + + +int - - -stackalloc_element_initializer + + +statement - - -method_header + + +null - - -invocation_expression + + +identifier - - -method_declaration + + +integral_type - - -default_literal + + +Hello2 - - -implicitly_typed_local_variable_declaration + + +X - - -; + + +identifier - - -block + + +primary_expression - - -statement_list + + +ref - - -var + + +? - - -method_modifiers + + +Hello - - -33_554_432 + + +; - - -+ + + +namespace_or_type_name - - -local_variable_initializer + + +pattern - - -simple_designation + + +fixed_size_buffer_declaration - - -variable_initializer + + +null_coalescing_expression - - + + +statement_list + + + primary_expression - - -statement_expression + + +identifier - - -member_name + + +invocation_expression - - -class_member_declaration + + +bin - - -local_variable_initializer + + +type - - -50 + + +type - - -( + + +statement_list - - -0 + + +expression - - -method_header + + +identifier - - + + literal - - -literal + + +unmanaged - - -namespace_member_declaration + + +int - - -public + + +predefined_type - - -) + + +Vector3 - - -parameter_mode_modifier + + +DoSomething - - -; + + +null - - -relational_expression + + +personName - - -element_access + + +stackalloc_expression - - -type_argument_list + + +( - - -parenthesized_expression + + +class_member_declaration - - -type + + +t - - -unsafe + + +D - - -int + + +) - - -ref_return_type + + +a - - -statement_list + + +s - - -multiplicative_expression + + +primary_expression - - -local_variable_initializer + + +ref_local_variable_declarator - - -primary_expression + + +identifier - - -stackalloc_expression + + +s - - -parameter_list + + +> - - -public + + +int + + + +Task - - + + member_access - - -local_variable_type + + +out - - -identifier + + +statement_list - - -argument_name + + +static - - -stackalloc_initializer_element_list + + +, - - + + +pattern + + + identifier - - -primary_expression + + +integral_type method_modifier - - -identifier - - - -3 + + +argument_list - - -identifier + + +argument_value - - -ref + + +block - - -stackalloc_element_initializer - - - -] - - - -{ - - - -expression + + +statement_list - - -null_conditional_member_access + + +, - - -type_argument_list + + +LeadingSeparator - - -{ + + +parameter_modifier - - -identifier + + +explicitly_typed_local_variable_declaration - - -ref + + +type - - -argument_value + + +statement - - -( + + +member_name - - -Vector3 + + +identifier - - -struct_body + + +method_header - - -method_modifiers + + +operator_declaration - - -return_type + + +identifier - - -integral_type + + +method_declaration - - -{ + + +] - - -< + + +type - - + + identifier - - -declaration_statement + + +> - - -local_variable_initializer + + +fixed_statement - - -( + + +struct_body - - -; + + +equality_expression - - -identifier + + +member_access - - -type + + +CSharp70 - - -type + + +y - - -PatternBasedFixed + + +identifier - - -argument_value + + +parameter_list - - -, + + +? - - -return_type + + +local_variable_initializer - - -statement_list + + +? - - + + identifier - - -simple_designation - - - -equality_expression + + +struct_modifier - - -, + + +simple_type - - -byteArray + + +identifier - - -stackalloc_element_initializer + + +declaration_statement - - -assignment_operator + + +declaration_statement - - -CSharp72 + + +explicitly_typed_local_variable_declarators - - -method_modifiers + + +type - - -operator_body + + +identifier - - -statement + + +variable_reference - - -, + + +[ - - + + identifier - - -ref - - - -{ + + +) - - -type_argument_list + + +) - - -local_variable_initializer + + +assignment_operator - - -method_header + + +] - - -10 + + +type - - -public + + +identifier - - -ref + + +invocation_expression - - -method_modifier + + +( - - -ref_method_modifier + + +bool - - -identifier + + +{ - - -primary_expression + + +tuple_type_element - - -method_header + + +statement - - -identifier + + +tuple_type - - -expression + + +ref_method_modifier - - -arr + + +tuple_type_element - - -0x_1_2 + + +contextual_keyword - - -fixed + + +( - - -statement_expression + + +ref - - -{ + + +break - - -] + + +method_body - - -* + + +identifier - - -statement + + +local_variable_declaration - - -new + + +type - - -) + + +integral_type - - -( + + +void - - -expression_statement + + +class_declaration - - -Test + + ++ - - -argument + + +explicitly_typed_local_variable_declarator - - -local_function_header + + +literal - - -invocation_expression + + +int - - -; + + +primary_no_array_creation_expression - - -constant_expression + + +buffer_element_type - - -namespace_or_type_name + + +int - - -identifier + + +args - - -literal + + +integral_type - - + + { - - -? + + +struct_member_declaration - - -literal + + +ref_method_modifiers - - -result + + +c - - + + { - - -null_literal - - - -x + + +void - - -simple_type + + +identifier - - -switch_label + + +multiplicative_expression - - + + identifier - - -identifier + + +int - - -statement_list + + +explicitly_typed_local_variable_declaration - - -ref_method_modifiers + + +identifier - - -tuple_element + + +assignment - - -equality_expression + + +Hello - - -member_name + + +public - - -literal + + +statement - - -type_arguments + + +member_access - - -{ + + +tuple_type_element - - -= + + +primary_expression - - -argument_list + + +{ - - -variable_reference + + +} - - -explicitly_typed_local_variable_declaration + + +parameter_mode_modifier - - -s + + +local_variable_initializer - - -identifier + + +) - - + + ) - - -identifier + + +stackalloc_expression - - -method_modifiers + + +overloadable_binary_operator - - -) + + +explicitly_typed_local_variable_declarator - - -personAge + + +stackalloc_element_initializer - - -member_name + + +void - - -statement + + +int - - -out + + +int - - -type_argument + + +arg - - -default + + +Z - - -statement + + +literal - - -class_member_declaration + + +argument_value - - -equality_expression + + +Span - - -identifier + + +argument_list - - -int + + +member_access - - -v1 + + +: - - -} + + +member_name - - -type + + +, - - -Span + + +element_access - - + + +method_declaration + + + +int + + + primary_expression - - -member_access + + +explicitly_typed_local_variable_declarators - - -throw + + +fixed_size_buffer_modifier - - + + +myFixedField + + + +method_header + + + +literal + + + identifier - - -argument_value + + +stackalloc_initializer_element_list - - -} + + +string - - -primary_expression + + +{ - - -fixed_parameters + + ++ + + + +. - - + + identifier - - -statement_list + + +type_arguments - - -literal + + +method_modifiers - - -object_creation_expression + + +identifier - - -argument + + +expression_statement - - -pointer_type + + +span - - -M1 + + +1 - - -variable_reference + + +return - - -boolean_expression + + +) - - -stackalloc_expression + + +embedded_statement - - -namespace_or_type_name + + +Type - - -implicitly_typed_local_variable_declaration + + +statement_list - - -T + + +identifier - - -: + + +identifier - - -ref + + +c + + + +ref_method_modifier - - + + +void + + + +{ + + + +member_name + + + +personName + + + +primary_no_array_creation_expression + + + +identifier + + + +return_type + + + +( + + + statement_list - - -relational_expression + + +identifier - - + + relational_expression - - -member_access + + +argument_value - - -< + + +class_member_declaration - - -local_function_declaration + + +identifier - - -a + + +boolean_expression - - -assignment_operator + + +; - - -argument_list + + +} - - -method_modifiers + + +statement_list - - -b + + +variable_reference - - -type_arguments + + +local_variable_declaration - - -( + + +< - - -statement + + +method_body - - -declaration_expression + + +{ - - -statement_expression + + +< - - -. + + +integral_type - - -expression + + +parameter_mode_modifier - - -type_argument + + +explicitly_typed_local_variable_declarators - - -member_access + + +Vector3 - - -r1 + + +fixed_parameter - - -2 + + +( - - -tuple_type + + ++ - - -class_member_declaration + + +class_type - - + + } - - -compilation_unit + + += - - -; + + +identifier - - -consequence + + +identifier - - -) + + +, - - -=> + + +X - - -integral_type + + +int - - -switch_label + + +literal - - -} + + +class_body - - -return + + +void - - -> + + +identifier - - -type + + +f1 - - -; + + +type_argument_list - - -multiplicative_expression + + +, - - -= + + +) - - -[ + + +return_statement - - -embedded_statement + + +parameter_list - - -v2 + + +explicitly_typed_local_variable_declarator - - -isEmployed + + +type_argument - - -0 + + +"B" - - -identifier + + +explicitly_typed_local_variable_declaration - - + + identifier - - -ref_method_modifier + + +primary_expression - - -literal + + +{ - - -member_access + + +integral_type - - -additive_expression + + +pattern - - -type + + +) - - -identifier + + +static - - -member_access + + +method_header - - -identifier + + +local_function_header - - -isEmployed + + +class + + + +lambda_expression - - -public + + +statement_expression - - -void + + +literal - - -, + + +additive_expression - - -this + + +literal - - -explicitly_typed_local_variable_declaration + + +struct - - + + int - - -var + + +identifier - - -primary_expression + + +50 - - -local_variable_declaration + + +; - - -expression + + +ref - - -> + + +DefaultWithoutTypeName - - -implicitly_typed_local_variable_declaration + + +identifier - - -Span + + +explicitly_typed_local_variable_declarators - - -integral_type + + +1 - - -literal + + +] - - -( + + +type - - -CSharp71 + + +ref - - + + ) - - -ref_kind + + +local_variable_declaration - - -namespace_or_type_name + + += - - -type + + +variable_declarator - - + + ) - - -identifier - - - -public + + +local_function_header - - -argument + + +primary_no_array_creation_expression - - -struct_modifier + + ++ - - -declaration_statement + + +explicitly_typed_local_variable_declaration - - -, + + +method_header - - + + primary_expression - - -{ - - - -ref_local_variable_declarator - - - -fixed_parameter - - - -= + + +anonymous_function_signature - - -object_creation_expression + + +argument_list - - -identifier + + +member_name - - -value_type + + +void - - -implicitly_typed_local_variable_declarator + + +method_declaration - - -simple_type + + +block - - + + identifier - - -variable_declarators - - - -local_variable_type - - - -explicitly_typed_local_variable_declaration + + +Mutate - - -primary_expression + + +method_header - - -local_variable_initializer + + +method_declaration - - -int + + +[ - - + + ; - - + + ; - - -identifier - - - -identifier - - - -ref_local_variable_declarator + + +; - - -unmanaged_type + + +; - - -member_access + + +) - - -identifier + + +struct_body - - + + literal - - -identifier - - - -type_arguments - - - + + ( - - -: + + +. - - -IndexingMovableFixed + + +) - - + + , - - -fixed_parameter + + +element_access - - -C + + +identifier - - -[ + + +, - - -local_variable_declaration + + +, - - -; + + +identifier - - -return_statement + + +in - - -"A" + + +) - - -method_modifiers + + +equality_expression - - -member_access + + +ref_kind - - -i + + +ref_method_modifier - - -member_name + + +v2 - - -type_argument_list + + +] - - -argument + + +. - - -boolean_literal + + +declaration_pattern - - -int + + +argument_value - - -stackalloc_element_initializer + + +argument - - -arg + + +!= - - -declaration_statement + + +non_array_type - - + + identifier - - -TValue + + +{ - - -member_name + + +e - - -ref_method_modifier + + +return_type - - -identifier + + +when - - -) + + +fixed_parameter - - -PatternMatching + + +?? - - -void + + +Print - - + + identifier - - -ref - - - -type_arguments - - - -1 - - - + + identifier - - -if_statement - - - -) - - - + + argument - - -age + + +tuple_expression - - -identifier + + +} - - -identifier + + +invocation_expression - - -result + + +member_name - - -operator_declaration + + +struct - - -: + + +identifier - - -integral_type + + +expression_statement + + + +< - - + + ( - - -local_variable_initializer + + +integral_type - - -boolean_literal + + +) - - -type_parameter_constraints_clause + + +identifier - - -anonymous_function_parameter_modifier + + +literal - - -null_coalescing_expression + + +declaration_statement - - -nullable_value_type + + +explicitly_typed_local_variable_declarator - - -contextual_keyword + + +; - - -method_declaration + + +; - - -. + + +declaration_statement - - -indexer_declarator + + +} - - -identifier + + +stackalloc_expression - - -? + + +fixed_parameter - - -local_function_declaration + + +( - - -type + + +class_body - - -class + + +2 - - -variable_declarator + + +local_function_body - - -variable_reference + + +expression - - -struct + + +expression_statement - - + + identifier - - -LeadingSeparator + + +void - - -case_guard + + +statement_expression - - -explicitly_typed_local_variable_declarator + + +) - - -( + + +otherArr - - + + member_name - - -0b1_0_1 - - - -ReadonlyRef2 + + +identifier - - -ref_method_modifier + + +a - - -statement + + +type_argument - - -implicitly_typed_local_variable_declaration + + +v - - -v2 + + +unmanaged_type - - -literal + + +declaration_statement - - + + ) - - -argument + + +struct - - -expression_statement + + +return_type - - -method_body + + +X - - -identifier + + +primary_expression - - -member_name + + +string - - -equality_expression + + +var - - -declaration_statement + + +: - - -return + + +argument_value - - -a + + +ptr - - -, + + +primary_expression - - -literal + + +implicitly_typed_local_variable_declaration - - -identifier + + +element_access - - -explicitly_typed_local_variable_declaration + + +local_variable_declaration - - -string + + +ref_method_modifier - - + + primary_expression - - -+ + + +1 - - -args + + +) - - -identifier + + +type - - -if_statement + + +statement - - -pattern + + +M1_Trace - - -; + + +tuple_type_element - - -a + + +class_declaration - - -) + + +method_body - - -method_header + + +0x1_2_3 + + + +} + + + +2 - - + + identifier - - -struct_modifier + + +tuple_type_element - - -integral_type + + +) - - -void + + +tuple_element - - -( + + +1 - - -statement_expression + + +invocation_expression - - -var + + +type - - -statement_list + + +( - - -CSharp70 + + +literal - - -FromResult + + +null_coalescing_expression - - -fixed_parameters + + +unmanaged - - -v1 + + +identifier - - -[ + + +local_variable_declaration - - -parameter_modifier + + +literal - - -type_argument_list + + +argument_value - - -identifier + + +( + + + +struct_body + + + +expression_statement - - + + identifier - - -expression + + +field_declaration - - + + identifier - - -equality_expression + + +declaration_statement - - -int + + +] - - -var + + +integral_type - - -ref + + +explicitly_typed_local_variable_declarators - - -primary_expression + + +argument - - -+ + + +identifier - - -variable_reference + + +member_name - - -method_body + + +* - - -explicitly_typed_local_variable_declarators + + +statement - - -identifier + + +member_name - - -void + + +Vector3 - - + + identifier - - -identifier + + +statement - - -argument_list + + +implicitly_typed_local_variable_declarator - - -identifier + + +method_declaration - - -[ + + +parameter_mode_modifier - - -primary_expression + + +s - - -return_type + + +ref_kind - - -null + + +class_body - - -class_member_declaration + + +stackalloc - - + + = - - -unary_expression + + +non_nullable_value_type - - -identifier + + +variable_declarators - - -e + + +expression_statement - - -) + + +Func - - + + identifier - - -unary_expression - - - -type_parameter_list + + +binary_operator_declarator - - -statement_expression + + +TKey - - -method_declaration + + +null_conditional_member_access - - -[ + + +identifier - - -Print + + +method_modifiers - - -argument + + +member_access - - -void + + +literal - - -{ + + +block - - -expression + + +[ - - -identifier + + +3 - - -parameter_modifier + + +integral_type - - -) + + +< - - -type + + +int - - + + ) - - -return_type - - - -ref_method_modifier + + +t - - -G + + +member_access - - -argument_list + + +boolean_literal - - -parameter_mode_modifier + + += - - -ref + + +TupleRecognize - - + + argument - - -. - - - -; - - - -ref + + +( - - -; + + +NullReferenceException - - -identifier + + +< - - -expression_statement + + +[ - - -await_expression + + +literal - - -{ + + +isEmployed - - -type_argument_list + + +type_argument - - -] + + +pattern - - -; + + +int - - -parameter_list + + +== - - -rank_specifier + + +5 - - -method_declaration + + +argument_list - - -type + + +relational_expression - - + + ; - - -field_modifier + + +} - - -unmanaged_type + + +identifier - - -= + + +multiplicative_expression - - -ref + + +null_literal - - + + identifier - - -statement - - - -block + + +Y - - -identifier + + +int - - -embedded_statement + + +nullableResult - - -identifier + + +local_variable_initializer - - -explicitly_typed_local_variable_declarators + + +expression_statement - - -type_arguments + + +) - - -argument_list + + +primary_expression - - -myFixedField + + +DoSomething - - -) + + +statement_expression - - -expression_statement + + +local_variable_declaration - - -integral_type + + +int - - + + int - - -; + + +( - - -integral_type + + +namespace_or_type_name + + + +list - - + + identifier - - -+ + + +class_type - - -identifier + + +) - - -public + + +ref - - -null_literal + + +identifier - - -X + + +identifier - - -1_2_3 + + +identifier - - -local_variable_initializer + + +item - - -statement + + +var - - -literal + + +class_type - - -bool + + +statement_list - - -method_modifiers + + +argument_list - - -fixed_pointer_declarator + + +1_000.111_1e-1_000 - - -local_variable_declaration + + +class_member_declaration - - -local_variable_declaration + + +byteArray - - -block + + +additive_expression - - -identifier + + +integral_type - - -return_type + + +0b1001_1010_0001_0100 - - -statement + + +declaration_pattern - - -struct_member_declaration + + +default_literal - - + + identifier - - -literal + + +. - - + + explicitly_typed_local_variable_declaration - - -is - - - -primary_expression + + +identifier - - -additive_expression + + +element_access - - -parameter_mode_modifier + + +T - - -identifier + + +method_header - - -null_coalescing_expression + + +argument - - -identifier + + +argument - - -local_function_modifier + + +isEmployed - - + + identifier - - -multiplicative_expression + + +method_header - - -ref_kind + + +public - - -literal + + +identifier - - -personName + + +block - - -relational_expression + + +identifier - - -type_parameters + + +parameter_mode_modifier - - -. + + +Hello - - -{ + + +declaration_statement - - -relational_expression + + +fixed_pointer_declarators - - -method_declaration + + +local_function_declaration - - -additive_expression + + +tuple_element - - -unmanaged + + +non_array_type + + + +integral_type - - + + ( - - -} + + +return_statement - - -) + + +member_access - - -, + + += - - -stackalloc_initializer_element_list + + +method_body - - -personAge + + +=> - - -foo + + +method_body - - -> + + +] - - -argument_list + + +additive_expression - - -anonymous_function_body + + +primary_expression - - -identifier + + +return - - -literal + + +} - - -literal + + +expr - - -, + + +class_type - - -identifier + + +[ - - -} + + +10 - - -, + + +unsafe - - -DoSomething + + +b - - -( + + +tuple_element - - -declaration_statement + + +member_name - - -equality_expression + + +) - - -string + + +c - - -primary_expression + + +struct_declaration - - -case + + +( - - -is + + +true - - -struct_member_declaration + + +declaration_statement - - -personName + + +return_statement - - + + identifier - - -{ - - - -; + + +stackalloc_element_initializer - - -type_arguments + + +readonly - - -multiplicative_expression + + +expression_statement - - -struct + + +type_arguments - - -statement + + +> - - -personName + + +public - - -[ + + +additive_expression - - -string + + +{ - - -primary_no_array_creation_expression + + +parameter_list - - -tuple_type_element + + +public - - -x + + +( - - -int + + +class - - -< + + +ref_indexer_body - - -? + + +identifier - - -t + + +"A" - - -namespace_member_declaration + + +} - - -ReadonlyRef1 + + +statement - - -fixed_size_buffer_declarator + + +block - - -) + + +local_variable_declaration - - -implicitly_typed_local_variable_declaration + + +local_variable_initializer - - -statement_list + + +declaration_statement - - -int + + +, - - -IndexingMovableFixed + + +member_access - - + + ; - - -local_variable_declaration - - - -argument_value + + +type_arguments - - + + { - - + + identifier - - -member_access + + +null_literal - - -. + + +method_body - - -) + + +expression - - -conditional_expression + + +method_declaration - - -tuple_type_element + + +expression - - -identifier + + +method_modifiers + + + +r1 + + + +} + + + +, identifier - - -; + + +3 + + + +string - - + + ) - - -anonymous_function_signature + + +fixed_parameter - - -( + + +rank_specifier - - -stackalloc + + +T - - -argument_value + + +statement_expression - - -block + + +v1 - - -type + + +literal - - -] + + +IndexingMovableFixed - - -explicitly_typed_ref_local_variable_declaration + + +[ - - -statement + + +method_declaration - - -argument + + +local_variable_initializer - - -element_access + + +struct_member_declaration - - -parameter_modifier + + +; - - -] + + +identifier - - -method_modifiers + + +explicitly_typed_local_variable_declarator + + + +ref_method_body + + + +result - - + + identifier - - -, + + +explicitly_typed_local_variable_declarator - - -ref + + +[ + + + +; - - + + tuple_type_element - - -assignment + + +] - - -declaration_statement + + +lambda_expression - - -TryParse + + +. - - + + type - - -hex + + +0b101 - - -identifier + + +unsafe - - + + identifier - - -local_variable_declaration + + +0b_1_0_1 - - -identifier + + +type - - -identifier + + +declaration_statement - - -statement_expression + + +method_header - - -variable_reference + + +prog - - -ref_method_body + + +{ + + + +invocation_expression + + + +{ + + + +relational_expression + + + +; - - + + identifier - - + + identifier - - + + +T + + + +block + + + +argument_list + + + = - - -} + + +method_body - - -identifier + + +r - - -. + + +variable_initializer + + + +) - - + + , - - -ref_kind + + +int - - -} + + +method_modifiers - - -identifier + + +member_name - - -invocation_expression + + +explicitly_typed_local_variable_declaration - - -literal + + +age - - -v1 + + +statement_expression - - -declaration_statement + + +, - - -explicitly_typed_local_variable_declarator + + +struct_modifier - - -; + + +1 + + + +stackalloc + + + +method_modifiers + + + +ref_method_body + + + +r2 + + + +type + + + +CSharp72 + + + +. + + + +statement_expression - - + + public - - -fixed_size_buffer_modifier + + +var - - -Hello + + +literal - - + + argument_list - - + + ) - - -; + + +operator_modifier - - -== + + +stackalloc_initializer_element_list - - -class_type + + +identifier - - -parameter_list + + +unmanaged_type - - -explicitly_typed_local_variable_declarator + + +[ + + + +declaration_expression + + + +type - - + + identifier - - -name + + +: - - -additive_expression + + +expression - - -int + + +parameter_modifier - - -1 + + +class_body - - -type_argument_list + + +> - - -identifier + + +argument_list - - -explicitly_typed_local_variable_declarator + + +type - - -( + + +public - - -void + + +tuple_type_element - - -= + + +declaration_statement - - + + identifier - - -ref_local_variable_declarator - - - -return_type + + +variable_reference - - -{ + + +argument_value - - -member_name + + +age - - -declaration_pattern + + +identifier - - -expression + + +identifier - - -; + + += - - -, + + +await - - -double + + +identifier - - -primary_expression + + +simple_type - - -additive_expression + + +identifier - - -; + + += - - -explicitly_typed_local_variable_declaration + + +parameter_mode_modifier - - -argument_list + + +[ - - -null_coalescing_expression + + +namespace_member_declaration - - -literal + + +public - - -fixed_pointer_initializer + + +; - - + + identifier - - -( + + +struct_member_declaration - - -statement + + +void - - -) + + +null_coalescing_expression - - -{ + + +identifier - - -integral_type + + += - - -literal + + +method_header - - -class_declaration + + +block - - -explicitly_typed_local_variable_declarator + + +class_member_declaration + + + +ref + + + +method_modifier - - + + identifier - - -method_header + + +> - - + + identifier - - -. + + +, - - -B + + +argument_name - - -f3 + + +int - - -block + + +type_argument_list - - -explicitly_typed_local_variable_declaration + + +identifier - - -0 + + +? - - -type + + +equality_expression - - -2 + + +weird - - -method_modifier + + +identifier - - -primary_expression + + +int - - -literal + + +when - - + + identifier - - -Select - - - -] + + +int - - -local_variable_declaration + + +literal - - -statement + + +, - - -explicitly_typed_local_variable_declarator + + +personAge - - -tuple_element + + +static - - -{ + + +namespace_or_type_name - - -ref_method_modifier + + +invocation_expression - - -args + + +) - - + + integral_type - - -Vector3 - - - -( + + +local_variable_declaration - - -fixed_parameter + + +expression - - -argument_list + + +invocation_expression - - -fixed_parameter + + +switch_section - - -declaration_pattern + + +explicitly_typed_local_variable_declarator - - -default_literal + + +; - - -1 + + +) - - -multiplicative_expression + + +: - - -identifier + + +method_modifier - - -tuple_element + + +explicitly_typed_local_variable_declarators - - -; + + +Vector3 - - -identifier + + +B - - -explicitly_typed_local_variable_declarator + + +0 - - -argument + + +object_creation_expression - - -identifier + + +constant_expression - - -explicitly_typed_local_variable_declarators + + +0x1b_a0_44_fe - - -explicitly_typed_local_variable_declarator + + +expression - - -statement_expression + + +identifier - - -method_modifiers + + +args - - -primary_no_array_creation_expression + + +argument - - -s + + +identifier - - -fixed_parameter + + +) - - -. + + +invocation_expression - - -declaration_statement + + +ReadonlyRef2 - - -Vector3 + + +switch - - -return_type + + +declaration_statement - - -M1_Trace + + +nullable_type_annotation - - -method_body + + +in - - -explicitly_typed_local_variable_declarator + + +class_member_declaration - - + + = - - -= + + +primary_expression - - -invocation_expression + + +declaration_statement - - -. + + +ref_local_variable_declarators - - -?? + + +b - - -expression_statement + + +X - - -stackalloc_expression + + +statement_list - - + + identifier - - -type - - - -unmanaged + + +identifier - - -statement + + +t - - -else + + +primary_expression - - -literal + + +declaration_expression - - -r1 + + +argument - - -type + + +parameter_modifier - - -+ + + +explicitly_typed_ref_local_variable_declaration - - -type_arguments + + +) - - -stackalloc_expression + + +integral_type - - -when + + +BinaryLiterals - - -byte + + +bool - - -i + + +r1 - - -parameter_list + + +) - - -, + + +0 - - + + public - - -lambda_expression + + +Vector3 - - -return_statement + + +identifier - - -class_declaration + + +statement_expression - - -, + + +argument - - -relational_expression + + +identifier - - -) + + +; - - -) + + +type_arguments - - -parameter_mode_modifier + + +type - - -null + + +v1 - - -int + + +local_variable_declaration - - -ref + + +statement - - -identifier + + +{ - - -local_variable_declaration + + +literal - - -member_name + + +expression - - -variable_reference + + +method_body - - -statement + + +ref_kind - - -c + + +new - - -!= + + +invocation_expression - - -Choice + + +argument_name - - -0x1b_a0_44_fe + + +identifier - - + + } - - -argument_list + + +identifier - - -block + + +name - - -( + + +parameter_list - - -fixed_parameter + + +v2 - - -expression_statement + + +member_access - - -stackalloc + + +C - - -declaration_statement + + +ref_method_modifier - - -string + + +1_2__3___4____5_____6______7_______8________9 - - -explicitly_typed_local_variable_declarators + + +if - - -( + + +primary_expression - - -) + + +method_declaration - - -tuple_type + + +expression_statement - - -return_statement + + +implicitly_typed_local_variable_declarator - - -; + + +return - - -return_type + + +relational_expression - - + + identifier - - -) + + +identifier - - -argument_list + + +type - - -expression + + +( - - -boolean_literal + + +: - - -local_variable_type + + +res - - -literal + + +pointer_type - - -return_type + + +identifier - - -expression_statement + + +public - - -in + + +identifier - - -explicitly_typed_local_variable_declaration + + +namespace_member_declaration - - -bin + + +invocation_expression - - -indexer_declaration + + +stackalloc - - -true + + += - - -statement_list + + +parameter_list - - -method_header + + +{ - - -index + + +method_declaration - - -array_type + + +type - - -int + + +local_variable_type - - -argument_value + + +void - - -t2 + + +H - - + + identifier - - -public - - - -unary_expression - - - -fixed_parameter - - - + + identifier - - -= + + +identifier - - -( + + +explicitly_typed_local_variable_declarators - - -age + + +method_declaration - - -literal + + +nullable_value_type - - -statement + + +additive_expression - - -statement_list + + +declaration_expression - - -isEmployed + + +) - - -=> + + +method_modifiers - - -} + + +method_header - - + + ) - - -member_access + + +tuple_expression - - -literal + + +statement - - -s + + +identifier - - -t1 + + +literal - - -= + + +floating_point_type - - -primary_expression + + +return_type - - -ThrowExpression + + +=> - - + + ; - - -identifier + + +declaration_statement - - -parameter_modifier + + +explicitly_typed_local_variable_declarators - - -primary_expression + + +stackalloc_element_initializer - - -static + + +fixed_parameter - - -identifier + + +statement - - + + block - - -method_modifiers - - - -await_expression + + +( - - + + expression - - -static + + +declaration_statement - - -integral_type + + +expression_statement - - -. + + +v2 - - -expression_statement + + +block - - -struct_declaration + + +0b10011 - - -class_member_declaration + + +parameter_mode_modifier - - -fixed_parameters + + +type_argument_list - - -member_name + + +implicitly_typed_local_variable_declaration - - -member_name + + +member_access - - -int + + +( - - -identifier + + +0x_1_2 - - -explicitly_typed_local_variable_declarators + + +local_variable_declaration - - -class_member_declaration + + +type_arguments - - -> + + +identifier - - -local_function_header + + +integral_type statement - - -integral_type - - - -; - - - -return_type - - - -fixed_parameter - - - -argument - - - -condition - - - -list - - - -} - - - -identifier - - - -3 + + +2 - - -, + + +argument_list - - + + = - - -argument_name + + +additive_expression - - -explicitly_typed_local_variable_declarator + + +static - - -return_statement + + +f2 - - + + ( - - -{ - - - -implicitly_typed_local_variable_declaration - - - -r - - - -anonymous_function_signature - - - + + relational_expression - - -type + + +method_modifier - - -: + + +integral_type + + + +res - - + + identifier - - -= + + +literal - - -name + + +unsafe_modifier - - -explicitly_typed_local_variable_declarator + + +; - - -type_parameter_constraints + + +arg - - -embedded_statement + + +) - - -, + + +parameter_modifier - - -literal + + +explicitly_typed_local_variable_declarator - - -) + + +ref - - -lambda_expression + + +method_declaration - - -Z + + +primary_expression - - -identifier + + +method_modifier - - -public + + += - - -member_name + + +null_conditional_member_access - - -= + + +statement_expression - - -binary_operator_declarator + + +( - - -] + + +identifier - - -class_member_declaration + + +method_modifiers - - -anonymous_function_body + + +unmanaged_type - - -fixed_parameter + + +argument_list - - -block + + +=> - - -struct + + +{ - - + + type - - -return_type + + +tuple_expression - - -argument_list + + +statement_list - - + + ( - - -statement_list + + +member_name - - -local_variable_initializer + + +argument - - -=> + + +anonymous_function_parameter_modifier - - -non_nullable_value_type + + +shift_expression - - -[ + + +; - - -identifier + + +parameter_list - - -method_declaration + + +method_body - - -literal + + +explicitly_typed_local_variable_declaration - - -integral_type + + +) - - -ref_return_type + + +} - - -pattern + + +explicitly_typed_local_variable_declarators - - -. + + +contextual_keyword - - -identifier + + +anonymous_function_signature - - -identifier + + +expression - - -3 + + +void - - -fixed_parameters + + +identifier - - -int + + +i - - -= + + +( - - -void + + +expression - - -stackalloc + + +relational_expression - - -public + + +identifier - - -type + + +class_member_declaration - - -default_argument + + +{ - - -explicitly_typed_local_variable_declarator + + +if_statement - - -ref_method_modifier + + +simple_designation - - -async + + +default_argument - - -statement_list + + +index - - -; + + +field_modifier - - -primary_no_array_creation_expression + + +identifier - - -type + + +implicitly_typed_local_variable_declarator - - -parameter_modifier + + +int - - -type_argument + + +argument - - -class_body + + +, - - -int + + +, - - -in + + +explicitly_typed_local_variable_declaration - - -identifier + + +ref_method_modifiers - - -{ + + +identifier - - -, + + +argument_list - - + + ; - - -) - - - -method_body + + +method_header - - -( + + +1 - - -: + + +return_type - - -parameter_list + + +. - - -method_body + + +) - - -[ + + +return_type - - -block + + +} - - -arr + + +) - - -literal + + +ref - - -local_variable_declaration + + +identifier - - -relational_expression + + +method_modifiers - - -contextual_keyword + + +int - - -struct_member_declaration + + +; - - -identifier + + +var - - -unsafe_modifier + + +T - - -primary_expression + + +fixed_parameters - - -Hello + + +implicitly_typed_local_variable_declarator - - -await + + +( - - -return_type + + +primary_expression - - -public + + +} - - -null_literal + + +( - - -) + + +ref_method_modifier - - -return + + +identifier - - -int + + +async - - -identifier + + +return_type - - -element_access + + +type_parameter - - -void + + +block - - -a + + +x - - -void + + +statement_expression - - -} + + +static - - -argument_list + + +readonly - - -, + + +; - - -identifier + + +tuple_type - - -F + + +[ - - -statement_expression + + +integral_type - - -Z + + +; - - -} + + +type_parameter_list - - -identifier + + +in - - -struct_member_declaration + + +expression - - + + ) - - -{ + + +( - - -primary_expression + + +method_body - - -argument + + +equality_expression - - -primary_expression + + +[ - - -expression + + +literal - - -identifier + + +) - - -explicitly_typed_local_variable_declaration + + +statement_list + + + +parameter_modifier - - + + identifier - - -relational_expression + + +class_declaration - - -identifier + + +local_variable_initializer - - -t + + +, - - -identifier + + +primary_expression - - + + type - - -stackalloc_element_initializer + + +. - - -var + + +} - - -type_arguments + + ++ - - -weird + + +stackalloc_element_initializer - - -statement + + +parameter_mode_modifier - - -member_access + + +} - - -literal + + +r1 - - -) + + +primary_expression - - -fixed_parameters + + +identifier - - -) + + +statement_list - - + + public - - -variable_reference - - - -} + + +class - - + + identifier - - -identifier + + +fixed_parameter - - -} + + +{ - - -type + + +3 - - -type_argument + + +literal - - -prog + + +identifier - - -class_type + + +method_header - - -+ + + +local_variable_declaration - - -conditional_or_expression + + +tuple_type_element - - -) + + +argument_list - - -ref_local_variable_declarators + + +type_argument + + + +identifier - - + + ) - - -fixed_size_buffer_declaration + + +ref_local_variable_declarator - - -integral_type + + +namespace_member_declaration - - -local_variable_initializer + + +operator_body - - -E + + +local_variable_declaration - - -identifier + + +( - - -parameter_mode_modifier + + +33_554_432 - - -i + + +item - - -identifier + + +x - - -; + + +< - - -identifier + + +3 + + + +, - - + + +) + + + member_access - - -X + + +statement_expression - - -, + + +Vector3 - - -( + + +block - - -( + + +statement_expression - - -return_type + + +argument_list - - -identifier + + +ref_method_modifier - - -{ + + +integral_type - - -variable_reference + + +unary_expression - - -declaration_statement + + +a - - -content + + +statement_list - - -type + + +embedded_statement - - -public + + +int - - -readonly + + +primary_expression - - -identifier + + +argument - - -literal + + +fixed_parameter - - -anonymous_function_body + + +equality_expression - - -integral_type + + +member_name - - -boolean_literal + + +) - - -string + + +return_type - - -declaration_statement + + +argument - - -> + + +implicitly_typed_local_variable_declaration - - -invocation_expression + + +fixed_parameters - - -> + + +member_access - - -identifier + + +stackalloc_initializer - - + + identifier - - -} - - - -statement_expression + + +identifier - - -overloadable_binary_operator + + +) - - -in + + +identifier - - -method_body + + += - - -Task + + +boolean_expression - - + + , - - -fixed_parameter + + +identifier - - -statement + + +namespace_or_type_name - - -primary_no_array_creation_expression + + +identifier - - -unsafe_modifier + + +; - - -argument + + +argument_list - - -local_variable_declaration + + +; - - -explicitly_typed_local_variable_declarators + + +( - - + + type - - -statement + + +> - - -identifier + + +var + + + +statement - - -T + + +ref_kind - - -member_name + + +struct_member_declaration - - -Mutate + + +block - - + + identifier - - -IndexingMovableFixedFields + + +class_type - - -in + + +default_literal - - -, + + +method_body - - -0 + + +ref_method_modifier - - -explicit_anonymous_function_parameter_list + + +argument_value - - -{ + + +local_variable_initializer - - -field_declaration + + +explicitly_typed_local_variable_declarator - - -predefined_type + + +local_variable_declaration + + + +} - - + + identifier - - -) + + +true - - -a + + +} - - -statement + + +argument - - -ptr + + +default - - -statement + + +=> - - -explictly_typed_default + + +true - - -{ + + +statement_expression - - -contextual_keyword + + +IndexingMovableFixed - - -member_access + + +literal - - -argument_value + + +throw - - -class_member_declaration + + +( - - -Vector3 + + +c - - -statement + + +invocation_expression - - -A + + +additive_expression - - -2 + + +class_member_declaration - - -shift_expression + + +< - - -multiplicative_expression + + +, - - -assignment + + +ptr - - -type + + +unsafe_modifier - - + + local_variable_declaration - - -operator_modifier + + +( - - -static + + +member_name - - -integral_type + + +i - - -; + + +implicitly_typed_local_variable_declaration - - -identifier + + +TValue - - -0b_1_0_1 + + +) - - -+ + + +argument_value - - -statement + + +relational_expression - - -class_body + + +array_type - - -method_modifiers + + +await - - -( + + +local_variable_initializer - - + + identifier - - -name - - - -Hello - - - -parameter_list + + +additive_expression - - -parameter_list + + +implicitly_typed_local_variable_declaration - - -invocation_expression + + +multiplicative_expression - - -block + + +( - - + + type - - -ref_method_modifier + + +type_argument - - -method_body + + +boolean_literal - - -identifier + + +fixed + + + +local_variable_declaration - - + + block - - -DoSomething + + +literal - - -identifier + + +argument_name - - -, + + +explicitly_typed_local_variable_declarators - - -true + + +ref_method_modifier - - -additive_expression + + +method_declaration - - -variable_reference + + +declaration_statement - - -( + + +local_variable_declaration - - -fixed_parameter + + += - - -} + + +variable_reference - - -( + + +isEmployed - - -dec + + +integral_type - - -variable_reference + + +stackalloc_element_initializer - - -where + + +method_declaration - - -} + + +variable_reference - - + + +case + + + identifier - - -invocation_expression + + +case_guard - - -local_variable_initializer + + +argument_list - - -implicitly_typed_local_variable_declaration + + +identifier - - -return + + +identifier - - -class_member_declaration + + +type_argument_list - - -public + + +identifier - - -( + + +type - - -; + + +ref - - -struct_declaration + + +a - - -item + + +fixed - - -explicitly_typed_local_variable_declarator + + +( - - -method_body + + +expression - - -default + + +identifier - - -0b1001_1010_0001_0100 + + +variable_reference - - -] + + +public - - -stackalloc + + +method_header - - + + statement - - -method_declaration - - - -s + + +variable_reference - - -identifier + + +fixed_pointer_declarator - - -identifier + + +nineteen - - -parameter_modifier + + +int - - -integral_type + + +block - - -type_arguments + + +) - - -int + + +block - - + + identifier - - -v1 + + +argument_list - - -ref_method_modifiers + + +statement - - -, + + +( - - -} + + +* - - -local_variable_initializer + + +local_variable_declaration - - -; + + +, - - -block + + +argument_list - - -fixed_parameter + + +literal - - -50 + + +invocation_expression - - -{ + + +identifier - - -int + + +identifier - - -literal + + +argument_name - - -true + + +decorated_type_parameter - - -method_body + + +class_member_declaration - - -return_type + + +f2 - - -switch_section + + +stackalloc_initializer + + + +name - - -identifier + + +equality_expression - - -: + + +declaration_statement - - -literal + + +fixed_size_buffer_declarator - - -) + + +b - - -block + + +member_name - - -tuple_element + + +; - - -) + + +identifier - - -method_header + + +readonly - - -class_member_declaration + + +return - - -T + + +unary_expression - - -argument_list + + +where - - -explicitly_typed_local_variable_declarators + + +boolean_literal - - -multiplicative_expression + + +relational_expression - - -} + + +block - - -struct_declaration + + +local_variable_initializer - - -expression + + +type_parameter_constraints_clause - - + + type - - -int + + +primary_expression - - -c + + +. - - -statement_list + + +> - - -int + + +Vector3 - - -null + + +identifier - - -var + + +expression - - -< + + +assignment - - -argument + + +0 - - -; + + +null_literal - - -type + + +T - - -variable_reference + + +ref - - -method_header + + +personAge - - -explicitly_typed_local_variable_declaration + + +) - - -T + + +explicitly_typed_local_variable_declarators + + + +identifier - - + + identifier - - + + additive_expression - - + + primary_expression - - -assignment_operator - - - -nineteen - - - -floating_point_type + + +integral_type - - -statement_expression + + +identifier - - + + ( - - -otherArr - - - -void - - - -argument_name + + +return_type - - -element_access + + +age - - -( + + +} - - -statement + + += - - + + identifier - - -declaration_statement - - - -member_access + + +method_modifiers - - -) + + +unary_expression - - -namespace_or_type_name + + +: - - -ref + + +unmanaged_type - - -method_modifier + + +statement_list - - -pointer_type + + +expression_statement - - -v2 + + +embedded_statement - - -block + + +identifier - - -f2 + + +class_member_declaration - - -unmanaged_type + + +block - - -X + + +invocation_expression - - -statement + + +declaration_expression - - -operator_modifier + + +element_access - - -; + + +identifier - - -declaration_statement + + +DoSomething - - -switch_block + + +stackalloc_expression - - -namespace_or_type_name + + +lambda_expression - - -integral_type + + +identifier - - -( + + +parameter_modifier - - -, + + +> - - -void + + +member_name - - -ref_method_modifier + + +) - - -explictly_typed_default + + +anonymous_function_body - - -invocation_expression + + +return_type - - -OutVar + + +identifier - - -ConditionalRef + + +primary_expression - - -identifier + + +statement_list - - -v2 + + +integral_type - - -int + + +struct_declaration - - -type + + +identifier - - -x + + +integral_type - - -0 + + +ref_method_modifier - - -local_variable_declaration + + +int - - -< + + +class_member_declaration - - -fixed_parameter + + +expression - - + + primary_expression - - -expression_statement - - - -identifier + + +< - - + + ( - - -. + + +return_statement - - -in + + +explicitly_typed_local_variable_declarator - - -item + + +) - - -[ + + +type_arguments - - -) + + +pointer_type - - -( + + +identifier - - -operator_declarator + + +( - - -type + + +Hello - - -"B" + + +identifier - - -primary_expression + + +constant_expression - - -( + + +literal - - -int + + +CSharp71 - - -class_member_declaration + + +in - - -Func + + +anonymous_function_body - - -identifier + + +ref_return_type - - -block + + +t2 - - -explicitly_typed_local_variable_declarators + + +; - - -2 + + +v1 - - -) + + +identifier - - -. + + +decorated_type_parameter - - -> + + +byte - - -invocation_expression + + +ref - - -Task + + +expression - - -fixed_parameter + + +fixed_size_buffer_declarators - - -otherArr + + +argument_name - - -class_type + + +literal - - -NullReferenceException + + +void - - + + identifier - - -shift_expression + + +fixed_parameter - - -( + + +element_access - - -( + + +variable_declarators - - -, + + +; - - -method_header + + +struct_member_declaration - - -identifier + + +invocation_expression - - -( + + +i - - -] + + +parameter_list - - -method_modifiers + + +variable_reference - - -identifier + + +variable_reference - - -Type + + +> + + + +statement - - + + Vector3 - - -element_access + + +method_body - - -int + + +t1 - - -v + + +name - - -block + + +identifier - - -embedded_statement + + +stackalloc_initializer_element_list - - -= + + +return - - -class_member_declaration + + +real - - -int + + +ref_kind - - -declaration_statement + + +, - - -variable_reference + + +statement - - -true + + +statement - - -ref_return_type + + +fixed_parameter - - -) + + +expression_statement - - -struct_member_declaration + + +argument - - + + identifier - - -namespace_or_type_name + + +ReadonlyRef1 - - -} + + +expression_statement - - -implicitly_typed_local_variable_declarator + + +. - - -when + + +method_modifier - - -primary_expression + + +ref - - -block + + +identifier - - -additive_expression + + +stackalloc_element_initializer - - -expression + + +primary_expression - - -local_variable_declaration + + +literal - - -return_type + + +x - - -identifier + + += - - -] + + +variable_reference - - -statement_list + + +identifier - - -) + + +{ - - -expression_statement + + +primary_expression - - + + { - - -switch_label - - - -explicitly_typed_local_variable_declarators + + +conditional_expression - - -) + + +declaration_statement - - -statement_list + + +; - - -expression_statement + + +type_arguments - - -< + + +operator_declarator - - + + identifier - - -3 - - - -) - - - -argument_list + + +explicitly_typed_local_variable_declarators - - -[ + + +identifier - - -non_array_type + + +simple_designation - - -{ + + +is - - -identifier + + +fixed_parameter - - -1_000.111_1e-1_000 + + +throw_expression - - -stackalloc_element_initializer + + +{ - - -member_name + + +method_header - - -await + + +explicit_anonymous_function_parameter_list - - -primary_expression + + +explictly_typed_default - - -primary_expression + + +ref_method_body - - -Span + + +Vector3 - - -; + + +ref - - -} + + +( - - -Hello2 + + +declaration_statement - - -ref_method_modifier + + +literal - - -> + + +type - - -explicitly_typed_local_variable_declarators + + +{ - - -+ + + +tuple_type - - -] + + +ref_kind - - -parameter_mode_modifier + + +argument_list - - -method_modifier + + +< - - -; + + +integral_type - - -Where + + +tuple_type_element - - -ref_kind + + +. - - -ref + + +fixed_parameter - - + + ( - - + + ( - - -invocation_expression + + +} - - -identifier + + +type - - -) + + +field_declaration - - -class_declaration + + +type - - -identifier + + +namespace_or_type_name - - -t + + +{ - - -switch_statement + + +statement - - -invocation_expression + + +content - - -) + + +implicitly_typed_local_variable_declarator + + + +=> + + + +default - - + + , - - -variable_reference + + +method_declaration - - -declaration_statement + + +1 - - -class_member_declaration + + +stackalloc_expression - - -, + + +< - - -return_type + + +) + + + +StackallocArrayInitializer - - -int + + +anonymous_function_signature + + + +ref - - + + identifier - - -parameter_modifier + + +method_modifiers - - -null_coalescing_expression + + +local_function_body - - -literal + + +Task - - -class_member_declaration + + +] - - -stackalloc_expression + + +relational_expression - - -{ + + +local_variable_declaration - - -identifier + + +explicitly_typed_local_variable_declarator - - -[ + + += - - -: + + +method_modifiers - - -argument + + +local_function_modifier - - -identifier + + +conditional_or_expression - - -declaration_expression + + +block - - -c + + +arr - - -identifier + + +ref_method_modifier - - -readonly + + +await_expression - - -return_statement + + +identifier - - -z + + +equality_expression - - -statement + + +type_arguments - - -argument_name + + +alternative - - -res + + +member_access - - -< + + +) - - -( + + +public - - -fixed_parameter + + +tuple_element - - -} + + +relational_expression - - -struct_body + + +type - - -( + + +, - - -type + + +statement_expression - - -identifier + + +contextual_keyword - - -name + + +primary_expression - - -value_type + + +in - - -class_member_declaration + + +class_type - - -if + + +else - - -class_member_declaration + + +parameter_list - - -identifier + + +int - - + + ; - - -argument + + +identifier - - -member_name + + +IndexingMovableFixedFields - - -( + + +, - - -parameter_list + + +ref - - -( + + +identifier - - -method_body + + +dec - - -declaration_statement + + +readonly - - -tuple_expression + + +( - - -statement_list + + +} - - -< + + +T - - -identifier + + +declaration_statement - - -y + + +null - - + + identifier - - -? - - - -isEmployed + + +unary_expression - - -expression + + +invocation_expression - - -{ + + +value_type - - -tuple_type_element + + +[ - - -( + + +) - - -identifier + + +statement - - -struct_member_declaration + + +ref_local_variable_declarator - - -expression_statement + + +identifier - - -block + + +explicitly_typed_local_variable_declaration - - -} + + +namespace_or_type_name - - -int + + +type - - -argument_list + + +[ - - -void + + +class_member_declaration - - -identifier + + +OutVar - - + + fixed_parameter - - -identifier + + +local_variable_initializer - - + + { - - -= - - - -statement_expression - - - -=> + + +stackalloc_element_initializer - - -identifier + + +consequence - - -default + + +class_member_declaration - - -argument + + +literal - - -=> + + +switch_label - - + + ; - - -statement_list + + +identifier - - -argument_value + + +statement - - -class_member_declaration + + +argument - - -: + + +0 - - -fixed_parameter + + +class_declaration - - -block + + +int - - + + , - - -fixed_parameter + + +ref_return_type - - -expr + + +fixed_parameters - - -explicit_anonymous_function_signature + + +value_type - - -boolean_expression + + +parameter_list - - -identifier + + +method_header - - -type_parameter_list + + +: - - -block + + +primary_no_array_creation_expression - - -identifier + + +ref - - -TupleEquality + + +> - - -fixed + + +operator - - -0x1_2_3 + + +expression - - -identifier + + +, - - -identifier + + +this - - -string + + +namespace_member_declaration - - -; + + +A + + + +literal - - -( + + +literal - - -) + + +variable_reference - - -X + + +multiplicative_expression - - -; + + +method_header - - -null_conditional_member_access + + +( - - + + < - - -} + + +default - - -, + + +block - - -c + + +readonly - - -) + + +, - - -int + + +integral_type - - -identifier + + +Select - - -Type + + +assignment_operator - - -identifier + + +, - - -ref_method_modifier + + +} - - -integral_type + + +Where - - -method_declaration + + +literal - - -v1 + + +member_access - - -argument + + +LocalFunctions - - -assignment + + +name - - -explicitly_typed_local_variable_declaration + + +, - - + + +member_name + + + ( - - -DoSomething + + +multiplicative_expression - - -method_header + + +namespace_or_type_name - - -member_access + + += - - -type + + +statement - - -case_guard + + +block - - -( + + +local_variable_initializer - - + + statement_list - - -integral_type + + +argument - - -] + + +literal + + + +method_declaration + + + +, - - + + expression_statement - - -int + + +additive_expression - - -DefaultWithoutTypeName + + += - - -method_header + + +literal - - -1 + + +block - - -) + + +if - - + + integral_type - - -type_parameter - - - -namespace_or_type_name + + +statement - - -rank_specifier + + +explicitly_typed_local_variable_declarators - - -type + + +: - - -explicit_anonymous_function_parameter + + +additive_expression - - -= + + +public - - -identifier + + +primary_expression - - + + identifier - - -local_function_body - - - -( - - - -= + + +integral_type - - -fixed_parameter + + +identifier - - -method_header + + +public - - -multiplicative_expression + + +method_body - - -identifier + + +return_type - - + + identifier - - -type - - - -consequence - - - -additive_expression + + +literal - - -declaration_statement + + +return_type - - -condition + + +) - - -identifier + + +argument - - -tuple_expression + + +myFixedField - - -argument_list + + +. - - -ref_method_modifier + + +member_name - - -namespace_member_declaration + + +indexer_declarator - - -out + + +( - - -, + + +block - - -method_modifier + + +primary_no_array_creation_expression - - -argument + + +v1 - - -BinaryLiterals + + +} - - -conditional_expression + + +identifier - - + + identifier - - -new + + +literal - - -3 + + +return_type - - -T + + +arr - - -integral_type + + +stackalloc_initializer - - -return_type + + +type - - -argument + + +identifier - - -0 + + +, - - + + ; - - -identifier + + +) - - + + ref - - -tuple_element - - - -< - - - -{ + + +additive_expression - - -. + + +statement - - -ref + + +namespace_or_type_name - - -local_variable_declaration + + +args - - -struct_member_declaration + + +1 - - -{ + + +50 - - -arg + + +} - - -tuple_type + + +local_variable_type - - -> + + +compilation_unit - - -tuple_type_element + + +} - - -expression + + +identifier - - -argument_list + + +] - - -, + + +type_parameter_constraints - - -null_coalescing_expression + + +} - - -identifier + + +double - - -literal + + +s - - -literal + + +class_member_declaration - - -primary_expression + + +argument_value - - -type + + +1_2_3 - - -identifier + + +Blittable - - -equality_expression + + +integral_type - - -type + + +type_argument_list - - -args + + +method_header - - + + statement - - -ptr - - - -} + + +type - - -[ + + +] - - -statement_expression + + +) - - -expression_statement + + +identifier - - -tuple_element + + +Guid - - -ref_method_modifier + + +{ - - -integral_type + + +block - - -ref_method_modifiers + + +member_access - - -args + + +switch_label - - + + ) - - + + class_member_declaration - - -value - - - -alternative + + +stackalloc_element_initializer - - -tuple_element + + +foo - - -} + + +type - - + + identifier - - -break + + +args - - -age + + +ref_method_modifier - - -method_declaration + + +tuple_element - - -} + + +method_declaration - - -class_type + + +return_statement - - -literal + + +: - - -tuple_expression + + +statement - - -int + + +} - - -r1 + + +result - - -) + + +int - - -type + + +( - - -additive_expression + + +T - - -integral_type + + +implicitly_typed_local_variable_declaration - - -. + + +DoSomething - - -Vector3 + + +( - - -ref_kind + + += - - -int + + +, - - -integral_type + + +{ - - -] + + +( - - -identifier + + +method_modifiers - - + + primary_expression - - -local_function_body + + += - - -identifier + + +multiplicative_expression + + + +expression_statement - - + + expression - - -123 + + +v1 - - -{ + + +TryParse - - -integral_type + + +primary_expression - - -static + + +T - - -type + + +method_header - - -void + + +expression - - -identifier + + +} - - -statement + + +; - - -identifier + + +statement - - -identifier + + +variable_reference - - -Blittable + + +relational_expression - - -statement + + +method_modifiers - - -DoSomething + + +method_body - - -class_type + + +Span - - -identifier + + +type - - -array_type + + +] - - -. + + +DoSomething - - + + primary_expression - - -block + + +Span - - -type + + +class_member_declaration - - -. + + +identifier - - -embedded_statement + + +; - - -0b101 + + +argument_name - - -) + + +personName + + + +int + + + +isEmployed + + + +{ - - + + arr - - -stackalloc_initializer_element_list + + +null_coalescing_expression - - -; + + +arr + + + +in - - + + statement - - -; + + +fixed_parameters - - -r1 + + +local_variable_declaration + + + +void + + + +argument_list + + + +rank_specifier - - + + ; - - -local_variable_type + + +explicitly_typed_local_variable_declarator - - -ref_indexer_body + + +default - - -argument_name + + += - - -statement_list + + +integral_type - - -method_body + + +) - - -DoSomething + + +identifier - - -stackalloc_initializer + + +method_declaration - - -type + + +literal - - -relational_expression + + +ref - - + + if_statement - - -block - - - -literal + + +assignment_operator - - -. + + +0 - - -identifier + + +return_type - - -class + + +explicitly_typed_local_variable_declaration - - -: + + +array_type - - -method_header + + +argument_list - - -type_parameters + + +return_type - - -Span + + +identifier - - -local_variable_declaration + + +fixed_pointer_initializer - - -0b10011 + + +declaration_statement - - -unary_expression + + +identifier - - -non_array_type + + +Test - - -operator + + +statement - - -LocalFunctions + + +literal - - -member_access + + +expression - - -break_statement + + +switch_block - - -type + + +, - - -identifier + + +class_member_declaration - - -argument_list + + +expression_statement - - -) + + +statement - - -block + + +embedded_statement - - -stackalloc_element_initializer + + +} - - -statement_expression + + ++ - - + + type - - -statement_expression + + +123 - - -class_body + + +DoSomething - - -identifier + + +ref_return_type - - -stackalloc_initializer + + +expression_statement - - -!= + + +CSharp73 - - -) + + +boolean_expression - - -integral_type + + +explicitly_typed_local_variable_declaration - - -identifier + + +( - - + + identifier - - -stackalloc_element_initializer + + ++ - - -int + + +Hello - - -argument_list + + +block - - -} + + +G - - -identifier + + +variable_reference - - -explicitly_typed_local_variable_declaration + + +( - - -method_header + + +hex - - -x + + +otherArr - - + + member_name - - -{ - - - -* + + +( - - -= + + +parameter_list - - -{ + + +. - - -method_body + + +variable_reference - - -) + + +v1 - - -type + + +invocation_expression - - -parameter_list + + +method_header - - -explicitly_typed_local_variable_declarators + + +( - - -arr + + +TupleEquality - - + + identifier - - -parameter_list + + +, - - -method_declaration + + +type_parameter_list - - -Span + + +t1 - - -identifier + + +( - - -b + + +break_statement - - -, + + +{ - - -class_member_declaration + + +{ - - -) + + +method_modifiers - - -readonly + + +parameter_list - - + + +ref_method_modifier + + + identifier - - -} + + +( - - -f2 + + +is - - -tuple_type_element + + +additive_expression - - -f1 + + +statement - - -1 + + +argument_list - - -method_declaration + + +( - - -identifier + + +myFixedField - - -integral_type + + +parameter_list - - -3 + + +integral_type - - -+ + + +out - - -; + + +method_body - - -member_name + + +invocation_expression - - -? + + +argument - - -{ + + +identifier - - -= + + +( - - -integral_type + + +explicitly_typed_local_variable_declaration - - -ref + + +default - - -tuple_type_element + + +alternative - - -method_declaration + + +argument_value - - -1_2__3___4____5_____6______7_______8________9 + + +void - - -; + + +declaration_statement - - -TupleRecognize + + +statement_list - - -, + + +statement_expression - - -1 + + +true - - -explicitly_typed_local_variable_declaration + + +type_argument_list - - + + identifier - - -identifier + + +} - - -D + + +assignment - - -bool + + +statement - - -expression_statement + + +class_member_declaration - - -statement + + +Z - - -argument_name + + +namespace_or_type_name - - -{ + + +string - - -Vector3 + + +member_name - - -] + + +fixed_parameter - - -. + + +method_body - - -} + + +type - - -int + + +ThrowExpression - - -parameter_list + + +identifier - - -literal + + +integral_type - - -return + + +explicitly_typed_local_variable_declarator - - -v1 + + +operator_modifier - - -NonTrailingNamedArguments + + +explictly_typed_default - - -primary_no_array_creation_expression + + +object_creation_expression - - -expression + + +} - - -element_access + + +} - - -int + + +primary_no_array_creation_expression - - -identifier + + +literal - - -invocation_expression + + +null_literal - - -statement + + +M1 + + + +[ + + + +? - - + + < - - -unary_expression + + +type - - -( + + +relational_expression - - -literal + + +local_variable_declaration - - -in + + +ref_method_modifier - - -res + + +parenthesized_expression - - -nullable_type_annotation + + +{ - - -argument_list + + +fixed_parameters - - + + identifier - - -v1 + + +shift_expression - - -local_variable_declaration + + +{ - - -method_declaration + + +NonTrailingNamedArguments - - -argument_list + + +return_type - - -class_type + + +identifier - - -; + + +literal - - -fixed_parameter + + +new - - -class_member_declaration + + +struct_member_declaration - - -argument_list + + +, - - -variable_reference + + +; - - -method_header + + +primary_expression - - -fixed_parameter + + +[ - - -if + + +; - - -} + + +identifier - - -class_type + + +multiplicative_expression - - -< + + +stackalloc - - -method_header + + +unary_expression - - -identifier + + +class_member_declaration - - -{ + + +if - - -void + + +condition - - -tuple_element + + +, - - -primary_expression + + +void - - -member_name + + +invocation_expression - - -namespace_or_type_name + + +contextual_keyword - - -tuple_type_element + + +: - - -var + + +a - - -age + + +multiplicative_expression - - -) + + += - - -pattern + + +identifier - - -; + + +fixed_parameter - - -= + + +multiplicative_expression - - -Hello + + +tuple_element - - -local_variable_declaration + + +int - - -type + + +[ - - -multiplicative_expression + + +, - - -class + + +local_function_declaration - - -explicitly_typed_local_variable_declaration + + +F - - -( + + +await_expression - - -expression + + +identifier - - + + ( - - -ref_kind - - - -method_declaration + + +TryParse - - -T + + +type - - -integral_type + + +} - - -invocation_expression + + +return - - -T + + +identifier - - -( + + +explicitly_typed_local_variable_declaration - - -primary_no_array_creation_expression + + +{ - - -real + + +ref_method_modifier - - -ref + + +; - - -default + + +statement_list - - -integral_type + + +ConditionalRef - - -ref + + +consequence - - -member_access + + +in - - -explicitly_typed_local_variable_declarators + + +; - - -primary_expression + + += - - -Y + + +identifier - - -( + + +identifier - - -1 + + +} - - -identifier + + +type_argument_list - - -statement + + +local_variable_declaration - - -implicitly_typed_local_variable_declarator + + +666 - - -type + + +int - - + + ( - - -] + + +explicitly_typed_local_variable_declarator - - -fixed_parameter + + +ref_kind - - + + integral_type - - -declaration_statement + + +ref - - -in + + +additive_expression - - -method_modifiers + + +identifier - - -=> + + +{ - - -async + + +Task - - -identifier + + +. - - -identifier + + +fixed_parameter - - + + block - - -[ + + +] - - -member_name + + +) - - -= + + +integral_type - - -boolean_literal + + +f3 - - -ref + + +3 - - -expression + + +identifier - - -method_modifiers + + +. - - -type + + +var - - -( + + +true - - + + statement_list - - -, - - - -additive_expression - - - -invocation_expression + + +method_modifier - - -void + + +identifier - - -b + + +class_member_declaration - - -method_body + + +identifier - - -int + + +age - - + + method_declaration - - -stackalloc - - - -string - - - -+ + + +type - - -method_body + + +type_argument_list - - -statement_list + + +{ - - + + +literal + + + ; - - -explicitly_typed_local_variable_declarator + + +identifier - - -variable_declarators + + +type_argument - - + + type - - -; + + +identifier - - -Vector3 + + +; - - -argument + + += - - -argument_value + + +primary_no_array_creation_expression - - -return_type + + +fixed_parameter - - -contextual_keyword + + +identifier - - -) + + +; - - -: + + +identifier - - -implicitly_typed_local_variable_declarator + + +. - - -= + + +literal - - -method_declaration + + +identifier - - + + identifier - - -expression + + +; - - -integral_type + + += - - -method_header + + +string - - -primary_no_array_creation_expression + + +type - - -buffer_element_type + + +Choice - - -declaration_statement + + +explicitly_typed_local_variable_declarator - - -implicitly_typed_local_variable_declarator + + +type - - -variable_reference + + +1 - - -readonly + + +ref_method_modifiers - - -type_argument + + +class_member_declaration - - -invocation_expression + + +ref - - -primary_expression + + +member_access - - -method_body + + +method_modifiers - - -r2 + + +method_declaration - - -local_variable_declaration + + +return_statement - - -b + + +identifier - - -void + + +) - - -additive_expression + + +statement_list - - -tuple_type + + +predefined_type - - -> + + +( - - -relational_expression + + +identifier - - -T + + +] - - + + identifier - - -fixed_statement + + +identifier - - -, + + +string - - -, + + +ref - - -primary_expression + + +=> - - -statement_expression + + +switch_statement - - -member_name + + +literal - - -multiplicative_expression + + ++ - - -identifier + + +primary_expression - - -method_declaration + + +literal - - -switch + + +tuple_element - - -member_access + + +ref - - -field_declaration + + +statement - - -( + + +] - - -) + + +statement - - -} + + +Y - - -unmanaged_type + + +identifier - - -method_declaration + + +type - - -method_modifier + + +, - - -if + + +: - - -1 + + +type - - -( + + +implicitly_typed_local_variable_declaration - - -ref_method_modifier + + +primary_expression - - -stackalloc_initializer + + +multiplicative_expression - - -primary_expression + + +0b1_0_1 - - -identifier + + +; - - -argument_value + + +explicit_anonymous_function_parameter - - -ref_method_modifier + + +argument - - -666 + + +struct_declaration - - -, + + +{ - - -Vector3 + + +identifier - - -y + + +: - - -span + + +local_variable_declaration - - + + identifier - - -literal - - - -argument_list + + +) - - + + argument_list - - -Task + + +identifier - - -H + + +!= - - -null + + +identifier - - -statement_expression + + +value - - -invocation_expression + + +identifier - - -ref_kind + + +fixed_parameter - - -int + + +type_arguments - - -statement_list + + +primary_expression - - -identifier + + +; - - -explicitly_typed_local_variable_declarators + + +DigitSeparators - - -myFixedField + + +public - - -statement + + +} - - -parameter_mode_modifier + + +int - - -identifier + + +Span - - -CSharp73 + + +parameter_modifier - - -local_variable_initializer + + +3 - - -5 + + +return_type - - -DefaultWithoutTypeName + + +parenthesized_expression - - -fixed_size_buffer_declarators + + +) - - -expression + + +argument_list - - -StackallocArrayInitializer + + +. - - -true + + +Vector3 - - -[ + + +( - - -relational_expression + + +variable_reference - - -method_header + + +{ - - -. + + +variable_reference - - + + identifier - - -method_modifiers - - - -integral_type + + +type - - -} + + +class_member_declaration - - -namespace_or_type_name + + +void - - -= + + +stackalloc - - -identifier + + +statement - - -anonymous_function_signature + + +struct_member_declaration - - -> + + +identifier - - -integral_type + + +argument - - -( + + +fixed_parameter - - -parenthesized_expression + + +statement_list - - -class_declaration + + +x - - -element_access + + +; - - -} + + ++ - - -local_variable_declaration + + +int - - + + identifier - - -local_variable_declaration + + +explicitly_typed_local_variable_declarators - - -type_argument_list + + +condition - - -variable_reference + + +fixed_parameter - - -return + + +stackalloc_element_initializer - - -TKey + + +null_coalescing_expression - - -( + + +statement_list - - -identifier + + +; - - -Y + + +( - - -struct_body + + +identifier - - -} + + +return_type - - -alternative + + +] - - -class + + +primary_expression - - -literal + + +conditional_expression - - -return_type + + +if_statement - - -age + + +primary_expression - - -additive_expression + + +equality_expression - - -var + + +v1 - - + + identifier - - -literal + + +integral_type - - -variable_reference + + +member_name - - -) + + +indexer_declaration - - -explicitly_typed_local_variable_declarator + + +string - - -method_declaration + + +. - - -i + + +var - - -method_body + + +name - - -static + + +> - - -local_variable_declaration + + +int - - -identifier + + +member_access - - -Guid + + +{ - - -literal + + +type - - -identifier + + +statement - - -; + + +PatternMatching - - -equality_expression + + +fixed_parameter - - -= + + +integral_type - - + + identifier - - -expression - - - -DoSomething - - - -literal + + +method_header - - -tuple_expression + + +) - - -Hello + + +identifier - - -tuple_type_element + + +identifier - - -case + + +FromResult - - -expression_statement + + +statement_expression - - -block + + +type - - -statement + + +anonymous_function_body - - -[ + + +class - - -literal + + +local_variable_initializer - - -type_argument_list + + +; - - + + ) - - -invocation_expression + + +identifier - - -invocation_expression + + +0 - - -: + + +statement - - -ref_method_body + + ++ - - -declaration_statement + + +argument_list - - -default + + +variable_reference - - -( + + +> - - -ref + + +y - - + + +identifier + + + argument - - -type + + +b - - -statement_list + + +integral_type - - -, + + +Span - - -: + + +method_modifiers - - -, + + +async - - -+ + + +; - - -declaration_statement + + +class_type - - -identifier + + +] - - -TryParse + + +tuple_type - - -Vector3 + + +boolean_literal - - -= + + +identifier - - -return_statement + + +fixed_parameter - - -unsafe + + +statement - - -boolean_expression + + +, - - -lambda_expression + + +method_modifiers - - -declaration_expression + + +explicit_anonymous_function_signature - - -ref_method_body + + +( - - -[ + + +var - - -invocation_expression + + +expression - - -class_body + + +null - - -argument_value + + +explicitly_typed_local_variable_declaration - - -> + + +E - - -constant_expression + + +type - - -predefined_type + + +ref_method_modifier - - -( + + +return_type - - -== + + +ref - - -fixed_pointer_declarators + + +local_variable_initializer - - -identifier + + +} - - -nullableResult + + +void - - -} + + +== - - + + method_body - - -primary_expression - - - -myFixedField + + +v2 - - -t1 + + +DefaultWithoutTypeName - - + + , - - -statement_list + + +( - - -literal + + +i - - -type_argument + + +element_access - - -identifier + + +; + + + +embedded_statement + + + +tuple_expression + + + +. \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.gruntree.red.txt index 602aecf74..86bca3d15 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.gruntree.red.txt @@ -92,131 +92,178 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ != +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ != -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list @@ -225,205 +272,149 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ H -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ H ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join_into_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join_into_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -496,104 +487,101 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderings ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderings +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ O -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ O +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering_direction -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ascending -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering_direction +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ascending ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby_clause +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderings ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderings +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Key +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Key +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering_direction -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ descending -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering_direction +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ descending ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tokens.txt index f251dd684..34bc10a64 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tokens.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tokens.txt @@ -6,130 +6,130 @@ [@5,61:61='(',<'('>,3:30] [@6,62:62=')',<')'>,3:31] [@7,67:67='{',<'{'>,4:3] -[@8,1111:1113='var',<'var'>,25:6] -[@9,1115:1119='query',,25:10] -[@10,1121:1121='=',<'='>,25:16] -[@11,1123:1126='from',<'from'>,25:18] -[@12,1128:1128='c',,25:23] -[@13,1130:1131='in',<'in'>,25:25] -[@14,1133:1141='customers',,25:28] -[@15,1142:1142='<',<'<'>,25:37] -[@16,1143:1143='A',,25:38] -[@17,1144:1144='>',<'>'>,25:39] -[@18,1164:1166='let',<'let'>,26:18] -[@19,1168:1168='d',,26:22] -[@20,1170:1170='=',<'='>,26:24] -[@21,1172:1172='c',,26:26] -[@22,1173:1173='<',<'<'>,26:27] -[@23,1174:1174='B',,26:28] -[@24,1175:1175='>',<'>'>,26:29] -[@25,1195:1199='where',<'where'>,27:18] -[@26,1201:1201='d',,27:24] -[@27,1203:1204='!=',<'!='>,27:26] -[@28,1206:1209='null',<'null'>,27:29] -[@29,1211:1212='&&',<'&&'>,27:34] -[@30,1214:1214='d',,27:37] -[@31,1215:1215='<',<'<'>,27:38] -[@32,1216:1216='C',,27:39] -[@33,1217:1217=',',<','>,27:40] -[@34,1218:1218='D',,27:41] -[@35,1219:1219='>',<'>'>,27:42] -[@36,1239:1242='join',<'join'>,28:18] -[@37,1244:1245='c1',,28:23] -[@38,1247:1248='in',<'in'>,28:26] -[@39,1250:1258='customers',,28:29] -[@40,1259:1259='<',<'<'>,28:38] -[@41,1260:1260='E',,28:39] -[@42,1261:1261='>',<'>'>,28:40] -[@43,1263:1264='on',<'on'>,28:42] -[@44,1266:1267='c1',,28:45] -[@45,1268:1268='.',<'.'>,28:47] -[@46,1269:1279='GetHashCode',,28:48] -[@47,1280:1280='(',<'('>,28:59] -[@48,1281:1281=')',<')'>,28:60] -[@49,1283:1284='&&',<'&&'>,28:62] -[@50,1286:1287='c1',,28:65] -[@51,1288:1288='<',<'<'>,28:67] -[@52,1289:1289='G',,28:68] -[@53,1290:1290='>',<'>'>,28:69] -[@54,1292:1297='equals',<'equals'>,28:71] -[@55,1299:1299='c',,28:78] -[@56,1300:1300='.',<'.'>,28:79] -[@57,1301:1311='GetHashCode',,28:80] -[@58,1312:1312='(',<'('>,28:91] -[@59,1313:1313=')',<')'>,28:92] -[@60,1315:1316='&&',<'&&'>,28:94] -[@61,1318:1318='c',,28:97] -[@62,1319:1319='<',<'<'>,28:98] -[@63,1320:1320='H',,28:99] -[@64,1321:1321='>',<'>'>,28:100] -[@65,1341:1344='join',<'join'>,29:18] -[@66,1346:1347='c1',,29:23] -[@67,1349:1350='in',<'in'>,29:26] -[@68,1352:1360='customers',,29:29] -[@69,1362:1363='on',<'on'>,29:39] -[@70,1365:1366='c1',,29:42] -[@71,1367:1367='.',<'.'>,29:44] -[@72,1368:1378='GetHashCode',,29:45] -[@73,1379:1379='(',<'('>,29:56] -[@74,1380:1380=')',<')'>,29:57] -[@75,1382:1387='equals',<'equals'>,29:59] -[@76,1389:1389='c',,29:66] -[@77,1390:1390='.',<'.'>,29:67] -[@78,1391:1401='GetHashCode',,29:68] -[@79,1402:1402='(',<'('>,29:79] -[@80,1403:1403=')',<')'>,29:80] -[@81,1405:1408='into',<'into'>,29:82] -[@82,1410:1410='e',,29:87] -[@83,1430:1434='group',<'group'>,30:18] -[@84,1436:1436='c',,30:24] -[@85,1437:1437='<',<'<'>,30:25] -[@86,1438:1438='K',,30:26] -[@87,1439:1439='>',<'>'>,30:27] -[@88,1441:1442='by',<'by'>,30:29] -[@89,1444:1444='c',,30:32] -[@90,1445:1445='.',<'.'>,30:33] -[@91,1446:1452='Country',,30:34] -[@92,1453:1453='<',<'<'>,30:41] -[@93,1454:1454='M',,30:42] -[@94,1455:1455='>',<'>'>,30:43] -[@95,1479:1482='into',<'into'>,31:22] -[@96,1484:1484='g',,31:27] -[@97,1508:1514='orderby',<'orderby'>,32:22] -[@98,1516:1516='g',,32:30] -[@99,1517:1517='.',<'.'>,32:31] -[@100,1518:1522='Count',,32:32] -[@101,1523:1523='(',<'('>,32:37] -[@102,1524:1524=')',<')'>,32:38] -[@103,1525:1525='.',<'.'>,32:39] -[@104,1526:1526='O',,32:40] -[@105,1527:1527='<',<'<'>,32:41] -[@106,1528:1528='P',,32:42] -[@107,1529:1529='>',<'>'>,32:43] -[@108,1531:1539='ascending',<'ascending'>,32:45] -[@109,1563:1569='orderby',<'orderby'>,33:22] -[@110,1571:1571='g',,33:30] -[@111,1572:1572='.',<'.'>,33:31] -[@112,1573:1575='Key',,33:32] -[@113,1577:1586='descending',<'descending'>,33:36] -[@114,1610:1615='select',<'select'>,34:22] -[@115,1617:1619='new',<'new'>,34:29] -[@116,1621:1621='{',<'{'>,34:33] -[@117,1623:1629='Country',,34:35] -[@118,1631:1631='=',<'='>,34:43] -[@119,1633:1633='g',,34:45] -[@120,1634:1634='.',<'.'>,34:46] -[@121,1635:1637='Key',,34:47] -[@122,1638:1638=',',<','>,34:50] -[@123,1640:1648='CustCount',,34:52] -[@124,1650:1650='=',<'='>,34:62] -[@125,1652:1652='g',,34:64] -[@126,1653:1653='.',<'.'>,34:65] -[@127,1654:1658='Count',,34:66] -[@128,1659:1659='(',<'('>,34:71] -[@129,1660:1660=')',<')'>,34:72] -[@130,1662:1662='}',<'}'>,34:74] -[@131,1663:1663=';',<';'>,34:75] -[@132,1669:1669='}',<'}'>,36:3] -[@133,1671:1671='}',<'}'>,37:0] -[@134,1672:1671='',,37:1] +[@8,1099:1101='var',<'var'>,25:6] +[@9,1103:1107='query',,25:10] +[@10,1109:1109='=',<'='>,25:16] +[@11,1111:1114='from',<'from'>,25:18] +[@12,1116:1116='c',,25:23] +[@13,1118:1119='in',<'in'>,25:25] +[@14,1121:1129='customers',,25:28] +[@15,1130:1130='<',<'<'>,25:37] +[@16,1131:1131='A',,25:38] +[@17,1132:1132='>',<'>'>,25:39] +[@18,1152:1154='let',<'let'>,26:18] +[@19,1156:1156='d',,26:22] +[@20,1158:1158='=',<'='>,26:24] +[@21,1160:1160='c',,26:26] +[@22,1161:1161='<',<'<'>,26:27] +[@23,1162:1162='B',,26:28] +[@24,1163:1163='>',<'>'>,26:29] +[@25,1183:1187='where',<'where'>,27:18] +[@26,1189:1189='d',,27:24] +[@27,1191:1192='!=',<'!='>,27:26] +[@28,1194:1197='null',<'null'>,27:29] +[@29,1199:1200='&&',<'&&'>,27:34] +[@30,1202:1202='d',,27:37] +[@31,1203:1203='<',<'<'>,27:38] +[@32,1204:1204='C',,27:39] +[@33,1205:1205=',',<','>,27:40] +[@34,1206:1206='D',,27:41] +[@35,1207:1207='>',<'>'>,27:42] +[@36,1227:1230='join',<'join'>,28:18] +[@37,1232:1233='c1',,28:23] +[@38,1235:1236='in',<'in'>,28:26] +[@39,1238:1246='customers',,28:29] +[@40,1247:1247='<',<'<'>,28:38] +[@41,1248:1248='E',,28:39] +[@42,1249:1249='>',<'>'>,28:40] +[@43,1251:1252='on',<'on'>,28:42] +[@44,1254:1255='c1',,28:45] +[@45,1256:1256='.',<'.'>,28:47] +[@46,1257:1267='GetHashCode',,28:48] +[@47,1268:1268='(',<'('>,28:59] +[@48,1269:1269=')',<')'>,28:60] +[@49,1271:1272='&&',<'&&'>,28:62] +[@50,1274:1275='c1',,28:65] +[@51,1276:1276='<',<'<'>,28:67] +[@52,1277:1277='G',,28:68] +[@53,1278:1278='>',<'>'>,28:69] +[@54,1280:1285='equals',<'equals'>,28:71] +[@55,1287:1287='c',,28:78] +[@56,1288:1288='.',<'.'>,28:79] +[@57,1289:1299='GetHashCode',,28:80] +[@58,1300:1300='(',<'('>,28:91] +[@59,1301:1301=')',<')'>,28:92] +[@60,1303:1304='&&',<'&&'>,28:94] +[@61,1306:1306='c',,28:97] +[@62,1307:1307='<',<'<'>,28:98] +[@63,1308:1308='H',,28:99] +[@64,1309:1309='>',<'>'>,28:100] +[@65,1329:1332='join',<'join'>,29:18] +[@66,1334:1335='c1',,29:23] +[@67,1337:1338='in',<'in'>,29:26] +[@68,1340:1348='customers',,29:29] +[@69,1350:1351='on',<'on'>,29:39] +[@70,1353:1354='c1',,29:42] +[@71,1355:1355='.',<'.'>,29:44] +[@72,1356:1366='GetHashCode',,29:45] +[@73,1367:1367='(',<'('>,29:56] +[@74,1368:1368=')',<')'>,29:57] +[@75,1370:1375='equals',<'equals'>,29:59] +[@76,1377:1377='c',,29:66] +[@77,1378:1378='.',<'.'>,29:67] +[@78,1379:1389='GetHashCode',,29:68] +[@79,1390:1390='(',<'('>,29:79] +[@80,1391:1391=')',<')'>,29:80] +[@81,1393:1396='into',<'into'>,29:82] +[@82,1398:1398='e',,29:87] +[@83,1418:1422='group',<'group'>,30:18] +[@84,1424:1424='c',,30:24] +[@85,1425:1425='<',<'<'>,30:25] +[@86,1426:1426='K',,30:26] +[@87,1427:1427='>',<'>'>,30:27] +[@88,1429:1430='by',<'by'>,30:29] +[@89,1432:1432='c',,30:32] +[@90,1433:1433='.',<'.'>,30:33] +[@91,1434:1440='Country',,30:34] +[@92,1441:1441='<',<'<'>,30:41] +[@93,1442:1442='M',,30:42] +[@94,1443:1443='>',<'>'>,30:43] +[@95,1467:1470='into',<'into'>,31:22] +[@96,1472:1472='g',,31:27] +[@97,1496:1502='orderby',<'orderby'>,32:22] +[@98,1504:1504='g',,32:30] +[@99,1505:1505='.',<'.'>,32:31] +[@100,1506:1510='Count',,32:32] +[@101,1511:1511='(',<'('>,32:37] +[@102,1512:1512=')',<')'>,32:38] +[@103,1513:1513='.',<'.'>,32:39] +[@104,1514:1514='O',,32:40] +[@105,1515:1515='<',<'<'>,32:41] +[@106,1516:1516='P',,32:42] +[@107,1517:1517='>',<'>'>,32:43] +[@108,1519:1527='ascending',<'ascending'>,32:45] +[@109,1551:1557='orderby',<'orderby'>,33:22] +[@110,1559:1559='g',,33:30] +[@111,1560:1560='.',<'.'>,33:31] +[@112,1561:1563='Key',,33:32] +[@113,1565:1574='descending',<'descending'>,33:36] +[@114,1598:1603='select',<'select'>,34:22] +[@115,1605:1607='new',<'new'>,34:29] +[@116,1609:1609='{',<'{'>,34:33] +[@117,1611:1617='Country',,34:35] +[@118,1619:1619='=',<'='>,34:43] +[@119,1621:1621='g',,34:45] +[@120,1622:1622='.',<'.'>,34:46] +[@121,1623:1625='Key',,34:47] +[@122,1626:1626=',',<','>,34:50] +[@123,1628:1636='CustCount',,34:52] +[@124,1638:1638='=',<'='>,34:62] +[@125,1640:1640='g',,34:64] +[@126,1641:1641='.',<'.'>,34:65] +[@127,1642:1646='Count',,34:66] +[@128,1647:1647='(',<'('>,34:71] +[@129,1648:1648=')',<')'>,34:72] +[@130,1650:1650='}',<'}'>,34:74] +[@131,1651:1651=';',<';'>,34:75] +[@132,1657:1657='}',<'}'>,36:3] +[@133,1659:1659='}',<'}'>,37:0] +[@134,1660:1659='',,37:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.red.txt index 3a214f6e7..112387fa6 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (class_declaration class (identifier TypeArgumentListChecks) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier TypeArgumentListChecks)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier query) = (expression (query_expression (from_clause from (identifier c) in (expression (simple_name (identifier customers) (type_argument_list < (type_arguments (identifier A)) >)))) (query_body (query_body_clauses (query_body_clauses (query_body_clauses (query_body_clauses (let_clause let (identifier d) = (expression (simple_name (identifier c) (type_argument_list < (type_arguments (identifier B)) >))))) (query_body_clause (where_clause where (boolean_expression (conditional_and_expression (conditional_and_expression (equality_expression (equality_expression (identifier d)) != (relational_expression (null_literal null)))) && (inclusive_or_expression (simple_name (identifier d) (type_argument_list < (type_arguments (type_argument (identifier C)) , (type_argument (identifier D))) >)))))))) (query_body_clause (join_clause join (identifier c1) in (expression (simple_name (identifier customers) (type_argument_list < (type_arguments (identifier E)) >))) on (expression (conditional_and_expression (conditional_and_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) && (inclusive_or_expression (simple_name (identifier c1) (type_argument_list < (type_arguments (identifier G)) >))))) equals (expression (conditional_and_expression (conditional_and_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))) && (inclusive_or_expression (simple_name (identifier c) (type_argument_list < (type_arguments (identifier H)) >)))))))) (query_body_clause (join_into_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))) into (identifier e)))) (select_or_group_clause (group_clause group (expression (simple_name (identifier c) (type_argument_list < (type_arguments (identifier K)) >))) by (expression (member_access (primary_expression (identifier c)) . (identifier Country) (type_argument_list < (type_arguments (identifier M)) >))))) (query_continuation into (identifier g) (query_body (query_body_clauses (query_body_clauses (orderby_clause orderby (orderings (ordering (expression (member_access (primary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))) . (identifier O) (type_argument_list < (type_arguments (identifier P)) >))) (ordering_direction ascending))))) (query_body_clause (orderby_clause orderby (orderings (ordering (expression (member_access (primary_expression (identifier g)) . (identifier Key))) (ordering_direction descending)))))) (select_or_group_clause (select_clause select (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier Country) = (expression (member_access (primary_expression (identifier g)) . (identifier Key)))) , (member_declarator (identifier CustCount) = (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))))) }))))))))))))) ;)) })))) })))) +(prog (compilation_unit (class_declaration class (identifier TypeArgumentListChecks) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier TypeArgumentListChecks)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier query) = (expression (query_expression (from_clause from (identifier c) in (expression (simple_name (identifier customers) (type_argument_list < (type_arguments (identifier A)) >)))) (query_body (query_body_clause (let_clause let (identifier d) = (expression (simple_name (identifier c) (type_argument_list < (type_arguments (identifier B)) >))))) (query_body_clause (where_clause where (boolean_expression (conditional_and_expression (conditional_and_expression (equality_expression (equality_expression (identifier d)) != (relational_expression (null_literal null)))) && (inclusive_or_expression (simple_name (identifier d) (type_argument_list < (type_arguments (type_argument (identifier C)) , (type_argument (identifier D))) >))))))) (query_body_clause (join_clause join (identifier c1) in (expression (simple_name (identifier customers) (type_argument_list < (type_arguments (identifier E)) >))) on (expression (conditional_and_expression (conditional_and_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) && (inclusive_or_expression (simple_name (identifier c1) (type_argument_list < (type_arguments (identifier G)) >))))) equals (expression (conditional_and_expression (conditional_and_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))) && (inclusive_or_expression (simple_name (identifier c) (type_argument_list < (type_arguments (identifier H)) >))))))) (query_body_clause (join_into_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))) into (identifier e))) (select_or_group_clause (group_clause group (expression (simple_name (identifier c) (type_argument_list < (type_arguments (identifier K)) >))) by (expression (member_access (primary_expression (identifier c)) . (identifier Country) (type_argument_list < (type_arguments (identifier M)) >))))) (query_continuation into (identifier g) (query_body (query_body_clause (orderby_clause orderby (orderings (ordering (expression (member_access (primary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))) . (identifier O) (type_argument_list < (type_arguments (identifier P)) >))) (ordering_direction ascending))))) (query_body_clause (orderby_clause orderby (orderings (ordering (expression (member_access (primary_expression (identifier g)) . (identifier Key))) (ordering_direction descending))))) (select_or_group_clause (select_clause select (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier Country) = (expression (member_access (primary_expression (identifier g)) . (identifier Key)))) , (member_declarator (identifier CustCount) = (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))))) }))))))))))))) ;)) })))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.svg index e4b5c4de9..c63c37afd 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.svg @@ -1,36 +1,36 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -45,1581 +45,1561 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -M + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +conditional_and_expression - - -type_argument + + +identifier - - -D + + +GetHashCode - - -> + + +) - - -( + + +where - - -expression + + +c - - -E + + +c1 - - -simple_name + + +&& - - -> + + +identifier + + + +< + + + +query_body_clause + + + +by - - + + +group + + + identifier - - -. + + +invocation_expression - - -CustCount + + +P - - -primary_expression + + +orderby_clause - - -member_access + + +orderby - - -; + + +. - - -member_access + + +. - - -invocation_expression + + +primary_expression - - -c + + +{ - - -type_argument_list + + +select_or_group_clause - - -< + + +( + + + +simple_name - - + + identifier - - -primary_expression + + +. - - -orderings + + +identifier - - -primary_expression + + +null - - -var + + +. - - + + identifier - - + + +expression + + + identifier - - + + identifier - - -simple_name + + +( - - -primary_expression + + +> - - -group_clause + + +identifier - - -local_variable_declaration + + +identifier - - -class + + +type_argument_list - - -prog + + +invocation_expression - - -< + + +member_access - - -, + + +type_argument_list - - + + implicitly_typed_local_variable_declaration - - -query_body_clause + + +) + + + +invocation_expression - - + + +type_arguments + + + . - - -primary_expression + + +expression - - -} + + +identifier - - -from + + +identifier - - -primary_expression + + +member_name - - -!= + + +member_access - - -expression + + +select_or_group_clause - - -c + + +> - - -query_body + + +implicitly_typed_local_variable_declarator - - -orderby_clause + + +simple_name - - -select + + +< - - + + identifier - - -declaration_statement + + +g - - -primary_expression + + +expression expression - - -descending - - - -} + + +type_argument_list - - -GetHashCode + + +> - - -member_declarator_list + + +expression - - -identifier + + +type_argument_list - - -g + + +ordering - - -primary_expression + + +c - - + + = - - -{ + + +primary_expression - - -> + + +identifier - - -let_clause + + +type_arguments - - -group + + +) - - -anonymous_object_creation_expression + + +new - - + + +} + + + query_body_clause - - -expression + + +customers - - -inclusive_or_expression + + +query_body_clause - - + + identifier - - -member_access + + +{ - - -ordering + + +identifier - - -select_or_group_clause + + +null_literal - - -member_access + + +c - - -type_arguments + + +c1 - - -. + + +&& - - + + type_arguments - - + + identifier - - -type_argument_list - - - -let + + +primary_expression - - -null_literal + + +) - - + + expression - - -< - - - -member_access + + +simple_name - - -c + + +primary_expression - - -G + + +< - - -customers + + +identifier - - -null + + +statement_list - - + + identifier - - -) + + +> - - -expression + + +&& - - -g + + +M - - -member_name + + +B - - -} + + +E - - -query_continuation + + +orderings - - -customers + + +orderings - - + + identifier - - -query_body + + +query_body_clause - - -member_declarator + + +identifier - - -member_access + + +, - - -where_clause + + +type_arguments + + + +boolean_expression - - + + identifier - - -in + + +class_body - - + + +identifier + + + +d + + + expression - - -primary_expression + + +GetHashCode - - -( + + +identifier - - -implicitly_typed_local_variable_declarator + + +identifier - - -member_access + + +void - - -ascending + + +in - - -query_body_clause + + +d - - -( + + +) - - -GetHashCode + + +. - - -join_clause + + +equals + + + +relational_expression - - + + c - - -expression + + +Key - - -type_arguments + + +primary_expression - - -type_arguments + + +CustCount - - -. + + +, in - - -) + + +local_variable_declaration - - -type_arguments + + +simple_name - - + + identifier - - -relational_expression + + +g - - -ordering_direction + + +inclusive_or_expression - - -identifier + + +anonymous_object_initializer - - -= + + +O - - -conditional_and_expression + + +expression - - -C + + +c - - -type_argument_list - - - -. - - - -member_access - - - -c1 - - - -. - - - -equals - - - -type_argument_list - - - -. + + +Country - - -query_body_clauses + + +class_declaration - - -H + + +primary_expression - - -GetHashCode + + +identifier - - + + invocation_expression - - -{ - - - -orderings - - - -query + + +member_declarator_list - - -c1 + + +type_arguments - - -= + + +expression - - + + > - - -identifier - - - -d - - - -expression - - - -g + + +} - - -query_body_clauses + + +< - - -identifier + + +join - - -inclusive_or_expression + + +> - - -type_arguments + + +member_access - - -query_body_clauses + + +let - - -. + + +) - - + + < - - -expression - - - -> - - - -) + + +simple_name - - -) + + +descending - - -identifier + + +type_arguments - - + + simple_name - - -identifier + + +Count - - -member_access + + +conditional_and_expression - - -. + + +type_argument_list + + + +var - - + + expression - - -identifier + + +type_arguments - - -Key + + +method_modifiers - - -d + + +block - - -identifier + + +g - - -equality_expression + + += - - -) + + +( - - -identifier + + +c1 - - -identifier + + +( - - + + primary_expression - - -select_or_group_clause + + +expression - - -( + + +let_clause - - + + primary_expression - - -> + + +primary_expression - - -identifier + + +c - - -method_declaration + + +g - - + + identifier - - -< - - - -class_declaration + + +{ - - -type_argument_list + + +K - - -expression + + +> - - + + conditional_and_expression - - -< - - - -&& - - - -statement_list + + +identifier - - -invocation_expression + + +identifier - - -expression + + +. - - + + into - - -K - - - -identifier - - - -invocation_expression + + +equality_expression - - -invocation_expression + + +query - - -query_body_clause + + +( - - -identifier + + +member_access - - -Count + + +A - - -return_type + + +on - - -customers + + +conditional_and_expression - - -join + + +orderby_clause - - -identifier + + +ordering - - -anonymous_object_initializer + + +member_access - - -< + + +declaration_statement - - -identifier + + +from - - + + identifier - - + + ( - - -identifier + + +G - - -g + + +invocation_expression - - -< + + +primary_expression - - -identifier + + +in - - -conditional_and_expression + + +c - - -type_arguments + + +d - - -c + + +compilation_unit - - -simple_name + + +member_access - - -from_clause + + +TypeArgumentListChecks - - -identifier + + +query_body_clause - - -Count + + +class - - + + member_access - - -g - - - -identifier + + +( - - -invocation_expression + + +> - - -primary_expression + + +Key - - -new + + +identifier - - -c1 + + +. - - -join + + +expression - - -A + + +join_into_clause - - -orderby_clause + + +join - - -simple_name + + +method_body - - + + identifier - - -. + + +inclusive_or_expression - - -type_arguments + + +orderby - - + + += + + + type_argument_list - - + + conditional_and_expression - - -orderby - - - -c + + +member_access - - -join_into_clause + + +> - - -identifier + + +return_type - - -block + + +conditional_and_expression - - -> + + +GetHashCode - - -compilation_unit + + +< - - -GetHashCode + + +expression - - + + identifier - - -query_body_clauses + + +member_declarator - - -e + + +} - - + + method_header - - -select_clause + + +type_argument - - -type_argument_list + + +identifier - - -query_body_clauses + + +< - - -Country + + +identifier - - -( + + +C - - -d + + +. - - -c1 + + +query_body - - -type_arguments + + +) - - -type_argument_list + + += - - -simple_name + + +primary_expression - - -< + + +. - - -boolean_expression + + +identifier - - -conditional_and_expression + + +identifier - - -> + + +e - - -identifier + + +select - - -identifier + + +c1 - - + + +query_body_clause + + + simple_name - - -expression + + +type_argument_list - - -Key + + +ordering_direction - - -method_modifiers + + +identifier - - -where + + +type_argument - - -identifier + + +primary_expression + + + +member_access - - + + class_member_declaration - - -{ + + +D - - -B + + +expression - - -identifier + + +ascending - - -Country + + +equality_expression - - -) + + +on - - -P + + +; - - + + identifier - - -on + + +identifier - - -> + + +type_arguments - - -, + + +expression - - -TypeArgumentListChecks + + +method_declaration - - -( + + +where_clause - - -inclusive_or_expression + + +ordering_direction - - -void + + +Count - - -query_expression + + +select_clause - - -type_argument_list + + +identifier - - -c1 + + +group_clause - - -in + + +member_access + + + +into - - + + expression - - + + +type_arguments + + + primary_expression - - -into + + +c1 - - -identifier + + +from_clause - - -= + + +inclusive_or_expression - - -identifier + + +!= - - -conditional_and_expression + + +customers - - -expression + + +identifier - - + + identifier - - -O + + +type_argument_list - - -primary_expression + + +identifier - - -) + + +query_continuation - - -&& + + +primary_expression - - -on + + +primary_expression - - -c + + +primary_expression - - -identifier + + +type_argument_list - - -ordering_direction + + +GetHashCode - - -equality_expression + + +g - - -member_declarator + + +invocation_expression - - -orderby + + +prog - - -method_body + + +query_body - - -&& + + +equals - - -identifier + + +join_clause - - -class_body + + +< - - -primary_expression + + +TypeArgumentListChecks - - -identifier + + +H - - -by + + +Country - - -ordering + + +anonymous_object_creation_expression - - -type_argument + + +identifier - - -query_body_clauses + + +member_declarator - - -primary_expression + + +query_expression - - -TypeArgumentListChecks + + +customers - - -equals + + +identifier - - + + identifier - - + + +< + + + identifier \ No newline at end of file From 8306316df4fc07fc4bbc95ea5660bf3a04900465 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Mon, 17 Mar 2025 16:20:24 +1300 Subject: [PATCH 234/259] [DTW.2] Remove *type_parameter_constraints_clauses* orphaned in the v5 -> v6 transition, and cleanup references --- standard/basic-concepts.md | 22 +++++++++++----------- standard/classes.md | 7 +------ standard/interfaces.md | 2 +- standard/structs.md | 2 +- 4 files changed, 14 insertions(+), 19 deletions(-) diff --git a/standard/basic-concepts.md b/standard/basic-concepts.md index 573879b52..cb00ae95d 100644 --- a/standard/basic-concepts.md +++ b/standard/basic-concepts.md @@ -66,7 +66,7 @@ Declarations in a C# program define the constituent elements of the program. C# A declaration defines a name in the ***declaration space*** to which the declaration belongs. It is a compile-time error to have two or more declarations that introduce members with the same name in a declaration space, except in the following cases: - Two or more namespace declarations with the same name are allowed in the same declaration space. Such namespace declarations are aggregated to form a single logical namespace and share a single declaration space. -- Declarations in separate programs but in the same namespace declaration space are allowed to share the same name. +- Declarations in separate programs but in the same namespace declaration space are allowed to share the same name. > *Note*: However, these declarations could introduce ambiguities if included in the same application. *end note* - Two or more methods with the same name but distinct signatures are allowed in the same declaration space ([§7.6](basic-concepts.md#76-signatures-and-overloading)). - Two or more type declarations with the same name but distinct numbers of type parameters are allowed in the same declaration space ([§7.8.2](basic-concepts.md#782-unqualified-names)). @@ -278,9 +278,9 @@ Depending on the context in which a member declaration takes place, only certain - Namespaces implicitly have `public` declared accessibility. No access modifiers are allowed on namespace declarations. - Types declared directly in compilation units or namespaces (as opposed to within other types) can have `public` or `internal` declared accessibility and default to `internal` declared accessibility. -- Class members can have any of the permitted kinds of declared accessibility and default to `private` declared accessibility. +- Class members can have any of the permitted kinds of declared accessibility and default to `private` declared accessibility. > *Note*: A type declared as a member of a class can have any of the permitted kinds of declared accessibility, whereas a type declared as a member of a namespace can have only `public` or `internal` declared accessibility. *end note* -- Struct members can have `public`, `internal`, or `private` declared accessibility and default to `private` declared accessibility because structs are implicitly sealed. Struct members introduced in a `struct` (that is, not inherited by that struct) cannot have `protected`, `protected internal`, or `private protected` declared accessibility. +- Struct members can have `public`, `internal`, or `private` declared accessibility and default to `private` declared accessibility because structs are implicitly sealed. Struct members introduced in a `struct` (that is, not inherited by that struct) cannot have `protected`, `protected internal`, or `private protected` declared accessibility. > *Note*: A type declared as a member of a struct can have `public`, `internal`, or `private` declared accessibility, whereas a type declared as a member of a namespace can have only `public` or `internal` declared accessibility. *end note* - Interface members implicitly have `public` declared accessibility. No access modifiers are allowed on interface member declarations. - Enumeration members implicitly have `public` declared accessibility. No access modifiers are allowed on enumeration member declarations. @@ -604,7 +604,7 @@ The ***scope*** of a name is the region of program text within which it is possi - The scope of a namespace member declared by a *namespace_member_declaration* within a *namespace_declaration* whose fully qualified name is `N`, is the *namespace_body* of every *namespace_declaration* whose fully qualified name is `N` or starts with `N`, followed by a period. - The scope of a name defined by an *extern_alias_directive* ([§14.4](namespaces.md#144-extern-alias-directives)) extends over the *using_directive*s, *global_attributes* and *namespace_member_declaration*s of its immediately containing *compilation_unit* or *namespace_body*. An *extern_alias_directive* does not contribute any new members to the underlying declaration space. In other words, an *extern_alias_directive* is not transitive, but, rather, affects only the *compilation_unit* or *namespace_body* in which it occurs. - The scope of a name defined or imported by a *using_directive* ([§14.5](namespaces.md#145-using-directives)) extends over the *global_attributes* and *namespace_member_declaration*s of the *compilation_unit* or *namespace_body* in which the *using_directive* occurs. A *using_directive* may make zero or more namespace or type names available within a particular *compilation_unit* or *namespace_body*, but does not contribute any new members to the underlying declaration space. In other words, a *using_directive* is not transitive but rather affects only the *compilation_unit* or *namespace_body* in which it occurs. -- The scope of a type parameter declared by a *type_parameter_list* on a *class_declaration* ([§15.2](classes.md#152-class-declarations)) is the *class_base*, *type_parameter_constraints_clauses*, and *class_body* of that *class_declaration*. +- The scope of a type parameter declared by a *type_parameter_list* on a *class_declaration* ([§15.2](classes.md#152-class-declarations)) is the *class_base*, *type_parameter_constraints_clause*s, and *class_body* of that *class_declaration*. > *Note*: Unlike members of a class, this scope does not extend to derived classes. *end note* - The scope of a type parameter declared by a *type_parameter_list* on a *struct_declaration* ([§16.2](structs.md#162-struct-declarations)) is the *struct_interfaces*, *type_parameter_constraints_clause*s, and *struct_body* of that *struct_declaration*. - The scope of a type parameter declared by a *type_parameter_list* on an *interface_declaration* ([§18.2](interfaces.md#182-interface-declarations)) is the *interface_base*, *type_parameter_constraints_clause*s, and *interface_body* of that *interface_declaration*. @@ -730,7 +730,7 @@ Name hiding through nesting can occur as a result of nesting namespaces or types > void F() > { > int i = 1; -> +> > void M1() > { > float i = 1.0f; @@ -872,7 +872,7 @@ namespace_name type_name : namespace_or_type_name ; - + namespace_or_type_name : identifier type_argument_list? | namespace_or_type_name '.' identifier type_argument_list? @@ -902,7 +902,7 @@ The meaning of a *namespace_or_type_name* is determined as follows: - If `x` is zero and the *namespace_or_type_name* appears within a generic method declaration ([§15.6](classes.md#156-methods)) but outside the *attributes* of its *method-header,* and if that declaration includes a type parameter ([§15.2.3](classes.md#1523-type-parameters)) with name `I`, then the *namespace_or_type_name* refers to that type parameter. - Otherwise, if the *namespace_or_type_name* appears within a type declaration, then for each instance type `T` ([§15.3.2](classes.md#1532-the-instance-type)), starting with the instance type of that type declaration and continuing with the instance type of each enclosing class or struct declaration (if any): - If `x` is zero and the declaration of `T` includes a type parameter with name `I`, then the *namespace_or_type_name* refers to that type parameter. - - Otherwise, if the *namespace_or_type_name* appears within the body of the type declaration, and `T` or any of its base types contain a nested accessible type having name `I` and `x` type parameters, then the *namespace_or_type_name* refers to that type constructed with the given type arguments. If there is more than one such type, the type declared within the more derived type is selected. + - Otherwise, if the *namespace_or_type_name* appears within the body of the type declaration, and `T` or any of its base types contain a nested accessible type having name `I` and `x` type parameters, then the *namespace_or_type_name* refers to that type constructed with the given type arguments. If there is more than one such type, the type declared within the more derived type is selected. > *Note*: Non-type members (constants, fields, methods, properties, indexers, operators, instance constructors, finalizers, and static constructors) and type members with a different number of type parameters are ignored when determining the meaning of the *namespace_or_type_name*. *end note* - Otherwise, for each namespace `N`, starting with the namespace in which the *namespace_or_type_name* occurs, continuing with each enclosing namespace (if any), and ending with the global namespace, the following steps are evaluated until an entity is located: - If `x` is zero and `I` is the name of a namespace in `N`, then: @@ -969,11 +969,11 @@ In other words, the fully qualified name of `N` is the complete hierarchical pa > { > class E {} // X.Y.E > class G // X.Y.G<> -> { +> { > class H {} // X.Y.G<>.H > } > class G // X.Y.G<,> -> { +> { > class H {} // X.Y.G<,>.H<> > } > } @@ -986,10 +986,10 @@ In other words, the fully qualified name of `N` is the complete hierarchical pa C# employs automatic memory management, which frees developers from manually allocating and freeing the memory occupied by objects. Automatic memory management policies are implemented by a garbage collector. The memory management life cycle of an object is as follows: 1. When the object is created, memory is allocated for it, the constructor is run, and the object is considered ***live***. -1. If neither the object nor any of its instance fields can be accessed by any possible continuation of execution, other than the running of finalizers, the object is considered ***no longer in use*** and it becomes eligible for finalization. +1. If neither the object nor any of its instance fields can be accessed by any possible continuation of execution, other than the running of finalizers, the object is considered ***no longer in use*** and it becomes eligible for finalization. > *Note*: The C# compiler and the garbage collector might choose to analyze code to determine which references to an object might be used in the future. For instance, if a local variable that is in scope is the only existing reference to an object, but that local variable is never referred to in any possible continuation of execution from the current execution point in the procedure, the garbage collector might (but is not required to) treat the object as no longer in use. *end note* 1. Once the object is eligible for finalization, at some unspecified later time the finalizer ([§15.13](classes.md#1513-finalizers)) (if any) for the object is run. Under normal circumstances the finalizer for the object is run once only, though implementation-defined APIs may allow this behavior to be overridden. -1. Once the finalizer for an object is run, if neither the object nor any of its instance fields can be accessed by any possible continuation of execution, including the running of finalizers, the object is considered inaccessible and the object becomes eligible for collection. +1. Once the finalizer for an object is run, if neither the object nor any of its instance fields can be accessed by any possible continuation of execution, including the running of finalizers, the object is considered inaccessible and the object becomes eligible for collection. > *Note*: An object which could previously not be accessed may become accessible again due to its finalizer. An example of this is provided below. *end note* 1. Finally, at some time after the object becomes eligible for collection, the garbage collector frees the memory associated with that object. diff --git a/standard/classes.md b/standard/classes.md index 0eca0c933..4e7081b25 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -20,7 +20,7 @@ class_declaration A *class_declaration* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)), followed by an optional set of *class_modifier*s ([§15.2.2](classes.md#1522-class-modifiers)), followed by an optional `partial` modifier ([§15.2.7](classes.md#1527-partial-type-declarations)), followed by the keyword `class` and an *identifier* that names the class, followed by an optional *type_parameter_list* ([§15.2.3](classes.md#1523-type-parameters)), followed by an optional *class_base* specification ([§15.2.4](classes.md#1524-class-base-specification)), followed by an optional set of *type_parameter_constraints_clause*s ([§15.2.5](classes.md#1525-type-parameter-constraints)), followed by a *class_body* ([§15.2.6](classes.md#1526-class-body)), optionally followed by a semicolon. -A class declaration shall not supply a *type_parameter_constraints_clause*s unless it also supplies a *type_parameter_list*. +A class declaration shall not supply *type_parameter_constraints_clause*s unless it also supplies a *type_parameter_list*. A class declaration that supplies a *type_parameter_list* is a generic class declaration. Additionally, any class nested inside a generic class declaration or a generic struct declaration is itself a generic class declaration, since type arguments for the containing type shall be supplied to create a constructed type ([§8.4](types.md#84-constructed-types)). @@ -391,11 +391,6 @@ Interface implementations are discussed further in [§18.6](interfaces.md#186-in Generic type and method declarations can optionally specify type parameter constraints by including *type_parameter_constraints_clause*s. ```ANTLR -type_parameter_constraints_clauses - : type_parameter_constraints_clause - | type_parameter_constraints_clauses type_parameter_constraints_clause - ; - type_parameter_constraints_clause : 'where' type_parameter ':' type_parameter_constraints ; diff --git a/standard/interfaces.md b/standard/interfaces.md index 8bafe9849..6d2484943 100644 --- a/standard/interfaces.md +++ b/standard/interfaces.md @@ -22,7 +22,7 @@ interface_declaration An *interface_declaration* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)), followed by an optional set of *interface_modifier*s ([§18.2.2](interfaces.md#1822-interface-modifiers)), followed by an optional partial modifier ([§15.2.7](classes.md#1527-partial-type-declarations)), followed by the keyword `interface` and an *identifier* that names the interface, followed by an optional *variant_type_parameter_list* specification ([§18.2.3](interfaces.md#1823-variant-type-parameter-lists)), followed by an optional *interface_base* specification ([§18.2.4](interfaces.md#1824-base-interfaces)), followed by an optional *type_parameter_constraints_clause*s specification ([§15.2.5](classes.md#1525-type-parameter-constraints)), followed by an *interface_body* ([§18.3](interfaces.md#183-interface-body)), optionally followed by a semicolon. -An interface declaration shall not supply a *type_parameter_constraints_clause*s unless it also supplies a *variant_type_parameter_list*. +An interface declaration shall not supply *type_parameter_constraints_clause*s unless it also supplies a *variant_type_parameter_list*. An interface declaration that supplies a *variant_type_parameter_list* is a generic interface declaration. Additionally, any interface nested inside a generic class declaration or a generic struct declaration is itself a generic interface declaration, since type arguments for the containing type shall be supplied to create a constructed type ([§8.4](types.md#84-constructed-types)). diff --git a/standard/structs.md b/standard/structs.md index 42ea342fc..de8126882 100644 --- a/standard/structs.md +++ b/standard/structs.md @@ -24,7 +24,7 @@ struct_declaration A *struct_declaration* consists of an optional set of *attributes* ([§22](attributes.md#22-attributes)), followed by an optional set of *struct_modifier*s ([§16.2.2](structs.md#1622-struct-modifiers)), followed by an optional `ref` modifier ([§16.2.3](structs.md#1623-ref-modifier)), followed by an optional partial modifier ([§15.2.7](classes.md#1527-partial-type-declarations)), followed by the keyword `struct` and an *identifier* that names the struct, followed by an optional *type_parameter_list* specification ([§15.2.3](classes.md#1523-type-parameters)), followed by an optional *struct_interfaces* specification ([§16.2.5](structs.md#1625-struct-interfaces)), followed by an optional *type_parameter_constraints-clauses* specification ([§15.2.5](classes.md#1525-type-parameter-constraints)), followed by a *struct_body* ([§16.2.6](structs.md#1626-struct-body)), optionally followed by a semicolon. -A struct declaration shall not supply a *type_parameter_constraints_clauses* unless it also supplies a *type_parameter_list*. +A struct declaration shall not supply *type_parameter_constraints_clause*s unless it also supplies a *type_parameter_list*. A struct declaration that supplies a *type_parameter_list* is a generic struct declaration. Additionally, any struct nested inside a generic class declaration or a generic struct declaration is itself a generic struct declaration, since type arguments for the containing type shall be supplied to create a constructed type ([§8.4](types.md#84-constructed-types)). From cd3310aef373746464d887e7b192dfd6e9de97a0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 19 Mar 2025 17:10:04 -0400 Subject: [PATCH 235/259] [create-pull-request] automated change (#1295) Co-authored-by: jskeet <17011+jskeet@users.noreply.github.com> --- standard/grammar.md | 81 ++++++++++++++++++++------------------------- 1 file changed, 35 insertions(+), 46 deletions(-) diff --git a/standard/grammar.md b/standard/grammar.md index 257bec50a..ee2267730 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -41,7 +41,7 @@ input_element // Source: §6.3.2 Line terminators New_Line : New_Line_Character - | '\u000D\u000A' // carriage return, line feed + | '\u000D\u000A' // carriage return, line feed ; // Source: §6.3.3 Comments @@ -58,7 +58,7 @@ fragment Input_Character // anything but New_Line_Character : ~('\u000D' | '\u000A' | '\u0085' | '\u2028' | '\u2029') ; - + fragment New_Line_Character : '\u000D' // carriage return | '\u000A' // line feed @@ -66,11 +66,11 @@ fragment New_Line_Character | '\u2028' // line separator | '\u2029' // paragraph separator ; - + fragment Delimited_Comment : '/*' Delimited_Comment_Section* ASTERISK+ '/' ; - + fragment Delimited_Comment_Section : SLASH | ASTERISK* Not_Slash_Or_Asterisk @@ -125,7 +125,7 @@ fragment Available_Identifier fragment Escaped_Identifier // Includes keywords and contextual keywords prefixed by '@'. // See note below. - : '@' Basic_Identifier + : '@' Basic_Identifier ; fragment Basic_Identifier @@ -246,16 +246,16 @@ fragment Decimal_Integer_Literal fragment Decorated_Decimal_Digit : '_'* Decimal_Digit ; - + fragment Decimal_Digit : '0'..'9' ; - + fragment Integer_Type_Suffix : 'U' | 'u' | 'L' | 'l' | 'UL' | 'Ul' | 'uL' | 'ul' | 'LU' | 'Lu' | 'lU' | 'lu' ; - + fragment Hexadecimal_Integer_Literal : ('0x' | '0X') Decorated_Hex_Digit+ Integer_Type_Suffix? ; @@ -263,11 +263,11 @@ fragment Hexadecimal_Integer_Literal fragment Decorated_Hex_Digit : '_'* Hex_Digit ; - + fragment Hex_Digit : '0'..'9' | 'A'..'F' | 'a'..'f' ; - + fragment Binary_Integer_Literal : ('0b' | '0B') Decorated_Binary_Digit+ Integer_Type_Suffix? ; @@ -275,7 +275,7 @@ fragment Binary_Integer_Literal fragment Decorated_Binary_Digit : '_'* Binary_Digit ; - + fragment Binary_Digit : '0' | '1' ; @@ -305,24 +305,24 @@ fragment Real_Type_Suffix Character_Literal : '\'' Character '\'' ; - + fragment Character : Single_Character | Simple_Escape_Sequence | Hexadecimal_Escape_Sequence | Unicode_Escape_Sequence ; - + fragment Single_Character // anything but ', \, and New_Line_Character : ~['\\\u000D\u000A\u0085\u2028\u2029] ; - + fragment Simple_Escape_Sequence : '\\\'' | '\\"' | '\\\\' | '\\0' | '\\a' | '\\b' | '\\f' | '\\n' | '\\r' | '\\t' | '\\v' ; - + fragment Hexadecimal_Escape_Sequence : '\\x' Hex_Digit Hex_Digit? Hex_Digit? Hex_Digit? ; @@ -332,11 +332,11 @@ String_Literal : Regular_String_Literal | Verbatim_String_Literal ; - + fragment Regular_String_Literal : '"' Regular_String_Literal_Character* '"' ; - + fragment Regular_String_Literal_Character : Single_Regular_String_Literal_Character | Simple_Escape_Sequence @@ -352,16 +352,16 @@ fragment Single_Regular_String_Literal_Character fragment Verbatim_String_Literal : '@"' Verbatim_String_Literal_Character* '"' ; - + fragment Verbatim_String_Literal_Character : Single_Verbatim_String_Literal_Character | Quote_Escape_Sequence ; - + fragment Single_Verbatim_String_Literal_Character : ~["] // anything but quotation mark (U+0022) ; - + fragment Quote_Escape_Sequence : '""' ; @@ -431,11 +431,11 @@ fragment PP_Conditional_Symbol fragment PP_Expression : PP_Whitespace? PP_Or_Expression PP_Whitespace? ; - + fragment PP_Or_Expression : PP_And_Expression (PP_Whitespace? '||' PP_Whitespace? PP_And_Expression)* ; - + fragment PP_And_Expression : PP_Equality_Expression (PP_Whitespace? '&&' PP_Whitespace? PP_Equality_Expression)* @@ -445,12 +445,12 @@ fragment PP_Equality_Expression : PP_Unary_Expression (PP_Whitespace? ('==' | '!=') PP_Whitespace? PP_Unary_Expression)* ; - + fragment PP_Unary_Expression : PP_Primary_Expression | '!' PP_Whitespace? PP_Unary_Expression ; - + fragment PP_Primary_Expression : TRUE | FALSE @@ -475,15 +475,15 @@ fragment PP_Conditional fragment PP_If_Section : 'if' PP_Whitespace PP_Expression ; - + fragment PP_Elif_Section : 'elif' PP_Whitespace PP_Expression ; - + fragment PP_Else_Section : 'else' ; - + fragment PP_Endif : 'endif' ; @@ -523,11 +523,11 @@ fragment PP_Line_Indicator | DEFAULT | 'hidden' ; - + fragment PP_Compilation_Unit_Name : '"' PP_Compilation_Unit_Name_Character* '"' ; - + fragment PP_Compilation_Unit_Name_Character // Any Input_Character except " : ~('\u000D' | '\u000A' | '\u0085' | '\u2028' | '\u2029' | '"') @@ -1092,8 +1092,7 @@ element_initializer ; expression_list - : expression - | expression_list ',' expression + : expression (',' expression)* ; // Source: §12.8.17.3 Anonymous object creation expressions @@ -1410,12 +1409,7 @@ from_clause ; query_body - : query_body_clauses? select_or_group_clause query_continuation? - ; - -query_body_clauses - : query_body_clause - | query_body_clauses query_body_clause + : query_body_clause* select_or_group_clause query_continuation? ; query_body_clause @@ -1948,12 +1942,11 @@ class_modifier // Source: §15.2.3 Type parameters type_parameter_list - : '<' type_parameters '>' + : '<' decorated_type_parameter (',' decorated_type_parameter)* '>' ; -type_parameters +decorated_type_parameter : attributes? type_parameter - | type_parameters ',' attributes? type_parameter ; // Source: §15.2.4.1 General @@ -2508,17 +2501,13 @@ interface_modifier // Source: §18.2.3.1 General variant_type_parameter_list - : '<' variant_type_parameters '>' + : '<' variant_type_parameter (',' variant_type_parameter)* '>' ; -// Source: §18.2.3.1 General -variant_type_parameters +variant_type_parameter : attributes? variance_annotation? type_parameter - | variant_type_parameters ',' attributes? variance_annotation? - type_parameter ; -// Source: §18.2.3.1 General variance_annotation : 'in' | 'out' From 97140eca7955c4247d7850bf13a9532d7cf209d3 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 20 Mar 2025 11:23:33 -0400 Subject: [PATCH 236/259] use forked GHA (#1298) This minimizes a potential security attack vector. --- .github/workflows/smart-quotes.yaml | 2 +- .github/workflows/update-on-merge.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/smart-quotes.yaml b/.github/workflows/smart-quotes.yaml index 60fee2a3a..04a34d9a6 100644 --- a/.github/workflows/smart-quotes.yaml +++ b/.github/workflows/smart-quotes.yaml @@ -37,7 +37,7 @@ jobs: shell: bash - name: Create pull request - uses: peter-evans/create-pull-request@v7.0.8 + uses: dotnet/actions-create-pull-request@v4 with: title: 'Run smarten on demand' body: 'Run the smarten action to create smart quotes' \ No newline at end of file diff --git a/.github/workflows/update-on-merge.yaml b/.github/workflows/update-on-merge.yaml index 084cf86e7..07f0e25e1 100644 --- a/.github/workflows/update-on-merge.yaml +++ b/.github/workflows/update-on-merge.yaml @@ -56,7 +56,7 @@ jobs: shell: bash - name: Create pull request - uses: peter-evans/create-pull-request@v7.0.8 + uses: dotnet/actions-create-pull-request@v4 if: ${{ steps.renumber-sections.outputs.status }} == 'success' && ${{ steps.update-grammar.outputs.status }} == 'success' with: title: "Automated Section renumber and grammar extraction" From 399370124047e8af118aedb921d4c2c902f127ee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Apr 2025 08:57:14 -0400 Subject: [PATCH 237/259] Bump the dotnet group in /tools with 2 updates (#1300) Bumps the dotnet group in /tools with 2 updates: [Microsoft.Build.Locator](https://github.com/microsoft/MSBuildLocator) and XMLUnit.Core. Updates `Microsoft.Build.Locator` from 1.7.8 to 1.9.1 - [Release notes](https://github.com/microsoft/MSBuildLocator/releases) - [Commits](https://github.com/microsoft/MSBuildLocator/compare/v1.7.8...v1.9.1) Updates `XMLUnit.Core` from 2.10.0 to 2.11.0 --- updated-dependencies: - dependency-name: Microsoft.Build.Locator dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: XMLUnit.Core dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/ExampleTester/ExampleTester.csproj | 2 +- tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/ExampleTester/ExampleTester.csproj b/tools/ExampleTester/ExampleTester.csproj index 5a8886a1b..f3c18b999 100644 --- a/tools/ExampleTester/ExampleTester.csproj +++ b/tools/ExampleTester/ExampleTester.csproj @@ -8,7 +8,7 @@ - + diff --git a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj index 969797cad..1d056aa4a 100644 --- a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj +++ b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj @@ -1,4 +1,4 @@ - + net8.0 @@ -15,7 +15,7 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive From 4db1844bd5b636318db0f203db89fedce2a5bdca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Apr 2025 08:58:04 -0400 Subject: [PATCH 238/259] Bump step-security/harden-runner from 2.11.0 to 2.11.1 (#1301) Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.11.0 to 2.11.1. - [Release notes](https://github.com/step-security/harden-runner/releases) - [Commits](https://github.com/step-security/harden-runner/compare/4d991eb9b905ef189e4c376166672c3f2f230481...c6295a65d1254861815972266d5933fd6e532bdf) --- updated-dependencies: - dependency-name: step-security/harden-runner dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/do-not-merge-label-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/do-not-merge-label-check.yml b/.github/workflows/do-not-merge-label-check.yml index 75e18e840..d0dec1226 100644 --- a/.github/workflows/do-not-merge-label-check.yml +++ b/.github/workflows/do-not-merge-label-check.yml @@ -22,7 +22,7 @@ jobs: - 'do not merge' steps: - name: Harden Runner - uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0 + uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1 with: egress-policy: audit From 30348352232ec10b2b99dc071ad232532483ae64 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 9 Apr 2025 09:13:35 -0400 Subject: [PATCH 239/259] [create-pull-request] automated change (#1296) Co-authored-by: BillWagner --- standard/grammar.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/standard/grammar.md b/standard/grammar.md index ee2267730..0c46d9679 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -570,7 +570,7 @@ namespace_name type_name : namespace_or_type_name ; - + namespace_or_type_name : identifier type_argument_list? | namespace_or_type_name '.' identifier type_argument_list? @@ -1961,11 +1961,6 @@ interface_type_list ; // Source: §15.2.5 Type parameter constraints -type_parameter_constraints_clauses - : type_parameter_constraints_clause - | type_parameter_constraints_clauses type_parameter_constraints_clause - ; - type_parameter_constraints_clause : 'where' type_parameter ':' type_parameter_constraints ; From b6117cda52ae057bbf971fc9b34ee4b9525c30fb Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Wed, 19 Mar 2025 12:03:35 +0000 Subject: [PATCH 240/259] Remove (s) in favor of just s Fixes #1274 --- standard/classes.md | 6 +++--- standard/documentation-comments.md | 2 +- standard/expressions.md | 6 +++--- standard/statements.md | 2 +- standard/types.md | 2 +- standard/unsafe-code.md | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index 4e7081b25..5845fff4a 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -336,7 +336,7 @@ It is not possible to derive from a sealed class. A *class_base* specification may include a list of interface types, in which case the class is said to implement the given interface types. For a constructed class type, including a nested type declared within a generic type declaration ([§15.3.9.7](classes.md#15397-nested-types-in-generic-classes)), each implemented interface type is obtained by substituting, for each *type_parameter* in the given interface, the corresponding *type_argument* of the constructed type. -The set of interfaces for a type declared in multiple parts ([§15.2.7](classes.md#1527-partial-type-declarations)) is the union of the interfaces specified on each part. A particular interface can only be named once on each part, but multiple parts can name the same base interface(s). There shall only be one implementation of each member of any given interface. +The set of interfaces for a type declared in multiple parts ([§15.2.7](classes.md#1527-partial-type-declarations)) is the union of the interfaces specified on each part. A particular interface can only be named once on each part, but multiple parts can name the same base interfaces. There shall only be one implementation of each member of any given interface. > *Example*: In the following: > @@ -351,7 +351,7 @@ The set of interfaces for a type declared in multiple parts ([§15.2.7](classes. > > *end example* -Typically, each part provides an implementation of the interface(s) declared on that part; however, this is not a requirement. A part can provide the implementation for an interface declared on a different part. +Typically, each part provides an implementation of the interfaces declared on that part; however, this is not a requirement. A part can provide the implementation for an interface declared on a different part. > *Example*: > @@ -4547,7 +4547,7 @@ For `extern` operators, the *operator_body* consists simply of a semicolon. For The following rules apply to all operator declarations: - An operator declaration shall include both a `public` and a `static` modifier. -- The parameter(s) of an operator shall have no modifiers other than `in`. +- The parameters of an operator shall have no modifiers other than `in`. - The signature of an operator ([§15.10.2](classes.md#15102-unary-operators), [§15.10.3](classes.md#15103-binary-operators), [§15.10.4](classes.md#15104-conversion-operators)) shall differ from the signatures of all other operators declared in the same class. - All types referenced in an operator declaration shall be at least as accessible as the operator itself ([§7.5.5](basic-concepts.md#755-accessibility-constraints)). - It is an error for the same modifier to appear multiple times in an operator declaration. diff --git a/standard/documentation-comments.md b/standard/documentation-comments.md index 6cf3d75c4..c63e028ea 100644 --- a/standard/documentation-comments.md +++ b/standard/documentation-comments.md @@ -701,7 +701,7 @@ The documentation generator observes the following rules when it generates the I T | Type (such as class, delegate, enum, interface, and struct) ! | Error string; the rest of the string provides information about the error. For example, the documentation generator generates error information for links that cannot be resolved. -- The second part of the string is the fully qualified name of the element, starting at the root of the namespace. The name of the element, its enclosing type(s), and namespace are separated by periods. If the name of the item itself has periods, they are replaced by \# (U+0023) characters. (It is assumed that no element has this character in its name.) Type arguments in the fully qualified name, for when a member explicitly implements a member of a generic interface, are encoded by replacing the “`<`” and “`>`” surrounding them with the “`{`” and “`}`” characters. +- The second part of the string is the fully qualified name of the element, starting at the root of the namespace. The name of the element, its enclosing types, and namespace are separated by periods. If the name of the item itself has periods, they are replaced by \# (U+0023) characters. (It is assumed that no element has this character in its name.) Type arguments in the fully qualified name, for when a member explicitly implements a member of a generic interface, are encoded by replacing the “`<`” and “`>`” surrounding them with the “`{`” and “`}`” characters. - For methods and properties with arguments, the argument list follows, enclosed in parentheses. For those without arguments, the parentheses are omitted. The arguments are separated by commas. The encoding of each argument is the same as a CLI signature, as follows: - Arguments are represented by their documentation name, which is based on their fully qualified name, modified as follows: - Arguments that represent generic types have an appended “`'`” character followed by the number of type parameters diff --git a/standard/expressions.md b/standard/expressions.md index 4db4572ab..5e0158937 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -1187,7 +1187,7 @@ Even though overload resolution of a dynamically bound operation takes place at In these cases a limited compile-time check is performed on each member in the known set of function members, to see if it can be known for certain never to be invoked at run-time. For each function member `F` a modified parameter and argument list are constructed: - First, if `F` is a generic method and type arguments were provided, then those are substituted for the type parameters in the parameter list. However, if type arguments were not provided, no such substitution happens. -- Then, any parameter whose type is open (i.e., contains a type parameter; see [§8.4.3](types.md#843-open-and-closed-types)) is elided, along with its corresponding parameter(s). +- Then, any parameter whose type is open (i.e., contains a type parameter; see [§8.4.3](types.md#843-open-and-closed-types)) is elided, along with its corresponding argument. For `F` to pass the check, all of the following shall hold: @@ -2229,7 +2229,7 @@ If the *primary_no_array_creation_expression* of an *element_access* is a value For an array access, the *primary_no_array_creation_expression* of the *element_access* shall be a value of an *array_type*. Furthermore, the *argument_list* of an array access is not allowed to contain named arguments. The number of expressions in the *argument_list* shall be the same as the rank of the *array_type*, and each expression shall be of type `int`, `uint`, `long`, or `ulong,` or shall be implicitly convertible to one or more of these types. -The result of evaluating an array access is a variable of the element type of the array, namely the array element selected by the value(s) of the expression(s) in the *argument_list*. +The result of evaluating an array access is a variable of the element type of the array, namely the array element selected by the values of the expressions in the *argument_list*. The run-time processing of an array access of the form `P[A]`, where `P` is a *primary_no_array_creation_expression* of an *array_type* and `A` is an *argument_list*, consists of the following steps: @@ -2237,7 +2237,7 @@ The run-time processing of an array access of the form `P[A]`, where `P` is a *p - The index expressions of the *argument_list* are evaluated in order, from left to right. Following evaluation of each index expression, an implicit conversion ([§10.2](conversions.md#102-implicit-conversions)) to one of the following types is performed: `int`, `uint`, `long`, `ulong`. The first type in this list for which an implicit conversion exists is chosen. For instance, if the index expression is of type `short` then an implicit conversion to `int` is performed, since implicit conversions from `short` to `int` and from `short` to `long` are possible. If evaluation of an index expression or the subsequent implicit conversion causes an exception, then no further index expressions are evaluated and no further steps are executed. - The value of `P` is checked to be valid. If the value of `P` is `null`, a `System.NullReferenceException` is thrown and no further steps are executed. - The value of each expression in the *argument_list* is checked against the actual bounds of each dimension of the array instance referenced by `P`. If one or more values are out of range, a `System.IndexOutOfRangeException` is thrown and no further steps are executed. -- The location of the array element given by the index expression(s) is computed, and this location becomes the result of the array access. +- The location of the array element given by the index expressions is computed, and this location becomes the result of the array access. #### 12.8.12.3 Indexer access diff --git a/standard/statements.md b/standard/statements.md index 6d51afd61..4348a0894 100644 --- a/standard/statements.md +++ b/standard/statements.md @@ -449,7 +449,7 @@ ref_local_variable_declarator The initializing *variable_reference* shall have type *type* and meet the same requirements as for a *ref assignment* ([§12.21.3](expressions.md#12213-ref-assignment)). -If *ref_kind* is `ref readonly`, the *identifier*(s) being declared are references to variables that are treated as read-only. Otherwise, if *ref_kind* is `ref`, the *identifier*(s) being declared are references to variables that shall be writable. +If *ref_kind* is `ref readonly`, the *identifier*s being declared are references to variables that are treated as read-only. Otherwise, if *ref_kind* is `ref`, the *identifier*s being declared are references to variables that shall be writable. It is a compile-time error to declare a ref local variable, or a variable of a `ref struct` type, within a method declared with the *method_modifier* `async`, or within an iterator ([§15.14](classes.md#1514-iterators)). diff --git a/standard/types.md b/standard/types.md index a431c7273..a58b681bc 100644 --- a/standard/types.md +++ b/standard/types.md @@ -555,7 +555,7 @@ All types can be classified as either ***open types*** or ***closed types***. An - A type parameter defines an open type. - An array type is an open type if and only if its element type is an open type. -- A constructed type is an open type if and only if one or more of its type arguments is an open type. A constructed nested type is an open type if and only if one or more of its type arguments or the type arguments of its containing type(s) is an open type. +- A constructed type is an open type if and only if one or more of its type arguments is an open type. A constructed nested type is an open type if and only if one or more of its type arguments or the type arguments of one or more of its containing types is an open type. A closed type is a type that is not an open type. diff --git a/standard/unsafe-code.md b/standard/unsafe-code.md index afada27f8..060bbc999 100644 --- a/standard/unsafe-code.md +++ b/standard/unsafe-code.md @@ -947,7 +947,7 @@ A fixed-size buffer declaration may include a set of attributes ([§22](attribut A fixed-size buffer declaration is not permitted to include the `static` modifier. -The buffer element type of a fixed-size buffer declaration specifies the element type of the buffer(s) introduced by the declaration. The buffer element type shall be one of the predefined types `sbyte`, `byte`, `short`, `ushort`, `int`, `uint`, `long`, `ulong`, `char`, `float`, `double`, or `bool`. +The buffer element type of a fixed-size buffer declaration specifies the element type of the buffers introduced by the declaration. The buffer element type shall be one of the predefined types `sbyte`, `byte`, `short`, `ushort`, `int`, `uint`, `long`, `ulong`, `char`, `float`, `double`, or `bool`. The buffer element type is followed by a list of fixed-size buffer declarators, each of which introduces a new member. A fixed-size buffer declarator consists of an identifier that names the member, followed by a constant expression enclosed in `[` and `]` tokens. The constant expression denotes the number of elements in the member introduced by that fixed-size buffer declarator. The type of the constant expression shall be implicitly convertible to type `int`, and the value shall be a non-zero positive integer. From ba0673e920bf516bd0b99d21bdc1041f1d963ffa Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Wed, 19 Mar 2025 19:55:38 +0000 Subject: [PATCH 241/259] Update standard/expressions.md Co-authored-by: Nigel-Ecma <6654683+Nigel-Ecma@users.noreply.github.com> --- standard/expressions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/expressions.md b/standard/expressions.md index 5e0158937..b192a8223 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -1187,7 +1187,7 @@ Even though overload resolution of a dynamically bound operation takes place at In these cases a limited compile-time check is performed on each member in the known set of function members, to see if it can be known for certain never to be invoked at run-time. For each function member `F` a modified parameter and argument list are constructed: - First, if `F` is a generic method and type arguments were provided, then those are substituted for the type parameters in the parameter list. However, if type arguments were not provided, no such substitution happens. -- Then, any parameter whose type is open (i.e., contains a type parameter; see [§8.4.3](types.md#843-open-and-closed-types)) is elided, along with its corresponding argument. +- Then, any parameter whose type is open (i.e., contains a type parameter; see [§8.4.3](types.md#843-open-and-closed-types)) is elided, along with its corresponding arguments. For `F` to pass the check, all of the following shall hold: From 0f60b2695e2a940c5a1e4c568e2f30eb7b66e1c4 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Tue, 15 Apr 2025 16:28:13 +0100 Subject: [PATCH 242/259] Add notnull example Fixes #1256 --- standard/classes.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/standard/classes.md b/standard/classes.md index 5845fff4a..e27f48438 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -489,6 +489,39 @@ The ***not null*** constraint specifies that a type argument used for the type p Because `notnull` is not a keyword, in *primary_constraint* the not null constraint is always syntactically ambiguous with *class_type*. For compatibility reasons, if a name lookup ([§12.8.4](expressions.md#1284-simple-names)) of the name `notnull` succeeds it is treated as a `class_type`. Otherwise it is treated as the not null constraint. +> *Example*: Consider the following: +> +> +> ```csharp +> #nullable enable +> public class C { } +> public class A where T : notnull { } +> public class B1 where T : C { } +> public class B2 where T : C? { } +> class Test +> { +> static void M() +> { +> // nonnull constraint allows nonnullable struct type argument +> A x1; +> // warning: nonnull constraint prohibits nullable struct type argument +> A x2; +> // nonnullconstraint allows nonnullable class type argument +> A x3; +> // warning: nonnull constraint prohibits nullable class type argument +> A x4; +> // nonnullable base class requirement allows nonnullable class type argument +> B1 x5; +> // warning: nonnullable base class requirement prohibits nullable class type argument +> B1 x6; +> // nullable base class requirement allows nonnullable class type argument +> B2 x7; +> // nullable base class requirement allows nullable class type argument +> B2 x8; +> } +> } +> ``` + The value type constraint specifies that a type argument used for the type parameter shall be a non-nullable value type. All non-nullable struct types, enum types, and type parameters having the value type constraint satisfy this constraint. Note that although classified as a value type, a nullable value type ([§8.3.12](types.md#8312-nullable-value-types)) does not satisfy the value type constraint. A type parameter having the value type constraint shall not also have the *constructor_constraint*, although it may be used as a type argument for another type parameter with a *constructor_constraint*. > *Note*: The `System.Nullable` type specifies the non-nullable value type constraint for `T`. Thus, recursively constructed types of the forms `T??` and `Nullable>` are prohibited. *end note* From a191e2458ba5dd35bf1cb4a06571b96ed2a1e604 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Wed, 16 Apr 2025 21:33:48 +0100 Subject: [PATCH 243/259] Adjust wording --- standard/classes.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index e27f48438..f41d58b35 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -489,7 +489,7 @@ The ***not null*** constraint specifies that a type argument used for the type p Because `notnull` is not a keyword, in *primary_constraint* the not null constraint is always syntactically ambiguous with *class_type*. For compatibility reasons, if a name lookup ([§12.8.4](expressions.md#1284-simple-names)) of the name `notnull` succeeds it is treated as a `class_type`. Otherwise it is treated as the not null constraint. -> *Example*: Consider the following: +> *Example*: The following class demonstrates the use of various type arguments against different constraints, indicating warnings which may be issued by a compiler. > > > ```csharp @@ -504,15 +504,15 @@ Because `notnull` is not a keyword, in *primary_constraint* the not null constra > { > // nonnull constraint allows nonnullable struct type argument > A x1; -> // warning: nonnull constraint prohibits nullable struct type argument +> // possible warning: nonnull constraint prohibits nullable struct type argument > A x2; -> // nonnullconstraint allows nonnullable class type argument +> // nonnull constraint allows nonnullable class type argument > A x3; -> // warning: nonnull constraint prohibits nullable class type argument +> // possible warning: nonnull constraint prohibits nullable class type argument > A x4; > // nonnullable base class requirement allows nonnullable class type argument > B1 x5; -> // warning: nonnullable base class requirement prohibits nullable class type argument +> // possible warning: nonnullable base class requirement prohibits nullable class type argument > B1 x6; > // nullable base class requirement allows nonnullable class type argument > B2 x7; From 6389cd03f1372216fc647016310d04f3c4de7ab0 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Wed, 16 Apr 2025 21:36:43 +0100 Subject: [PATCH 244/259] It is => it shall be --- standard/classes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/classes.md b/standard/classes.md index f41d58b35..7f27be105 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -487,7 +487,7 @@ For a type parameter `T` when the type argument is a nullable reference type `C? The ***not null*** constraint specifies that a type argument used for the type parameter should be a non-nullable value type or a non-nullable reference type. A type argument that isn’t a non-nullable value type or a non-nullable reference type is allowed, but a compiler may produce a diagnostic warning. -Because `notnull` is not a keyword, in *primary_constraint* the not null constraint is always syntactically ambiguous with *class_type*. For compatibility reasons, if a name lookup ([§12.8.4](expressions.md#1284-simple-names)) of the name `notnull` succeeds it is treated as a `class_type`. Otherwise it is treated as the not null constraint. +Because `notnull` is not a keyword, in *primary_constraint* the not null constraint is always syntactically ambiguous with *class_type*. For compatibility reasons, if a name lookup ([§12.8.4](expressions.md#1284-simple-names)) of the name `notnull` succeeds it shall be treated as a `class_type`. Otherwise it shall be treated as the not null constraint. > *Example*: The following class demonstrates the use of various type arguments against different constraints, indicating warnings which may be issued by a compiler. > From ba031e97335bd8cf1d34cb3979284a45b37656b3 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Wed, 16 Apr 2025 16:41:07 -0400 Subject: [PATCH 245/259] Fix typo (#1311) Fix a small typo noticed in the meeting --- standard/classes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standard/classes.md b/standard/classes.md index 7f27be105..ee9cbcfde 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -429,7 +429,7 @@ The list of constraints given in a `where` clause can include any of the followi A primary constraint can be a class type, the ***reference type constraint*** `class`, the ***value type constraint*** `struct`, the ***not null constraint*** `notnull` or the ***unmanaged type constraint*** `unmanaged`. The class type and the reference type constraint can include the *nullable_type_annotation*. -A secondary constraint can be an *interface_type* or *type_parameter*, optionally followed by a *nullable_type_annotation*. The presence of the nullable_type_annotatione* indicates that the type argument is allowed to be the nullable reference type that corresponds to a non-nullable reference type that satisfies the constraint. +A secondary constraint can be an *interface_type* or *type_parameter*, optionally followed by a *nullable_type_annotation*. The presence of the *nullable_type_annotation* indicates that the type argument is allowed to be the nullable reference type that corresponds to a non-nullable reference type that satisfies the constraint. The reference type constraint specifies that a type argument used for the type parameter shall be a reference type. All class types, interface types, delegate types, array types, and type parameters known to be a reference type (as defined below) satisfy this constraint. From 7b655f6b9cc30732433a324f944ca38e7d741597 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Tue, 15 Apr 2025 10:08:49 +0100 Subject: [PATCH 246/259] Straw man to address extern constructor requirements Towards #1253 and #158. --- standard/classes.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/standard/classes.md b/standard/classes.md index ee9cbcfde..7fcd70ffa 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -4896,6 +4896,8 @@ An instance constructor initializer cannot access the instance being created. Th When an instance constructor has no constructor initializer, or it has a constructor initializer of the form `base(...)`, that constructor implicitly performs the initializations specified by the *variable_initializer*s of the instance fields declared in its class. This corresponds to a sequence of assignments that are executed immediately upon entry to the constructor and before the implicit invocation of the direct base class constructor. The variable initializers are executed in the textual order in which they appear in the class declaration ([§15.5.6](classes.md#1556-variable-initializers)). +Variable initializers are not required to be executed by extern instance constructors. + ### 15.11.4 Constructor execution Variable initializers are transformed into assignment statements, and these assignment statements are executed *before* the invocation of the base class instance constructor. This ordering ensures that all instance fields are initialized by their variable initializers before *any* statements that have access to that instance are executed. @@ -5117,6 +5119,8 @@ If a class contains the `Main` method ([§7.1](basic-concepts.md#71-application- To initialize a new closed class type, first a new set of static fields ([§15.5.2](classes.md#1552-static-and-instance-fields)) for that particular closed type is created. Each of the static fields is initialized to its default value ([§15.5.5](classes.md#1555-field-initialization)). Next, the static field initializers ([§15.5.6.2](classes.md#15562-static-field-initialization)) are executed for those static fields. Finally, the static constructor is executed. +The requirement for the static constructor to be executed *after* the static field initializers does not apply to external static constructors. + > *Example*: The example > > From e8ae8ef97735f3b375ca5c63627c4eae3c66ce97 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Wed, 16 Apr 2025 21:53:35 +0100 Subject: [PATCH 247/259] Suggestions in meeting --- standard/classes.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index 7fcd70ffa..7539d4c1c 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -4894,7 +4894,7 @@ An instance constructor initializer cannot access the instance being created. Th ### 15.11.3 Instance variable initializers -When an instance constructor has no constructor initializer, or it has a constructor initializer of the form `base(...)`, that constructor implicitly performs the initializations specified by the *variable_initializer*s of the instance fields declared in its class. This corresponds to a sequence of assignments that are executed immediately upon entry to the constructor and before the implicit invocation of the direct base class constructor. The variable initializers are executed in the textual order in which they appear in the class declaration ([§15.5.6](classes.md#1556-variable-initializers)). +When a non-extern instance constructor has no constructor initializer, or it has a constructor initializer of the form `base(...)`, that constructor implicitly performs the initializations specified by the *variable_initializer*s of the instance fields declared in its class. This corresponds to a sequence of assignments that are executed immediately upon entry to the constructor and before the implicit invocation of the direct base class constructor. The variable initializers are executed in the textual order in which they appear in the class declaration ([§15.5.6](classes.md#1556-variable-initializers)). Variable initializers are not required to be executed by extern instance constructors. @@ -5117,9 +5117,12 @@ The static constructor for a closed class executes at most once in a given appli If a class contains the `Main` method ([§7.1](basic-concepts.md#71-application-startup)) in which execution begins, the static constructor for that class executes before the `Main` method is called. -To initialize a new closed class type, first a new set of static fields ([§15.5.2](classes.md#1552-static-and-instance-fields)) for that particular closed type is created. Each of the static fields is initialized to its default value ([§15.5.5](classes.md#1555-field-initialization)). Next, the static field initializers ([§15.5.6.2](classes.md#15562-static-field-initialization)) are executed for those static fields. Finally, the static constructor is executed. +To initialize a new closed class type, first a new set of static fields (§15.5.2) for that particular closed type shall be created. Each of the static fields shall be initialized to its default value (§15.5.5). Following this: -The requirement for the static constructor to be executed *after* the static field initializers does not apply to external static constructors. +- If there is either no static constructor or a non-extern static constructor then: + - the static field initializers (§15.5.6.2) shall be executed for those static fields; + - then the non-extern static constructor, if any, shall be executed. +- Otherwise if there is an extern static constructor it shall be executed. Static variable initializers are not required to be executed by extern static constructors. > *Example*: The example > From ecf59c5b14e73af96370d57de8efe218bf5597e3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 17 Apr 2025 10:34:38 -0400 Subject: [PATCH 248/259] [create-pull-request] automated change (#1312) Co-authored-by: jskeet --- standard/classes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/standard/classes.md b/standard/classes.md index 7539d4c1c..70cb2b229 100644 --- a/standard/classes.md +++ b/standard/classes.md @@ -5117,10 +5117,10 @@ The static constructor for a closed class executes at most once in a given appli If a class contains the `Main` method ([§7.1](basic-concepts.md#71-application-startup)) in which execution begins, the static constructor for that class executes before the `Main` method is called. -To initialize a new closed class type, first a new set of static fields (§15.5.2) for that particular closed type shall be created. Each of the static fields shall be initialized to its default value (§15.5.5). Following this: +To initialize a new closed class type, first a new set of static fields ([§15.5.2](classes.md#1552-static-and-instance-fields)) for that particular closed type shall be created. Each of the static fields shall be initialized to its default value ([§15.5.5](classes.md#1555-field-initialization)). Following this: - If there is either no static constructor or a non-extern static constructor then: - - the static field initializers (§15.5.6.2) shall be executed for those static fields; + - the static field initializers ([§15.5.6.2](classes.md#15562-static-field-initialization)) shall be executed for those static fields; - then the non-extern static constructor, if any, shall be executed. - Otherwise if there is an extern static constructor it shall be executed. Static variable initializers are not required to be executed by extern static constructors. From f24e29b39e0ffca0a9e7bb711e680f3bc2dae093 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Apr 2025 10:34:51 -0400 Subject: [PATCH 249/259] Bump actions/setup-node from 4.3.0 to 4.4.0 (#1310) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.3.0 to 4.4.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/cdca7365b2dadb8aad0a33bc7601856ffabcc48e...49933ea5288caeca8642d1e84afbd3f7d6820020) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: 4.4.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/markdownlint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/markdownlint.yml b/.github/workflows/markdownlint.yml index 9f0016edc..457729307 100644 --- a/.github/workflows/markdownlint.yml +++ b/.github/workflows/markdownlint.yml @@ -30,7 +30,7 @@ jobs: steps: - uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2 - name: Use Node.js - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 with: node-version: 16.x - name: Run Markdownlint From 4995441274a3fca64d168fdfaa1f792d2f0a1fb9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Apr 2025 10:35:07 -0400 Subject: [PATCH 250/259] Bump System.Text.Json from 9.0.3 to 9.0.4 in /tools in the dotnet group (#1306) Bumps the dotnet group in /tools with 1 update: [System.Text.Json](https://github.com/dotnet/runtime). Updates `System.Text.Json` from 9.0.3 to 9.0.4 - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](https://github.com/dotnet/runtime/compare/v9.0.3...v9.0.4) --- updated-dependencies: - dependency-name: System.Text.Json dependency-version: 9.0.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/Utilities/Utilities.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/Utilities/Utilities.csproj b/tools/Utilities/Utilities.csproj index e8be2ed2b..62afbd0ca 100644 --- a/tools/Utilities/Utilities.csproj +++ b/tools/Utilities/Utilities.csproj @@ -8,7 +8,7 @@ - + From 9871870ebac69185a9837f292b9a567466e43835 Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Tue, 22 Apr 2025 12:34:35 -0400 Subject: [PATCH 251/259] Update v8-feature-tracker.md (#1316) --- admin/v8-feature-tracker.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/admin/v8-feature-tracker.md b/admin/v8-feature-tracker.md index 30b854285..47bdaea23 100644 --- a/admin/v8-feature-tracker.md +++ b/admin/v8-feature-tracker.md @@ -13,7 +13,7 @@ override with constraints ([MS Proposal](https://github.com/dotnet/csharplang/bl unmanaged constructed types ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/constructed-unmanaged.md)) | [604](https://github.com/dotnet/csharpstandard/pull/604) | Merged | small | N/A | default interface methods ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/default-interface-methods.md)) | [681](https://github.com/dotnet/csharpstandard/pull/681) | Completed | medium | Done | permit `stackalloc` in nested contexts ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/nested-stackalloc.md)) | [1056](https://github.com/dotnet/csharpstandard/pull/1056), [1211](https://github.com/dotnet/csharpstandard/pull/1211) | Merged | small | N/A | -`notnull` constraint ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/notnull-constraint.md)) | [830](https://github.com/dotnet/csharpstandard/pull/830) | Completed | small | Done | +`notnull` constraint ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/notnull-constraint.md)) | [830](https://github.com/dotnet/csharpstandard/pull/830) | Merged | small | Done | null coalescing assignment ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/null-coalescing-assignment.md)) | [609](https://github.com/dotnet/csharpstandard/pull/609) | HELP NEEDED | small | N/A | See Issue [#737](https://github.com/dotnet/csharpstandard/issues/737) nullable reference types ([MS Proposal (from V9)](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-9.0/nullable-reference-types-specification.md) which supercedes ([MS Proposal (from V8)](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/nullable-reference-types.md)) |[700](https://github.com/dotnet/csharpstandard/pull/700), [1178](https://github.com/dotnet/csharpstandard/pull/1178), [1191](https://github.com/dotnet/csharpstandard/pull/1191), [1192](https://github.com/dotnet/csharpstandard/pull/1192), [1195](https://github.com/dotnet/csharpstandard/pull/1195) | Merged | large | Done | related to V8 "notnull" feature Obsolete on property accessor ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/obsolete-accessor.md)) | **no change needed** | Postponed | | N/A | See Issue [#375](https://github.com/dotnet/csharpstandard/issues/375) @@ -22,4 +22,4 @@ ranges and indices ([MS Proposal](https://github.com/dotnet/csharplang/blob/main readonly instance members ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/readonly-instance-members.md)) | [673](https://github.com/dotnet/csharpstandard/pull/673) | Completed | small | N/A | name shadowing in nested functions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/shadowing-in-nested-functions.md)) | [608](https://github.com/dotnet/csharpstandard/pull/608) | Merged | small | N/A | static local functions ([MS Proposal](https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/static-local-functions.md)) | [869](https://github.com/dotnet/csharpstandard/pull/869)| Merged | small | N/A | -Disposable ref structs [672](https://github.com/dotnet/csharpstandard/pull/672) | | **???** | | | Included in PR [606](https://github.com/dotnet/csharpstandard/pull/606); **Check this** +Disposable ref structs | | | | | Included in PR [606](https://github.com/dotnet/csharpstandard/pull/606) From 6781d09163c233b5763ff3c1aee32b09b5c0168b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 24 Apr 2025 10:38:47 -0400 Subject: [PATCH 252/259] Bump step-security/harden-runner from 2.11.1 to 2.12.0 (#1317) Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.11.1 to 2.12.0. - [Release notes](https://github.com/step-security/harden-runner/releases) - [Commits](https://github.com/step-security/harden-runner/compare/c6295a65d1254861815972266d5933fd6e532bdf...0634a2670c59f64b4a01f0f96f84700a4088b9f0) --- updated-dependencies: - dependency-name: step-security/harden-runner dependency-version: 2.12.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/do-not-merge-label-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/do-not-merge-label-check.yml b/.github/workflows/do-not-merge-label-check.yml index d0dec1226..4dd656d43 100644 --- a/.github/workflows/do-not-merge-label-check.yml +++ b/.github/workflows/do-not-merge-label-check.yml @@ -22,7 +22,7 @@ jobs: - 'do not merge' steps: - name: Harden Runner - uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf # v2.11.1 + uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0 with: egress-policy: audit From da5900d6864b30842fb180cf35fbba7c155619c3 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma <6654683+Nigel-Ecma@users.noreply.github.com> Date: Thu, 1 May 2025 12:59:37 +0000 Subject: [PATCH 253/259] [DTW.3] (#1318) - Inline type_arguments into type_argument_list - Tidy global_attribute_section, attribute_section & attribute_list - Merge in updated samples & tarball - Includes updated declaration_expression predicate Co-authored-by: Nigel-Ecma --- .../dependencies/GrammarTestingEnv.tgz | Bin 52952 -> 53860 bytes standard/attributes.md | 4 +- standard/types.md | 6 +- ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 - ...untree.red.txt => sample.gruntree.red.txt} | 2 +- .../part-A/Reference/sample.stderr.txt | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 .../part-A/Reference/sample.tree.red.txt | 1 + ...essor-v6-part.tree.svg => sample.tree.svg} | 1744 +- ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 ...untree.red.txt => sample.gruntree.red.txt} | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 ...-part.tree.red.txt => sample.tree.red.txt} | 0 ...essor-v6-part.tree.svg => sample.tree.svg} | 0 ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 - ...untree.red.txt => sample.gruntree.red.txt} | 21 +- ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 .../part-C/Reference/sample.tree.red.txt | 1 + ...essor-v6-part.tree.svg => sample.tree.svg} | 4557 +- ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 ...untree.red.txt => sample.gruntree.red.txt} | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 ...-part.tree.red.txt => sample.tree.red.txt} | 0 ...essor-v6-part.tree.svg => sample.tree.svg} | 0 ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 ...untree.red.txt => sample.gruntree.red.txt} | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 ...-part.tree.red.txt => sample.tree.red.txt} | 0 ...essor-v6-part.tree.svg => sample.tree.svg} | 0 ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 .../AllInOneNoPreprocessor-v6-part.tokens.txt | 142 - ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 - ...untree.red.txt => sample.gruntree.red.txt} | 18 +- .../part-F/Reference/sample.stderr.txt | 0 .../part-F/Reference/sample.tokens.txt | 147 + .../part-F/Reference/sample.tree.red.txt | 1 + ...essor-v6-part.tree.svg => sample.tree.svg} | 2432 +- ...OneNoPreprocessor-v6-part.cs => sample.cs} | 6 +- ...untree.red.txt => sample.gruntree.red.txt} | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 ...-part.tree.red.txt => sample.tree.red.txt} | 0 ...essor-v6-part.tree.svg => sample.tree.svg} | 0 ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 ...untree.red.txt => sample.gruntree.red.txt} | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 ...-part.tree.red.txt => sample.tree.red.txt} | 0 ...essor-v6-part.tree.svg => sample.tree.svg} | 0 ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 ...untree.red.txt => sample.gruntree.red.txt} | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 ...-part.tree.red.txt => sample.tree.red.txt} | 0 ...essor-v6-part.tree.svg => sample.tree.svg} | 0 ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 - .../AllInOneNoPreprocessor-v6-part.tree.svg | 2930 - ...untree.red.txt => sample.gruntree.red.txt} | 292 +- .../part-J/Reference/sample.stderr.txt | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 .../part-J/Reference/sample.tree.red.txt | 1 + .../part-J/Reference/sample.tree.svg | 2900 + ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 - .../AllInOneNoPreprocessor-v6-part.tree.svg | 1335 - ...untree.red.txt => sample.gruntree.red.txt} | 25 +- .../part-K/Reference/sample.stderr.txt | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 .../part-K/Reference/sample.tree.red.txt | 1 + .../part-K/Reference/sample.tree.svg | 1330 + ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 - ...untree.red.txt => sample.gruntree.red.txt} | 102 +- .../part-L/Reference/sample.stderr.txt | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 .../part-L/Reference/sample.tree.red.txt | 1 + ...essor-v6-part.tree.svg => sample.tree.svg} | 3816 +- ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 - .../AllInOneNoPreprocessor-v6-part.tree.svg | 2085 - ...untree.red.txt => sample.gruntree.red.txt} | 8 +- .../part-M/Reference/sample.stderr.txt | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 .../part-M/Reference/sample.tree.red.txt | 1 + .../part-M/Reference/sample.tree.svg | 2085 + ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 ...untree.red.txt => sample.gruntree.red.txt} | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 ...-part.tree.red.txt => sample.tree.red.txt} | 0 ...essor-v6-part.tree.svg => sample.tree.svg} | 0 ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 ...untree.red.txt => sample.gruntree.red.txt} | 4 +- .../part-O/Reference/sample.stderr.txt | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 ...-part.tree.red.txt => sample.tree.red.txt} | 2 +- ...essor-v6-part.tree.svg => sample.tree.svg} | 2968 +- ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 ...untree.red.txt => sample.gruntree.red.txt} | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 ...-part.tree.red.txt => sample.tree.red.txt} | 0 ...essor-v6-part.tree.svg => sample.tree.svg} | 0 ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 ...untree.red.txt => sample.gruntree.red.txt} | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 ...-part.tree.red.txt => sample.tree.red.txt} | 0 ...essor-v6-part.tree.svg => sample.tree.svg} | 0 ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 ...untree.red.txt => sample.gruntree.red.txt} | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 ...-part.tree.red.txt => sample.tree.red.txt} | 0 ...essor-v6-part.tree.svg => sample.tree.svg} | 0 ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 ...untree.red.txt => sample.gruntree.red.txt} | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 ...-part.tree.red.txt => sample.tree.red.txt} | 0 ...essor-v6-part.tree.svg => sample.tree.svg} | 0 ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 ...llInOneNoPreprocessor-v6-part.tree.red.txt | 1 - .../AllInOneNoPreprocessor-v6-part.tree.svg | 1340 - ...untree.red.txt => sample.gruntree.red.txt} | 21 +- .../part-T/Reference/sample.stderr.txt | 0 ...r-v6-part.tokens.txt => sample.tokens.txt} | 0 .../part-T/Reference/sample.tree.red.txt | 1 + .../part-T/Reference/sample.tree.svg | 1335 + ...OneNoPreprocessor-v6-part.cs => sample.cs} | 0 .../AllInOneNoPreprocessor-v6.cs | 740 - .../v6/AllInOneNoPreprocessor-v6/ReadMe.md | 5 - ...AllInOneNoPreprocessor-v6.gruntree.red.txt | 19654 ------- .../AllInOneNoPreprocessor-v6.tokens.txt | 3610 -- .../AllInOneNoPreprocessor-v6.tree.red.txt | 1 - .../AllInOneNoPreprocessor-v6.tree.svg | 44805 ---------------- .../_Disable_Sample.txt | 8 - .../_Sample_Options.txt | 1 - .../AllInOneNoPreprocessor-v7.tree.red.txt | 1 - .../AllInOneNoPreprocessor-v7.tree.svg | 11065 ---- ...untree.red.txt => sample.gruntree.red.txt} | 75 +- .../Reference/sample.stderr.txt | 0 ...cessor-v7.tokens.txt => sample.tokens.txt} | 0 .../Reference/sample.tree.red.txt | 1 + .../Reference/sample.tree.svg | 11050 ++++ ...AllInOneNoPreprocessor-v7.cs => sample.cs} | 0 .../Reference/sample.gruntree.red.txt | 507 +- .../Reference/sample.tokens.txt | 273 +- .../Reference/sample.tree.red.txt | 2 +- .../Reference/sample.tree.svg | 2631 +- .../v8/Declaration expressions/sample.cs | 21 +- .../Reference/sample.gruntree.red.txt | 37 +- .../Reference/sample.tokens.txt | 2 +- .../Reference/sample.tree.red.txt | 2 +- .../Reference/sample.tree.svg | 2497 +- .../Reference/sample.gruntree.red.txt | 141 +- .../Reference/sample.tokens.txt | 264 +- .../Reference/sample.tree.red.txt | 2 +- .../Reference/sample.tree.svg | 5211 +- .../Samples/v8/Type argument list/sample.cs | 7 +- 154 files changed, 32996 insertions(+), 101290 deletions(-) delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (99%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.stderr.txt rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.tree.red.txt rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/{AllInOneNoPreprocessor-v6-part.tree.svg => sample.tree.svg} (64%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/{AllInOneNoPreprocessor-v6-part.tree.red.txt => sample.tree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/{AllInOneNoPreprocessor-v6-part.tree.svg => sample.tree.svg} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (99%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/sample.tree.red.txt rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/{AllInOneNoPreprocessor-v6-part.tree.svg => sample.tree.svg} (59%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/{AllInOneNoPreprocessor-v6-part.tree.red.txt => sample.tree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/{AllInOneNoPreprocessor-v6-part.tree.svg => sample.tree.svg} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/{AllInOneNoPreprocessor-v6-part.tree.red.txt => sample.tree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/{AllInOneNoPreprocessor-v6-part.tree.svg => sample.tree.svg} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (97%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.stderr.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tokens.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tree.red.txt rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/{AllInOneNoPreprocessor-v6-part.tree.svg => sample.tree.svg} (53%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (86%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/{AllInOneNoPreprocessor-v6-part.tree.red.txt => sample.tree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/{AllInOneNoPreprocessor-v6-part.tree.svg => sample.tree.svg} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/{AllInOneNoPreprocessor-v6-part.tree.red.txt => sample.tree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/{AllInOneNoPreprocessor-v6-part.tree.svg => sample.tree.svg} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/{AllInOneNoPreprocessor-v6-part.tree.red.txt => sample.tree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/{AllInOneNoPreprocessor-v6-part.tree.svg => sample.tree.svg} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (93%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/sample.stderr.txt rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/sample.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/sample.tree.svg rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (98%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.stderr.txt rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tree.svg rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (97%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/sample.stderr.txt rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/sample.tree.red.txt rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/{AllInOneNoPreprocessor-v6-part.tree.svg => sample.tree.svg} (50%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (99%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.stderr.txt rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tree.svg rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/{AllInOneNoPreprocessor-v6-part.tree.red.txt => sample.tree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/{AllInOneNoPreprocessor-v6-part.tree.svg => sample.tree.svg} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (99%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/sample.stderr.txt rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/{AllInOneNoPreprocessor-v6-part.tree.red.txt => sample.tree.red.txt} (69%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/{AllInOneNoPreprocessor-v6-part.tree.svg => sample.tree.svg} (80%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/{AllInOneNoPreprocessor-v6-part.tree.red.txt => sample.tree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/{AllInOneNoPreprocessor-v6-part.tree.svg => sample.tree.svg} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/{AllInOneNoPreprocessor-v6-part.tree.red.txt => sample.tree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/{AllInOneNoPreprocessor-v6-part.tree.svg => sample.tree.svg} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/{AllInOneNoPreprocessor-v6-part.tree.red.txt => sample.tree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/{AllInOneNoPreprocessor-v6-part.tree.svg => sample.tree.svg} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/{AllInOneNoPreprocessor-v6-part.tree.red.txt => sample.tree.red.txt} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/{AllInOneNoPreprocessor-v6-part.tree.svg => sample.tree.svg} (100%) rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/{AllInOneNoPreprocessor-v6-part.gruntree.red.txt => sample.gruntree.red.txt} (98%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/sample.stderr.txt rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/{AllInOneNoPreprocessor-v6-part.tokens.txt => sample.tokens.txt} (100%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/sample.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/sample.tree.svg rename tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/{AllInOneNoPreprocessor-v6-part.cs => sample.cs} (100%) delete mode 100755 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/AllInOneNoPreprocessor-v6.cs delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/ReadMe.md delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.gruntree.red.txt delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tokens.txt delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.red.txt delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.svg delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/_Disable_Sample.txt delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/_Sample_Options.txt delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.red.txt delete mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.svg rename tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/{AllInOneNoPreprocessor-v7.gruntree.red.txt => sample.gruntree.red.txt} (99%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/sample.stderr.txt rename tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/{AllInOneNoPreprocessor-v7.tokens.txt => sample.tokens.txt} (100%) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/sample.tree.red.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/sample.tree.svg rename tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/{AllInOneNoPreprocessor-v7.cs => sample.cs} (100%) diff --git a/.github/workflows/dependencies/GrammarTestingEnv.tgz b/.github/workflows/dependencies/GrammarTestingEnv.tgz index 135b35a7db210217a743af40105c09f713b27d88..eefdcd659c34a267fd3a8b19d35081f45e40854a 100644 GIT binary patch delta 52304 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

2uR^ zn}`?Ym=^Yys2KiY6@HHyB4hJVA${@EmnJ`W3Mjkwm>)I@UZIXgF850NWU6@DCxr-3 zABzCcO_+I_cXbVh{ewy#@yNI4;Rj!7^+TYvD$&1>qy_Jg8?x$NFlI>u$HKUs@Ji=W zbd`{!MfkKsk?Mb(jEh!+#*x)=DyS|$sFO3~7-RV|iJokpw5P0ixhg=K_t??){jE>+ zD$p|M)~Rf|{UOi;(sN~HAhs1uv}()JN!E&GICe(ARH*~ZLO9PXiO$g8OtK^f$u?cp zBqA`>upLKnBl)#1=Z=(Dsf5?Db!gg@ZuSJDH@uC{`z3z`afmc+caG7n@OZIEfTc@w zz+}^FqtdH^8P3U+1Xr_Jw*|nV2UGuW_N!#JNSe*LA5d7u(Qi5q5M>fs?cu&)-H7qe{42M9mUp*!#EbjoKd?OwSV-K)i=x+JHLN3EMWf=&SL zC9T7-;c0)C?gdcBVC^}OCh_ZTMU)l!sI{a&SXxrMgd2S^ddsQk!EPI8)ondUq!Vk! zG{NX#HDR$BHM(C1vtvqNLu-?W9dz#`ne81Wk(GQ0O|o4su1kJv-V#&vxpkG-&xe0% z^#41QwC@900SwXq&)=E%_5Tm<+`50Q|Nj)vi28s3kFVsmu}wHcbr;|$3)R|fE4IQj z;j{2;C;rXSW(%Jn%>R1_WcWymUzuqvM_g}-@djZyLlwaGF?p>E{@A);cwDQ6dQI=U zsAB_ltF%?2baes()a#X%T;|=h%Re{GuDVVOUxj>YG}eIZe@#t-&;qqCoYfwjR=b}6 zrt5$3eltddn6v6^Q! z!N{&!-lqO|+}?#pzO41JVf{M%yw4+CPn2cSJWRYme3|b4S#c zTl@T4dHV}d-j0o$NhP^fsD5aL>d5<6T7Q2ktpsYzQ8%mC&JW7lh}BUM<*w^7Yxi($hy5Odfi5RsZ_brD&)icN8eGZPG=^!;4lP`)x%T+T3EGWLn#3|r5XS> zZBEoyW=^WKUiRX^x#PBbDQd5%-&I`mmHeEvSoU@Q=c~)2b&8$xuVJ< z(0YufvT!vWpGjA71+TZ{T2FD6CocbAEuL}i28{k&zHcA(^8dTHZr#6)^8fqu_wV1G zzcY{ifA{ZP%l|*g!v-NM#_Bn9Ic?(vkIOSlZq$KG_)J1KsAkqQz+M;_enHEK&RYz|mbcc&az{2e$mw9PS#en8`(HV!t zo~04Bfjd^ilG4wz9>95$;3t1~5LzFyq;w*B{J#2w;6n;fek?`EP1dB6-7l$8adNXX zVlq3!Q5}e3wmfq2%GalCvpB^kNMgLKoy~;!F_p+0(Eq^LB$llD^%9W#yOt_gpDAY# z+K<`U+rxzHw#LP4($l)Q9eBZ+O?Ue9U9Fcnc?I~hrOabuY13Iz_dL6!0XOCAm@M^3G;& zvKEpuD)#n&GI{YZdGyE|hDj8rV2atGe;Qcu|IdiEptSa~9EsAy$=tbl?Og#{rb6&> zQBSn4@Q1w}#vU3I@P}j3jN3^3^X?#1=&BkZn_;;aJJ)Z6?&ELO-cmtlOqO7qQ;_3 z&a%7*2N`CLLngGF9SJ?aS!w6Ez)N-uXITfgI}?2%KAi%i{*NyulSJ8a;w1l;^@=GX zUGTe=q73{XQ+_7>!d%sV`tiRz8UQ(hsoDA zsX-iUd-NB)mV_d}VziFX;Y_AkQnCjKSiil2Dd z^-l`s*Q?_r3{;76e^*vRBsK?w`(*`YtLlLkf zlev~QV2E5eM!3Wj*LjTDLe(Wa<(nX#7I^=}RGi*s;#vemnN0GkD18J&vArBGaYoDwcW$-fkz+`^#Dy{tg)a2ArI{B_3SBQ=cWnPho??s4)3{C9;2?t)eKryu_xyv8o$l36Akm@Y^0 zzY>utM>jMDQbISnvYbN_e*m1OmoDAXZGhE+s56DdLo%{p;;okH9?xN-xc%H3Jux8o)gHWmGyEC0 z-lPDDZeOOjbgB|c^)lWfQkXciWe+0CDs0AUjqaSk9Wmp`9cXCE;eA-BPZ&?grZ$KG z4=jMb;B)zBINQRlEl@@*W$Sm09JZ?vO;=L}+w_62wOFs!D@wkBo*fr@F9kOcV7KvLQgnA*lVD1;1Xu5{^b<|G$2AqN zF1@44_qe9y(bDu4Fo@31(&m4V?Dcvni7H#FgeEe5g=f;56>QXPGMI9Ix!mV$5qlFT z22gUiH=L5doW3fC3@}EO1ByF6N7p&kj&*a&l}+qh`E%jc!uZ>p^5b&$Ht?Rob2Dl8 z3R>B`gF9j_fHbkLf4NwgqRycDimut&hiKa)H@`sqqR>2#%#NO*L%2z(FfN#aU``J% zHW_vb({()X@sFb>DA?vAZB^K^*_!{c#Si?9Rd*!-wiguNtCInL#b*bZKp6~ii=}*YjF}i?qgy?)|9;BK0B)YMf{fWeoViHgebBijll{2ML<7~Q zXfRM)5MT$X$PbBszLSpVB<;73i9Jh+OGq(sl&JEAk<4&+EB~I(xrfM1-FijA5eL5b z0(OGZ1~M8XW9sXebpri-vD-&(LTGP9<{%v#w?}u4>mO^;lB?i4UJ2AqXa=ua19Foo zNUqDaf_%+(FT*v$yPGcmoD{Fow{mcR48BuPWD&h=n|qCaamTe4VhnO^g&2<;xSKeH63c_QYXuguPdBW-b&66&odOURv zSFgEw@4~DfF`^ldtPirpW{Egd)OciBsGMGzpqyR}DyJ7D$bhOJ_nJXL`z^vyjpg>= zmNd-}ie&tMtsc&0Q+71G)UdJQvN#h`DA zfoQ+j*YU(tM#0U-9Xn(QIE88Jq8Lo@4J((CZQ6A%F9}};yK)m8lWBK zV&@3q6im{LNM>TfxiPn>bWvC1XK?yx1PM+bYpW!ICgxI!O)O}4RCZ2FSFbH$l*ayJ zkB%i=%cUlzN2Iz$*PJfQyB05>WprxH5e0WW%f;Dau9vY57JL;kHcvl!~SH$yi+K~Oeb8%ixM_q-bxPO7=}}Ol7xyZ z=%#InlH1c>@j7qgmHl;I4qywm&~yUtXj*l-md5~XGJC3_pGuUl ziM76*zRCgrrvE4*PD0BLODp>E#S?b2K_&<>v3*wJ_q)KF@>oM~{<9yU-)74%nh2c}llHUOM?n-sdg`T{O@n z8WpJV+&arh@H2aRZvNgqqHb)GDms6~E4UX8 z=_6qL1OF5$c#BaNr}o#BThupNjK?;AD6j$@s~iBKU94s&g``uz4t!u&9hP$R!nNh~ znID>0bX%%!;yQN1FF1C>DK1`Mo?baZYuEi;*X@+oEf`bHx?N#Zal0Y6jYO}ZQPF5H z7OL~o{u0Au1ZH^eGJRpt^6SLDzm{ki$%sTKxx(J7*m&b_J^n2B86y+NBp@Y+JTvB3o3r2XbXt|ancSf@iIF_@^ z)|0|^G15)oq+!*_=|`TH8|#nvo-J?htZ#m^ySB5t<7RG#+E$`~A>Akg-AGSis~j@r z;(7;eT~(^^PzTI3~5Hl}PO zqfDN^TV*2>GPp9AphKW??e1%VB3u7=0nB!^t5Dj8jsqcJ28peO!$te1H|Ub^ zP3-uU%xnfTHM5Be!jW8y|xB_EI)mJy1acE)k9Z! zHR$F8$B%{^$U>=XtT@(64wJ;fOpL9?JsV7iZcJ?6)!pJOfdUSFL*qFhL#6Mp;Q5YK zXy0SjQMO>gX<};38#NwyyfxJXSR1z{Qb%Cc`R-Yzub*GaQx*SX1zDzYx!e8#5kTtW zf6U*xd-uK{|NGYc>-^t;pX7IsnKoB>>13gKF^J{+Wi;_%4TK=oWG}D+Lu* z0p)MeO-?x`L+NRuy?7i)7(BrW{GOO#4yr}&fJ&cQ5iPvZVbq7K2aBL<>F16Xk^H)% zl=N|=H2b54DEYaDCOK+bm^|80Tm--Jn1I8~VRdJZ=5)UmmxZMp+6I)Wy*in8-5f@a^AN(eVTA z<|kEX9$jce_H}`38tT=7r$(0RH=yRNzJXyX$;wuog$N|mP9MK`we7)CP-PWmP<8su zYc=gJR!!T#2+rq!%Hb)(@^f9WJ}sCxnwsSrbv!mr{lv?2)V_$Y9hD>c#?AopUW=5} z(&djhURuLo#5JpUg)w{QVSFt=)5t%Yy+l%b^!-AuDLhW6W~D#<$gj;NuFWQX-ewa+ znS#VW6hB0-qnvd~gouAaLy>^2T&HaL6`6M^Z!*muU^{ewRTqyweVSMw99?I~Sa=7J zXGNl=2&nQmCJpalXkx*hn1Ogj^e7TDqz`1SqG*N`*DSbK%-Z2n(q{9nYyv~UTuRoT zm!-xMdb6q~LFDpZcyX_BL3DfHyE8ZHM@3BsMRh z;1r#zv#c%AyjY>8bwg@9p`K!JAhf@1)CxpG80&3&(ClJlQ>-W2aD)dmm$q6M)b&NQ z0tSSwK&UfVkhig}(fWn)cdBA7YpN<_nexfJ3jxxwx9%(Q@ojh!6HUid!+pgySf%W# z+D6)c*mk%XYinK3dE_$SN+@LR&`MEjso0={AQu+D^NlkuF&nZ1oO*#?BOYt2g#l~} zlk`(3N=D#0#X3{}pa{Ye$iyy1oelZB-^RPo!<9x9OvcqF(q;m^yh+A|lBpfs*Z$ob zB4HDSCYHUnYpF zexiYq&JTOjSoHkTOXw5ZGs9}c5hb$c14M~o$#SRTspnjL87VoIOo{o5bApbG!|o~1 zoSrqdxmlzXAQim?iJF66unZs*>gc_(4(YLapV&}bp-IoTKSEfXJS*=;SDYr^9b4WJ zVWJZke@B}uW6nDx&pY7H2SK6OWPA`rN?gI$)o8MfAW@R+0x~K^eipB_kT@Le`w`^N zZKe0|o+|rK=Ky`rKI-j1Z{M1KaM!c{y#L_#-D~^LPw`yafByRHKiwO^&(jR_*P2!B z)7$xdeA~sJOMbKuY&|!MJ)E+g^9|u5hHsW|f5qRT7vncC#(#e?b{+1cy5f5pfhiH@ z&(pBz1DJx1Ho$5W7Qy1L!uIGFYF$(rMZi{OT}SY^HbwbWn4&mz>l2!XjJyl4V|iQ~ zd(;?vI5{0gF|u$fRBnh0GYMf2f<}heK{Plamb!wx#MT zI_>2sCBR_loGF$~DL7A{3R+`HxG>lFIcDA9fY1~c74OIxQ5~r+We+P`99=mtSujB9 zXp7zn-I zv%NvLne1elGHgsxWeG%RZaYicPqXGpo3rC(eM|w_^g0rjmAjb~iT~6X=7=kh>=3(* zq!Tr(gu5YVmMVeCFZM?x)98hj%wAK32NnUxj)sAXAOx*b&P!}8nY3qq#z{k+!8CWK z%s~KM@hV`uHjd-}BLUxFe+9{+4M`_In6vaKV`l3S;#k#!>jp#ohSF5H3X;VaPR$n% zQ3(g?Rwk7UDSk9m-iAHQKlhRRNgrqHpay;J!}n3I|E0&{|L)As&;KU5_u)YapIfB$dK-ULnZ&XwLSdV&p7!XYp3?C z`io=Zx5vCs(i%oRnqQcmy?u$&Zy0Ji=n&t>b}Zacewf(Mz_u@GX}X+Ff;oBKjc}#t zSxO=s3T?y@3XwUe|3c!GS0?$YnDsk6R%!}!fP8z{o=yrYR5k1sQTn2?g@!9I`m}dc z4iD1_rFKS*f6WP(5FLus#Obu-NVHY#ck26R5}?z7^yT8@c9;6fR{g^nbBOkNCRAY(oyFU@vFQc`A}*ID__W2>;$KFG*ao1sZQAv{6o z(5qCw4kG#s4kDUeR4_V~gA_XWb6vKKRxLWDnw1-Ie^Ayja2@RRI@qfj(nqz%54n_K zGZEoyf`E6|hV{uWG{)nIG&}L=)h{!=p6;!m)%JcgA~TBl{l`o{e=|Xjl&*PQ z)J)1r}qOy01bfhj|Zh&&nq1DkK>{kqQfVN;HB>Ng23|C#B&glP7sMKS4V;qy|)# z+;Q^$xiW}!`6|LzinWF zR&sCsnT&Q+)lX2_>22k^Rlm0#quP7VuIpQJN4@$-lX;b;HY++GrY!hRKmI+^48~?? zo4xJ^XILq^C5fDlJwabQB7=h6QBBB8R5#powg!U*yB9CExPwImY(#V#0ZDY{Bdm`9 zfABV|K_Kk)ETi_1Q`msoOZ=xF|GVunE^Q=>$@k+tt1lDN^4Q0wXD-bcba7gE4rG{} zB5ix5E|NM22_1tK$V+gxlpNTdPmv09eo>~7k>H`~V-Ouw z1$B!iE4BiEQg~W77i4k(oWmK4)RXjek+;jR1X^s9G`vvpWG9hZI4$73J?Na%ERa;q z6VQyo8jZhIKwr|H`>1I9Bu6$%)NIBQoThlLMe=7{ZnA@E7g`yBRW)J;F2LAMf7&Kv zX_DWL>Q@}&U1}YT!wTXg>Q8InWjA$&n5!}rrPTN(1y@Z15g>a5$GX*_Xv?$<=RcYu zF+<_gZJvM|=5S`(O%^>(UXQ1lcPN@@Wlzv@2@Wl{IG$oa^%QR_)F;jhj(IIksv~O3 z`eKJSiyCm*Z1ebAEkeGGhb0b=e=2Xd!QtIK%#Q{=PoLOqGW5gSvttmdG{iw(XDf!? z4LdL)Dx31QjJq5FmSpWEec0Q9?c5bF%6@#wwaO#y_B-h9I_Nr1D@qH(>izNDi=e2( zC*FvJPqf!dZdJtToEy*S9uzlZ4F^f5*bD zh1-|(<~6#F!HaqR*#~lz^^x(rfuEScvp5vmhZr6l@Qqr#OfK+GEDP;O{Y%S9WXyUS z7Zq8P_iftC(*xLC(j-ltgvt^(F%>>vbq`IpIdDGg=C;$_R83E+1G0kYWrx5HbX&*~ z7(TSJzeC;M;rsW8Mg=Y+5U*Hff7uCAN#YmJj?+HAWYNHkj&<1QD2)Fd>mY}bhNn1E zAr-vc4lJwB=O9hAyFNpT!e^T}bG&H1NtaY$aDAzZ!Y5Xt4Hd`KD`M@#>KLX$tx+JW zh;iw*6peCO9o^Du)3eZoJ)@>l6^jM1lo;=y+otULxqhyn>*xBpey*SElfBLlld#SY R4f%Y}{~tf#j#2^<#L+{kwO*LsTfn6hVl8Nq-J3Ep8B1KxEC ze+2NoNqJpZBlXPmS|iP>C147u@;fB?k*ZBqDnIfdc@*bGa?a^)sipaXUBEYY(RyK~ z)jEB?`h0Ys7Q4~0NaAR~qjc$;8@iU^T3>&Pzgz21m+jx?`hTYNWPN3QeR+9x4cc2P zt(E0(*wdRr$i6a}dI@9SoN$@W>NoHH|I=&NlK)nehRF?R!6oItwz9VNlOJwUB>ypd~F!axc=bs ze{i1!-tlDLaesdHjy=}g>57oMJo4i}M7{RA!xzoJV{y`RNh{prC+=Y!hpcIOFx8{B z@O{ns+T`3_SG*?A|6YjF@8IYwW`_mVfqng!kamJ=<^xTX-mW<<3Gq z;a)g|F%+1U&82`JFGX1xHgs1#hJHegR2>L``~8^Jc9SGdHdxaiG6MQ&q4kIbF_$cg zQ^rq)Ol#INry^y|mTu?@NBuOE!LS<(+k0CF2XD6yf82nfp#gqMA{Ve44O+>>ieF4ryviC6o zlOG)CFMXcy4TNYtsVR9WkuDbD({YzR>rO8AD1U)3KSH-y0{2Lc`N+E0A#_2vR+kNy z#-Jq$D5dik0m>4^Oe3e76+D8FKaxrGa~3-6p*5oGyapIqicbiDlEgvg^MGX$ARtSR ziB$5iYr07I?mEtP4ELgdy-{dvkSc;QFS2IS$Jy9Kt=5$6h=luToQ#k`F5MsJdGMv|}8;4&&)lV-Jp)y5Y4k>Uq1h;*mMY7 z`ttcdU{2>vTVc437yx77j)qHuK!14;I3O%F!@G*(U2tBb34Gs@C==EJ+i(Kr2FwI; zCIJP3S%PsFd-e^|#8$0F)5oAM->Aq$51lRRM6>JBb>p%(hUNNwDAO z2H|KTThON$-wO<9!tZ7%qb!p-+MEU<%1p_aGVD>b^&bG%_3hhx|_rU2#*pX zGLGC1`61CsykrC&Pas~1qem%vV5Oq!7V}`fP)175&Le#Z_>jX7Fq)cU635cBoKfs* zX5^w$4>UANaZ=!T?tfn;8D3Px08KJ@@3F`i08@ad6b9xD$27x$&+Q0c5-7xV2zVmG z5Qi`-uXF(hg6AEFMyWR-Ajg=PGM87fr@jERZ26PeMO1hHU~T}eIhfoXs%T__I%;U6IN+_1zFA+_y7ZxW*yjaZZo zI-qD^HN2!JmGl(Z3*T!ZXMrqq2}1n51W>52Bn8LH8QM-McWgTWhtvs7O4GBGMJHeNbbPZ6 z0)1oU>)TNbpI<fv?`96uKUY!QdGn|5%D`#vmReA~rb9YD&%?Viph9qI0zMs-Cq`F< z8kBmUIObJ)4MNCb3ZWl^4E}f)^1qzxK(RWY(hM4oUFU!h<(!io&UFNMu0n`&JAOFF z;Gv9>rGJrsYS$M;WBL$7*?wHUZB$aJ@)S+XFRk!kRK$bF?TcDjf`ysRFXhT>?;?IW zR6bP4aiG?vzFjd3>)(TOb#5+*+rb)aQ2R0HP;QH+aNgXXM@J6lmbnk(p65jTJ`%o` zDEuKwqF98RCX3u#%%h}mE4M5Se`pAy<+|TT#edh5$Kwgk0AWIy9rq$3r$e>DOp&1# zF3h9fjx1``q4H(?g;LBh4`w+)nE_SgVfGYAML+{)9s4&f#b7Qy-$c#ep29f(q!vCC zjHgJ@%5UdmMSCD=mbAWZM#=Y4N@_$=&DgV|O#PV2XO{1& zaDSAI>v3(Yhpjiv7_})@jg@Teb&OU_+UEGIWo2vfd&e{4SJ%{tbB5~W*$Jz?j6hHF zoO!WOpknq%xYW#xJ4&e*)jolrLe6o_!x-{+3+r5UyF&fe`C0&wFae;2a0X1t*9TZA zBD4O+gp9s?{&!2^qI`JAxdO#k)@R&agnxj~i$pq7NXlZsId(@6_DTb_dlTGC8=DHC za(@fd!r6nug1rC!!v(@xo&_rJUY89`?2YDmxP25tbX>}*FiTa*7K*)-;c|91WLVQe z_w8J)XauS7G|zAIT^8VkmMU&ksBJV#DknrPRX!IsfcAKZA>~lJmKzW-&6QgV)_*O7 zCOxu~!(BKtA1|O2kbnpd^Q|chcc&Whj_Yz2v!PV(qKcM=(9pU}JgM%JQu5kW$?I8J zhia^x%Qm~vr#ogys-t!lGWJ4FVPsy%OlE#xuWS+$8|=|S_ff547F4QgR(>mNEw&zj zu_kxD7~}rfb_De<5?T_)4eLEJ9enP@R#&Ts`FMVg{Q_3AyP<4JlW=6LK`57(lz=+-NW}Lh3mEYN&C0ixQOfzV zAnkh~>zlSZR2v6sZL~rub*U^4@^IIz#M@S#m2ERZvGkk(eYN_Z@%pbLFn@^I&}#qP zV_=on+S-$8^`EP&>#a)t*V@|C)w}wy+qfRELt1Z21nrIK-D$JALQB-B4%EsEod9F> ze567MQyD|+&9r_EVO16dJdr+b^3i%0?TKKiLKG(hFAPTz2y#D5X%7%Lgcflps4sk6 z{f58~kpT-ZjKeU?M^Gg!rhk;j)RlD1*4CqdJb$qh10eM%;KZp0gC9dk`ceCfF-8CA zIBHLTBI;6++S&81gCCC$-n`r2-hIFP0gb)tx+4i zs_B}roMh#m-hYd~j=f~_!%yIdYR{OBB?urwl$sFc-YU?~7yZ0=$>SK4#p(qAIRbUqmn?!%#gpX4!QxSii44 z`dO~P7faI+s-Y8SR%mMrT<`ppiCbjTU@hi2&qk9Nh+9YnA14i~r+Q>|cN5-BvdE>4 z@gH=d2|8mi9!vY&3tn+|5YS>qz=36Nn1O3f-H zHJWbo&oG32`TSp6IWUHUL3p_$(MH#qibh97&@CTq@-T!ed#Fm|atD?VSsD${{o0QA zujI0)AC;pBpMR=H4tOfB>loNo&i}2fuHgBf)%BIT^Ix}d&6NLh2tBSr39c^xwUsAN z?&NUJF5<$CPzO^47?TJCaH?v3-xE(a zHu{it^29lF?g`={?K-(YTIlWpna?J)ZzYL0ntypyPP+4>C;KpAC*7LXoO=GJNjFT{ zw);YVnAr(6B@{fF)G6UTe(JvRQop~?Wfo4v!|F5(3S@-1pZpA$Qw)0t9BXcMvF*~5 zK53DjfCPEkk0JNtQQwPvRRlXgt&vDI)_SW7TiT;#L(V@j+-LSoQ3C+O)dj6Y`WzEH z_tgSB2 zgMez~#~E-b1y6h+D?qR1C`!FkwE!XMh=6lX5uA|b4l~(*MKf<057h?*end3a{Vc)b zUD)2BV@NP*kY;RfUDvrc%sQd)apL6d^?!zQ?~Hb1U>rebA=FSX75e(X9Py2efLg|5 zJG(Eo-t8S8y?V2=OV8?d!h;mf6>@hlOh@$w`>xcTZP>jKa=iiCaN*n|O5o~m<*!wov9Pn{00(O#k!$Yiot>fd8r+C1o zUi;tA|5{^z0*Nowk9A+2EGrL?eVEP=CB$5Bpc_ z8%@w@&fDtmxJ{Dq0fbYGW5~nO(U2dRGQ}f0CmiXsb9r~-3x=ivAL41qE}ewMC^|^u z;ZW88;dyc%2%Jdt&H%!|cF#qXRbAN_tcC%#phKBDMD^2C+FU-KcJJkVu+yDgy1SH3qQ7-Z=gMe%N0rmO@)@I|JZQyWLjqiA+c&gqt zupMUvLcww&T-wf?F+i<6HwFhtv*EPaazm@>+-K3&eVemzQ{e+x6o1&5mbsun&XC#R z%Rm$q078e4sUR38c~>OpvGQ|Q+>;_4871?gQ57IK7Mg?N6tF1>Y_^_Z(DcBnS6!!xonhKIv3b$~n@eB~(o*R=9r5_``CtC$Kk3M95T8Vqo*%*P7@UH_^_{AAo>*BcGjU{<)5%73FvOYQ5vsssFH&zS?D zS~?79wSh+g;aC0o94ctrYHmJnZf>J-gOA%T+u>NFVL{2?^@D}9%3UG?F^;bAQdW^v z(F@CPo0~fYr1qw6-q9a-aB&LhQx(vOw)m3idO_=LA^O(=g!cIUA?p7&!BsbyMs2gw z0xD!0>$M_cz<(S)ifauwjrZaco@_%}S~w;2J@?BHUG?^*dTqpItxOUJV6Vi=62H>X-UBZ+<*fOn(|;687V2aeh7}{C`4{T9dp~6-jGtOTEsixjEq} zHp@%ok=&Joig}RP)Bxi(s@6m;pxaZNin?aq%W1&@CNotp&8zpI^*}KK`^95dr;yoU zUIEXZ%hUYjrKlqU>(&^*O<bHqmAMyP=8jQ;5!cZM&P&gH-WwAPdDWlqe^MAEg)AFIG`sR)LWn*&4ebE)r`;&-* zMYS&m;S@|gPA4HWNIDNuEKQizRr9!{Snh<5FZA&pWc0oztcULEYS}(?zyfKYpH@=z zA|*L*H5lsP%%zmY2{Tqb%7f}ki`8DpwvFZVEMJfOc5{*j6k*r|5V_!uH)3a(bug?x z&3_#?fbJ>of74Xf1C!dpbgbVUCk1>Gpkr!u-Pp`Y5-xn_(Dz}JuTt_p6q=-sZ@ zf~|&lq+S<$O=!NN#pP?nQUSbPBwvGx27ge2P%pB(cAOFZkzWjOG`M*pu3taKsNgrD zFmGd-zKneJ>euVGAOQPF7~t1GClUS*zd_sseq*?!bYH|tPaH$%YsQ^4r)z-U1m9_$ z=-TJ4hI>OWSNSMKURZsU6J0OC&G#eWwL zJBOx_LA@iK-oZ_>rvr@-@hly=Myh>Oe`G)%*;X$sq%4UZ8(4~jrC88^QPoV~Tk>Pv zcE<%+UmXJd_#EHWqR(u8blE{ne>)Z5U$y_J8fY+fp1^mMGY-9cJ?nE<`1l zV|V`V-Du zeM+7mm`|8>+xP7rfv%Zdcvq(g_kCG=@3q%ndtH@b%FjRjYpFtvOzy)5*j88h77jAh zCbIoQn}b>F5EWB1NeUm%DPD)UHn!kmcLevp$ui55X?w#ZxZ|dw%}#MP#Ri;`B|;|| z;9$=Qn`~17$9M-?9h3uduHRqTIZk`0WX?TzldTvme{;cuc3wX=m;i{;M}Lq0ZqO?MoeWz2ASZXDQKrGD3GS49}u|!hv&tfC>KGgz>u{! z=_S~Rpe&14PR1Y9Bb3a07L;zQM-KB7Nao!0}ezS7GCEfuP}&ITbyE$4NF+jDZ+>Cn;ftx_$Tsv&J}cz_GS@)zC_e z^P!Noh?~Y006r?~Vvs3J>4AY2O6Bei3&AUhe`-tgQR<;N7SkIhFKOaaA5?S_#MxW2 zRhtoXDH%wpgWcm<7gjw(4|B^9TvG|MW;32rNl7}TQinYUwCEuz=$z{f18esvnVp@5 z|4w6!`st=e`etAaUS}HVe0+f}DMWf9!L0-_lx#|2&5X$lB7y5wn0VdbG(|v@c&WlW>4aVLFA` zqBq---H_tWK1e1pAI8x!A_Aka&>!SKX90!`jqqDN@?cN9Ch9+K7pOl)GfEhU#(5%a zW81?{ev8ySsURjPkUyF=v}~L)=N!*NafoLtpxtZS)V!R$ zdEopLR{-2P(|dcHTYG!c2@HUxsqKRB{f5FmIxB;dr_oqWrhW9EmSfYAu)1skfA36( zGvGrK&M;cL5`UxH;J%z{wxy^#JmkdT69bRsql`$Id!`bywIv3nICZ$&b&?1>%7<|` z@8h1PlW93DiX)Sg8z_KBRK*#?+khc&Kz9wzXy2PU6S!WjijA7dPr*HC9Ue<8BMY*?_o zokfwiOwbC)v^7bASGDM0P1saIM^A$JuE>VN&IcCV6hV`E?n~eY8UHB<&}kcA- z7?d#U39)=7M_Nm^Z8GpxvaE=Jq5yKE@CiobBEfViAX%PR{{hDbZ@YDttqA;1jt^vpD-UP7J% zc1}sGd%)Vq@Lu`SrANphVjPx(jE_-$qUTKbDWejMsfX$|`dA#me_f%A=RDp9@d`v2 z2)Xyz1nqPH+!Jyf!XC$$Hp$);82+B98BP3?OzCMDR-ig>#;n|rT z^1vbNI>xZQS%Kekso#W440lQ?IfVgB%}KvoVn z_C9vUmtu;KQx?oSsk;ne5xZ}=fvD_kON5;5?2rf{;Yx~$9f8f*2U4)#c=U+8H4M6F zRGss;1#KS=-rIN3OtZ2o-5-rrhs6pAdO*sF2UD{ZfaH+7e+sCI6SNetFu&^VC=|*r z6r6HU2KL@z-aFCED*CN(5h@p-JmKNo1^55MW!79ou;(0I6Z z$c2c{(v$RD=W^rABJCaP-at+SJ@kK))3+eY%Hfgx3ct;t0!Yi0#FT+`8m{ zK}?WXf8}VBO~SbhHk9Hgm5VuCIeO&PR%Xi7_@q!idHWb`7I18`OaCgp6yBq!_Jw}O zBypCIQ%`@lAQC^LL_c)Ba`sSKq77=v#9vJW$2!+{1VTBN87DH>Ev!>c4wSRJl_}XS zoWtH-vLO*^i1?{G0Oucewl zO$)Inz+RST5P)+MFFFx#%Vfp65o3$aOh@3N_%-LIMGk;Jv5%YV3gvf6;SR8= zD?l4SAhSwlQC)VkqWvW%S?=xKx*VfLctM9%tV!Hd)QlikAmRp)wdjH_B505#>=6+P ze;6szz~T@XklR4tV^OR2Fl^O6i31%~NB@{p3%-YSjD4vD1IPptgk5rF@^;~XMR;m-FzFm2)PONZ^W$svylLTO zKEaAr^p@L+hl}FYwyP*Lb3t#iUf*ETf7?D$xSRwMQPHXqK;WplnTQFrQiSrFo>0bO z0?pad2#-(uG!s-`9Em$USrH;5`#h9n@!h1amZ%fSJj>cs27WnC>IftA+e@YIcvM!o{P;aHUYTPMlm|~p;EAtrb4?_DQ_w)e@nU3^ES>V zH$oz^FuggtLn$98bYpsq|5?HRtirAa_8+R!hgD&adgPOi#5T~o+LBtjr)0fWE{vsC zD2k9)STfww4HU{}oPj$t_g#I*0A#`17V9!;rfJF%l#1@ELi$UGj7nZhlSPxK7<44N zy@FKm&<^L+W;Y~dp`2@#e~jr%CnrVKWoZuPWVbj?HZW&Tf<{RZ?s6J0S9yo+MF)VK z(`uVB35RKs9dnfS4k*R0%nUld9ZITb7D_kx4nj;LT}ish+SU^{t2(Smw;aet=Cj@Gp|;jZltJDmJ1dsuIRiViqh{R%fja*GIjggf7)a1Z~yVP|GxiF zZawr7Z5>Kper7Bgk45r@v_oK1NKJbPv3k(OD+JpPF+qjtTtvG;?LQ=HUMV98gl$#{7Kp!}99t z+UhI%qOOoKd`u$%f8-^nyaK?FG;krBiH|SIhKY{wxBr0k{@Z^~+&O2lnZn4`ylesT z;Us>q2{x~-VcXQ<0W`Qr}l0si|gX93z5NuAaZ0r4|u0Vb#?Ew=Ci zits988jJKL8uWwgIK?BI^dKlBCT+V!NwH*EIMoDXvO&aye~3s5r)ud<_Rb&IpTBBo z`Q>JIMgq!)5?ZPkdn?B&$pLx|C9RxzIk>>I*o?H-%W+S#%g78%U=IN^ z8!;)S$S)PRca-RK2$;5bv|hAYEmW-qB4Tpn~U^v+6Y1S6w1wCtX$>cJt%NwC!N8P84 z(p0;%rb^Mwr;XipsYDxP!_r__0Lh6=QU|zZO{s;ye>ZnKc}gK&I`xbG{P~`q5Vh>^ zZigro{P9P)C*r?q`$UmVP5QF|@|-{r5Bor;fY~AohHYk!8V&i}!OuPZ3|F5?;C`lX z_+qJ43Lj=2!vsALB%^3X~>lY0I~;wA8^k8hAI?J{q61YG4QotXz2>44Ew$`YKb zHYdqNe@SIoX&_hnhRGP7(_)<`Tw8WV9O2ZQi$cIUk?KYZouM;XGXn{EPqBj+OCM$B zyG3_a$Xln8b|{@7FEUWY=~MBQ=@xq_IwHx>044CcijhXVFtc zb`%Jjky%bAzW#cmLi6T`eGna5=dDiWEbMgH;uWtbwwJ5Ene&$V3}%N23m9>e~7aRfhB zh*<;{-4bRhI}Ku++hRkZ_3L8D&WcW!vy6E7qx|#;HOS;8gSihAv2@hPrs4|}UBT@c ze=C4Mad0>&(YjE?G9ol%Wz(rrY&*sPs3yR9YLtV6ANjHa!%WM9#Y-(<#!89}-hj&r z`3ABeL#T25LZVc@2KYGFtqq>lC56p2g|q0f#TF1lnDe|XmqBARrfUP{qpkr-T#*cL z(a3V-2D0cU2SiuSH1kiq8-v1@hM0qrf374*Jf~TZ2DBspYu0uS283$5KL8YR$a%vk z^_X}`ip;rnA@0tOyWSJyxbIJGi6qRS`snXk~UDo#_i*?p3NIX^KEtbivfbdQ{ zcs96&%h|a^Wv7E7O$cT|aqqt2UVvAAzr6W$?G-Z?e9n?#l)0SF_VnGAuWU>afAtlT zSQ`JLWH&uYQUF#T!F1tbP}B?i0y^c*N(^z3e>zO_j?*}dnbk8iM_q0Fpb$nlT->m8 z=AJ(?{cS40mng-+I7HrY&uthQ_+d1CZo)Wp z^dg}Qm!PWcaqN)b_oDD0*dxYle`St=B13*~dl+erO!D{O-?S7j=nrUCFIcxW9s-s9 z#}8e;rHN4>o$R`<>FU?WW0z z#2d@R6!J5%*ef5tlisU0JrizR3ucof5`gz@BY*0ub2jmVe+O+c@d|-; zB6y6jiCoyO34%?PTiVztIIBP9CM3$n7pu)N8|X&fDi`YixY(rjto+>1;$=eJzmXabTzjO9h8QltH(LHoN4bFNPfW z+O`-Y`?@IKB_MgAxOzSYiv*t;$p%iyyyg32u`Z@tw=*l0POVn}L?W%&iZi47LhASc*VI= zY-=0amG0m5qX5`ox#AYXuzYjZF{D2KGd%v2Wk&s;eGJL}e|rDco!egi*IRe)-Mfze z^f{h){}Y^N^V61FpRKO3+*RhVU^31B6?Z=6Md=2J!1HI8xF_;*E1OaW9{iLfvzE~$ zd*qTSCOSr<3P|kZw%3};56iRvC7u22-Yfaz*6eThUQH*aLGEUjoJ)}}A?rvcIokh+ z>@)h};jx+gfBZlHKgliS_Mrodm?qUjE(xrMGbWsT@NOC_Y8G1x)uk%L^5kXMpl})L zV6@{3vn3`p%7XpB{l_zE!>dvOqqOl1S%s*qS*Nu3(@P zj?x^n1lw!csel$#otrdrZGx`Tq4GJdtZhZ5Dh(RXe%mH}jjlD3lIkvdJr z-Z{CyZqLxjr;^JhYz`{l)|F?(s~LSiqLu&lAGiPZ-?4!OX+e^%E?^U-uHHY!+OKB( zfdJq6e=)~`Img`LTxm2|JseQ|XyEI56~myT61Ca(+NCpxz4VANMRt_3e3xd|$fHaO z%?K)y9^M42|cxloPd{4=()j|=qS7BzbH+E!{%aBopG9=PsF8LKPFhCag8tL#t zcBFs6^fv8Ba#2FNA3kCRs!a?qrUH9Ve>>2F)_fPe{0No$p2nGWkMf+Md5_2|%mT!s zyjQHmSX}UKw-pV+UfrA{RJPl3qh41xU`tW#`c4Sp>gqL$6}z>%xZ)!>UOCp3+!D#5fSmKKL@d>)pd{tVl)@ZFqCxI*#FeH{L&Ybf9vP7 zJj3t*ae2*E`WTY``_8>Px4irR!u{LV`M*EQQzM`(GfS{1;ZN9mvc@?d8CT*+O7g{y zIOntQxSw}&nuCfCd?&D zt^3SPrEUAZ9`>XGnGtJ1xHZU9rpBC`L^wbH^lz4oj|8zWo?Whms<6a}f0>JBrdC<1 z1OHbZixt7C_+?;6GaS-K)j__xp}(5gV_tv*Z+ghMS?&jB{;>fLKP_RGe;eX9NrPwQ z0~vxU+0A4y$SFy9O1W)KY)v~liL*3pF^BE=F&nTkv_0*MGk3S>TD)*{3suF^RDpSC z*dCunH4VHyNXYFhMThW`ott3>#1r0|v`{HQab~vOWIePH7aooT#>_j&rGI zLiQ|5`R&zA)vd$qSF}Dve@viwQRowf#b-oSr8jcJtSikH7ZMSYis_7qWQPpU0WD5A ze$B4#l&+XG;{DaNC(AE3cK4obt*-6k#fv}YY#1pJgc}(Efq6Lqq&jgvG(-SEiY>i} zZ1u0kNfWZazP+=zvbDLpKfk~Jo&3pxl6u+E0E1WJ@S>e4`q_X*e?4VYRp)%hb9}d` zpe53Dt~vw=`a=}tiivXv)3gPItlPqThZ##jVOdIcQPbq@j8v8?3{q?;+_*apG64;o z^cTx&(j~A9O!*+QpnfQ(nP=fLaeM>}pC+M|8cn_J4Eb%b%cq@%azGM)?_*%~ML(Q#jef2LR*Dh3JxuW-nS za8z_OHeW@AB@DqrO#Q6=uZ}m23j!0&n{576(i)RDsk_pOe+aDtfVoOKzz!(r34@{u z68H2OQR!CS9-MF{VJ??Urmxdve;1a2J3rc=Vow$ocT5M;P^65_q#Lk-EP;cHGS7i0 zNbO5us&YCuP;|^PI+b(5h?G%~#wS)=d7d{WQ*v(l%K%djObKCHxfxqFP4f?6i7=-D z`P>ljr*b}If2oehO0bGl5l%NP7@UWt5yN-O+MA<}v*Z$h_*n8(7>EugGF+JI?8A}e zstrGUJIl!IECc9PX3Ih+TuEr7QWAO<87ME^z7{j?M_C4DCX_^!V?E?fEOBy$*= z$4~zo!Sz3W`rl`ghL(R?vQKZ_=VEb>kSGBI022w&f3=G8B!guq(}!+bJXDYm!eHf4 z8a4ljjU`b8U zIQZ2Lin%IwNm2o>3eNxvMDVOm?*2I zAY5vr(`1*ze)GJw9Y{IHOV;n7GXWyNk<{c}xZ@lTPAGeL+9nelQjMAj@nXLs(P?$a zbOP3j6LKqA({Vn5RR}~Gd;m3EQHAH1Ey@sr) zA$M)xnJ1K*2G2)8d2&>xDXh8}%VgV=rhQQ86KNfqmUWz%p1sb_&x&4Kej!Caf=kDS zlU_DI3d`Fglv?XXOMNGkr#5SU-JGaL5*819?Z%OUtq(vLo#5a8LjeJ=9Y_^S#0INE zHjJa-adR{fqaAZ_ta$wb$UE8wZ#?dqkVUSgz~BC3VFsxpn&dKVL`&RBO*5xvDu`vU z7^7@OSdZvZGl_NP((Vl2%};;AXTE9})wBXbKTVAPZcGJxxJV{`H?DtwP1T|EcU9;- zoccuYIUp?xTZUrvccWnRcSA6`iU2l8gmP4zHVu3^q^_dkBVjd=$1g3{AN3ik|FL4Y z&cA0LsO5R^;9iyeCqBOY=iS@){vo;dQAb+w{GIE6uC)GcR>_h3sMr79xp({S9dG^b z+`9ANTL1Ss9%cvCmDO5*U_6KIxLiYSlR$5ut#7{AK>|5D!M7`VVZC;&Sy;kp6xv4q%>D++Bdv18S4X?1_y*0d@@+7_35U{5e*sJS*-^r_a^=f%@6@Pza ze(G2DJFfMWs`Y$@hV>isQ%d|smH4NvZT$Vu=BJeSXWhmIFZI{fZ}ZZ5%Qe4NH8-g9 zZ}l(r!g(W=zWvtJQm@n-{%L-x7uFlbu|OB) zfBy^q{Nwj~%a3<|c3~l@oAjWh4WvG;(z3t}PrcY!U#7{TkOb-_zcD{o);3qyH=pv` zRz}(b{qfJ6EBxWS+fpyTUtZ_#&(d7={djqYa0}g%)vK+o4SH1+9rbE^ZJE%N#MbKN zpXtrH{<+I7o%dBsE7Ew&G`_ODyYhQ}2iH~g^7qR$cPO2I)vwl8{e;rjeKHPw-8CsD3^(6QY7Et4}l; zc~}4BLS6G6ChUojVVwZN{z(HUIwdVRHK1>)*+4mVXSI`oq>PjEAxM zv{&>g29^2Eiypg{1v9l)c^o!qbZS$++qNiW3{};g#_LWz! zcYzCmt-nQsHvZ1$^MCHT`qaun*1EL1eFUkHGdxBKkB<-e0*2kUYCu{r#Jdg;#$W8n9Fb~9UVgW{!GFgRIj-rK+x$xHnD5rN zcV948!|e=pZ0f_-IzjfP$lLnW2CNYuIB!Udq>r5Mf6rVfx>lK2+iUW!XUa)^vIUWs ze_mhPpuW!YtV5jz*8!sz5y48r=OY=7VGSZEA~jJI1#o0dy#p+v?w%~;8OZMrQ#l8h zcYwIA?-2c)#(x((aQ^>ZO3ga;=y{?Uk{{pPllKd^ z7QQim{&r$20Hd-C-9cp5odsIvB5v{l3lRKBd6qhA&3`S>bWJhtD0)r_3D1w8So`c2 zvj-AiF#C0zy2=`?#mZf ztD~N))QOG!PO`4`&}CzXqZqEcs_AC3{3gviXp`W7x=45u+WrR{5i4s0G=OnpnIr1& zG9h()S6P~<*E5vwvWq6SWRNM4Jx-+!_E-BRt@<9pV{0X}PuHo#|H7~!+l#~NWB z{@A08EtQC|k~Y@0N3_`s3mIK=SXzNh9 z>FgnF^^g5EU|$p)@|D9;AYVCDkozavh>!JI-(S`q@pPsG4rveM!L9h8GmpK zX}h+>W4L4W&Z8e=xLpqfvnZ>|PIAwAKdlYmb}@9^&fpME;H6kkvD)T1nohzGmD^BN zyEQR4H}Tt$TaSRGs=Od>dO-i(p#Q?v_d-~;i5L9pMTblAuL1ws;Hn#3x5K|WgRu8u z%hOCICvLr^>bL$0*m^TJnhpH=s(-WUGLSN(0as~*7@bLkX&L`~LVu?C=V3U)8uX&U z9q`~DJA;!-?>9cXvOUD$eFRKzpa|OSiJDz{m#jC<77c7UN8TC}bIKBF#0qO~Pm3MhAv3K`Egr(pVmIKF~53vC9r$b*p<-=t^scCAx&{Y14n7(SJ|suN1U4uZw++TS>coUq9)E^syT=EMK+0!Y z<;oa4tlSeNUSiZ^I@-H0&zhJ?Ub16hwPfoDxI5T_KNcggyohB&uOgjSj*;&BIGc1S z8IynE4gYaV{!QiI1M5(D`G4|I-gf2Rp8VUFf8W#}0+sN*jmi?1;(ylQ)O}^5tPv_= zRNhQHYfzVE@U7~qc!rurnq+_%FJRq*vDApo252GZHB#x%jq@V`vo071%_s&KG%Qg+psxq|>eK)=72Rx}>-a>Gd435xWn zTa^90W!?eKI?X)CUQ_cMgWRA*&>AOQnQV7Oc1t>dmbzW>mrGg5Z;!#)Y*z~8-X%v_ zAD8gCq_bb|;s_?ElEua3R&sy2gzXsF^-?l%bHaNSo4sFKw&1U0gYcAP-b6%{P)muA zQ2~xFBo@}#DZP{O{N$kMlnw+|*}Wb5u2%CI`X6%st%OWqv{QeXkWLZq)ucy^%K)l{ z!vVy1{1nNSU$z76ni~^5m@xRc)w4>CfJRPv)9P}!ZMQS&qbQo5g`G*ewWdP$G$>jGUp;sX-!J9w z)u}4^mAc-M0PEf5h$5_!J-?0Lx9#=)iFeHhI$A3bKdO)UNHceZty9s@DB~Pms`n{z zzaA<=$aj~oMw4tsAAh@d5pB?rIfH7Km%7@Qc5%IaYM%G-|9*~ft*+t#UhDsT`_6+q zcklZC-wO*1*Z$w1V{uj}h*ar)%ck$i&Fu2@+8)st?BmSOg>p3<&c3i5bmf8*-4nU@ur*mc3i8pD6oNzl`ImYKVMR<+JuM zqc6%qRsGa{sPt>l*G(Ab(hK8IN?)|IsQRfLL@%^csDF`7C|A%6@c>Qq7xwX#pQVGJ z;?${H5uZW%A{9%g3f{(Ki3Q8nW`5;=;eiSBh|IU zgH(R8muMyZw`~3`hrC=TjE@|b}#rcN;^D^zvyHXl$z z1q47f+6bU&5;?1EjBNKWF)$Y5r%P|M|_LZt5$3 zbHV@ovo!Us{KG#NA8BmwVW9QB@;E=#QWYG@M6|>nuo(GK*LE6(!U$n>;UCO>V{ILM z818kAO2fQ_#i!ir`XjXFz8F@z=4*3E3Ricv$D%C|VvSUvtN}3T#vak|y%Wk*6`dP< zX0Sm46Ha2FOkIFLzr5f?vGxmsfR6smNRm{Fbo@w^ttP8{2+e{8PXvf2Iwb8Wb<189 z%(}0*JVP32vXfm&7k}MMTm&%;n8lQ69))gP0VsYOP|AaiXU)7!dTICdo=VNq``VtG zplYz{qfO87*%%dnh9HnT7DW$$Km!4uMiQ+Gh7d(&t{yXLaL1q>?@O&O3tEnSZz9F6 z*b=rdz*`ItqF|}2zWCc9XqH)FyD7X|ISu$lLR97)7!JW0IDap&6|W4821y&Ns;mb!{P#%7(ti)Sdtza>V}@p#LuICVKx@lGZU>_Ut}l}(10-B4o`<3O>};mX4*zsmAkmmx7fxMDFPI+X9}-^*17<* ziT@gXFJjd2gO;$yAf{Mr!gz!;Lb5~aJ-!Y`0>|!g5ouhVln$BxDobS)7_L}KvB6lox;k(qM|ed?O0zZ`-}*zjVr)WZ&=1IUqfv0lxM^wN(NPL zZhv-F6c!F^MUI_hq|7{c+l}=UoFaU*Ic4@v@@{?tJo;JQ?jKJn@ayaXEd_IBLnHA8 z&Jt>~nxShr1U-gWI7L=5ViV>pqwa9XI>y?GFJyHhqei^54_L}tQ?>Y2g2=#KQBJei zvEd(|BgrhI4c|+i+Xt_+(zQo2UtO&^sDE;{p>FOcyLf;*%}0-P`$inO42SpN3rafI zWl2Yzm2s*{FOx3kH?hfHYuXqvs_YwTNK#9_o_?UveAN2H)jB<^wP2eIB|_5D9$OA&33KpIv41k~ zWJ#;#FsN;A z4YtJ0ndQ@7@uQe+k#`{=>R+|A=YPYdJBkOtwbf>|H-l*R73=2=ui|qP)toi=)mx5% zT-9|eJ}J=!sp;!>xEt1WmsYaDaJ}jvtKULZbGK9n{?Lo$d$k&$6kEs=xvh>SFNklg znqKdOOCdJzm6YiNfWzHW3E=zDr^uM@CX}LB;PWr}D!6-11NYD^KT{3(GJk=lG6Ed= zAXMeAxHk8b=SA5+%-<$j{y-)cTH2s3DuMf}6;s5w?bl!H-s`0p@#?d)b-+KETS&I( zTul@zIQ--gNrlP+!5l}N;!6`nZ_lI*x5>Dke$&#hDr!I@m20Zz{0|pNee2Qbx}&Dc zs-UMS>>6)ZLg1{AYIZI)YkyK*jO=M9j7LO8G3hV-%A9Zb-t5irn-*}GKKkS)Nk%vJ zYeyIymJcpcb*x3KnOb4-sAv*h$h$yIbq0H9F>7%NS4xrAaH*UHtuE%SXjM5i?C>+M zY2<@h)W}D50Hd*kwj&B9RRp?z=?)AVc0X0EP0+&3#88cvtjxV+8Gp~FI6)dFH)ks1 znSCI-1pomr>zYs~K?YZ>q)=A7K}n~e+j>Res!6zy5&cP`9G{1w@@6#^j`hctgtuMAg*31m$sUZ4rw*71IlVXNlT%o zW+a_U%{3^d6S1W+i+>~TzHi9Xl+_QKZ)wEU5mpi%k}nZ{X_nmiHs~G{gKpcl>5CVX z>@*f$2314h+!6BQd26qopP-*COpo4mOOd%io6xJ(j(|URwKiZNHD%OvemjA2Xim~; z+bDzHs1h@E`}Mc9c&sBbix<}!S;?Gufo%JSdb+T1i~1485`Xc!TFqqfx)qA2rj?qn zni^H=t=zmzS0QH$w=p^qs=U~+!y~6P$}l?KI(e(#VY=Vmlj2%f%9TCq@VZKNuA^Y{ zkUS@B(yCK4%7tVHwP6$+T*NBX>M<{GmyZQMxU>7pGR~~3v_!QcYLO-D25A8lq5Cyo zh2+Oe=qsNkp?QyJ?oOMF5vRRmuJiCE0}o0q}hVJ zLATbvBjkg>M%<2nnyviQDUQ(3ey@v67ZQ23PL*x_OMhis@UzyYp_kQ}G_=w(@|HZ7 zs`d4GS0dQBBB5l60zPfGv1ni~V4f>j%F(*r$3TiB3RUW+smabC(HUmlMV&x}JVvVO zhCn|^R$$VdgC({KO^4)Pp?%w6DY}qNou+rxMjeUr37joC9$G0nJBN)|;Av$wO1^jX zO7rhi>3=uXV+QQZ;{&Q6FyXadljy>G)tenwFSb0llO6Q@vCy48fr6n_4e}!KE3iA# z70O#4NR`!Mu)97jtd>W~v=4f8L>Ec43Ngu7tMKTm70^rTid|f}2Kv=nmc=!tTtnT8 zf~nmc@}4R%YB1T=3vrP|YOzz?l`Gw-trSBR+ke{wD1C$nuNV@VqqUvRznZ8lOl*0p zGbj;-;d&o#qp<6Xq@oIWCPpfd470A2IuOuQtfIGziQ1a6S+yfe*rJ5!4A%iomg5!G z*`uajT)0-f8xKQR{*!|KN-=brJaZ53%JD=EX5VXRsHqCV7vJZ#21h|xcF zNPqii_}VMZMj6O`mfB!(`@&}AH?f9Hs^lSn#Cm+-xB|F0Y2ywM^oUo|js0 zky29Mc4m5Gxef*JedFj#^+Y%d(hALV^?FnnAf2iGvl+qJ6IUtRZH>R$o@6lT1RC?A7(Z zlpJ8BkFck(s3Wo&(yXGmC!?0tVx3V6YjeKJ^4fDLv^^NT+6V)7J){!RAB|GM(kPAG zelvzB2IdnA6_)jue4o0S)eUQ_8OAN4NP-=vB{%VXM_*oEvAXhAD^`z0?)(e^DSx`U zqqi=rJ5mL+x}&!rbFHc)3=xx`T1SyUKvM7YH`l>L50=6V9?6ma?=(-dhonDhos}E_nTuL~^3Ni^4=EVg^;zzljkzp%U&1=D# zU!kICtnqNFl(;MFyDuoRi~9>) zd{~?1N!VcjXR+Zgk1#ukSqAkI}cz<)Y<3uMtfbE06boToTXGZ;RsM%?^gG$JX#=kTzW&o?7 z_Rqsc^&o;zyuo8%NC_ML^5fv-Gz8!xqo{3byZV$Niaf~ zU`jV)n9VYFrW)sT3X6>a)3q{fB5i+(^2IERMSsuH32S8`JH5g z=2nq(cW$f6y`nr4iJE3HC}+)G<+o<68qZVYgPEPk$M~F#99jpb#SUp1KS6i-eh zH9||zrpql^TRHJ-uxoS**Va-l!_yV8dNSOasZ%$7)*FO7uc}EE@Y-dCRiUArZPm29 zHw@B=j3(T)bkDh7*(^f53DP*&COQci!3%fHXb%`48E%?_*Epob>D_Y z%<(SsA083t^n;9l@1oXOk>#*0x~lGRX%PNIw53j~y2Mcru$`7rZNYI{S7sc%! zUjNBRt>Vgk@xB!kmBXO=mLCp<4Pbfb)^MV8(KMm#Lo0DLeU9=VcqcbkX`R<*+P=BE zpVW5YmvlY+I*D9dO+_lBPipc$6>A@~-puxn25GOolxPiq@P%zPZbGY>vZ^f(w>}*G zZ2fSRkfWJU4E<1aQv|OLi(c#A@@rhu8Ux)0~FDXBNG7yN2_sA2o`QWIPAiWio=-SyF3JvUyO;uZ<;v7>3{lS+i-*sHCduqK9v)wg|;Cj=_k%DWd zn8BqX<}j@CQ499Ixa}DDM#Pn{3YZQj6j(~un&1OwcnMw#Pa8-=$?#|t7M9A{AtBgo%`@JFsek+O#T z*8<20%8O!w7+s~NNjYQnr(VUO(G}i<0|oGGdo=@03|WkkngL{~w)NZGcFz|0h64Gf zQ?b#nyQtIf(Y4#<=TfOyGlekzF!$1(X z!wDihbKAerdUu$2`gmSAmx-VzmvU_@BJHZ4l{bSG9@{l#a@%#elHFb6-KHf@dXD@C2WssM7 ze|X=qDx)$UBWNX=8j_OC8c9rP)>O%eh7mwjYS>AHvDvM>?|@4=B9D~`9^XjcoS#h` z+jJ)JX;J!FFE};S9$XcA`N5zMG)cGwlR(9DJ;$3%6@+(^O;ybmf2Wz&B7#MeTg~#x zv(7nF8ATX4LzeAQSUwb7c|M1(f1zpFx~Yvif1^xRwSw|43Bl=-Mm^a%-{TM{5LNy? zm0>Kx6-0Wo(_eWbk%swgtW%{hwpKFwouy^wBYvxfXCZk(R3R9CH6VsWc+%ghls|Rz zaYy>^8npFcs2Z?=f5T0ORNvuU>5!)>?9HD(pDKzlG8t)n_pR+HVfiX{Wr(&)>{hvP zB?ZG!#pqp3I)+EO({;42${Q5B6H=y>@PkR56QSprPa}M-!KVJf1^s{@sVmiT@D8p4$YUd zV>B0aD0(R_P5w*uMyK&KML1)o`mGbXsuzB~%MX(3hvU05B%w$&b&4q+=LKZV4=?GmyKZll+l(*_9e8(y#Qn1cylUZC@ z4TRcJE~brn>?2=vM%9zQTr2@6lk8j=4^P7zxx9}_Ag*5MwAb&+lM`KOf2F072YvOp z^pzv9EQ&YrX?L?qXJ2veDc)qg9_*Uxi;~Ee-gEE!CTY#6q1uInXS63PtZ9cKu~t3U z`hhGUlD5KI)z4ywb>UlNjnMf}J=jIH#OI!8T_3%CvTufWy}Srs(>={JK&HKl!HK-3 zlPl72&>vHK@1>#i-iHVYe;&d6TZd6pQWs6*{10kJM$OeLJ;j|5SwIJzX!CVtNAo$4 zO}9HG6I7&h0tydHB6H74Aydh-dULOec}$H>l69GilP}VSYoTp7hF`)4F+pt7Xap_& zJGHYzJF@Kg(3a z>^qXo0vXTf%m_4ssB9f6Pt|qUnB?lkOFY;2ZSes z@2Wy%gjd&!!d>-!BEe16DbhBrqg$Dc@V!g2r7o!q1Fk08WcjPXp$h2B%*c0XZH zna;RVHGJAq?^DsHXMZnlAKIr%|jdD7{A2 z5UxQLnf;Y(|u`^Di=57*54z9k_G{286}veVKV9-omyHI>j~yJ9PmsP zf4696IH*rTHb0C?BKWq6V9jhQ=)aw)m~+Q|yP`;B@wsHnG1iP5cUN}n8F|NAj4r(k ztW!bXMD-=dsHUT{c$d?sTjz?4eD8D2V2BQbT6DI!h-r}>3*D}A+I-`fy4N+Lu4h(} ziX+4nsX0tcq3UBrm8d#kqN8zkBZ27bf5lNO+-Qd`Id*M93zp&5MZ9u_9a~*Xj_rTU zLTrS~v0-LEaWtxGW*L{k##}*z+}RW(np?$IM8-V+JcTwEvGvgK+qq>^ z0rrFAKYb=h7x0d?BMdAM@ru&#je=V?ROCz3^6bPBAE%uT`N4PIWJ$kB(ynfkC%EVz zBaJ(T53S?0=K|?DHPg_8!>#n0fAgwxK5y=?$Q@o0!v;EY{Rue02n=@x2Dv>}4Mnl~ z@y`;NHU80x!Wu6SWAZ&K^+<%43M2IejAyed9;+_0SNgHKed}Tt(wme?_UWukR-W&} z+Nupr8Ec+QGQ-#Jf7sVB@gMcj4`$+*cfnaer_^P&dOAi7<4F+rLE!h_f2)XeIxc!u z0X2Rg^g$8M+-wDrF`qnD{`*x&vSc*+L+e)!RWejt;qWSo1URb72h&+Sk98AR4f<03 z)Lo^bJ845_t8SV`o1cs1b#{JMNN7Q)nsvw4FPRAIpN8z}R{>;nYMP%)YgI0VJ;n~) zu#|2=EsiCDzhHV&lsZ+Uf2|~A=sAD6^I>YqYavp`RvY-Gj%A@i7uS!wU_|=n{}pOeFC_(On?gZviDd;;c}F zU+eYrQ)hU^YK+&Q(>uv?&ZbUCS~gT}b<0QQP1+e~kND|{DHRfofBkFhcaiq*!?08j zR=)N|eGYdugsP0((T>beBoYbp__{0MqvWk1xA<|}>Z;jC?-g8QfkS>P7~u3KjP!tz z*KsJi1v_BGLI)G|wST^fbEpIc2a%FQ_p`;JNh&Juio?ike>M7SKj5H}s0*+|O1eo| zRJ-(gLWr3`FJ&+yf3F-1-`WUVmGz{3-Ou||jmyxek+C(_|u)M{N%W}#Gh0qooUfo;ZiCopq2)yo4ji*N@tKfB= z0Bd1)@GD-%c0P-j@X;(@DuQZ1RK(phgy0{ppUP*g`zG%de{>elKO-#Td&*AMFXy)h zovfVy;684_^Wecf{P*^Qd$;U=)$@M{aR2_@g*yxXaO?K{yZ7(@LvrsUjBn^O z0L+2=-9MaVWxuZ6u*w!$fBk&m)t@PYUTmJa5g!7O8Ji2>LKmQXyBkX^L8}Hpm{r+FLb^DIL z|8L!fBjI}ge}?DV8?&)QXmRVxZva^ zFmfHdkDumQnXvS@OukBvdg%!?MJc9}K3s%$fGKOIf4w&5gJ>PY{WI;B_<Rq-S} zPr5}vDGsu8>GkKI{?`Pp@)DiBB{?{UHIc`!GCs_hFLIk^8bZ1qC9yW;|R&LHTFp@MC%=?&mJMX7%5av%Jk$E{ysr31{8*)*+yTDy}>Wi67Mx6sh(>zZo+`5^bYzw z(6};zXWDXxn5F>N)A6*s=>CR)Vx;zzU`#M@G0Y@PX}@@#b)Sd` zyGL|WE&=-e&FpP|_pDf!LeG0y8;6+v?LYqZf8X~pjSm0B`OLb91>C_B)IQP}ZYB@r zFd*udT(wIA_Y`v@4fyuZ*x%n@-rU{T#w*+p%d4xe66vXRo~&S8ZCF~OP3H}3lyViQ zgN^(`Ec>7SadqY83naH2Rv_y(LM>unvF-$OL6 zkJFA6XL?T8OUj&Z7AQgsck%w-K4DKUr%1X8LMJ02bI)%;nk!y zb~sON-dyAuZCE03jmFk-@?&v+gHSI>v2Avne@6OY zDYGr~H4VAgZ-M%0vuZp0>ic7uu;p&Q)BE|Se=Rj3g3|M_tVJ*HpC?BJti>6yI7drF zL6O)YIXo+p$=6*t^lnU1q9!EP_>r1R+J)c*)x?E@|H6t9^{3)6&rkARiDur(^eB?b zX=)GYHImiSaN&J-~{CC5X{3qMc~1_)Nf(6a1N;9e)^h71+2&UX$GW}a-G2m zOwPm5R|m>t?n^#;DP0soe?X;iQlRU>L7DX(xOg&T{d&lA#h0()Egj7uH@|D>M01Rhrjy%o@)8&GXV%8GDsEuT@#PuW!Geevn z3<`-1q8<@vB-Vw49Ii)n*Fxi+A7ncD6FFE)W-Zd0K;(4)vnXjRr$Qi|%W(<#VG1JS^BMy3jP{3HNrlWlAXD7r*CW~OLQ1CWx@ zhEiG10% zY#DzyY0r5hjLJ>sz-|wLJ-Tu-626NB>`}$${&wPu6&_u+!ncc8?&8WdkVLujTTw6- zT4vArx}qssR`C`QT%G-hj1JYY2{Dw5QDMG69At3Ynls!dg|*iv7FZB&bZ}{DXZ;k; z5@J>U_W!a=;Pg}37Ti^iX6eL02s@f4-2s0o=K)N@z*1fEWIr{SJLMWVkzdsm5~==K zmSKn?q92^t#o;@I-#`IFPN!wshz%6)Rm9?wH6he9lRYQ-64jM6?HnP4eSCt@v@@V% zYVV54EQ&+uUb}u62L@Tw1EC-7WD>?Jm)EJ-DK8hvZ|3es?vdZzRo6&5`lo=rPCI{g z4OaaJvHA~Yx%ey>#|B_3rlU3z+!otbyqaWn>MR-sVp|J$?%$b}YJQtZ)+Jgi>}PZV zuxWBAc{NEq1-ALk-Gy2FF{`bj5I$l%a3-Cbf>|Kq)PaL0=Je72-~OuamdU~3r z%s+JLuAWK(v#7e6bwDXNWm1D$B_M`j(df+X<5dmQ#39ak#DJy@F~2B{{Skj{SiK!% zn0=68WveYD2Bou3r+AIS<4)w7GEp+hl4#XTvX9*QKB6K?a0n?=7Fe)o5jT%oZ07Hk zfenc;=vD}%sgEZQZ84F1q;hvqbfK3y5baNLr_Fu3Oc0A?RPIPr3C*~0n(WU24?=u2 z-Cl4$>HwJ|JX=5XgjgCs(-VKWbMsx8N8NQGfSdS$E(NkEv>mz@yXbAJoC1cYM5JJ$ z(alp$xkF|`x&eLrbYNC}!?{Vj=i&+gEL@o%bQDJ<%}3A!2_}owvi4lEg_X}>O=oJs zN7fRV5154>Q(C5-R~SbHITOKCerQgYZgIsi$vwp^rYAwhvvOI+v;luZ`Yr`#uTG9k zVcbU8Mq&=V^4Z1k{U7>?{x78Vx z%m71+dc4&6tg;ywW`cj%Xj~gPGm%gos+eT@^d~TIoGUjq+we%i#KMMF(L=MsF08wn z6veQc!CKd0R#%wCKq3ikA|hHifa(zPoNf(JYNCh|n(_CuqjPefX&vX8Tu$kZ2Wthr zWK&EGc1d|c*Zl)+p~oy#ih%czp)j`je0wH22Fmj$>$xf>MW=rp1q`%I(>6VgO;1lJ z-AwPDUN-v%^Hg##FlE103uX7GbGZ{fE0qSjd^!wZ8Ds3jy)0b)@cm$NRp}lqRfZ!5 z-5hi}vjFr_{suvIH4Mj`%_jOiIhHH77HyDtQgKSZoxA;tIk-Mw-~=sZQRS9oy;lZK|Cq2p-fa&tM7+6 z1cr9fDARvVS-|G#w(%_rzD24#nw(!DD$*6`Bv=NgEFlq&_W;FEZ{RddNOyq)6Jhw^ zbdLTcYK`IVaEcnQv+T6QDdARcBoAjNi8_(U;TtFZYDC4lqfoo$YCtO%Pg$Pcm>_cV zL={lYkRDabNti%=Y1@YDXZSO+{STUiy=Nao?Eimm-@0|jxBt0&_s+Hb&*ymFCCOOz zh8}C;cK#t5dq-z`ywKzxCHQXj-%dSDF2}IOs~P<7Se3zq-K<+=aw@r8vYV)9l&pqs z^kXF_#}O=OGr36KCG|z@ZtGRvR=4fig3-2P5@@T%e&lnsow%&pYN;13z-{T3YFvJ4 z6uf_azTh)5{Xe?<-hI^5|2q#B76STzYvJ}a{r?;fvB*6w1faFv+hL4$eY={AX92G@-24zeA{yBC+;RCw; z8`7Y7MQvN~?OJ z>m0NQ%(gm4*YI{ZnUfZ&o6$v>Vv0N$)3EjK2EE_u(-rWfJetB5-!=a6ABn4{`gnh! zA-m7^L-@xc=EQNnt>)z^s%|Hz9ztDJaE=Vg-ZB(8oEbXpX9SuUBme>zf`$N+OSG+A z{3K5U+lN~VVVw~X$~_cr!D9T85i3E~E0$1O*|jQdT1g&)bJ8ZuHClsSk1eWbU6mz* z9dDej#Zl8xzB$ejlm|u80W1l58eV@a_5$1`DK{eOVzQTaPY32` zR`Cn1y%znHF-sbwm?VQ1(ZDwBEvOdi4Kb4>!2s5F)oEw)Ic;Jjh%2mPP>6qm?32Bs z`C&3?KH-$n#xP4DD~3`0AM$|Y)=yUNXwf@^f}S2=S#g58p}h5)EJrN`l3M)`Dv`h} zTHxV&@vtTh-XNH&Y!!%3kPaSCu2bYF1?9=Lrh@ED^Y)p=`tvR^DE! z&tkx7uU2FMNWn-eXlbRIvF{Gl(GnQ(tL}UK6h*7Fvr}YCbijdVq3D0SHXX_unW!XD zNid^Dd57sq)idjpro3F&>Q3Se=upG^n?rkeH74DUk)_z-RWNNf8xDr77I z|N6K8iWq|jscqLt)?Z54Y-wfjDD?XML>;@ge&<(=63ot3rC)%DG%(Qkj= zT#3E^etCU2^8WFkBQJkf*J^rL{qyGXv-MaXYkzvNyb%NV$@bQ>$m^$TF^HaSY&~Ay zh<(`JdhtB+etmOyEAsjeTkD&V*BjAJVMuFRPhuaob~j&a#K75#wZ65zy0#si)91_E zyX(<$ZLdAs`fe@qVP|b)Z6yZnPIL?}HlHnTEgmxLkZ3^+;%M^(s(ZE@nUoSYTu#6u8@ced>ip&k zRp)o2Ns+E&aTo8LNih@_88nIU)~qPf$@)V|kR{HLGCu+-AEgN19fy=7^W}r{A*GIb z#o%;EnG&v|t@wZFk}52_bjfzvM?D@+09?rmwl?O2*}`NC7i0wuZ|JoOO~Q?u*kWa3 zaaatx?HReuD`PA7Dq_&P>MUcl)@RHg`H1-l=h~1H47)Uz#toQA5-}0oWPUoCo+l3?wwXxGwK+&GogbMB0vu!`lx*yhTdly2 z{6*E4=;Fv*qm=G;4o?|3%&d*B$?` z6|k%D@}Ht_mp51O|D%n>+liOn@TbyU?@H5c-*S7{8pq~sqhcDK#@^$J8ow^qoNIpD z@eK@HwBI{t17v@(7)p)ZD-vi@bchQsRG;yyQy7Y)0m@^_^j!1~Wb1^r*@W@{-OHgs ztLPpM&^mGyu%qX(L!S)i#tZjhhV!Z)RATU7c*<1sZ-#OtRVN%C$aZXvRz%RyBE!JW zxqyf#un$=%&ngSwd^{`rZ09ZJYf6%TGMD^b%JPO%k0Dmes!hMT9)bUiZvtCZ-+5dJrD37xey-Vsc^ z`k>mek{{qxOv5XP04s3a?XyDdjwu+SZZwm-==FM%x7#qEgg%RYdzNNT;Ixb9%se__n;xJuHz-Dxah9qhNj$RJjq@hH{ z|C^lkE4;0VWQgUqx<47e{Gd_gTg@>JI2J>Ggo~*?IIs@c3{;qNeSny7)V*(Ty(L)g zR$zZjzhx>=vAI$=#T{v^lRZME;4dsVxiG`EzLZi~0#}JoJGB$Eb#2XZ zMi^01*>BFEVx*HhCN*<<`Q>lHfc8^*yWcV*?ToRVXTc99g} zn(Mt~H;A6aMRCe*Pykw={Ks&ALbGoey#WWZ-l1GB?dsXvW4POqfB43(x}aDHB9a2@ zj^R1RnWnUd+%Y>PBl96Hnw@i3_N;#-5}Op|?r{peGo4l_eJCb`W(14L?83unMX71Z z&dx^2eU;E#*NVt!0~z>GA?>CkRnt?WB{1$PHVr0Mc^hhXF^)!o@oFew4|_Bh-OTST zI<+(ml8}?YMTu|;Z2;rS^o{nrM{)s3?a6c!EvktQI}mT`k)xRsZ4`2Zv^IYW$&Hf9 zDGGLn+(j4uLbV)`FJxj|3yf+YqJpJF?3!>iyy#YnyBoOqrbsQ|IYl;SgJXpWVx9aN zI#RM243UNZlEu~jjs0YQYJZykK&=gYXcu^jQZW zlH)6j034$M#?MG9%K%<+82|2VrvZxZ&XWLXsV!y<8p-6iWv_?;xLgZEF!IMfKjT}j8d5%YU$ZfsaW+6$_Il}Uz z{{piYFgUaJa84sJqT7ETx@@0k{XiXH!a57ON!Xt%WS6~&2MF#eLJ_ncMUVCtvEm0= zY#b8LktUvfw2=xRmLHOQdO+bC%7P>5Vav#TVVv(InFYvE=y`yeiq`9McXsJA5tpcq zw!G@OxOjiF-e`mP)C%nus;b5AKHkKD30@+tb?020rmmrdTwln z%5P%Cu^%+`eKmjO(JGf2vN@nLxc~nv9Hqcha@g3uBQC-wD>#wr!!eq>t%CAAj5N+? zInkc5AraA`7INUdXxyKmZ^%;t{fU}wxeN)GTpttn>D ziRHpJxj+k8%%g%i>mCKd#>T3`eOebO7S5if=W`fX>WqJ4h*E&48a{%T)@5hsA~H{s zBA{#oaJ&-#qjFHTenD|nOqzxkJd;-ImfR*dAFJH5gCS; z|0x5veaez}jlOJOSx%?~klR-f7mi5k1h<`)p7|Iz$+%=p2;pvUbDq6D^-vw(N;Y8g z+cva38FYWwLs=T)9UO6A@sHvZ{?_a@T_`BtmNGI@y6;H4)f+-QRVe&Ua3$8UYa&gu zZwVRrNy5H!w!538P}W_FfkmbV?d)K1v@}Kc9U^~F2+b=ZjSf_J>!PJYB!^%HGlv*h zoT7gko|{2=<02QzP^l*RxmDJzbb_;=m~W?z5e9#R8NX`m@vFvQ7^xxeWb}|8FRPYa zTGef}I+hfiUX#CRH-FQff`gG)U`FOM%6oZFIFEr8A#uEOD$a!1#wPr-_^lkQ7>2qU(BIhLVrSiAK5kyQ0Ya}mhCPSp9%Wl+GM8528Dj|@RUVz5artsp0 z3L$@}S&DW9dNDMJ=sQrQaXVO~fcvdjlf*qnMwlu`fnj7r^q*@c@pC+*uK$N5fgGCuae>x<;lYDjx9;4B_X~Hg^FMy3M}i0~ zciYSD_J<_-yMBI^$VL-3@2|KGlUJIH_k3IyQ6_5S}H&rOx`g5zm?mB8}m96PtM zj7BRx^BKOT>MNSh<;{N>p?8$yZ(yfp# zOC@WxyQC1?ZROgp;&c`gC760_CT|E&=g9&*Rr0f$23!g{MK9y`m;|Z=*SJ9n*W`c0 zECoImwMbdNHK*g-syvv<^d8s4UHUQi=9L>385k7`ab|T2A*hVTi zcFy5mPkTj+qZ?zSb!WCz;wct6@LfOyh4ssaI(RkQe;ROGlZdq>ugSZ~K0Jwv_L6O@Q=nm2GG(CfZx%xGE}O@ayc9LvgFwpD||e zY_f%$=m=1+V+HzlnkgG9g!){Da#?%N;g+V`Wy(F03Qz?c@5?CXkUl7Y*n7iigmX%$ zXvKY52{v6ot4YpsgdxeLISPM0CUKlG!J$f2q9~5Fc083Na1uE^MyZ}AZxe}6rgF`q z@qeR&h8Y5uVlvW>qoJ*~mzL^-ry>(gndIo?DsMpAZ=k}9 zmvO*ZAWkUI5mcEkdfIkI8&j8o0X%Ev!S3Yoid~1fJkG6J!5u%Lf8R)PS|H6 zq+_EhZ5uCneTIqm z0Gr`9(2Da-rkrJTqB_!li{YsR-O_a1d7C8%li2ul@x_S<_Mg!h5t4&*4pc?ws+aw` zF9y90%WoBb-I!p=z3XMfMr)9HqC`FTJMuKM@6zy|P6WXRi-VkvfSyr7P zSvDE!G|kTYW!5>AIS6oK}CG#SJt7JOAC_?6!;Z$4dn#YZM%B=Nxpjc0or;~8z38&>vuO0m&7Uz&1S zY-cT%%@2sjo6Mho8ar=##enbxv70vaKWgyC9$`&mtq6bRP&3GlUhLt8_S zui`Ma#D9&xr$ZyQ#Di|-CsFXQe@A3S0F9ik@O3Z}w0$WejYmV$k@f@?rj&_}uX#d1 zylO5U46Ro7)7ER`GFo9CZY?*!ZTzd)fiTqACX@z8u?d`*o3O*(g#jIxtQJ2~Gssi1 zlNlv4zFOsfzW^1-a_v3%H!THiMs0&8Yy=85`ur_TjL>&7Sz)fUl=xvAr=}YtO!p`1 zm8PefHeY34CMOaPnu)22(Qv7{D#7RNcspFE_h~Xh2d1t(k{>*9l8ILnHOLe>n68FR zvHq^Ul%pJmG=Tc^@G8K6{q=|otO}a`E6>}j^gla)J7WK;pjp6Li?R{>ugfwt45Yfc z*DOVB6mfP!FzP)xiYp=7qmOfFj@XVfs4MY1^0@_fAWp{S6HiAiaR9|eV3R0MpOz%7 zTii~<+>WH^Qz8_WgmJQjux!HDW-`E>Ewe5ffxTfzASLWt-rU&ThD%$Dw`cdth0^@v z;*6tz+Zkatr#Wj&QfW62rKF#nNys>t{m=M1N&=v{#_z=yh%Bs_Q6YhY(vcW;R4VHs>_WQIcZFA&GgB#C6Vpm4hhE>SI(5kocLkCmD)N^?lfGY45wN zcK~a7vd89sdu!dcaN-kVDx0Ls%#T>zDYl&*Vd_u6)O8-XU;0z4|K9_|8k|~1-mj0L z`QKRoZ`uFczIA8eTL1q!o|`HTN>18Io$8ZSyrQoioQkGXBLa|&$LHD^g5}1T&Xv`F zcj7!>w%89o7kwC>PhGS=MonAxHfs&~Bo_o$`*;RgWYHq3DM=dwG#SWCXP|p{zP$VU zxkRhdB~HbG%IY#K;up5qQ7Ue!q`^Sspljxmt3V$YJ zc-rs&~O(?8abd}$oLem>n}(|sVuLPDbL|rRiWb+J$|_H5rRMzGP?<@2XphY# z*q9ErzI<4wluz6@q7g$B=__rwsW$+z)hQ^P?ahRj1KY!cnvFwbc*>;4(viwED!u^D zIhwM<>V^irOsHuAW5;|&RWV;6 z_#qizq8R4Mt5*+cczDN|r0_wrx2GD1`Glt$YU$}Gkfw%tm z?!)J6{_it99XRw&`d_v14;zi&(HAd&hb<-eAO%_iRFIrFB`57^ijgYEe*Rzn4epF4 zp5Q5(Gj@;M6sS^#8)7*#hB#@@^|I3}?N9Ot?IS8dK7gU)ARm)fMHMZUA}+!(23?Mg z#oS*)hVqliR|!R%CoSFoU3sfxQ=Pzn53jID9WgkR0e6g=yg$yaB!Y~6bEJ2 zd&6+M>fwK2F2=_lJF_=Gx_1=={tI{M{h1)VXzZ4cEys6_^W?n;d?UqFF%aEeEI5P;^oVU zxv6P-XFbCPrStU)Al&*6wf=H~nxAl*$CvNhxGn8}jv->8lmGG4|3c;f4i=YP?i z!-M%F^ij|M-Ggs;y!F3-`_6Uzm(TLtOg8d^UfMfne>7Zn;>VK1LANFTs>mZs7_x4G z_J=L>KZo+FjLLvP2C9mqBMn!fKBfE-+BzXQ#i3+jkj`~)Nk4smol$Al4KiCv3I8(j z6;q#}Ex50%5RGh{h#Ex1Td7hZp&D-X;Cz%rxc%-u1NzX z!STofuuCkgicpB*AQ(={4X6P`o)&po47Gq!3_Ivgi2j;0D(1831!2Y<&~yXB5_4&2 zP2!sago7>y#HToa)%l4ER*0U2H*pLYtv2l_C+l2-8(8y=Q=&#fprcpn5tIrUcu{6L z04l>D_7QGFeeq9d(%@GwVHq5fZzCH1jxs4 z6CziG8k>JJ`R_jv{B@Y4RP|=EnwO`Y6tNv6r$C?h?+l|a+McpTnBtFUQ-O?f)B#j& zyip#UCwo+Xd)2tgLc?fmDv>|{2|1aBG*1{uu#lOyxzg#t3TR5(%T#0q=m_dJ8q^D6 z&JWNqh2DHt9`O%oZ3P;8^@=g+Chu6usQ`cWQOXS;Xs0H7R{cd>H}8|Q2A|$7G-qdT zUyc#FlA%6A#B<0U0XEpsP}~u8R;PrP9W^pD48e1MKyw=k!W_i-2->W1Y80=$zxvki zU_I&z(?X2f!)7cmGpj;X!(I`ERXaHPOihWkg!FC=O4BlumpjE~ARF@DktiZ~*yF#G zLDn^Ca7m(C7jMWj*`OET9W0mh3~#CDEQ&m%;Z9b8IN9h}BkL-3K(}ZXRTf1x$y0#V z+87#t_FP5SnIZRc^m)i=A4*?PlmeHqlmR0pU@~0ERDwlus>tF+BtdwTiNy+h?vrgg z=0@Ux-vButvRPXTj`$>%sK7*^GKyHE^0j2XECf%PlC4ZqvSksO4#L*gW+a?Pp3g!J z2YbG^(jGD~Z)h0(v&d1E zoL^|iEsV;ZZ%1lTnV>u@wEQFr|g5MtiZ4LdZ595aQj3dEr1Pa#0_r_l1AeVk98=2 zc^G{XG$HZ8xuJ(w4NVSA%vC^<*}8ExNJaqUFStDK0m#+C(^PHs2#ua`8wBbJ(pM@DwC$A*=J-v7?sf%eOjU``66B1PS{RF* zQ@ZwHPVby~rcGEq&lJ7GY8yHgyzVE3QTG}7BmOtt%ExExy<-~l8-g! z`?|U^Nd^H7Nx~c`5AG$jfWmWbL#^p|Dm`0jMC|%XYh7_Dzz>FjIw*?{>PBc)VL`jp z(V&+xYKAy#aEU2jPZ(0N-eu%R^d<@y;p}Va=;>Yk7 zN1JUFmdR?*=b98ai)u$l+3-7mWA1w2NG6lnL*$`V{jsFt()H3R^m2?H0of)MwvNL_ z+ibaX9cRmvDy~^$CfX`m!_Rv(#Qj#=HCi;#PmSRnQtPDV_Pr^hsT-d}Dje2jo)RS^ zrv_Rl$kqY0=jm4w_01zA@Z@ zo=IXUHtYtG-JK3CVH`KaU`a-&GI)2rdKj<@eblqI!N#rL3cdQf#7d#OpAa!)ICaxZ zCowrQiWk8p#Hvhyu7p#678aW3T|CiQ5Bn1eQ>2EBpWlfQfkn#IfTyg@BMg~UC*V&A z6v0R}P)0w_1Y(N$+>x1Lzd=1Aw`mq8>sDk+rbeon36d8U`(zP`aTC`;vD%5CNzjUx z`8Z8D;~JUD)Dap@Yb=Z^o@Qi{Avb&BCFDGr4uLVsYm1F|FIu{-&tlOUQc z0Tq)@niv91x07g^AS3VWNxVb=#=I7-cHFDeO-f44xL_s<-(tiH?X}m-%h!|~3X`jv zGB2HK?{XggmU+AkSz?S`&16_PG-?hZWDCCMA{uboqUGS|i1LfkFmU#s_p-zMEt3qJ z8h<+q_uber()((t~%vV*suwf=u!aP*e$S{VlgR+eYxwmr@gqLSB-|41hLg0lwF5`gM&2E~ zouO;Y(EwvsQIulbbBfo1!Y>X6-TuJgL2ob@%3Z}6P>WTCLa`F?aP>tjVe^Z+?mR61 zeE;OMwzeu%!*QyTPAQAAf74TkhnGy>bY4!Y8I$iW(~fu+*&dU0{T+YD&CrQpcI4&W z`1s!VyY1!8)vafjQ)AAYGG8BSHa2}07yZ1KzlokIh+)PkIo>uf>z?R$h7+r_`X+<1 z0+iOqy)ne$^`X@pKJ5f^=GaZg+p|&)T00?V=_S1nyKwI#v8{wOf5Z$jylM=e=P2MX zx15k&vSf-7z`E>c+1@1uGW+5WGAvJ&l@=NEr#(t$gLX>D%;qhO+ePHLZBf>nY$zki zAn+PboGu=Pl=Zn)bUKnc0f;&)`%AJtT2^`!%r|ggXOPG&I~>4D{J?<&&}hrH(K)0{ zAILWXTZU{FN)IJ_e+*@VMfI;Mks-4X$x=#s>%+9~8oABkd#>Ye$^?yksmlUoR2%oDWYl3AX+s_I1Pz=(cnpaQuJJA++dtD+Qgbnr|%d% z4j5|s`AS`Le{0s%Q~>a=#tuCG1zEuJFULN#{v|mAJYSZbB6=+F?Y{R7hX$`71kyir zv3)LrH~ZaAuVwSKMgIxDH8vB5lbZzk>kL|0IkuwXgVp^WXm$)3i$P(h2tc*Cy!yP6 z7*>TVY?3Kpl!bJlbmlMw^j%PfmED=%5(dO7j9(EsW+tGxuKol z=5#xe8SxRTVp9BK?=vs;ZN#A7SbrRcTH|^JxcdA1z*$i_x^}C7h;lAw$0$RkB%(SA zOZkfMab2X!{^O>IbwoPDj^}i%)g;Z{2RwcFy22AI7Gbx@)5mg-8tAV)DbdUi4Q8 zsjf+QVFXm~%*k*mIt$&$%duY~r&)?fg1N?0XHiR$3m}JrW&bTE^dZ&&{T1PB0k6JA ze&Nwvivy9Fj}mBVJEMejE&B_KV)grZX#m4Le_*a+uiV}a^}M&mrjk?wIipeqOy=*z zW1#eHyC_(4jyBnGc?QWkdjzmrB0g-;&B7Fk9wAY)aK2^~+uX}KlywO| z2p7bf^m3r0QDbM4Sx@))CQofp5s&=w2(x2`qo5P*kE;Q&3yz`zFrpw;Euw3b*9$)D ze*g?TY|w0T(CIww6bEpX1kU-ipUj?8(Dx&FH$^h~RKiC~_96XM8HHk-QnfT6YaTKu z)g`g|>7YDTO0iAx3eW~kVRbCdhEo_gIx)dcWN59DqOC1XCew(}>IN+TSTsVF1OjmZ zTVHqX0>DISYXd0|q{C?1kcl&qeoVhiZCe~PG& zBc$wghoaBY53(%@w`@ouo+1M9r6!2dncZwp)!-mG#(L0xE-r>Qk6AgX3%~MI04z2Y zA;z((ut60QcP8fIRN*ZHJg;6Q56z1}>gaBtTcnh6lLPsZMMBim;#&{r3Q`{ki(l-JC?oia$ zC1#&wKRGTOsLRN^kSx{E^TE{t5`*;_wC<|otyBX^lc)O(}UF!h$ zbR~tXHkn!_+Zd;`$d)9Jf|^n!R&RhjlSHi%B9F5CrTNkb;V)FM7C)F-7UKmzJ`9^- zb00m!l-N=fuNP04;`iyve^Lwpa8liC&N^Cr`);5(iK(%vOSQkO<3)`f4i{C@D`B5M z&hcZF@h1$5dawK%!IUnB%3HsVh1yWs{8Fk@@}iZ5ktmua@uIf)PI@Wl0y$2#{kd3( z+N{&f+p6uYWN++avI2kr)STfjc@&#G#*u58WnD%Ef7D z)J{x23$wO39ki{+e<5>P4ZnWW?89v3H>VeENsXX`uauOY#3d*hd(q7(8%w5dxV+5C zcs|2v%VB>7&1znwX4H`}e}obH$TJ>5@}-6xSx>7=*yqJjH!rW&soh0ZrY%d-1e>!{ z6t9&cO1Zj=i)3LtwOSLM(-hB6$EVl;yyL>?&AL|8t6r;ye-PX16{|#hGUzA|a9~8t zO6<*%2NPQhTXg!}6>w)YAUsiVylJP}Q%5hOMp4WphgV+xh1aBpi1TCPt8GN8KeeIN z$nh?-M(1S~J-S`)4$3(%JpYzqd)pF|ZWf8XtR(6vVHPMgs5*r9BZt90@p@|ba!~8& z0DO?CBYNege{fMgS5V_!W3Yyfc$R#HR2uG##uqKEG$$nU} z_iqNOpMU!Is-dfu(A#=?dOCT5JGbesF3*uhF`ez37JN@=rPg{TLiuP^YG{Fuybo57>Lbyh3e@F`zOfzUh;R3^>^6e@vheJe7 zQDqyXQJSlQi>fMC?kWu;r&!Ubo|#eG)fM)}$HRtYi;-v@@)klWNRFyMBfl5LPPXkPgAnwg18^g7F zvb?^rwyKE*O9ri$@QY)+%JLu+)<$R*@aF!o46zD*pSlGf^%$nMKpbGhG=RwE!*#QI zfBLai8h+GI=%#8`@q{zULE3hTge->Gavh@zN`r%V3WR;W%uWC!@|HBrc|~(lQTzP6 z#Zd5L^OZL_Y>P98AFfqIdaX2$D$A^ce z5dMm6kN6g}ZchH*w`Z?}WBYdjzH(1Wds?^h4B|0DOP7A?mKYs#@V{?3z4sWN|J>TD;|jjQygT- zd_jO21cAiRDxi%1BKAsHTy#D*7_m?@LO=o&Xh|O04&@f5C#}d@03PbZeshG0Aje4)nilV3Pj(1}5392u#xd|IvSBL03j^xm03QJ0fQXdNl)bd{S#?kv z)=)<-v_&L7XC8;&^FH}@ezN@DE zeWi!6$6I~5+ahO*z%zF~ye&-6Uyj*LP*?A~hAz1~-_LhQ_bV8=aWT?bOqgLcGjwYG z2C1W97&Ws_0*i`?uV`Ga#a`>IZBH;P)acV{)zxzf4TLjk6*SXm*Z%N1^tRp|_U&5VuXY^F8JJD3EJ9a8o z{=rTfHuvrnYKRRZ3kWH3fpa?JFS*IWnG@K#HY~R4cbbp7nh|~6f`0b+f&~&6voDui zlU%|C=M6>4wqMxRwzF?8w0Od8$fQWAuKbq^5m|o(RsUoOG9ne*2S-5_N`z8fWjZoW z&){2IdXH5$!^2L`(TN+cJ{zd+1<5 zrZ0cWzf_#e(O`{o6RO;Iex(YZg5>?o*+0E4yXV&m|K&TGx&w96(#pJ)ceU3-UUny} z1?cK-8;vWB^vdgthn96gF_ar`Cl(zK3&{<}y1fKN)CJ1?8VjzG*0s^!@nd%5cI*C~ z%jKMHdr`Yo87*Q+k+h^p7_OO)@@joBK~{f(31H<3*=Z{2A)cr+fsi(F3%kT}%vTbi z0&;oV&kpg@uH}Wmw1?z&wdes#16!7~pQl9*XmOU2=^aNAGjpaM+tnB)qZS|JN_i4* zl=#eA=~*Z>1-e}S0S1@DPEuB$MB0El!23qSG8wzoFk)Xq0l4Wx^;yzyigp2qgL;2Q zie3xX*>WlQb4FRuFqcsFwx4xN3aMwjBT3}0cGWuvW@eIEa%*oa)8E&NlVh_fFgCDt zpyzg5bVd!Y$l+L|@hPd2X{|KzH*d+2@SU%*M$wVtc)ZqUsf9M#V!efCiOO)>ynv+# zPbia`3Xq0NYqa+ zH}7fRf5eEav-r>Ksj-?NkU0!%sTk2RLt%TL)!ZDW4(}aZwyXxc%8$CqB=w8U32OA{ z$0GiivKt?~mtD?}al0Js?gM`;WxiGOT*~}CGCq=@+Fs_zU$(tW_fs3p{1_O_NI97? zeaS*gD`mTq$ih%$XxOxUT7}uOHlngb)0p+A@I!I>tZh*GtnFa5ArqRDrF`!vSv$vD z!co@ExEtQ}dADi3TZZdyFF9fhz!~L9@Q3tGs)P|}?=iz~=1`}@VVHk#m-kyd^k1A2 z4U6{d3#}{O6T?V+=Mk^P1}x4Wl;AHCBe)~9?~~}7_OGSk@{A-6ABj3ARdgtf z2s11kj33~rj<_V=9{aG~eq};>{`XfSs`q8m9zig&Y5$5EPw*RDf8%s%Y$u{D3kycl zJbRL9zq`c%&`|8|(IhiO`_^1qBh>-u--Wd=ojCMKRT&@{)AN7Rma!@&3+0?EI{&HU z0645@Wq!|oQ|@hH<`0TO;-h_hAd3~iNhK98%2B+>TMF!BtsS;mU~JaoAeK>+P5mPP zs0coQj;cuwOQd{r_A$Umo(XXjjKfSe2~YQ)ZLO|9SzlS+UEkW=S=-&Q0~`TfKJz0m zy^I}valFLsjZo>pI}h)2FP4?p@!s~-cU zRf+z6BrSN4+>llGf-y@PI2Ok3gjYJ3qN{`)EyAZAid28+WL&foG>)u}Q$cn4L7ki- z#~90(N%Z90NqfqQm#YG#d5;}!-{1OFuL3QDZk@`e+aCixAU#)B24Y*mM60$eon)<8 zhGS>+OO-mnEQIsSlIRTW%_K`=kZjXcO(FtA4cl=PH1Izb zdc(W;ykCD(5Qj+9cIO!F3Xd0y1X#K>2TV4-HY&XunBkmENpLlrbz1-&dNB15XTM2i zi)3zY{znv6@whg!w{XB6-IbprTRplvQ><5BCTj-V5Odr9jsY;FH; zGopX~|I;hEZEO<`QQZYN%0jhv+lsC5T=*P z>7DI8$YKQTPpz22z;BRvJ*#9DN37;qO)#>nmba-t9=CVlkuPg~Y*@bzKd*J|e&uUj z`w(5b!jAt`iuTW=)*aCe%G#s#%G?pP<<>sGR^I+fl(%D}W>QJ66{;Uwp*r%umDYcs zNh^Wca@5W0wezF$Hez*DM7itw99fsMDjvUR~_d?mjm zEtY-V|K;kkXkFxSvRLx143@J(h4g=sv_~IPadcIkk?qcwu>Po4-g^rcNWn9@BW=@`Tu8mJo*1>!Qt_6*=Jb3gvNhlC|U8G z!E9FGI&S#KbQ_fHxyYA9v?v%V749RHw~v9u0IoWr3h<=u1QT5|pU^G_eaid1Nio^J zKc=Xl1fgn&ue7Rl_;#F@$w8K($Qb?uJri==loRP7J4EI~moHT|>9R<8w*D2`J_pV? zZ@~%`ryPuwlqCI#x+tkp47q<~D6lWOg2Uskqgs$<_A%NvNRlHKGjN|B=PlymU{-s0 zt;D(_>hvQA{~c)oPHCu;nVrbUrx)zKRX z-QnU9uy8xcWnLOnF`zkKbjBgEXK6%j;EvU>r1bNw2XLMw_{klF)`x#ADV>NOzpwrv z_>cmWpGpyOlQpSi_e*M2oZKvpn9R;_R0m?1EstEh^7Sd(EKczWk{B;*=UhVkm`dag z=zm~r5=&P7dI`w=T}u_L&y=$V?Z@ow?O{T8TjSz2>1kcu4!q#ZraS%luGY((yaxQ) zQsyzSwCSuU@@;v`1Vbc!uroECm8O?@-w&G5U_4?k%uSQ(n39X7NtIQ$#CE20>tv3T zD7Z3zb$)6g4Y{dieNqdHZWVT2KZiEnq@4koZK}pppM=ePJ12}Km?U`^W76E*+?Wd? zW^q!1lHC=)oEPXzWmc$a_6xKZ=L}Fz4nnbq=NKV+tuBMb3Z#@Y%R?*8o}_Qv*(p%X z1^64PsK5K?r+_EPEXj>3mv=UMo3)UXQL%S_m&wbA$)iW!FifH_1yjrh{qw+r|9?iT z1*Nr@NpLYkDLRZxQ*$m6Y z*tvcibRU1G{=T%kaqip}ggOJTMr4cjikZK(@^Wm;h zX5a?!SfU`3SV&PqGS1zxgSILkV?-I?eE z@#z#8^?!URnIy`V6DRrCtXE7C>4M*_6lLHCnesE~7v`$|^H2ZH(E!*1EXD#48f)n} zLPJP(i35r3dE2?-_M`cB_GZ32fRQYJJo@T(Fi#drSh5vgYgeOuIMjhQdDUc*?Zu6$ z9Y)FY_PHkMmpvz*QVxIMK1{x~NewbN$aXDvI-Kf{IS&6!4_J^u(rIxT5r)8KH9|(j zW;OhV9V?Hx57C(4A+2xtP6p^Yviap+j+vldp-%pqqzGrJFqZ<>ppSVM!3cWF4T z6xYn1i3^ro-nbgZ#*+n9DZhxjolN`mjW`-UoXP?@aju5ByLx@L_`?Z3&FEA_E`{RK z7^ds4sXgb;GOC%fzwQm@;4cakJK=hXOiWA`Nzpu@ZS|8 zxJ|3>&p-X&c#U1gC9_O8FkOz~eSeq|q%d)2%N|6ORoINz8r?a6 zJ7UI>JJ8US!~3vMpD><~O>GbX9#{ZWmcF0Jg3iF;S`rmHD~ZTi61TCCUV6(!$5&yEYdmx3Dzu-kYr zDY`qZNiZc^f~$8}`iUmp#?lgDpM7IHCw8Wo3=DTG49mOO}zlr za4+k?Fy7E!FMaN?VPEO=o-PLmj?_EgT8J)?E`=J5L+smdm{LRdzIgSqxQgAL;`d?& z?HOQi0;bAovbUO-NL%)p(ILSGF*1C5x{e1v{&Ca<1>1b2tqNNrHn>aGO9 zc2n`aIvG%Ze0Gotl)(_UNJ=%#&tn@iE1R*|x6W)hb*mguwT$G`PJ-!YN7yrW{BGgH zx^cwrM&s4kY;_a6W;?J=PfsV$Np2FDQch0lqv-3er(B!On29kqy4555?`NzG;O03i z$e8`ZnTrJ82c26o*-yJnG*Eqt1_QMP0d|mz{E+B>JL!l{(thih*t3+lgcK7;i7HPR z$qaY5^6%-Kdx*@`tydHrap0@3U?(VTAfrJtroN6@C(th!yM5#)g!V>c4$`r4dvw>h z{;3u%xeBi1l|bEuX7IW-AUBzULi1EmQ1W-SxgYvj-6KqH3>lA(GFMztbRAaSMET??$&QAX8g_WOBlmk?oE4?{ec^(81yYM5bYQHI-YpSD7e|UW5;X&WV?7P#{Q_KbMKs3-d;5{ zfEsr%npDJEFjK^=)r}F>3P?b4k}*~ur!Z|@6oU!AVdXNiO}ozJCE?3pS8jr1GVRWP z42&gK+E6q4&vZ5>(c`h}vc0BU>>MGSf=QYY$xKW*H|7?VF6wIh0!|-|Ai?QlZIvX@ z#9S(|i3RPB%Fb!&>a`_|(%66M(XoVUxzwceh*X#8n$v}O*W%@~j82VtqTsG)xj1{w z_cFG@g0CXR1`2=FDGtP1YA)F=SVBU7B%D%f4|wiRU)dU2 zU7d?-g*Pk%AdM|Nw2tbiE`^ZNKa%S}#!j)g>J#fz(nIvpawak=)?qaQBS~!f2yFb1 zoDGwcM#+XP4xpW#w1;D4Jv{h8|!_I6P*Hs%* za}fjSlZ?F~Xuw&)j}a424mfFl2Eqk9y_^AVjz$Np+`_%P7DgP}=XtRH=y5V>7kY%% z0b6t=Pw5uOOD8|c``pE#iw2sc-05ee^P)Vg=7;7L-Il7GxQ?ChD~_FTii;PRr&o^9+I7FwbvxyC z3&vElZdVvp+-}HiBhhPUR5TilW_4cLUt@TTzzpwwrY{Uyex2C&?WG9nR5uCVti zHs1I<546iFRJ!sgu48(Ce2$nNBM_TmQ9Zo$$fM*hu!={v09J_|{a!U2MY)E3=-~7l zmz0>@f)O4pTCU~DozW}=j^*sK^`x*}jC2z?X;?LK`jMyQ#`@#E=gZqW>zhw^*LHSy z+|12T+e#ELq#I?R8|f)*l|!a{ns^#^&gw4}NrNrG$#ob;x1zj%z)BtN%`u^lSbvD+ z@mMeo!_Am$S_>&oi@apX#*~d@l*#k=t87Fewq`>PJNLc6sqna9PgrQy8QR(US zi_P8bwKe!-`Ps97bel*-b7D{Df#j#d$m?RcvVr(t$*w~)J8DX6FlD1VD?a>_9oN>2;z#p5`_;0adX_rwHqP%Ux?RQlA4 zXyKI(qdr_cSOi^5zjU;S&lWFz< z+o7v}x_I>I)5QAV=sH8j!aIOGD-tb5K$X8SY4`v`6ASjl48$vq7qSZmjHcV@z&rZ zKb)d{bZU#b^k}RdI?8CQMq;K$YI6jm@drT1DZ%d|3c(M&@VM2Hz<-mG704awG6+$B z&KOZ#LoIG9Mm58}+$yRgv3Usvr|49jWo?P(#R@g88&cZ|^%R2xq5Wl}Rv;3>SZ~{d zW)~xyVm;A@BRrt_wAI3(t}mk%Fd%FNLY={ayo+^>)-Q~|Qx$7jQ&l0$luzbe2#|)o zb6=5TkCS(BbNbJLLqa9R*G6n#ReS&xv==1 zr_Q*IHg@c&w=wPMs(jf#($KO#Oo*2umOnyA*Xc`S$8c{GASDQ$i z3H0(N85c^Xc5q+&cW;oWztxIH-KNJ8R*|@R<+M>=lAJt7k?@F(LS>E+$i>N%685-go_xyS;7^6e~Vs>-@F+A z-No2-xR2_JA7})oM3}!!!=jI13O3pRt5H}4i+>lkN54|*qRJ=&wleEFg2%Nf%HM@4 zibJgz~>Vic(^||KL7Q%6I?%-3s~Ntvh!Y z?)dV*`wwnk%l|&dBeJH`UXD@%42I5`V%d~}^8~7(HI{@6bB&*4)(s8_O<_^-j*Jo2 zk?K-l(Av%aTW=k_TW^1=yK-S)1uQE=pIN3 zKtd-6clyyq1Z7l2P&y)l zwB6n<@Q0GesicqnLIg$>xXagpEqgm(JSO&#vUd%loSxQVR0sS zhT;*;5b)7C2WO|lipbODSQ3-w_`4f20hdkU1E%4fG|~)H zOVd!t^_&A+rpmq?SFi0+LT{HW&ZRANO2$EOMwVnVQ%C_O2-)}Ie_v%%@Kv&#z3o%N zvU5s;x4E?otKRAi+LuM(#^e57=;yX_0+JVKa&`5#HOuc5IYc+uq*VZo0Dou+9TVVNC_ve^D%+ z(T9U@&_bZ#-Ktj<^EJ4zbHfI#IJqxEq3IsS=p{Vt+I;jb2#E>@`JrU=eWaXc(vn zLeM(pyu`+mNqgpJoHW!KOmk<-90br6uL8Df<2e3567UUHe~>KNkaY5cc}tHnX0{$7 zj#VwVZZO1eDNTi|AX$9r)O_g>m2jYLWm3tI;zvW}ZP>&7OCQOf^>MZiYS8CDejoMv zUwSAz5;$LrXa z*Rd}@qAh8LBenMOXy&B$=Ktl{lKy9i=cx@+Z;CCqGVPwh1bnTu`}0r#+NVT(*t_Tp zn1BG5*|JM?@)sT|MTWU#pMN%lAb$HCIIY*+;;h?fDEsl7MC~Zl{j>6jf52v20n~l< zipl3qf9B>zZ4ZC;Gfw`;+NnLO{^Hp9?J@6@w1!cS7MioOw=Yrp4MR-_9pd}gj)gnQ z4-*?2*!CqYO_$S2FelHu5v~+HOG#uyp^Z2~Au z>7=kiRl{Bpr7tR5Xt)BSPkTq@@GzZFYG>5gf1Gd$(V;j^oK8EAL|esvr@nt70Xhvx zUoTFM=kDiGgLIDG$gn`2qqp=K%&HGEv8tvBE|l?G=t$DXwWJWQ+|CH(HZzjl*(lxJ(x+%;cC&Bt`>5E3rIkX|fU}#-CFdr}pB=^y?j4#(w zjz%(9$1Dz|Oi)o-5w-@s9=`p4btxI8f0~NWhxc$wbH}!FJaJ3V!ulcIS21`5FqxoGRZ#u}acU|SmHEyi|xfyG#+?yJzrVcrAWv$Bc03Q5LKq{0H85{;lz zQU)&LNolyrUad zU1qp0tKOJ=+Ud0x$CkIBVh&QvO75LMlhKZ<`UxsKy{&w|>i4!|RC^!Tb$v_js8|1B zGOx1KW<}@2lm-9!r+_%R1@+N)eSeDt-)Zy z?!}8O?qCrC8xfsGKoZ^g2&>~if4s|T5D0rc%c%Y16gHst694(9|7N?4OB=~z^20dK z>Z`=GJoc&SnM*SUU7Qx40~uzgNZTH%i=@s$LPuhOc9F6CQhC!c+3EKNt^S~wDYc7) zEYh?s?ZR$P&*S8>UrR1UDLyitbj!a7fxMYK8?=tmilK+BV*eNq%!2~je*o$v@)Dda zB?orrQ>4P2Uz90iBzUO$7(@qELEWOsimkw(6rR@21(_TG=WvE1^(1{$G3nW$Z1ThxlSR)Qug9~@I}}Z{vL|S{1c#Pe z98WQzdWyFd>J#S$$GjFN)e$vieX+xvMGd%Ywt4)W79n58!xD!_f0Z}f;PCDq=0}5` zr%#-lW9WysXU8B^X^4Zo&Q=V&8+KqqR5s;p8Fx7VEXmqS`mnbH+qo-Vl>PXUYn4aZ z?RU`IboEy*S9uzlPJ*>e@F9H^Y$gZd4q0a@M3{~_JJH_ePsM@;3sDAEDnYCA%+JB ze52MblMDP4%R)O+|I%_28MEHTMMc)+eV6v~^Z+)OG)Yq@p|ZqHOoh)^-9wXY4xA6W zx$Sf}RnwE|fUID8*&(n4-4=2Lh7Yam?@;%5_~HGbQGtsH#4DCre|CaYlK925=$9;VF((NCj`V1Iz03IY<-juFsI7@YyEL94}gL(j^rbTwm&< z@QGDuL&Y)midg%wI)-UbYZS;TVqCf{MWb9+N4K=v^ei-C�+X#bN<0CC2-gwkf-Q wuAl4Y`ni6tpX=xPlRMHJlTgwJlTgwJlTgwJlTgwI4AVaUKl%TW%K$h808fN-DgXcg diff --git a/standard/attributes.md b/standard/attributes.md index eeb790aab..664c6ba19 100644 --- a/standard/attributes.md +++ b/standard/attributes.md @@ -167,7 +167,6 @@ global_attributes global_attribute_section : '[' global_attribute_target_specifier attribute_list ']' - | '[' global_attribute_target_specifier attribute_list ',' ']' ; global_attribute_target_specifier @@ -184,7 +183,6 @@ attributes attribute_section : '[' attribute_target_specifier? attribute_list ']' - | '[' attribute_target_specifier? attribute_list ',' ']' ; attribute_target_specifier @@ -197,7 +195,7 @@ attribute_target ; attribute_list - : attribute (',' attribute)* + : attribute (',' attribute)* ','? ; attribute diff --git a/standard/types.md b/standard/types.md index a58b681bc..d1d8b6aef 100644 --- a/standard/types.md +++ b/standard/types.md @@ -534,13 +534,9 @@ Each argument in a type argument list is simply a *type*. ```ANTLR type_argument_list - : '<' type_arguments '>' + : '<' type_argument (',' type_argument)* '>' ; -type_arguments - : type_argument (',' type_argument)* - ; - type_argument : type | type_parameter nullable_type_annotation? diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt deleted file mode 100644 index 733576fcf..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ /dev/null @@ -1 +0,0 @@ -(prog (compilation_unit (extern_alias_directive extern alias (identifier Foo) ;) (using_directive (using_namespace_directive using (namespace_name (identifier System)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Collections)) . (identifier Generic))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq)) . (identifier Expressions))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Text))) ;)) (using_directive (using_alias_directive using (identifier M) = (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Math)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier ConsoleApplication2)) . (identifier Test))) ;)) (using_directive (using_alias_directive using (identifier X) = (namespace_or_type_name (identifier int1)) ;)) (using_directive (using_alias_directive using (identifier Y) = (namespace_or_type_name (namespace_or_type_name (identifier ABC)) . (identifier X) (type_argument_list < (type_arguments (integral_type int)) >)) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Math))) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier DayOfWeek))) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq)) . (identifier Enumerable))) ;)) (global_attributes (global_attribute_section [ (global_attribute_target_specifier (global_attribute_target (identifier assembly)) :) (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Copyright))) (attribute_arguments ( (positional_argument_list (literal @"(C)"" \n\n2009")) )))) ]) (global_attribute_section [ (global_attribute_target_specifier (global_attribute_target (identifier module)) :) (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Copyright))) (attribute_arguments ( (positional_argument_list (additive_expression (additive_expression (literal "\n\t\u0123(C) \"2009")) + (multiplicative_expression (literal "\u0123")))) )))) ])) (namespace_member_declaration (class_declaration class (identifier TopLevelType) (class_base : (class_type (identifier IDisposable))) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (interface_type (identifier IDisposable)) . (identifier Dispose)) ( )) (method_body (block { })))) }))))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.gruntree.red.txt similarity index 99% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.gruntree.red.txt index 3c4209f65..f2f8a389a 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.gruntree.red.txt @@ -249,7 +249,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.stderr.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.stderr.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.tree.red.txt new file mode 100644 index 000000000..e81a0a8fd --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (extern_alias_directive extern alias (identifier Foo) ;) (using_directive (using_namespace_directive using (namespace_name (identifier System)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Collections)) . (identifier Generic))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq)) . (identifier Expressions))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Text))) ;)) (using_directive (using_alias_directive using (identifier M) = (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Math)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier ConsoleApplication2)) . (identifier Test))) ;)) (using_directive (using_alias_directive using (identifier X) = (namespace_or_type_name (identifier int1)) ;)) (using_directive (using_alias_directive using (identifier Y) = (namespace_or_type_name (namespace_or_type_name (identifier ABC)) . (identifier X) (type_argument_list < (type_argument (integral_type int)) >)) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Math))) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier DayOfWeek))) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq)) . (identifier Enumerable))) ;)) (global_attributes (global_attribute_section [ (global_attribute_target_specifier (global_attribute_target (identifier assembly)) :) (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Copyright))) (attribute_arguments ( (positional_argument_list (literal @"(C)"" \n\n2009")) )))) ]) (global_attribute_section [ (global_attribute_target_specifier (global_attribute_target (identifier module)) :) (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Copyright))) (attribute_arguments ( (positional_argument_list (additive_expression (additive_expression (literal "\n\t\u0123(C) \"2009")) + (multiplicative_expression (literal "\u0123")))) )))) ])) (namespace_member_declaration (class_declaration class (identifier TopLevelType) (class_base : (class_type (identifier IDisposable))) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (interface_type (identifier IDisposable)) . (identifier Dispose)) ( )) (method_body (block { })))) }))))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.tree.svg similarity index 64% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.tree.svg index 347f4546a..ab337bcd8 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.tree.svg @@ -1,18 +1,18 @@ - - + + - + - + @@ -28,7 +28,7 @@ - + @@ -40,7 +40,7 @@ - + @@ -56,7 +56,7 @@ - + @@ -68,7 +68,7 @@ - + @@ -82,7 +82,7 @@ - + @@ -94,7 +94,7 @@ - + @@ -104,7 +104,7 @@ - + @@ -118,1168 +118,1168 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -namespace_member_declaration - - - -identifier - - - -literal - - - -"\n\t\u0123(C)·\"2009" - - - -System - - - -; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +positional_argument_list - - -. + + +using - - -attribute_arguments + + +integral_type - - -using_directive + + +namespace_member_declaration - - -namespace_name + + +class_declaration - - -using_static_directive + + +Generic - - -Enumerable + + +attribute using - - + + +namespace_or_type_name + + + namespace_name - - + + IDisposable - - -method_modifiers + + +attribute - - -; + + +] - - -using_directive + + +using - - -using_directive + + +Linq - - -namespace_or_type_name + + +type_argument_list - - -System + + +return_type - - -using_directive + + +. - - -compilation_unit + + +Text using_alias_directive - - -using + + +identifier - - -using_namespace_directive + + +identifier - - -namespace_or_type_name + + +method_header - - -; + + +} - - + + +. + + + using - - -using_directive + + +namespace_or_type_name - - + + . - - + + +attribute_list + + + +: + + + +namespace_or_type_name + + + identifier - - + + +ABC + + + +static + + + identifier - - -type_name + + +) - - -namespace_or_type_name + + += - - + + +System + + + ; - - -= + + +namespace_or_type_name - - -using_directive + + +. - - + + identifier - - -Collections + + +class - - -int1 + + +identifier - - + + identifier - - -namespace_or_type_name + + +method_modifiers - - -{ + + +identifier - - + + identifier - - -ConsoleApplication2 + + +Test - - -using + + +additive_expression - - -. + + +using_directive - - -additive_expression + + +using_directive - - -extern + + +attribute_list - - -type_argument_list + + +; - - -namespace_or_type_name + + +using_alias_directive - - -attribute_arguments + + +using_static_directive - - -integral_type + + +global_attribute_target_specifier - - + + +System + + + namespace_or_type_name - - -System + + +identifier - - + + identifier - - -class_type + + +using + + + +using_directive - - + + +global_attributes + + + +literal + + + +System + + + type_name - - + + namespace_or_type_name - - -using + + +extern_alias_directive - - -method_declaration + + +. - - -} + + +using_directive - - -alias + + +ConsoleApplication2 - - + + +namespace_or_type_name + + + . - - + + +) + + + . - - + + namespace_or_type_name - - -using + + +namespace_or_type_name - - + + += + + + +; + + + System - - -using + + +class_body ; - - -( - - - -identifier + + +using - - + + namespace_or_type_name - - -namespace_name + + +Foo - - -prog + + +static - - -System + + +namespace_or_type_name - - -method_body + + +using_directive - - -attribute_name + + +identifier - - -attribute + + +assembly - - -class_declaration + + +. - - -using + + +identifier - - -using + + +X - - + + ; - - -identifier + + +global_attribute_target_specifier - - -] + + +using_directive - - -: + + +identifier - - -< + + +identifier - - -Linq + + +( - - -using_namespace_directive + + +multiplicative_expression - - + + . - - + + global_attribute_target - - -namespace_or_type_name - - - -using + + +} - - -using_directive + + +: - - -namespace_or_type_name + + +interface_type - - + + identifier - - -Test + + +method_declaration - - -literal + + +using_directive - - -using_namespace_directive + + +namespace_or_type_name - - -; + + +namespace_or_type_name - - + + block - - + + += + + + +using_namespace_directive + + + ; - - -[ + + +class_base - - -identifier + + +namespace_name - - + + namespace_or_type_name - - -; + + +using - - -"\u0123" + + +System - - -. + + +static - - -identifier + + +Copyright - - -module + + +M - - -( + + +namespace_or_type_name - - -identifier + + +DayOfWeek - - -identifier + + +. - - -using_static_directive + + +member_name - - -namespace_name + + +type_argument - - + + System - - -identifier + + +namespace_or_type_name - - -static + + +namespace_name - - + + System - - -identifier - - - -Dispose + + +using - - + + ; - - -using_alias_directive - - - -namespace_or_type_name + + +Enumerable - - + + identifier - - -method_header - - - + + namespace_or_type_name - - -attribute_list + + +"\n\t\u0123(C)·\"2009" - - -. + + +positional_argument_list - - -identifier + + +using_directive - - -int + + +; - - -namespace_or_type_name + + +using_namespace_directive - - -attribute_name + + +System - - -identifier + + +> - - + + namespace_or_type_name - - -global_attribute_section - - - -} - - - -namespace_or_type_name + + +namespace_name - - -static + + +identifier - - -Math + + +type_name - - -using_static_directive + + +using_namespace_directive - - -namespace_or_type_name + + +using_directive - - + + identifier - - -extern_alias_directive + + +Copyright - - -identifier + + +additive_expression - - -namespace_or_type_name + + +"\u0123" - - -System + + +class_member_declaration - - -] + + +identifier - - -@"(C)""·\n\n2009" + + +; - - -Math + + +global_attribute_target - - -using_namespace_directive + + +identifier - - -X + + +using - - -X + + +using + + + +using_directive - - + + identifier - - -global_attribute_target_specifier + + +namespace_or_type_name - - -( + + +attribute_name - - -class_base + + +namespace_or_type_name - - -identifier + + +type_name - - -Linq + + +alias - - -: + + +) namespace_or_type_name - - -type_arguments + + +identifier - - -M + + +identifier - - -. + + +method_body - - + + . - - -global_attributes - - - -using_directive - - - -> - - - -System + + +; - - -Copyright + + +using_alias_directive - - -identifier + + +. - - -System + + +( - - -using + + +prog - - + + namespace_or_type_name - - -attribute_list - - - + + identifier - - -TopLevelType - - - -return_type - - - -assembly + + +Linq - - -void + + +; - - -{ + + +global_attribute_section - - -Foo + + +namespace_name - - -Copyright + + +void - - -additive_expression + + +{ - - -identifier + + +extern - - -class_member_declaration + + +X - - -. + + +Dispose - - -DayOfWeek + + +class_type - - -type_name + + +attribute_arguments - - -namespace_or_type_name + + +< - - -using_directive + + +int - - -. + + +Math - - -using + + +TopLevelType - - -identifier + + +@"(C)""·\n\n2009" - - -identifier + + +] - - -. + + +using_static_directive - - + + literal - - -global_attribute_target - - - -static + + +{ - - -= + + +System - - + + namespace_or_type_name - - -) - - - -identifier - - - -multiplicative_expression + + +Math - - -using_namespace_directive + + +. - - -identifier + + +namespace_or_type_name - - + + namespace_or_type_name - - -: + + +System - - -. + + +; - - -Text + + +. - - -; + + +Linq - - -using_namespace_directive + + +using - - -using_alias_directive + + +identifier - - + + global_attribute_section - - + + +literal + + + identifier - - -. + + +; - - -identifier + + ++ - - -identifier + + +. - - -global_attribute_target_specifier + + +[ - - -class_body + + +( - - + + using_directive - - -interface_type + + +namespace_or_type_name - - -identifier + + +Expressions - - -identifier + + +using_directive - - -member_name + + +using_namespace_directive + + + +identifier Y - - -attribute - - - -using_directive - - - -identifier - - - -Linq + + +Collections - - -; + + +using_static_directive - - -positional_argument_list + + +[ - - -namespace_or_type_name + + +identifier - - -IDisposable + + +attribute_arguments - - -class + + +: namespace_name - - -Generic + + +identifier - - -using_directive + + +int1 - - -= + + +identifier - - -; + + +using_namespace_directive - - + + namespace_or_type_name - - -+ + + +identifier - - + + System - - -namespace_or_type_name - - - + + . - - -namespace_name + + +using_namespace_directive - - -ABC + + +identifier - - -) + + +namespace_or_type_name - - + + identifier - - -namespace_or_type_name + + +compilation_unit - - -positional_argument_list + + +IDisposable - - + + identifier - - + + identifier - - -[ + + +identifier - - -Expressions + + +using - - -) + + +identifier + + + +module + + + +identifier + + + +attribute_name \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.gruntree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.gruntree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.tree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.tree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.tree.svg similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.tree.svg diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt deleted file mode 100644 index 0581e4d61..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ /dev/null @@ -1 +0,0 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (constructor_declaration (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (literal 0)))) ) (embedded_statement (block { (statement_list (return_statement return ;)) })) else (embedded_statement (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier i)) == (relational_expression (literal 0)))) ) (embedded_statement (block { (statement_list (throw_statement throw (expression (object_creation_expression new (type (identifier Exception)) ( ))) ;)) })))))) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o1) = (expression (object_creation_expression new (type (identifier MyObject)) ( )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o2) = (expression (object_creation_expression new (type (identifier MyObject)) ( (argument_list (contextual_keyword var)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o3) = (expression (object_creation_expression new (type (identifier MyObject)) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target (identifier A)) = (initializer_value (identifier i)))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o4) = (expression (object_creation_expression new (type (identifier MyObject)) ( (argument_list (identifier @dynamic)) ) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target (identifier A)) = (initializer_value (literal 0))) , (member_initializer (initializer_target (identifier B)) = (initializer_value (literal 0))) , (member_initializer (initializer_target (identifier C)) = (initializer_value (literal 0)))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o5) = (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier A) = (expression (literal 0)))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier dictionaryInitializer) = (expression (object_creation_expression new (type (namespace_or_type_name (identifier Dictionary) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (class_type string))) >))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer { (expression_list (expression (literal 1)) , (expression (literal ""))) }) , (element_initializer { (expression_list (expression (literal 2)) , (expression (literal "a"))) })) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (floating_point_type float)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (array_type (non_array_type (floating_point_type float)) (rank_specifier [ ]))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer (literal 0f)) , (element_initializer (literal 1.1f))) })))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ , , ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier cube) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 111)) , (variable_initializer (literal 112))) , })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 121)) , (variable_initializer (literal 122))) }))) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 211)) , (variable_initializer (literal 212))) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 221)) , (variable_initializer (literal 222))) }))) }))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier jagged) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (literal 111)) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 121)) , (variable_initializer (literal 122))) }))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]) (rank_specifier [ , ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier arr) = (local_variable_initializer (array_creation_expression new (non_array_type (integral_type int)) [ (expression_list (literal 5)) ] (rank_specifier [ , ]))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) (assignment_operator =) (expression (array_creation_expression new (non_array_type (integral_type int)) [ (expression_list (expression (literal 5)) , (expression (literal 5))) ])))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) [ (argument_list (argument (literal 0)) , (argument (literal 0))) ])) (assignment_operator =) (expression (literal 47)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier arrayTypeInference) = (local_variable_initializer (array_creation_expression new (rank_specifier [ ]) (array_initializer { (variable_initializer_list (variable_initializer (literal 0)) , (variable_initializer (literal 1))) , }))))))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/sample.gruntree.red.txt similarity index 99% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/sample.gruntree.red.txt index 4dcab9d0d..128ff817b 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/sample.gruntree.red.txt @@ -596,21 +596,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/sample.tree.red.txt new file mode 100644 index 000000000..d71858e23 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/sample.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (constructor_declaration (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (literal 0)))) ) (embedded_statement (block { (statement_list (return_statement return ;)) })) else (embedded_statement (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier i)) == (relational_expression (literal 0)))) ) (embedded_statement (block { (statement_list (throw_statement throw (expression (object_creation_expression new (type (identifier Exception)) ( ))) ;)) })))))) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o1) = (expression (object_creation_expression new (type (identifier MyObject)) ( )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o2) = (expression (object_creation_expression new (type (identifier MyObject)) ( (argument_list (contextual_keyword var)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o3) = (expression (object_creation_expression new (type (identifier MyObject)) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target (identifier A)) = (initializer_value (identifier i)))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o4) = (expression (object_creation_expression new (type (identifier MyObject)) ( (argument_list (identifier @dynamic)) ) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target (identifier A)) = (initializer_value (literal 0))) , (member_initializer (initializer_target (identifier B)) = (initializer_value (literal 0))) , (member_initializer (initializer_target (identifier C)) = (initializer_value (literal 0)))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o5) = (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier A) = (expression (literal 0)))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier dictionaryInitializer) = (expression (object_creation_expression new (type (namespace_or_type_name (identifier Dictionary) (type_argument_list < (type_argument (integral_type int)) , (type_argument (class_type string)) >))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer { (expression_list (expression (literal 1)) , (expression (literal ""))) }) , (element_initializer { (expression_list (expression (literal 2)) , (expression (literal "a"))) })) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (floating_point_type float)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (array_type (non_array_type (floating_point_type float)) (rank_specifier [ ]))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer (literal 0f)) , (element_initializer (literal 1.1f))) })))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ , , ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier cube) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 111)) , (variable_initializer (literal 112))) , })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 121)) , (variable_initializer (literal 122))) }))) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 211)) , (variable_initializer (literal 212))) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 221)) , (variable_initializer (literal 222))) }))) }))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier jagged) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (literal 111)) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 121)) , (variable_initializer (literal 122))) }))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]) (rank_specifier [ , ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier arr) = (local_variable_initializer (array_creation_expression new (non_array_type (integral_type int)) [ (expression_list (literal 5)) ] (rank_specifier [ , ]))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) (assignment_operator =) (expression (array_creation_expression new (non_array_type (integral_type int)) [ (expression_list (expression (literal 5)) , (expression (literal 5))) ])))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) [ (argument_list (argument (literal 0)) , (argument (literal 0))) ])) (assignment_operator =) (expression (literal 47)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier arrayTypeInference) = (local_variable_initializer (array_creation_expression new (rank_specifier [ ]) (array_initializer { (variable_initializer_list (variable_initializer (literal 0)) , (variable_initializer (literal 1))) , }))))))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/sample.tree.svg similarity index 59% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/sample.tree.svg index 69a636a95..5deace02c 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/Reference/sample.tree.svg @@ -1,23 +1,23 @@ - - - - - - - - - - - + + + + + + + + + + + - + - - - + + + - + @@ -27,13 +27,13 @@ - - - - - + + + + + - + @@ -65,11 +65,11 @@ - - - - - + + + + + @@ -122,7 +122,7 @@ - + @@ -140,7 +140,7 @@ - + @@ -161,7 +161,7 @@ - + @@ -190,7 +190,7 @@ - + @@ -242,7 +242,7 @@ - + @@ -266,2935 +266,2930 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -array_initializer - - - -{ - - - -i - - - -local_variable_declaration + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +statement_list - - -121 + + +object_initializer - - -anonymous_object_creation_expression + + +identifier - - -0 + + +member_initializer_list - - + + literal - - -= - - - -assignment_operator + + +"" - - -} + + +type_argument - - -foo + + +{ - - -primary_no_array_creation_expression + + +integral_type - - -rank_specifier + + +class_type - - -A + + +1 - - -rank_specifier + + +object_creation_expression - - -unsafe_modifier + + +explicitly_typed_local_variable_declarators - - -Obsolete + + +: - - -, + + +attribute_target - - -namespace_member_declaration + + +array_initializer - - -new + + +literal - - -expression + + +primary_no_array_creation_expression - - -} + + +attribute_target_specifier - - -] + + +int - - -Exception + + +primary_no_array_creation_expression - - -identifier + + +{ - - -, + + +a - - -, + + +statement - - -, + + +namespace_or_type_name - - -> + + +literal - - -boolean_expression + + +{ - - -interface_type + + +floating_point_type - - -element_access + + +int - - + + identifier - - -{ + + +array_type - - -declaration_statement + + +statement - - -= + + +array_creation_expression - - -class_modifier + + +throw_statement - - -implicitly_typed_local_variable_declarator + + +expression - - -member_initializer_list + + +local_variable_declaration - - -111 + + +rank_specifier - - -variable_initializer + + +variable_initializer_list - - -param + + +literal - - -attribute_target_specifier + + +local_variable_initializer - - -( + + +arr - - -member_initializer + + +int - - -, + + +relational_expression - - -explicitly_typed_local_variable_declaration + + +: - - -[ + + +{ - - -array_initializer + + +rank_specifier - - -implicitly_typed_local_variable_declarator + + +0 - - -{ + + +variable_initializer_list + + + +assignment_operator 0 - - -element_initializer + + +rank_specifier - - + + +, + + + +identifier + + + local_variable_declaration - - -= + + +new - - -element_access + + += - - -} + + +local_variable_declaration - - -new + + +class_declaration - - -attributes + + +, - - -initializer_value + + +statement - - -] + + +identifier - - + + } - - -array_initializer + + +fixed_parameter - - -element_initializer + + +A - - -a + + +integral_type - - -{ + + +new - - -] + + +variable_initializer - - -} + + +0 - - -unsafe + + +type - - -literal + + += + + + +array_initializer - - + + non_array_type - - -local_variable_initializer + + +constructor_declarator - - -] + + +, - - -variable_initializer_list + + +literal - - -explicitly_typed_local_variable_declaration + + +5 - - -literal + + +argument_list - - -if + + +expression - - + + { - - -, + + +literal - - -; + + +expression - - -local_variable_declaration + + +anonymous_object_initializer - - + + ; - - -identifier + + +member_initializer - - -identifier + + +int - - + + [ - - -} + + +variable_initializer_list - - -} + + +] - - -; + + +} - - -literal + + +] - - -222 + + += - - -; + + +identifier - - -A + + +MyObject - - -explicitly_typed_local_variable_declarator + + +var - - -array_type + + +array_initializer - - -C + + +cube - - -variable_initializer + + +, - - -identifier + + +implicitly_typed_local_variable_declarator - - -explicitly_typed_local_variable_declarator + + +] - - -var + + +( - - -collection_initializer + + +0 - - -] + + +var - - -unary_expression + + +literal - - -MyObject + + +initializer_target - - -member_declarator_list + + +string - - -111 + + +array_initializer - - -implicitly_typed_local_variable_declarator + + +i - - -literal + + +A - - -public + + +object_or_collection_initializer - - -explicitly_typed_local_variable_declarators + + +rank_specifier - - -= + + +) - - -local_variable_initializer + + +collection_initializer - - + + { - - -statement_list - - - -) + + +initializer_target - - -object_initializer + + +0 - - -implicitly_typed_local_variable_declaration + + +statement - - -unary_expression + + +type - - -implicitly_typed_local_variable_declaration + + +identifier - - -; + + +literal - - -= + + +} - - -literal + + +implicitly_typed_local_variable_declaration - - + + identifier - - -declaration_statement - - - -object_or_collection_initializer + + +0 - - -relational_expression + + +interface_type - - -embedded_statement + + +] - - + + literal - - -new + + +( - - -statement + + +interface_type - - -declaration_statement + + +new - - + + , - - -public + + +expression_list - - -contextual_keyword + + +new - - + + object_creation_expression - - -type + + +, - - -array_initializer + + +A - - -statement + + +local_variable_initializer - - -interface_type_list + + +identifier - - -{ + + +expression_list - - -variable_initializer + + +element_access - - -{ + + +212 - - -block + + +explicitly_typed_local_variable_declaration - - -fixed_parameter + + +if - - -type_argument_list + + +unary_expression - - -= + + +member_initializer_list - - -variable_initializer + + +partial - - -assignment_operator + + +non_array_type - - -( + + +namespace_member_declaration - - -212 + + +} - - -expression + + +literal - - -object_creation_expression + + +} - - -== + + +foo - - -new + + +; - - -, + + +identifier - - -integral_type + + +identifier - - -variable_initializer_list + + +< - - -return_statement + + +namespace - - + + identifier - - -statement + + +} - - -array_initializer + + +) - - -variable_initializer + + += - - -local_variable_initializer + + +Exception - - -0 + + +var - - -( + + +; - - -rank_specifier + + +expression_list - - -local_variable_declaration + + +namespace_body - - -array_type + + +My - - -5 + + +identifier - - -221 + + +C - - -array_creation_expression + + +int - - -statement_expression + + +element_initializer - - + + ; - - -identifier + + +} - - -) + + +collection_initializer - - -literal + + +array_type - - -initializer_value + + +] - - -expression + + +namespace_declaration - - -rank_specifier + + +; - - -non_array_type + + +; - - -identifier + + +array_initializer - - -type + + +, - - -initializer_value + + +object_initializer - - -identifier + + +class_base + + + +variable_initializer_list - - -element_initializer_list + + +explicitly_typed_local_variable_declarator - - -explicitly_typed_local_variable_declarators + + +expression - - -} + + +embedded_statement - - + + [ - - -} + + +expression - - -explicitly_typed_local_variable_declarator + + +identifier - - -primary_no_array_creation_expression + + +{ - - -declaration_statement + + +block - - -type + + +equality_expression - - -= + + +o3 - - -rank_specifier + + +, - - -float + + +statement - - -local_variable_declaration + + +variable_initializer - - -literal + + +Obsolete - - -{ + + +argument_list - - -variable_initializer + + +constructor_declaration - - + + +, + + + statement - - + + identifier - - -type_arguments + + +unsafe_modifier - - -element_initializer_list + + +expression - - + + identifier - - -parameter_list + + +{ - - + + +arr + + + +; + + + +identifier + + + MyObject - - -211 + + +[ - - -variable_initializer_list + + +explicitly_typed_local_variable_declaration - - -variable_initializer_list + + +1.1f - - -array_type + + +literal - - -non_array_type + + +block - - -{ + + +statement - - -] + + +variable_initializer - - -C + + +variable_initializer - - -[ + + +expression - - -member_initializer + + +assignment_operator + + + +5 + + + += - - + + +5 + + + +) + + + variable_initializer_list - - -base + + +assignment - - -literal + + +primary_no_array_creation_expression - - -literal + + +, - - -variable_initializer + + +argument - - -} + + +declaration_statement - - + + { - - -, + + +literal - - -} + + +element_access - - -if_statement + + +] - - -variable_initializer + + +expression - - -: + + +implicitly_typed_local_variable_declaration - - -0 + + +local_variable_declaration - - -primary_no_array_creation_expression + + +type - - -variable_initializer + + +prog - - -MyObject + + +rank_specifier - - -{ + + +, - - -My + + +expression - - -new + + +221 - - -implicitly_typed_local_variable_declaration + + +local_variable_initializer - - -A + + +literal - - -> + + +initializer_value - - -local_variable_declaration + + +initializer_target - - -112 + + +111 - - -variable_initializer + + +statement - - -expression + + +array_creation_expression - - -var + + += - - -type + + +local_variable_declaration - - + + +interface_type_list + + + +[ + + + ] - - -= + + +return - - -compilation_unit + + +, - - -= + + +declaration_statement - - -variable_initializer + + +statement_expression - - -122 + + +111 - - -literal + + +object_or_collection_initializer - - -arr + + +initializer_value - - -( + + +declaration_statement + + + += + + + += + + + +statement + + + +] literal - - -"a" + + +type_argument - - -0 + + +> + + + +floating_point_type - - -variable_initializer_list + + +float - - + + statement - - -variable_initializer + + +211 - - + + identifier - - -0 - - - -local_variable_declaration + + +array_initializer - - -= + + +; - - -anonymous_object_initializer + + +, - - + + var - - -0f + + +o5 - - + + +"a" + + + identifier - - -local_variable_declaration + + +rank_specifier - - -initializer_target + + +unsafe - - -5 + + +local_variable_declaration - - -5 + + +integral_type - - -implicitly_typed_local_variable_declarator + + +} - - -[ + + +{ - - -, + + +argument_list - - -; + + +identifier - - -literal + + +identifier - - -element_initializer + + +expression_statement - - -expression + + +equality_expression - - + + +122 + + + variable_initializer - - -0 + + +variable_initializer - - + + ) - - -identifier - - - -} - - - -statement_list - - - -declaration_statement - - - -} + + +arrayTypeInference - - -var + + +member_initializer - - -} + + +Dictionary - - -explicitly_typed_local_variable_declaration + + +identifier - - -object_or_collection_initializer + + +literal - - -statement + + +explicitly_typed_local_variable_declarators - - -relational_expression + + +[ - - -throw + + +, - - + + , - - -interface_type + + += - - -integral_type + + +local_variable_initializer - - -new + + +] - - -literal + + +anonymous_object_creation_expression - - -122 + + +literal - - -argument + + +literal - - -floating_point_type + + +explicitly_typed_local_variable_declaration - - -identifier + + +121 - - -1.1f + + +declaration_statement - - -local_variable_initializer + + +statement_expression - - -] + + +array_initializer - - -prog + + +identifier - - -0 + + +o1 - - -identifier + + +literal - - -, + + +} - - + + [ - - -constructor_body + + +] - - -element_access + + +{ - - -identifier + + +type - - -cube + + +boolean_expression - - -{ + + +boolean_expression - - -identifier + + +member_initializer - - -implicitly_typed_local_variable_declaration + + +variable_initializer_list - - -} + + +rank_specifier - - -{ + + +( - - -] + + +statement_list - - -integral_type + + +declaration_statement - - + + array_initializer - - -1 - - - -{ + + +variable_initializer - - -identifier + + +array_creation_expression - - -} + + +, - - -initializer_target + + +object_creation_expression - - + + = - - -statement - - - -type + + +throw - - -type + + +, - - -[ + + +122 - - -integral_type + + +explicitly_typed_local_variable_declarators - - -relational_expression + + +dictionaryInitializer + + + +} [ - - -} + + +type - - + + integral_type - - -argument_list + + +explicitly_typed_local_variable_declarators - - -variable_initializer + + +object_or_collection_initializer - - + + = - - -namespace_or_type_name + + +{ - - -identifier + + +47 - - -literal + + +} - - -int + + += - - -expression_list + + +{ - - -, + + +0 - - -class_declaration + + +if_statement - - -initializer_target + + +type - - -variable_initializer + + +( - - -argument_list + + +B - - -class_body + + +[ - - -{ + + +) - - -new + + +else - - -variable_initializer_list + + +variable_initializer - - -literal + + +public - - -identifier + + +{ - - -constructor_initializer + + +expression - - -identifier + + +int - - -expression_list + + +object_creation_expression - - -] + + +112 - - -statement + + +if_statement - - -o3 + + +implicitly_typed_local_variable_declarator - - + + +relational_expression + + + ; - - -int + + +variable_initializer_list - - -o4 + + +explicitly_typed_local_variable_declarators - - -literal + + +implicitly_typed_local_variable_declarator - - -var + + +, - - -argument_list + + +new - - -{ + + +A - - -: + + +element_initializer - - -object_or_collection_initializer + + +implicitly_typed_local_variable_declaration - - -, + + +identifier - - + + +int + + + +implicitly_typed_local_variable_declarator + + + literal - - -array_initializer + + +{ - - -array_creation_expression + + +identifier - - -constructor_modifier + + +] - - -[ + + +non_array_type - - -type + + +i - - -, + + +expression - - -class_type + + +var - - -MyObject + + +new - - -non_array_type + + +integral_type - - -literal + + +shift_expression - - -array_type + + +} - - -, + + +type - - -literal + + +implicitly_typed_local_variable_declaration - - -array_initializer + + +non_array_type - - -expression + + +explicitly_typed_local_variable_declarator - - -arr + + +element_initializer - - + + { - - -A - - - -literal + + +array_initializer - - -attribute_target + + +, - - -) + + +non_array_type - - -variable_initializer + + +} - - -[ + + +@dynamic - - -expression + + +121 - - + + literal - - -47 + + +attribute_section - - -class + + +] - - -block + + +int - - -rank_specifier + + +[ - - + + = - - -collection_initializer + + +identifier - - -member_initializer + + +, - - -( + + +variable_initializer_list - - -] + + +o2 - - -identifier + + +literal - - -local_variable_initializer + + +MyObject - - -1 + + +identifier - - -statement + + +literal - - -expression_list + + +expression - - -[ + + +{ - - -block + + +expression_statement - - + + expression - - -A + + +literal - - -else + + +statement - - -( + + +statement - - -int + + +identifier - - -object_creation_expression + + +) + + + +literal class_modifier - - -constructor_declaration - - - -arr + + +, - - -o5 + + +non_array_type - - -object_initializer + + +member_declarator - - -statement_expression + + +statement_list - - -: + + +explicitly_typed_local_variable_declaration - - -type_argument + + +explicitly_typed_local_variable_declarator - - -identifier + + +, - - -array_type + + += - - -non_array_type + + +[ - - -B + + +[ - - -{ + + +identifier - - + + } - - -int + + +] - - -statement + + +object_creation_expression initializer_target - - -type - - - -integral_type - - - -identifier - - - -explicitly_typed_local_variable_declaration + + +variable_initializer - - -qualified_identifier + + +expression_list - - -[ + + +class_member_declaration - - -class_base + + +variable_initializer_list - - -0 + + +variable_initializer - - -expression + + +new - - -non_array_type + + +identifier - - -= + + +array_initializer - - -literal + + +{ - - -identifier + + +argument_list - - + + variable_initializer - - -statement - - - -} - - - -object_creation_expression + + +{ - - -declaration_statement + + +i - - -, + + +identifier - - -int + + +unary_expression - - -embedded_statement + + +argument - - -) + + +explicitly_typed_local_variable_declarator - - -Dictionary + + +; - - -floating_point_type + + +literal - - + + declaration_statement - - -, + + +literal - - -expression + + +rank_specifier - - -identifier + + += - - -implicitly_typed_local_variable_declarator + + +argument_list - - -) + + +type_argument_list - - -type + + +assignment - - -, + + +; - - -declaration_statement + + +contextual_keyword - - + + local_variable_declaration - - -, - - - -attribute_list - - - -object_creation_expression - - - -type_argument - - - -variable_initializer_list - - - + + integral_type - - -] - - - -assignment - - - -< - - - -object_or_collection_initializer - - - -identifier + + +initializer_value - - -expression + + +public - - -element_initializer + + +member_declarator_list - - -variable_initializer_list + + +jagged - - -namespace_declaration + + +literal - - -o1 + + +object_or_collection_initializer - - -class_member_declaration + + +implicitly_typed_local_variable_declaration - - -array_creation_expression + + +element_initializer_list - - -explicitly_typed_local_variable_declarators + + +if - - + + array_type - - -variable_initializer + + +type + + + +initializer_value - - -] + + +explicitly_typed_local_variable_declarator - - -( + + +} - - -, + + +return_statement - - -literal + + +expression - - -{ + + +rank_specifier - - -declaration_statement + + +new - - -statement + + +compilation_unit - - -statement + + +embedded_statement - - -if + + +} - - -= + + +identifier - - -assignment + + +element_initializer - - -explicitly_typed_local_variable_declarator + + +implicitly_typed_local_variable_declarator - - -; + + +literal - - -return + + +222 - - -implicitly_typed_local_variable_declarator + + +identifier - - -explicitly_typed_local_variable_declaration + + +{ - - -= + + +arr - - -variable_initializer + + +, - - + + rank_specifier - - -argument_list + + +constructor_modifier - - -@dynamic + + +parameter_list - - -expression_statement + + +local_variable_declaration - - -object_creation_expression + + +} - - -expression + + +literal - - -expression + + +( - - -, + + +type - - -expression + + +class - - -boolean_expression + + +base - - -, + + +; - - -expression_list + + +variable_initializer + + + +variable_initializer literal - - -1 + + +local_variable_declaration - - -jagged + + +variable_initializer - - -argument + + +variable_initializer_list - - -arrayTypeInference + + +implicitly_typed_local_variable_declaration - - -constructor_declarator + + +( - - -{ + + +] - - -expression_statement + + +0 - - -] + + +identifier - - -explicitly_typed_local_variable_declarators + + +local_variable_declaration - - -declaration_statement + + +0 - - -identifier + + +; - - -i + + +integral_type - - -rank_specifier + + +array_initializer - - -argument_list + + +variable_initializer - - -"" + + +integral_type - - -namespace_body + + +> - - -member_initializer_list + + +; - - -implicitly_typed_local_variable_declaration + + +== - - -partial + + +var - - -o2 + + +explicitly_typed_local_variable_declaration - - -= + + +declaration_statement - - -literal + + +float - - -identifier + + +[ - - -int + + +C - - -local_variable_declaration + + +2 - - -embedded_statement + + +array_type - - -; + + +[ - - -argument_list + + +} - - -, + + +identifier - - -0 + + +non_array_type - - -explicitly_typed_local_variable_declarators + + +] - - -literal + + +type - - + + new - - -non_array_type + + +) - - -equality_expression + + +literal - - -0 + + +} - - -; + + +A - - + + { - - -literal + + +new - - -array_initializer + + +} - - -identifier + + +declaration_statement + + + +o4 + + + +, + + + +0 + + + +qualified_identifier + + + +param - - -type + + +declaration_statement - - -2 + + +variable_initializer - - -literal + + +array_type I - - -[ + + +variable_initializer - - -; + + +element_access - - -) + + +} - - -int + + +var - - -new + + +( - - -; + + +variable_initializer - - -integral_type + + +constructor_initializer - - -i + + +literal - - -statement_list + + +variable_initializer_list - - -) + + +[ - - -} + + +, + + + +variable_initializer - - + + +variable_initializer + + + ; - - -rank_specifier + + +identifier - - -[ + + += - - -expression + + +MyObject - - -implicitly_typed_local_variable_declaration + + +type - - -string + + +class_body - - -non_array_type + + +new - - -local_variable_declaration + + += - - -float + + +expression - - -dictionaryInitializer + + +statement - - + + declaration_statement - - -if_statement - - - -] + + +local_variable_declaration - - -shift_expression + + +attribute_list - - -initializer_value + + +) - - -array_initializer + + +element_initializer_list - - + + } - - -var + + +relational_expression - - -[ + + +( - - -object_creation_expression + + +literal - - -new + + +: - - -equality_expression + + +{ - - + + } - - -; - - - -variable_initializer_list - - - -array_initializer + + +{ - - -throw_statement + + +statement - - -namespace + + +literal - - + + ] - - -[ - - - -type - - - -, + + +non_array_type - - -literal + + +[ - - -identifier + + +[ - - -expression + + +embedded_statement - - -variable_initializer_list + + +block - - -= + + +object_creation_expression - - -new + + +type - - -var + + +array_type - - -member_declarator + + +constructor_body - - -} + + +1 - - -{ + + +member_initializer - - -literal + + +argument_list - - -type + + +implicitly_typed_local_variable_declarator - - -int + + +0f - - -rank_specifier + + +class_modifier - - -literal + + +attributes - - -attribute_section + + +local_variable_initializer - - + + type - - -identifier + + +expression - - -( + + +0 - - -statement + + +1 - - -identifier + + += - - + + , - - -explicitly_typed_local_variable_declarator - - - + + identifier - - -variable_initializer - - - -121 - - - -member_initializer + + +declaration_statement - - -literal + + +object_creation_expression \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-C/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/sample.gruntree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/sample.gruntree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/sample.tree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/sample.tree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/sample.tree.svg similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/Reference/sample.tree.svg diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-D/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.gruntree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.gruntree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.tree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.tree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.tree.svg similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.tree.svg diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt deleted file mode 100644 index a80ec1d2d..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt +++ /dev/null @@ -1,142 +0,0 @@ -[@0,0:8='namespace',<'namespace'>,1:0] -[@1,10:11='My',,1:10] -[@2,13:13='{',<'{'>,2:0] -[@3,19:24='public',<'public'>,3:4] -[@4,26:31='unsafe',<'unsafe'>,3:11] -[@5,33:39='partial',<'partial'>,3:18] -[@6,41:45='class',<'class'>,3:26] -[@7,47:47='A',,3:32] -[@8,49:49=':',<':'>,3:34] -[@9,51:51='C',,3:36] -[@10,52:52=',',<','>,3:37] -[@11,54:54='I',,3:39] -[@12,60:60='{',<'{'>,4:4] -[@13,70:70='~',<'~'>,5:8] -[@14,71:71='A',,5:9] -[@15,72:72='(',<'('>,5:10] -[@16,73:73=')',<')'>,5:11] -[@17,83:83='{',<'{'>,6:8] -[@18,93:93='}',<'}'>,7:8] -[@19,103:109='private',<'private'>,8:8] -[@20,111:118='readonly',<'readonly'>,8:16] -[@21,120:122='int',<'int'>,8:25] -[@22,124:125='f1',,8:29] -[@23,126:126=';',<';'>,8:31] -[@24,136:136='[',<'['>,9:8] -[@25,137:144='Obsolete',,9:9] -[@26,145:145=']',<']'>,9:17] -[@27,155:155='[',<'['>,10:8] -[@28,156:166='NonExisting',,10:9] -[@29,167:167=']',<']'>,10:20] -[@30,177:177='[',<'['>,11:8] -[@31,178:180='Foo',,11:9] -[@32,181:182='::',<'::'>,11:12] -[@33,183:193='NonExisting',,11:14] -[@34,194:194='(',<'('>,11:25] -[@35,195:197='var',<'var'>,11:26] -[@36,198:198=',',<','>,11:29] -[@37,200:200='5',,11:31] -[@38,201:201=')',<')'>,11:32] -[@39,202:202=']',<']'>,11:33] -[@40,212:212='[',<'['>,12:8] -[@41,213:224='CLSCompliant',,12:9] -[@42,225:225='(',<'('>,12:21] -[@43,226:230='false',<'false'>,12:22] -[@44,231:231=')',<')'>,12:27] -[@45,232:232=']',<']'>,12:28] -[@46,242:242='[',<'['>,13:8] -[@47,243:250='Obsolete',,13:9] -[@48,251:251=',',<','>,13:17] -[@49,253:258='System',,13:19] -[@50,259:259='.',<'.'>,13:25] -[@51,260:272='NonSerialized',,13:26] -[@52,273:273=',',<','>,13:39] -[@53,275:287='NonSerialized',,13:41] -[@54,288:288=',',<','>,13:54] -[@55,290:301='CLSCompliant',,13:56] -[@56,302:302='(',<'('>,13:68] -[@57,303:306='true',<'true'>,13:69] -[@58,308:309='||',<'||'>,13:74] -[@59,311:315='false',<'false'>,13:77] -[@60,317:317='&',<'&'>,13:83] -[@61,319:322='true',<'true'>,13:85] -[@62,323:323=')',<')'>,13:89] -[@63,324:324=']',<']'>,13:90] -[@64,334:340='private',<'private'>,14:8] -[@65,342:349='volatile',<'volatile'>,14:16] -[@66,351:353='int',<'int'>,14:25] -[@67,355:356='f2',,14:29] -[@68,357:357=';',<';'>,14:31] -[@69,367:367='[',<'['>,15:8] -[@70,368:373='return',<'return'>,15:9] -[@71,374:374=':',<':'>,15:15] -[@72,376:383='Obsolete',,15:17] -[@73,384:384=']',<']'>,15:25] -[@74,394:394='[',<'['>,16:8] -[@75,395:400='method',,16:9] -[@76,401:401=':',<':'>,16:15] -[@77,403:410='Obsolete',,16:17] -[@78,411:411=']',<']'>,16:25] -[@79,421:426='public',<'public'>,17:8] -[@80,428:431='void',<'void'>,17:15] -[@81,433:439='Handler',,17:20] -[@82,440:440='(',<'('>,17:27] -[@83,441:446='object',<'object'>,17:28] -[@84,448:452='value',<'value'>,17:35] -[@85,453:453=')',<')'>,17:40] -[@86,463:463='{',<'{'>,18:8] -[@87,473:473='}',<'}'>,19:8] -[@88,483:488='public',<'public'>,20:8] -[@89,490:492='int',<'int'>,20:15] -[@90,494:494='m',,20:19] -[@91,495:495='<',<'<'>,20:20] -[@92,496:496='T',,20:21] -[@93,497:497='>',<'>'>,20:22] -[@94,498:498='(',<'('>,20:23] -[@95,499:499='T',,20:24] -[@96,501:501='t',,20:26] -[@97,502:502=')',<')'>,20:27] -[@98,514:518='where',<'where'>,21:10] -[@99,520:520='T',,21:16] -[@100,522:522=':',<':'>,21:18] -[@101,524:528='class',<'class'>,21:20] -[@102,529:529=',',<','>,21:25] -[@103,531:533='new',<'new'>,21:27] -[@104,534:534='(',<'('>,21:30] -[@105,535:535=')',<')'>,21:31] -[@106,545:545='{',<'{'>,22:8] -[@107,559:562='base',<'base'>,23:12] -[@108,563:563='.',<'.'>,23:16] -[@109,564:564='m',,23:17] -[@110,565:565='(',<'('>,23:18] -[@111,566:566='t',,23:19] -[@112,567:567=')',<')'>,23:20] -[@113,568:568=';',<';'>,23:21] -[@114,582:587='return',<'return'>,24:12] -[@115,589:589='1',,24:19] -[@116,590:590=';',<';'>,24:20] -[@117,600:600='}',<'}'>,25:8] -[@118,610:615='public',<'public'>,26:8] -[@119,617:622='string',<'string'>,26:15] -[@120,624:624='P',,26:22] -[@121,634:634='{',<'{'>,27:8] -[@122,648:650='get',<'get'>,28:12] -[@123,664:664='{',<'{'>,29:12] -[@124,682:687='return',<'return'>,30:16] -[@125,689:691='"A"',,30:23] -[@126,692:692=';',<';'>,30:26] -[@127,706:706='}',<'}'>,31:12] -[@128,720:722='set',<'set'>,32:12] -[@129,723:723=';',<';'>,32:15] -[@130,733:733='}',<'}'>,33:8] -[@131,743:748='public',<'public'>,34:8] -[@132,750:757='abstract',<'abstract'>,34:15] -[@133,759:764='string',<'string'>,34:24] -[@134,766:766='P',,34:31] -[@135,776:776='{',<'{'>,35:8] -[@136,790:792='get',<'get'>,36:12] -[@137,793:793=';',<';'>,36:15] -[@138,803:803='}',<'}'>,37:8] -[@139,809:809='}',<'}'>,38:4] -[@140,811:811='}',<'}'>,39:0] -[@141,812:811='',,39:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt deleted file mode 100644 index cd4d525d7..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ /dev/null @@ -1 +0,0 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (finalizer_declaration ~ (identifier A) ( ) (finalizer_body (block { })))) (class_member_declaration (field_declaration (field_modifier private) (field_modifier readonly) (type (integral_type int)) (variable_declarators (identifier f1)) ;)) (class_member_declaration (field_declaration (attributes (attribute_section [ (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_list (identifier NonExisting)) ]) (attribute_section [ (attribute_list (attribute (attribute_name (qualified_alias_member (identifier Foo) :: (identifier NonExisting))) (attribute_arguments ( (positional_argument_list (positional_argument (contextual_keyword var)) , (positional_argument (literal 5))) )))) ]) (attribute_section [ (attribute_list (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (boolean_literal false)) )))) ]) (attribute_section [ (attribute_list (attribute (identifier Obsolete)) , (attribute (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier NonSerialized))) , (attribute (identifier NonSerialized)) , (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (conditional_or_expression (conditional_or_expression (boolean_literal true)) || (conditional_and_expression (and_expression (and_expression (boolean_literal false)) & (equality_expression (boolean_literal true)))))) )))) ])) (field_modifier private) (field_modifier volatile) (type (integral_type int)) (variable_declarators (identifier f2)) ;)) (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (keyword return)) :) (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Handler)) ( (parameter_list (fixed_parameter (type (class_type object)) (identifier (contextual_keyword value)))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type (integral_type int)) (method_header (member_name (identifier m)) (type_parameter_list < (decorated_type_parameter (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier t))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint class) , (constructor_constraint new ( ))))) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (base_access base . (identifier m))) ( (argument_list (identifier t)) ))) ;)) (statement (return_statement return (expression (literal 1)) ;))) })))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body (block { (statement_list (return_statement return (expression (literal "A")) ;)) }))) (set_accessor_declaration set (accessor_body ;))) }))) (class_member_declaration (property_declaration (property_modifier public) (property_modifier abstract) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) }))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.gruntree.red.txt similarity index 97% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.gruntree.red.txt index d473c9a45..d13bbf6c5 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.gruntree.red.txt @@ -187,6 +187,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ @@ -310,6 +311,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ @@ -362,9 +364,21 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ TrailingComma +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.stderr.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.stderr.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tokens.txt new file mode 100644 index 000000000..977160e75 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tokens.txt @@ -0,0 +1,147 @@ +[@0,0:8='namespace',<'namespace'>,1:0] +[@1,10:11='My',,1:10] +[@2,13:13='{',<'{'>,2:0] +[@3,19:24='public',<'public'>,3:4] +[@4,26:31='unsafe',<'unsafe'>,3:11] +[@5,33:39='partial',<'partial'>,3:18] +[@6,41:45='class',<'class'>,3:26] +[@7,47:47='A',,3:32] +[@8,49:49=':',<':'>,3:34] +[@9,51:51='C',,3:36] +[@10,52:52=',',<','>,3:37] +[@11,54:54='I',,3:39] +[@12,60:60='{',<'{'>,4:4] +[@13,70:70='~',<'~'>,5:8] +[@14,71:71='A',,5:9] +[@15,72:72='(',<'('>,5:10] +[@16,73:73=')',<')'>,5:11] +[@17,83:83='{',<'{'>,6:8] +[@18,93:93='}',<'}'>,7:8] +[@19,103:109='private',<'private'>,8:8] +[@20,111:118='readonly',<'readonly'>,8:16] +[@21,120:122='int',<'int'>,8:25] +[@22,124:125='f1',,8:29] +[@23,126:126=';',<';'>,8:31] +[@24,136:136='[',<'['>,9:8] +[@25,137:144='Obsolete',,9:9] +[@26,145:145=']',<']'>,9:17] +[@27,155:155='[',<'['>,10:8] +[@28,156:166='NonExisting',,10:9] +[@29,167:167=']',<']'>,10:20] +[@30,177:177='[',<'['>,11:8] +[@31,178:180='Foo',,11:9] +[@32,181:182='::',<'::'>,11:12] +[@33,183:193='NonExisting',,11:14] +[@34,194:194='(',<'('>,11:25] +[@35,195:197='var',<'var'>,11:26] +[@36,198:198=',',<','>,11:29] +[@37,200:200='5',,11:31] +[@38,201:201=')',<')'>,11:32] +[@39,202:202=',',<','>,11:33] +[@40,203:203=']',<']'>,11:34] +[@41,213:213='[',<'['>,12:8] +[@42,214:225='CLSCompliant',,12:9] +[@43,226:226='(',<'('>,12:21] +[@44,227:231='false',<'false'>,12:22] +[@45,232:232=')',<')'>,12:27] +[@46,233:233=']',<']'>,12:28] +[@47,243:243='[',<'['>,13:8] +[@48,244:251='Obsolete',,13:9] +[@49,252:252=',',<','>,13:17] +[@50,254:259='System',,13:19] +[@51,260:260='.',<'.'>,13:25] +[@52,261:273='NonSerialized',,13:26] +[@53,274:274=',',<','>,13:39] +[@54,276:288='NonSerialized',,13:41] +[@55,289:289=',',<','>,13:54] +[@56,291:302='CLSCompliant',,13:56] +[@57,303:303='(',<'('>,13:68] +[@58,304:307='true',<'true'>,13:69] +[@59,309:310='||',<'||'>,13:74] +[@60,312:316='false',<'false'>,13:77] +[@61,318:318='&',<'&'>,13:83] +[@62,320:323='true',<'true'>,13:85] +[@63,324:324=')',<')'>,13:89] +[@64,325:325=',',<','>,13:90] +[@65,327:327=']',<']'>,13:92] +[@66,337:343='private',<'private'>,14:8] +[@67,345:352='volatile',<'volatile'>,14:16] +[@68,354:356='int',<'int'>,14:25] +[@69,358:359='f2',,14:29] +[@70,360:360=';',<';'>,14:31] +[@71,370:370='[',<'['>,15:8] +[@72,371:376='return',<'return'>,15:9] +[@73,377:377=':',<':'>,15:15] +[@74,379:386='Obsolete',,15:17] +[@75,387:387=',',<','>,15:25] +[@76,389:401='TrailingComma',,15:27] +[@77,402:402=',',<','>,15:40] +[@78,404:404=']',<']'>,15:42] +[@79,414:414='[',<'['>,16:8] +[@80,415:420='method',,16:9] +[@81,421:421=':',<':'>,16:15] +[@82,423:430='Obsolete',,16:17] +[@83,431:431=']',<']'>,16:25] +[@84,441:446='public',<'public'>,17:8] +[@85,448:451='void',<'void'>,17:15] +[@86,453:459='Handler',,17:20] +[@87,460:460='(',<'('>,17:27] +[@88,461:466='object',<'object'>,17:28] +[@89,468:472='value',<'value'>,17:35] +[@90,473:473=')',<')'>,17:40] +[@91,483:483='{',<'{'>,18:8] +[@92,493:493='}',<'}'>,19:8] +[@93,503:508='public',<'public'>,20:8] +[@94,510:512='int',<'int'>,20:15] +[@95,514:514='m',,20:19] +[@96,515:515='<',<'<'>,20:20] +[@97,516:516='T',,20:21] +[@98,517:517='>',<'>'>,20:22] +[@99,518:518='(',<'('>,20:23] +[@100,519:519='T',,20:24] +[@101,521:521='t',,20:26] +[@102,522:522=')',<')'>,20:27] +[@103,534:538='where',<'where'>,21:10] +[@104,540:540='T',,21:16] +[@105,542:542=':',<':'>,21:18] +[@106,544:548='class',<'class'>,21:20] +[@107,549:549=',',<','>,21:25] +[@108,551:553='new',<'new'>,21:27] +[@109,554:554='(',<'('>,21:30] +[@110,555:555=')',<')'>,21:31] +[@111,565:565='{',<'{'>,22:8] +[@112,579:582='base',<'base'>,23:12] +[@113,583:583='.',<'.'>,23:16] +[@114,584:584='m',,23:17] +[@115,585:585='(',<'('>,23:18] +[@116,586:586='t',,23:19] +[@117,587:587=')',<')'>,23:20] +[@118,588:588=';',<';'>,23:21] +[@119,602:607='return',<'return'>,24:12] +[@120,609:609='1',,24:19] +[@121,610:610=';',<';'>,24:20] +[@122,620:620='}',<'}'>,25:8] +[@123,630:635='public',<'public'>,26:8] +[@124,637:642='string',<'string'>,26:15] +[@125,644:644='P',,26:22] +[@126,654:654='{',<'{'>,27:8] +[@127,668:670='get',<'get'>,28:12] +[@128,684:684='{',<'{'>,29:12] +[@129,702:707='return',<'return'>,30:16] +[@130,709:711='"A"',,30:23] +[@131,712:712=';',<';'>,30:26] +[@132,726:726='}',<'}'>,31:12] +[@133,740:742='set',<'set'>,32:12] +[@134,743:743=';',<';'>,32:15] +[@135,753:753='}',<'}'>,33:8] +[@136,763:768='public',<'public'>,34:8] +[@137,770:777='abstract',<'abstract'>,34:15] +[@138,779:784='string',<'string'>,34:24] +[@139,786:786='P',,34:31] +[@140,796:796='{',<'{'>,35:8] +[@141,810:812='get',<'get'>,36:12] +[@142,813:813=';',<';'>,36:15] +[@143,823:823='}',<'}'>,37:8] +[@144,829:829='}',<'}'>,38:4] +[@145,831:831='}',<'}'>,39:0] +[@146,832:831='',,39:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tree.red.txt new file mode 100644 index 000000000..1ed46751b --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (finalizer_declaration ~ (identifier A) ( ) (finalizer_body (block { })))) (class_member_declaration (field_declaration (field_modifier private) (field_modifier readonly) (type (integral_type int)) (variable_declarators (identifier f1)) ;)) (class_member_declaration (field_declaration (attributes (attribute_section [ (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_list (identifier NonExisting)) ]) (attribute_section [ (attribute_list (attribute (attribute_name (qualified_alias_member (identifier Foo) :: (identifier NonExisting))) (attribute_arguments ( (positional_argument_list (positional_argument (contextual_keyword var)) , (positional_argument (literal 5))) ))) ,) ]) (attribute_section [ (attribute_list (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (boolean_literal false)) )))) ]) (attribute_section [ (attribute_list (attribute (identifier Obsolete)) , (attribute (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier NonSerialized))) , (attribute (identifier NonSerialized)) , (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (conditional_or_expression (conditional_or_expression (boolean_literal true)) || (conditional_and_expression (and_expression (and_expression (boolean_literal false)) & (equality_expression (boolean_literal true)))))) ))) ,) ])) (field_modifier private) (field_modifier volatile) (type (integral_type int)) (variable_declarators (identifier f2)) ;)) (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (keyword return)) :) (attribute_list (attribute (identifier Obsolete)) , (attribute (identifier TrailingComma)) ,) ]) (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Handler)) ( (parameter_list (fixed_parameter (type (class_type object)) (identifier (contextual_keyword value)))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type (integral_type int)) (method_header (member_name (identifier m)) (type_parameter_list < (decorated_type_parameter (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier t))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint class) , (constructor_constraint new ( ))))) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (base_access base . (identifier m))) ( (argument_list (identifier t)) ))) ;)) (statement (return_statement return (expression (literal 1)) ;))) })))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body (block { (statement_list (return_statement return (expression (literal "A")) ;)) }))) (set_accessor_declaration set (accessor_body ;))) }))) (class_member_declaration (property_declaration (property_modifier public) (property_modifier abstract) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) }))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tree.svg similarity index 53% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tree.svg index fb801a53a..13cf1c024 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tree.svg @@ -1,23 +1,23 @@ - - - - - - - - - - - + + + + + + + + + + + - + - - - + + + - + @@ -27,9 +27,9 @@ - - - + + + @@ -40,7 +40,7 @@ - + @@ -53,25 +53,25 @@ - - - - + + + + - + - - - - + + + + @@ -90,8 +90,9 @@ - - + + + @@ -105,14 +106,14 @@ - - - - + + + + - - + + @@ -120,12 +121,12 @@ - - + + - - + + @@ -147,1514 +148,1553 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -{ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +false - - -boolean_literal + + +identifier - - + + +expression + + + ] - - + + ; - - -statement_expression - - - -identifier - - - -primary_expression + + +namespace - - -var + + +) - - -interface_type_list + + +& - - + + [ - - -true - - - -boolean_literal - - - -return_type - - - -attributes - - - -unsafe_modifier - - - -method_header - - - -|| - - - -class - - - -t - - - -type - - - + + T - - -attribute_target_specifier + + +Obsolete - - -return_statement + + +) - - -return + + +class_member_declaration + + + +5 - - + + identifier - - -& + + +CLSCompliant - - -compilation_unit + + +, - - -conditional_or_expression + + +A - - -private + + +; - - -int + + +method_header - - -accessor_body + + +class - - + + ( - - -partial + + +NonExisting - - -attribute_section + + +attribute_list - - -} + + +statement_expression - - -class_member_declaration + + +f1 + + + +variable_declarators + + + +attribute_list identifier - - -public - - - -expression + + +. - - -attribute + + +field_declaration - - + + identifier - - -class_type - - - -property_body - - - -I + + +literal - - -method_header + + +attribute_arguments - - -type + + +identifier - - -"A" + + +accessor_declarations - - -namespace_member_declaration + + +method - - -class + + +] - - -fixed_parameter + + +: - - -argument_list + + +literal - - -attribute_list + + +; - - -attribute_list + + +} - - -attribute_section + + +: - - -[ + + +expression_statement - - + + identifier - - -block - - - -attributes + + +interface_type - - -get_accessor_declaration + + +Handler - - + + identifier - - -identifier + + +unsafe - - -identifier + + +field_declaration - - -and_expression + + +positional_argument_list - - + + identifier - - -constructor_constraint + + +positional_argument_list - - -class_member_declaration + + +My - - -type + + +namespace_or_type_name - - -( + + +integral_type - - -parameter_list + + +identifier - - -attribute_list + + +TrailingComma - - -identifier + + +method_declaration - - -public + + +class_body - - + + } - - -identifier + + +class_base - - -statement_list + + +field_modifier - - -true + + +{ - - -decorated_type_parameter + + +m - - -identifier + + +attribute - - -[ + + +attribute - - -{ + + +, - - -accessor_declarations + + +invocation_expression - - -{ + + +return - - -NonExisting + + +return - - -5 + + +conditional_or_expression - - -f2 + + +{ - - -accessor_body + + +public - - -get_accessor_declaration + + +where - - -abstract + + +class_member_declaration - - -class_body + + +attribute_target - - -} + + +method_header - - -) + + +identifier - - -; + + +] - - -( + + +integral_type - - -, + + +attribute_list - - -) + + +and_expression - - -; + + +attribute_list - - -: + + +T - - -) + + +, + + + +identifier - - + + ] - - + + identifier - - -invocation_expression - - - -int + + +return_type - - -class_base + + +method_body - - -positional_argument + + +class_modifier - - + + identifier - - -attribute + + +attribute_arguments - - -variable_declarators + + +base_access - - -integral_type + + +property_declaration - - -get + + +base - - -~ + + +I - - -attribute_list + + +: - - -positional_argument_list + + +T - - -[ + + +statement_list - - -interface_type + + +identifier - - -T + + +NonSerialized - - -:: + + +variable_declarators + + + +( - - -variable_declarators + + +identifier - - -attribute + + +var - - -attribute_list + + +class_modifier - - -Handler + + +: - - -fixed_parameter + + +get_accessor_declaration - - -base_access + + +namespace_body - - -return + + +method_declaration - - -identifier + + +conditional_or_expression - - -type_parameter + + +ref_method_modifier - - -{ + + +attribute_section - - -1 + + +] - - -attribute + + +NonExisting - - -property_declaration + + +boolean_literal - - -; + + +attributes - - -accessor_declarations + + +fixed_parameter - - -attribute_arguments + + +type - - -class_modifier + + +contextual_keyword - - -conditional_or_expression + + +} - - -attribute_target + + +} - - -member_name + + +argument_list - - -[ + + +, - - -] + + +[ - - -m + + +class_member_declaration - - -block + + +positional_argument - - -identifier + + +( - - -primary_constraint + + +interface_type_list - - -) + + +class_declaration - - -; + + +and_expression - - -expression + + +block - - -, + + +t - - -property_declaration + + +C - - -field_modifier + + +identifier - - -private + + +attribute_section - - -method_modifiers + + +false - - -( + + +identifier - - -} + + +NonSerialized - - -) + + +string attribute - - -finalizer_body + + +; - - -f1 + + +public - - -identifier + + +attribute_name - - + + ) - - -and_expression - - - -type_parameter_constraints_clause - - - -class_member_declaration - - - -property_modifier + + +fixed_parameter - - -( + + +unsafe_modifier - - -block + + +class_type - - + + prog - - -type - - - + + identifier - - -method + + +positional_argument - - -] + + +equality_expression - - -qualified_alias_member + + +attribute_section - - -public + + +class_member_declaration - - -A + + +member_name - - -attribute_name + + +type - - -ref_method_modifier + + +identifier - - -attribute_arguments + + +class_type - - -) + + +true - - -literal + + +set - - -boolean_literal + + +namespace_or_type_name - - -int + + +member_name ( - - -get + + +constructor_constraint + + + +, - - + + [ - - -} + + +attribute_section - - + + identifier - - -identifier + + +{ - - + + attribute_target_specifier - - -block + + +method_modifiers - - -A + + +return_statement + + + +[ + + + +statement + + + +return_type + + + +attribute + + + +conditional_and_expression + + + +attribute_target_specifier + + + +parameter_list + + + +public + + + +property_modifier + + + +primary_constraint - - -positional_argument_list + + +P - - -attribute_section + + +private - - -class_modifier + + +primary_expression - - -return + + +) - - -namespace + + +field_modifier - - -identifier + + +statement - - -> + + +accessor_body - - -contextual_keyword + + +} - - -Obsolete + + +] - - -method_body + + +boolean_literal - - -, + + +; - - -unsafe + + +attribute_name - - -type_parameter_constraints + + +public - - -expression_statement + + +identifier - - -attribute + + +compilation_unit - - -class_type + + +field_modifier - - -parameter_list + + +new . - - -keyword - - - -field_declaration - - - -integral_type + + +[ - - -false + + +class_member_declaration - - -attribute_section + + +partial - - -void + + +type - - -] + + +attribute - - -object + + +property_body - - -method_modifiers + + +set_accessor_declaration - - -< + + +identifier - - -base + + +property_modifier - - + + attribute_list - - -{ - - - -field_declaration - - - -; - - - -attribute_name + + +qualified_alias_member - - -NonExisting + + +volatile - - -statement_list + + +[ - - -set_accessor_declaration + + +get_accessor_declaration - - -identifier + + +|| - - -public + + +type_parameter_list - - -return_statement + + +attribute_section - - -} + + +return - - -property_modifier + + +f2 - - -statement + + +method_body - - + + P - - -member_name + + +object - - -identifier + + +block - - -member_name + + +attribute_list - - -accessor_body + + +property_modifier - - -My + + +attribute_list - - -volatile + + +} - - -literal + + +private - - -attribute_target + + +identifier - - -namespace_body + + +, - - -boolean_literal + + +identifier - - -m + + +) - - -where + + +; - - -literal + + +identifier + + + +attribute_name CLSCompliant - - -type + + +positional_argument_list - - -field_modifier + + +member_name - - -System + + +int - - -property_body + + +int - - -class_member_declaration + + +namespace_member_declaration - - -: + + +attribute - - -[ + + +block + + + +true + + + +1 + + + +get , - - -P + + +Foo - - -field_modifier + + +Obsolete - - -return_type + + +member_name - - -class_member_declaration + + +} - - -identifier + + +) - - -NonSerialized + + +value - - -identifier + + +) - - -new + + +method_modifiers - - -{ + + +class - - + + +attribute_target + + + ( - - -Foo + + +, + + + +interface_type - - -finalizer_declaration + + +integral_type - - -type_parameter_list + + +) - - -member_name + + +type_parameter - - -positional_argument + + +statement_list - - -identifier + + +{ - - -method_declaration + + +identifier - - -namespace_declaration + + +m - - -type + + +literal - - -] + + +contextual_keyword - - + + class_member_declaration - - -method_declaration + + +class_type - - -false + + +type - - -field_modifier + + +type - - -, + + +attributes - - + + identifier - - -qualified_identifier + + +{ - - -, + + +property_declaration - - -attribute_list + + +{ - - -attribute_section + + +accessor_declarations - - -integral_type + + +} - - -] + + +boolean_literal - - -{ + + +int - - -NonSerialized + + +void - - -equality_expression + + +identifier - - -string + + +t - - -statement + + +decorated_type_parameter - - -value + + +] - - -method_body + + +string - - -) + + +namespace_declaration - - -class_member_declaration + + +public - - -readonly + + +( - - -interface_type + + +parameter_list - - + + +type_parameter_constraints + + + identifier - - -T + + +get - - + + +keyword + + + Obsolete - - -: + + +boolean_literal - - -class_declaration + + +, - - -attribute_name + + +A + + + +( + + + +attribute + + + +type Obsolete - - -namespace_or_type_name + + +> - - -CLSCompliant + + +accessor_body - - -identifier + + +attribute_section - - -. + + +( - - -{ + + +"A" - - -; + + +< - - -public + + +[ - - -attribute_section + + +qualified_identifier - - + + +field_modifier + + + +property_body + + + +System + + + identifier - - -attribute_section + + +ref_method_modifier - - -class_type + + +finalizer_declaration - - -} + + +expression - - -namespace_or_type_name + + +{ - - -contextual_keyword + + +finalizer_body - - -set + + +:: - - -( + + +identifier - - -ref_method_modifier + + +~ - - -: + + +, - - -Obsolete + + +readonly - - -attribute_arguments + + +{ - - -string + + +class_member_declaration - - -} + + +type_parameter_constraints_clause - - -identifier + + +attribute_section - - -conditional_and_expression + + +abstract - - -C + + +return_statement - - -t + + +accessor_body - - -property_modifier + + +attribute - - -positional_argument_list + + +identifier + + + +attribute_arguments + + + +; + + + +block \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/sample.cs similarity index 86% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/sample.cs index d6c47db13..5da80541d 100755 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/AllInOneNoPreprocessor-v6-part.cs +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/sample.cs @@ -8,11 +8,11 @@ public unsafe partial class A : C, I private readonly int f1; [Obsolete] [NonExisting] - [Foo::NonExisting(var, 5)] + [Foo::NonExisting(var, 5),] [CLSCompliant(false)] - [Obsolete, System.NonSerialized, NonSerialized, CLSCompliant(true || false & true)] + [Obsolete, System.NonSerialized, NonSerialized, CLSCompliant(true || false & true), ] private volatile int f2; - [return: Obsolete] + [return: Obsolete, TrailingComma, ] [method: Obsolete] public void Handler(object value) { diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/sample.gruntree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/sample.gruntree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/sample.tree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/sample.tree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/sample.tree.svg similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/Reference/sample.tree.svg diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-G/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/sample.gruntree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/sample.gruntree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/sample.tree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/sample.tree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/sample.tree.svg similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/Reference/sample.tree.svg diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-H/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.gruntree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.gruntree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.tree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.tree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.tree.svg similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.tree.svg diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt deleted file mode 100644 index 974659e28..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ /dev/null @@ -1 +0,0 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier RecursiveGenericBaseType)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier A) (type_parameter_list < (decorated_type_parameter (identifier T)) >) (class_base : (class_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >)))) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier virtual))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier M)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier abstract))) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier N)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier static)) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier O)) ( )) (method_body (block { })))) }))) (namespace_member_declaration (class_declaration (class_modifier sealed) class (identifier B) (type_parameter_list < (decorated_type_parameter (identifier T1)) , (decorated_type_parameter (identifier T2)) >) (class_base : (class_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (identifier T1)) , (type_argument (identifier T2))) >))) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier override))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier M)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier sealed)) (method_modifier (ref_method_modifier override))) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier N)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier new)) (method_modifier (ref_method_modifier static))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier O)) ( )) (method_body (block { })))) }))) }))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier Boo)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) class (identifier Bar) (type_parameter_list < (decorated_type_parameter (identifier T)) >) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (identifier IComparable))) (class_body { (class_member_declaration (field_declaration (field_modifier public) (type (identifier T)) (variable_declarators (identifier f)) ;)) (class_member_declaration (class_declaration (class_modifier public) class (identifier Foo) (type_parameter_list < (decorated_type_parameter (identifier U)) >) (class_base : (class_type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_arguments (identifier T)) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Method)) (type_parameter_list < (decorated_type_parameter (identifier K)) , (decorated_type_parameter (identifier V)) >) ( (parameter_list (fixed_parameters (fixed_parameter (type (identifier K)) (identifier k)) , (fixed_parameter (type (identifier T)) (identifier t)) , (fixed_parameter (type (identifier U)) (identifier u)))) ) (type_parameter_constraints_clause where (type_parameter (identifier K)) : (type_parameter_constraints (primary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier V)) >))) , (secondary_constraints (secondary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier T)) >))) , (secondary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier U)) >)))))) (type_parameter_constraints_clause where (type_parameter (identifier V)) : (type_parameter_constraints (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier K)) >))))) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (identifier a)))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (invocation_expression (primary_expression (simple_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) ( (argument_list (literal 5)) ))) ))) ;))) })))) }) ;)) }) ;)) }) ;)) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.svg deleted file mode 100644 index 36536dc5c..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ /dev/null @@ -1,2930 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -fixed_parameter - - - -> - - - -class_member_declaration - - - -> - - - -protected - - - -< - - - -namespace_member_declaration - - - -void - - - -ref_method_modifier - - - -method_modifiers - - - -identifier - - - -prog - - - -type_arguments - - - -member_name - - - -; - - - -return_type - - - -{ - - - -method_modifiers - - - -T - - - -K - - - -type_argument_list - - - -statement_list - - - -{ - - - -) - - - -type_parameter_list - - - -IList - - - -: - - - -statement_expression - - - -> - - - -namespace_body - - - -> - - - -ref_method_modifier - - - -} - - - -namespace_or_type_name - - - -decorated_type_parameter - - - -namespace_or_type_name - - - -: - - - -decorated_type_parameter - - - -IList - - - -namespace_or_type_name - - - -identifier - - - -method_header - - - -, - - - -< - - - -A - - - -, - - - -block - - - -IComparable - - - -argument_list - - - -B - - - -method_modifier - - - -type_arguments - - - -type_arguments - - - -: - - - -identifier - - - -identifier - - - -T - - - -explicitly_typed_local_variable_declarators - - - -type_arguments - - - -class - - - -static - - - -identifier - - - -integral_type - - - -Bar - - - -expression_statement - - - -class_member_declaration - - - -identifier - - - -{ - - - -identifier - - - -} - - - -identifier - - - -} - - - -identifier - - - -type_argument_list - - - -type - - - -IEnumerable - - - -class_member_declaration - - - -{ - - - -A - - - -identifier - - - -type_parameter_constraints - - - -type_arguments - - - -type_argument_list - - - -type_argument_list - - - -T - - - -type_arguments - - - -identifier - - - -K - - - -namespace_or_type_name - - - -< - - - -class_base - - - -T1 - - - -type_argument_list - - - -ref_method_modifier - - - -type_arguments - - - -< - - - -IList - - - -( - - - -return_type - - - -< - - - -< - - - -identifier - - - -< - - - -namespace_or_type_name - - - -T - - - -identifier - - - -identifier - - - -type_parameter_constraints_clause - - - -primary_expression - - - -namespace_or_type_name - - - -M - - - -identifier - - - -public - - - -method_declaration - - - -identifier - - - -identifier - - - -namespace_or_type_name - - - -a - - - -( - - - -type_arguments - - - -< - - - -namespace - - - -identifier - - - -namespace_or_type_name - - - -T - - - -A - - - -A - - - -compilation_unit - - - -< - - - -namespace_member_declaration - - - -A - - - -U - - - -{ - - - -O - - - -type_parameter - - - -protected - - - -< - - - -identifier - - - -identifier - - - -class_base - - - -type_argument_list - - - -u - - - -< - - - -type_argument_list - - - -) - - - -< - - - -identifier - - - -identifier - - - -< - - - -< - - - -namespace_body - - - -A - - - -> - - - -type_arguments - - - -t - - - -type_parameter_list - - - -> - - - -ref_method_modifier - - - -N - - - -class_modifier - - - -namespace_or_type_name - - - -abstract - - - -identifier - - - -type_argument - - - -where - - - -local_variable_declaration - - - -namespace_or_type_name - - - -, - - - -type_argument_list - - - -T - - - -type_argument_list - - - -member_name - - - -} - - - -method_body - - - -namespace_body - - - -identifier - - - -T - - - -U - - - -> - - - -T - - - -> - - - -qualified_identifier - - - -C - - - -identifier - - - -primary_constraint - - - -M - - - -{ - - - -identifier - - - -< - - - -{ - - - -< - - - -} - - - -> - - - -type - - - -override - - - -type_parameter - - - -simple_name - - - -declaration_statement - - - -A - - - -class_member_declaration - - - -identifier - - - -< - - - -namespace_or_type_name - - - -namespace_or_type_name - - - -A - - - -return_type - - - -< - - - -T - - - -type_arguments - - - -sealed - - - -T - - - -argument_list - - - -method_header - - - -namespace - - - -identifier - - - -field_declaration - - - -( - - - -statement - - - -identifier - - - -type_parameter_list - - - -virtual - - - -secondary_constraint - - - -f - - - -block - - - -fixed_parameters - - - -) - - - -method_modifier - - - -type_argument - - - -V - - - -type_parameter_constraints - - - -identifier - - - -protected - - - -B - - - -identifier - - - -B - - - -method_body - - - -namespace_declaration - - - -identifier - - - -type_arguments - - - -> - - - -ref_method_modifier - - - -identifier - - - -sealed - - - -namespace_declaration - - - -public - - - -identifier - - - -B - - - -( - - - -method_body - - - -statement - - - -namespace_or_type_name - - - -type_arguments - - - -} - - - -identifier - - - -< - - - -type_argument - - - -method_header - - - -ref_method_modifier - - - -{ - - - -A - - - -namespace_member_declaration - - - -: - - - -ref_method_modifier - - - -O - - - -fixed_parameter - - - -identifier - - - -type_parameter_list - - - -< - - - -) - - - -type_argument - - - -A - - - -namespace_or_type_name - - - -type_arguments - - - -T - - - -A - - - -explicitly_typed_local_variable_declaration - - - -type_argument_list - - - -type - - - -, - - - -method_body - - - -decorated_type_parameter - - - -literal - - - -type_parameter - - - -identifier - - - -where - - - -5 - - - -Boo - - - -} - - - -method_declaration - - - -} - - - -> - - - -< - - - -> - - - -class_type - - - -V - - - -T - - - -identifier - - - -type_argument_list - - - -class_member_declaration - - - -identifier - - - -type_argument_list - - - -, - - - -A - - - -method_declaration - - - -class - - - -class - - - -identifier - - - -identifier - - - -> - - - -class_member_declaration - - - -method_modifier - - - -} - - - -type_arguments - - - -type_parameter - - - -type_argument - - - -; - - - -type_parameter_constraints_clause - - - -identifier - - - -) - - - -) - - - -) - - - -{ - - - -variable_declarators - - - -class_type - - - -method_declaration - - - -, - - - -T2 - - - -identifier - - - -namespace_or_type_name - - - -< - - - -type_arguments - - - -identifier - - - -type_argument - - - -type_arguments - - - -identifier - - - -type_argument_list - - - -Foo - - - -namespace_or_type_name - - - -identifier - - - -identifier - - - -type_arguments - - - -> - - - -> - - - -identifier - - - -static - - - -( - - - -type_argument_list - - - -> - - - -type_argument_list - - - -member_name - - - -ref_method_modifier - - - -decorated_type_parameter - - - -where - - - -identifier - - - -type_argument_list - - - -type_argument - - - -T1 - - - -class_body - - - -> - - - -identifier - - - -class_base - - - -method_declaration - - - -class_declaration - - - -return_type - - - -override - - - -decorated_type_parameter - - - -block - - - -> - - - -ConsoleApplication1 - - - -; - - - -class_member_declaration - - - -T - - - -type_argument_list - - - -identifier - - - -method_modifiers - - - -, - - - -{ - - - -type_arguments - - - -block - - - -namespace_or_type_name - - - -method_modifiers - - - -identifier - - - -identifier - - - -type - - - -parameter_list - - - -identifier - - - -U - - - -class_member_declaration - - - -return_type - - - -T - - - -type_argument - - - -identifier - - - -method_header - - - -: - - - -namespace_member_declaration - - - -method_modifier - - - -A - - - -class_modifier - - - -T2 - - - -method_modifiers - - - -( - - - -namespace_or_type_name - - - -namespace_or_type_name - - - -> - - - -where - - - -namespace_or_type_name - - - -{ - - - -{ - - - -member_name - - - -> - - - -type_argument_list - - - -} - - - -method_modifier - - - -B - - - -class_modifier - - - -type_arguments - - - -type_arguments - - - -type_argument_list - - - -identifier - - - -, - - - -class_body - - - -< - - - -invocation_expression - - - -method_declaration - - - -A - - - -) - - - -T - - - -T - - - -T - - - -T - - - -( - - - -qualified_identifier - - - -method_modifier - - - -identifier - - - -method_body - - - -T - - - -identifier - - - -> - - - -identifier - - - -method_declaration - - - -B - - - -, - - - -> - - - -namespace_or_type_name - - - -new - - - -ref_method_modifier - - - -< - - - -, - - - -type_argument_list - - - -N - - - -class_body - - - -secondary_constraint - - - -A - - - -type_arguments - - - -; - - - -type_arguments - - - -class_type - - - -return_type - - - -type_argument_list - - - -int - - - -identifier - - - -type_parameter_constraints - - - -member_name - - - -qualified_identifier - - - -} - - - -decorated_type_parameter - - - -, - - - -decorated_type_parameter - - - -type_argument_list - - - -class_body - - - -< - - - -ref_method_modifier - - - -method_modifier - - - -identifier - - - -namespace - - - -method_modifiers - - - -type_argument_list - - - -type_argument - - - -class_member_declaration - - - -ref_method_modifier - - - -class_declaration - - - -public - - - -type_parameter_constraints_clause - - - -namespace_declaration - - - -identifier - - - -{ - - - -method_body - - - -identifier - - - -method_modifier - - - -B - - - -identifier - - - -type_arguments - - - -public - - - -type - - - -, - - - -T - - - -( - - - -: - - - -type_argument_list - - - -class - - - -< - - - -method_body - - - -Method - - - -method_modifier - - - -> - - - -> - - - -secondary_constraints - - - -type_arguments - - - -< - - - -protected - - - -identifier - - - -method_modifier - - - -namespace_member_declaration - - - -K - - - -ref_method_modifier - - - -identifier - - - -K - - - -; - - - -method_modifiers - - - -namespace_or_type_name - - - -namespace_or_type_name - - - -IList - - - -type_argument - - - -} - - - -A - - - -identifier - - - -identifier - - - -RecursiveGenericBaseType - - - -identifier - - - -type_argument - - - -identifier - - - -class_declaration - - - -method_modifier - - - -identifier - - - -type_argument - - - -> - - - -} - - - -identifier - - - -identifier - - - -type_parameter_constraints_clause - - - -block - - - -type_parameter_list - - - -identifier - - - -return_type - - - -> - - - -type_parameter_constraints - - - -member_name - - - -} - - - -M - - - -block - - - -method_header - - - -type_argument_list - - - -> - - - -{ - - - -identifier - - - -class_declaration - - - -field_modifier - - - -: - - - -> - - - -method_header - - - -identifier - - - -( - - - -type_arguments - - - -method_header - - - -identifier - - - -fixed_parameter - - - -block - - - -> - - - -identifier - - - -identifier - - - -identifier - - - -< - - - -ref_method_modifier - - - -namespace_or_type_name - - - -identifier - - - -k - - - -V - - - -primary_expression - - - -) - - - -< - - - -invocation_expression - - - -identifier - - - -; - - - -member_name - - - -< - - - -> - - \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/sample.gruntree.red.txt similarity index 93% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/sample.gruntree.red.txt index fa0a914c2..ac0015f1e 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/sample.gruntree.red.txt @@ -66,50 +66,47 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ @@ -141,7 +138,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T @@ -188,7 +185,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T @@ -253,50 +250,47 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ @@ -349,50 +343,47 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ @@ -474,7 +465,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -485,21 +476,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T1 ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T2 ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > @@ -547,7 +535,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T @@ -619,50 +607,47 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ @@ -725,7 +710,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T @@ -892,7 +877,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T @@ -1027,7 +1012,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ V @@ -1052,7 +1037,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T @@ -1075,7 +1060,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U @@ -1111,7 +1096,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K @@ -1150,7 +1135,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int @@ -1204,21 +1189,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/sample.stderr.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/sample.stderr.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/sample.tree.red.txt new file mode 100644 index 000000000..5d1f25d93 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/sample.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier RecursiveGenericBaseType)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier A) (type_parameter_list < (decorated_type_parameter (identifier T)) >) (class_base : (class_type (namespace_or_type_name (identifier B) (type_argument_list < (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier T)) >))) >)))) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier T)) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier virtual))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier T)) >))) (method_header (member_name (identifier M)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier abstract))) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier T)) >))) >))) (method_header (member_name (identifier N)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier static)) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier T)) >))) >))) (method_header (member_name (identifier O)) ( )) (method_body (block { })))) }))) (namespace_member_declaration (class_declaration (class_modifier sealed) class (identifier B) (type_parameter_list < (decorated_type_parameter (identifier T1)) , (decorated_type_parameter (identifier T2)) >) (class_base : (class_type (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (namespace_or_type_name (identifier B) (type_argument_list < (type_argument (identifier T1)) , (type_argument (identifier T2)) >))) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier override))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier T)) >))) (method_header (member_name (identifier M)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier sealed)) (method_modifier (ref_method_modifier override))) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier T)) >))) >))) (method_header (member_name (identifier N)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier new)) (method_modifier (ref_method_modifier static))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier T)) >))) (method_header (member_name (identifier O)) ( )) (method_body (block { })))) }))) }))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier Boo)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) class (identifier Bar) (type_parameter_list < (decorated_type_parameter (identifier T)) >) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (identifier IComparable))) (class_body { (class_member_declaration (field_declaration (field_modifier public) (type (identifier T)) (variable_declarators (identifier f)) ;)) (class_member_declaration (class_declaration (class_modifier public) class (identifier Foo) (type_parameter_list < (decorated_type_parameter (identifier U)) >) (class_base : (class_type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_argument (identifier T)) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Method)) (type_parameter_list < (decorated_type_parameter (identifier K)) , (decorated_type_parameter (identifier V)) >) ( (parameter_list (fixed_parameters (fixed_parameter (type (identifier K)) (identifier k)) , (fixed_parameter (type (identifier T)) (identifier t)) , (fixed_parameter (type (identifier U)) (identifier u)))) ) (type_parameter_constraints_clause where (type_parameter (identifier K)) : (type_parameter_constraints (primary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_argument (identifier V)) >))) , (secondary_constraints (secondary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_argument (identifier T)) >))) , (secondary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_argument (identifier U)) >)))))) (type_parameter_constraints_clause where (type_parameter (identifier V)) : (type_parameter_constraints (namespace_or_type_name (identifier IList) (type_argument_list < (type_argument (identifier K)) >))))) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (integral_type int)) >))) (explicitly_typed_local_variable_declarators (identifier a)))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (invocation_expression (primary_expression (simple_name (identifier A) (type_argument_list < (type_argument (identifier B)) , (type_argument (identifier C)) >))) ( (argument_list (literal 5)) ))) ))) ;))) })))) }) ;)) }) ;)) }) ;)) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/sample.tree.svg new file mode 100644 index 000000000..bb7c7ebbe --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/Reference/sample.tree.svg @@ -0,0 +1,2900 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +method_modifiers + + + +a + + + +argument_list + + + +ref_method_modifier + + + +static + + + +< + + + +< + + + +Method + + + +parameter_list + + + +< + + + +type_parameter + + + +class_member_declaration + + + +type_argument + + + +field_declaration + + + +T + + + +method_modifier + + + +decorated_type_parameter + + + +return_type + + + +> + + + +identifier + + + +{ + + + +) + + + +override + + + +class_member_declaration + + + +abstract + + + +type_argument_list + + + +namespace + + + +type_argument + + + +type_argument_list + + + +block + + + +B + + + +type_parameter + + + +type_argument_list + + + +member_name + + + +> + + + +IList + + + +type_argument + + + +; + + + +f + + + +B + + + +T + + + +identifier + + + +ref_method_modifier + + + +type_argument_list + + + +identifier + + + +> + + + +identifier + + + +namespace_or_type_name + + + +class + + + +identifier + + + +< + + + +identifier + + + +identifier + + + +method_modifier + + + +U + + + +class_body + + + +> + + + +ref_method_modifier + + + +variable_declarators + + + +local_variable_declaration + + + +identifier + + + +B + + + +type_argument + + + +< + + + +N + + + +class_type + + + +A + + + +: + + + +where + + + +u + + + +method_body + + + +identifier + + + +method_body + + + +namespace_or_type_name + + + +identifier + + + +public + + + +decorated_type_parameter + + + +U + + + +B + + + +A + + + +block + + + +namespace_or_type_name + + + +type_argument + + + +return_type + + + +decorated_type_parameter + + + +method_declaration + + + +) + + + +, + + + +> + + + +method_modifier + + + +identifier + + + +identifier + + + +type_argument + + + +} + + + +class_base + + + +type_argument + + + +namespace + + + +T + + + +ref_method_modifier + + + +type_argument_list + + + +namespace_or_type_name + + + +type_argument + + + +ref_method_modifier + + + +identifier + + + +namespace_or_type_name + + + +identifier + + + +fixed_parameter + + + +} + + + +identifier + + + +class_base + + + +, + + + +> + + + +{ + + + +namespace_body + + + +ref_method_modifier + + + +type_argument_list + + + +where + + + +class_declaration + + + +O + + + +< + + + +type + + + +identifier + + + +k + + + +: + + + +qualified_identifier + + + +{ + + + +identifier + + + +T + + + +type + + + +< + + + +type_parameter_constraints + + + +identifier + + + +override + + + +decorated_type_parameter + + + +sealed + + + +decorated_type_parameter + + + +5 + + + +where + + + +identifier + + + +type_argument + + + +member_name + + + +A + + + +method_declaration + + + +< + + + +prog + + + +invocation_expression + + + +identifier + + + +T + + + +, + + + +fixed_parameter + + + +virtual + + + +type_argument + + + +( + + + +type_argument + + + +> + + + +A + + + +identifier + + + +> + + + +identifier + + + +class_declaration + + + +M + + + +namespace_declaration + + + +, + + + +N + + + +{ + + + +type_argument_list + + + +member_name + + + +type_argument + + + +C + + + +> + + + +identifier + + + +> + + + +identifier + + + +) + + + +T + + + +> + + + +identifier + + + +< + + + +, + + + +{ + + + +( + + + +> + + + +K + + + +method_modifier + + + +< + + + +block + + + +{ + + + +} + + + +class_member_declaration + + + +namespace_or_type_name + + + +identifier + + + +> + + + +class_body + + + +identifier + + + +type_parameter + + + +: + + + +namespace_or_type_name + + + +class_body + + + +ConsoleApplication1 + + + +T + + + +A + + + +M + + + +IList + + + +compilation_unit + + + +identifier + + + +class_member_declaration + + + +K + + + +method_modifiers + + + +} + + + +class_declaration + + + +literal + + + +class_member_declaration + + + +class_modifier + + + +> + + + +namespace_or_type_name + + + +) + + + +field_modifier + + + +namespace_or_type_name + + + +K + + + +< + + + +protected + + + +identifier + + + +identifier + + + +namespace + + + +< + + + +< + + + +Bar + + + +A + + + +namespace_declaration + + + +method_declaration + + + +identifier + + + +type_parameter_list + + + +new + + + +ref_method_modifier + + + +identifier + + + +< + + + +method_body + + + +class + + + +return_type + + + +identifier + + + +expression_statement + + + +type_argument + + + +identifier + + + +namespace_body + + + +} + + + +type_parameter_constraints + + + +type + + + +identifier + + + +identifier + + + +T + + + +identifier + + + +identifier + + + +A + + + +argument_list + + + +statement + + + +} + + + +, + + + +ref_method_modifier + + + +B + + + +namespace_or_type_name + + + +type_argument + + + +, + + + +identifier + + + +type_argument + + + +T + + + +method_declaration + + + +> + + + +type_argument_list + + + +protected + + + +type_argument_list + + + +type_argument + + + +IEnumerable + + + +namespace_or_type_name + + + +> + + + +type + + + +type_argument + + + +method_declaration + + + +type_parameter + + + +< + + + +A + + + +( + + + +} + + + +T2 + + + +: + + + +( + + + +type_argument + + + +return_type + + + +member_name + + + +identifier + + + +secondary_constraints + + + +namespace_or_type_name + + + +, + + + +T + + + +identifier + + + +< + + + +{ + + + +class_type + + + +; + + + +identifier + + + +type_argument_list + + + +method_modifier + + + +where + + + +< + + + +method_header + + + +} + + + +explicitly_typed_local_variable_declaration + + + +class + + + +method_body + + + +< + + + +namespace_or_type_name + + + +( + + + +A + + + +type + + + +type_parameter_list + + + +; + + + +method_modifier + + + +, + + + +{ + + + +identifier + + + +> + + + +; + + + +namespace_declaration + + + +block + + + +method_header + + + +class_modifier + + + +identifier + + + +< + + + +identifier + + + +class_modifier + + + +type_argument_list + + + +identifier + + + +type_argument_list + + + +T + + + +A + + + +identifier + + + +type_parameter_list + + + +T + + + +RecursiveGenericBaseType + + + +( + + + +namespace_or_type_name + + + +method_modifiers + + + +> + + + +T2 + + + +identifier + + + +primary_expression + + + +) + + + +type_argument + + + +method_modifiers + + + +method_body + + + +Foo + + + +type_argument_list + + + +public + + + +T + + + +method_modifier + + + +< + + + +method_modifier + + + +method_body + + + +> + + + +type_argument + + + +class_declaration + + + +namespace_or_type_name + + + +: + + + +namespace_body + + + +identifier + + + +V + + + +V + + + +} + + + +identifier + + + +declaration_statement + + + +: + + + +> + + + +T + + + +type_argument + + + +> + + + +namespace_or_type_name + + + +class_type + + + +A + + + +A + + + +identifier + + + +V + + + +statement_expression + + + +> + + + +type_parameter_constraints_clause + + + +type_argument_list + + + +identifier + + + +identifier + + + +return_type + + + +< + + + +block + + + +protected + + + +namespace_member_declaration + + + +class_member_declaration + + + +namespace_member_declaration + + + +public + + + +} + + + +identifier + + + +; + + + +identifier + + + +identifier + + + +type_parameter_constraints + + + +class_member_declaration + + + +type_argument + + + +identifier + + + +ref_method_modifier + + + +identifier + + + +{ + + + +identifier + + + +identifier + + + +} + + + +namespace_or_type_name + + + +namespace_or_type_name + + + +namespace_member_declaration + + + +type_argument_list + + + +member_name + + + +identifier + + + +type_argument + + + +method_modifier + + + +statement + + + +method_declaration + + + +< + + + +( + + + +T1 + + + +T + + + +class_member_declaration + + + +type_argument_list + + + +sealed + + + +class_body + + + +explicitly_typed_local_variable_declarators + + + +> + + + +T + + + +method_header + + + +protected + + + +) + + + +IComparable + + + +identifier + + + +type_argument_list + + + +< + + + +member_name + + + +{ + + + +type_parameter_constraints_clause + + + +> + + + +type_argument_list + + + +block + + + +static + + + +A + + + +) + + + +{ + + + +, + + + +namespace_member_declaration + + + +} + + + +ref_method_modifier + + + +identifier + + + +T + + + +< + + + +secondary_constraint + + + +return_type + + + +identifier + + + +T + + + +method_modifiers + + + +type_parameter_constraints_clause + + + +ref_method_modifier + + + +identifier + + + +type_argument_list + + + +type_argument_list + + + +{ + + + +method_header + + + +type_argument + + + +} + + + +identifier + + + +{ + + + +) + + + +( + + + +identifier + + + +statement_list + + + +primary_expression + + + +B + + + +identifier + + + +method_modifiers + + + +type_argument + + + +decorated_type_parameter + + + +type_argument_list + + + +method_modifier + + + +< + + + +secondary_constraint + + + +method_body + + + +> + + + +< + + + +method_header + + + +A + + + +< + + + +identifier + + + +type_parameter_constraints_clause + + + +namespace_or_type_name + + + +IList + + + +type_argument + + + +identifier + + + +namespace_or_type_name + + + +type_argument + + + +identifier + + + +type_argument_list + + + +IList + + + +identifier + + + +M + + + +> + + + +method_modifier + + + +qualified_identifier + + + +t + + + +fixed_parameter + + + +identifier + + + +< + + + +type_argument + + + +public + + + +fixed_parameters + + + +A + + + +identifier + + + +qualified_identifier + + + +type_argument + + + +> + + + +identifier + + + +> + + + +> + + + +type_parameter_constraints + + + +U + + + +O + + + +identifier + + + +; + + + +method_header + + + +type_argument_list + + + +namespace_or_type_name + + + +namespace_or_type_name + + + +A + + + +method_declaration + + + +K + + + +type_argument_list + + + +method_modifiers + + + +identifier + + + +} + + + +, + + + +int + + + +type_argument + + + +T1 + + + +identifier + + + +{ + + + +block + + + +ref_method_modifier + + + +identifier + + + +< + + + +namespace_or_type_name + + + +method_header + + + +identifier + + + +type_parameter_list + + + +Boo + + + +: + + + +type_parameter_list + + + +class_member_declaration + + + +primary_constraint + + + +simple_name + + + +, + + + +) + + + +> + + + +T + + + +< + + + +type_argument + + + +namespace_or_type_name + + + +invocation_expression + + + +namespace_member_declaration + + + +ref_method_modifier + + + +return_type + + + +T + + + +B + + + +void + + + +class_base + + + +( + + + +identifier + + + +member_name + + + +decorated_type_parameter + + + +class + + + +type_argument_list + + + +identifier + + + +integral_type + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-J/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt deleted file mode 100644 index 191b9ba54..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ /dev/null @@ -1 +0,0 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Bar3)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier x) = (expression (object_creation_expression new (type (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier Boo)) . (identifier Bar) (type_argument_list < (type_arguments (integral_type int)) >)) . (identifier Foo) (type_argument_list < (type_arguments (class_type object)) >))) ( )))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier x)) . (identifier Method) (type_argument_list < (type_arguments (type_argument (class_type string)) , (type_argument (class_type string))) >))) ( (argument_list (argument (literal " ")) , (argument (literal 5)) , (argument (object_creation_expression new (type (class_type object)) ( )))) ))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier q) = (expression (query_expression (from_clause from (identifier i) in (expression (object_creation_expression new (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer (literal 1)) , (element_initializer (literal 2)) , (element_initializer (literal 3)) , (element_initializer (literal 4))) }))))) (query_body (query_body_clause (where_clause where (boolean_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (literal 5)))))) (select_or_group_clause (select_clause select (expression (identifier i)))))))))) ;))) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator implicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s)) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (namespace_or_type_name (namespace_or_type_name (identifier ConsoleApplication1)) . (identifier Test))) ( ))) ;)) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator explicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s) (default_argument = (expression (literal "")))) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (identifier Test)) ( ))) ;)) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.svg deleted file mode 100644 index 2a63b85e3..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ /dev/null @@ -1,1335 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -operator_body - - - -statement - - - -x - - - -type - - - -new - - - -statement_list - - - -query_expression - - - -type - - - -5 - - - -operator_modifier - - - -primary_expression - - - -object_or_collection_initializer - - - -namespace_or_type_name - - - -} - - - -identifier - - - -identifier - - - -{ - - - -) - - - -type - - - -namespace - - - -> - - - -expression_statement - - - -boolean_expression - - - -compilation_unit - - - -x - - - -< - - - -5 - - - -expression - - - -select_clause - - - -identifier - - - -type - - - -identifier - - - -literal - - - -new - - - -expression - - - -] - - - -expression - - - -literal - - - -method_modifiers - - - -= - - - -element_initializer - - - -integral_type - - - -conversion_operator_declarator - - - -namespace_declaration - - - -method_declaration - - - -literal - - - -class_type - - - -block - - - -var - - - -Test - - - -statement - - - -) - - - -2 - - - -class_type - - - -identifier - - - -qualified_identifier - - - -"·" - - - -, - - - -local_variable_declaration - - - -operator_modifier - - - -identifier - - - -conversion_operator_declarator - - - -return_statement - - - -statement_list - - - -where - - - -namespace_or_type_name - - - -type - - - -identifier - - - -{ - - - -relational_expression - - - -Boo - - - -class_type - - - -) - - - -local_variable_declaration - - - -) - - - -rank_specifier - - - -class_declaration - - - -string - - - -element_initializer - - - -member_access - - - -operator - - - -where_clause - - - -element_initializer_list - - - -identifier - - - -i - - - -type - - - -block - - - -type_arguments - - - -void - - - -( - - - -s - - - -identifier - - - -method_body - - - -int - - - -shift_expression - - - -) - - - -static - - - -class_member_declaration - - - -> - - - -( - - - -object_creation_expression - - - -identifier - - - -identifier - - - -class_body - - - -identifier - - - -string - - - -q - - - -) - - - -Test - - - -; - - - -Test - - - -expression - - - -relational_expression - - - -class_type - - - -expression - - - -type_argument - - - -namespace_member_declaration - - - -operator_modifier - - - -fixed_parameter - - - -. - - - -} - - - -, - - - -, - - - -fixed_parameter - - - -block - - - -class_type - - - -{ - - - -operator_declaration - - - -; - - - -object_creation_expression - - - -primary_expression - - - -identifier - - - -type_argument_list - - - -literal - - - -implicit - - - -( - - - -{ - - - -Test - - - -int - - - -Method - - - -identifier - - - -Foo - - - -element_initializer - - - -from - - - -object_creation_expression - - - -identifier - - - -select - - - -operator_body - - - -( - - - -in - - - -object_creation_expression - - - -> - - - -= - - - -namespace_or_type_name - - - -argument - - - -1 - - - -public - - - -class - - - -statement_list - - - -string - - - -< - - - -) - - - -< - - - -object_creation_expression - - - -. - - - -} - - - -} - - - -type - - - -( - - - -type_arguments - - - -return - - - -type_argument_list - - - -{ - - - -, - - - -invocation_expression - - - -implicitly_typed_local_variable_declaration - - - -type_argument_list - - - -query_body - - - -} - - - -string - - - -= - - - -class_member_declaration - - - -return_statement - - - -operator_modifier - - - -Bar3 - - - -default_argument - - - -"" - - - -query_body_clause - - - -return - - - -operator_declarator - - - -Bar - - - -integral_type - - - -Test - - - -array_type - - - -i - - - -argument_list - - - -ConsoleApplication1 - - - -new - - - -implicitly_typed_local_variable_declarator - - - -public - - - -. - - - -collection_initializer - - - -4 - - - -select_or_group_clause - - - -operator - - - -> - - - -type - - - -expression - - - -prog - - - -expression - - - -member_name - - - -literal - - - -non_array_type - - - -type_argument - - - -type_arguments - - - -identifier - - - -new - - - -namespace_or_type_name - - - -static - - - -3 - - - -return_type - - - -( - - - -operator_declarator - - - -declaration_statement - - - -implicitly_typed_local_variable_declaration - - - -argument - - - -identifier - - - -literal - - - -; - - - -argument - - - -s - - - -; - - - -implicitly_typed_local_variable_declarator - - - -ConsoleApplication1 - - - -from_clause - - - -i - - - -[ - - - -declaration_statement - - - -identifier - - - -literal - - - -; - - - -new - - - -) - - - -( - - - -( - - - -. - - - -namespace_or_type_name - - - -type - - - -class_type - - - -statement - - - -, - - - -identifier - - - -object - - - -, - - - -class_member_declaration - - - -var - - - -operator_declaration - - - -{ - - - -namespace_body - - - -element_initializer - - - -method_header - - - -statement_expression - - - -identifier - - - -explicit - - - -object - - - -literal - - - -} - - \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.gruntree.red.txt similarity index 98% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.gruntree.red.txt index 103f83e25..93a959c2d 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.gruntree.red.txt @@ -98,7 +98,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int @@ -116,7 +116,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object @@ -164,21 +164,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.stderr.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.stderr.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tree.red.txt new file mode 100644 index 000000000..f96f7ea8e --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Bar3)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier x) = (expression (object_creation_expression new (type (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier Boo)) . (identifier Bar) (type_argument_list < (type_argument (integral_type int)) >)) . (identifier Foo) (type_argument_list < (type_argument (class_type object)) >))) ( )))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier x)) . (identifier Method) (type_argument_list < (type_argument (class_type string)) , (type_argument (class_type string)) >))) ( (argument_list (argument (literal " ")) , (argument (literal 5)) , (argument (object_creation_expression new (type (class_type object)) ( )))) ))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier q) = (expression (query_expression (from_clause from (identifier i) in (expression (object_creation_expression new (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer (literal 1)) , (element_initializer (literal 2)) , (element_initializer (literal 3)) , (element_initializer (literal 4))) }))))) (query_body (query_body_clause (where_clause where (boolean_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (literal 5)))))) (select_or_group_clause (select_clause select (expression (identifier i)))))))))) ;))) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator implicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s)) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (namespace_or_type_name (namespace_or_type_name (identifier ConsoleApplication1)) . (identifier Test))) ( ))) ;)) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator explicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s) (default_argument = (expression (literal "")))) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (identifier Test)) ( ))) ;)) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tree.svg new file mode 100644 index 000000000..0f0a0b46c --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tree.svg @@ -0,0 +1,1330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +new + + + +query_body_clause + + + +argument + + + +var + + + +default_argument + + + +element_initializer + + + +type_argument_list + + + +int + + + +identifier + + + +( + + + +( + + + +; + + + +( + + + +type + + + +declaration_statement + + + +statement_list + + + +type + + + +static + + + +member_name + + + +expression_statement + + + +array_type + + + +class_type + + + +literal + + + +5 + + + +3 + + + +identifier + + + +primary_expression + + + +> + + + +integral_type + + + +object_creation_expression + + + +type_argument + + + +namespace_member_declaration + + + +collection_initializer + + + +public + + + +identifier + + + +return + + + +identifier + + + +class_type + + + +string + + + +namespace_declaration + + + +Test + + + += + + + +Test + + + +implicitly_typed_local_variable_declarator + + + +[ + + + +type + + + +} + + + +return_statement + + + +( + + + +object_creation_expression + + + +integral_type + + + +conversion_operator_declarator + + + +; + + + +from + + + +x + + + +conversion_operator_declarator + + + +rank_specifier + + + +expression + + + +"" + + + +select_or_group_clause + + + +namespace_or_type_name + + + +implicit + + + +class_member_declaration + + + +namespace_body + + + +identifier + + + +object_creation_expression + + + +i + + + +i + + + +ConsoleApplication1 + + + +new + + + +qualified_identifier + + + +} + + + +statement + + + +new + + + +{ + + + +} + + + +type + + + +) + + + +, + + + +identifier + + + +element_initializer_list + + + +from_clause + + + +Boo + + + +element_initializer + + + +( + + + +identifier + + + +) + + + +identifier + + + +var + + + +shift_expression + + + +] + + + +object_or_collection_initializer + + + +int + + + +; + + + +non_array_type + + + +identifier + + + +object + + + +, + + + +block + + + +. + + + +s + + + +) + + + +return_statement + + + +q + + + +Test + + + +local_variable_declaration + + + +type_argument_list + + + +type_argument_list + + + +new + + + +identifier + + + +primary_expression + + + +class_type + + + +static + + + +object_creation_expression + + + +} + + + +class_member_declaration + + + +statement + + + +) + + + +member_access + + + +identifier + + + +. + + + +boolean_expression + + + +operator + + + +> + + + +expression + + + +2 + + + +{ + + + +explicit + + + +{ + + + +< + + + +Test + + + +literal + + + +operator_body + + + +string + + + +, + + + +literal + + + +relational_expression + + + +Foo + + + +{ + + + +identifier + + + +class_member_declaration + + + +operator_declaration + + + +( + + + +Method + + + +; + + + +identifier + + + +> + + + +invocation_expression + + + +new + + + +Bar + + + +object_creation_expression + + + +implicitly_typed_local_variable_declarator + + + +literal + + + +statement_expression + + + +, + + + +local_variable_declaration + + + +literal + + + +select_clause + + + +) + + + +) + + + +operator_declarator + + + +type_argument + + + +implicitly_typed_local_variable_declaration + + + +argument_list + + + +where + + + +where_clause + + + +< + + + +> + + + += + + + +argument + + + +literal + + + +expression + + + +i + + + +} + + + +class_type + + + +identifier + + + +in + + + +method_declaration + + + +class_type + + + +class + + + +1 + + + +identifier + + + +identifier + + + +s + + + +identifier + + + +query_expression + + + +, + + + +expression + + + +argument + + + +literal + + + +Test + + + += + + + +ConsoleApplication1 + + + +type + + + +type + + + +relational_expression + + + +string + + + +element_initializer + + + +{ + + + +type_argument + + + +. + + + +{ + + + +operator_modifier + + + +expression + + + +operator_body + + + +identifier + + + +return + + + +statement_list + + + +literal + + + +} + + + +operator + + + +( + + + +namespace + + + +identifier + + + +operator_modifier + + + +namespace_or_type_name + + + +method_header + + + +string + + + +, + + + +public + + + +statement + + + +declaration_statement + + + +namespace_or_type_name + + + +compilation_unit + + + +; + + + +expression + + + +implicitly_typed_local_variable_declaration + + + +class_type + + + +block + + + +prog + + + +return_type + + + +< + + + +block + + + +type + + + +operator_modifier + + + +expression + + + +namespace_or_type_name + + + +statement_list + + + +namespace_or_type_name + + + +fixed_parameter + + + +fixed_parameter + + + +( + + + +. + + + +identifier + + + +x + + + +5 + + + +operator_modifier + + + +method_modifiers + + + +type + + + +4 + + + +object + + + +Bar3 + + + +method_body + + + +void + + + +operator_declarator + + + +select + + + +class_declaration + + + +class_body + + + +type_argument + + + +) + + + +"·" + + + +query_body + + + +element_initializer + + + +operator_declaration + + + +) + + + +type + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt deleted file mode 100644 index a1c0dec3c..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ /dev/null @@ -1 +0,0 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (field_declaration (field_modifier public) (type (integral_type int)) (variable_declarators (variable_declarator (identifier foo) = (variable_initializer (literal 5)))) ;)) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Bar2)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier foo)) (assignment_operator =) (expression (literal 6)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (member_access (primary_expression (this_access this)) . (identifier Foo))) (assignment_operator =) (expression (invocation_expression (primary_expression (member_access (primary_expression (literal 5)) . (identifier GetType))) ( ))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Test)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier t) = (local_variable_initializer (literal "sss")))))) ;))) })))) (class_member_declaration (event_declaration (event_modifier public) event (type (identifier EventHandler)) (variable_declarators (variable_declarator (identifier MyEvent) = (variable_initializer (anonymous_method_expression delegate (block { }))))) ;)) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Blah)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (literal 5)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier j) = (local_variable_initializer (literal 6)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Expression) (type_argument_list < (type_arguments (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (integral_type int)) >))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier e) = (local_variable_initializer (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (identifier i)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Expression) (type_argument_list < (type_arguments (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (simple_type bool)) , (type_argument (identifier Action))) >))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier e2) = (local_variable_initializer (lambda_expression (anonymous_function_signature (identifier b)) => (anonymous_function_body (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (return_statement return ;)) })))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (simple_type bool)) , (type_argument (simple_type bool))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f) = (local_variable_initializer (anonymous_method_expression async delegate (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (type (simple_type bool)) (identifier a))) )) (block { (statement_list (return_statement return (expression (await_expression await (unary_expression (logical_negation_operator !) (unary_expression (identifier a))))) ;)) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (integral_type int)) , (type_argument (integral_type int))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f2) = (local_variable_initializer (lambda_expression (anonymous_function_signature (implicit_anonymous_function_signature ( (implicit_anonymous_function_parameter_list (implicit_anonymous_function_parameter (identifier a)) , (implicit_anonymous_function_parameter (identifier b))) ))) => (anonymous_function_body (literal 0)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (type (integral_type int)) (identifier a)) , (explicit_anonymous_function_parameter (type (integral_type int)) (identifier b))) ))) => (anonymous_function_body (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Action)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (identifier Blah)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { })))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (empty_statement ;)) })))))) ;))) })))) (class_member_declaration (delegate_declaration delegate (return_type (identifier Recursive)) (delegate_header (identifier Recursive) ( (parameter_list (fixed_parameter (type (identifier Recursive)) (identifier r))) ) ;))) (class_member_declaration (delegate_declaration delegate (return_type (identifier Recursive)) (delegate_header (identifier Recursive) (variant_type_parameter_list < (variant_type_parameter (identifier A)) , (variant_type_parameter (identifier R)) >) ( (parameter_list (fixed_parameter (type (namespace_or_type_name (identifier Recursive) (type_argument_list < (type_arguments (type_argument (identifier A)) , (type_argument (identifier R))) >))) (identifier r))) ) ;))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/sample.gruntree.red.txt similarity index 97% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/sample.gruntree.red.txt index a8f0b2772..250cab3bc 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/sample.gruntree.red.txt @@ -403,7 +403,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -414,7 +414,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int @@ -486,7 +486,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -497,21 +497,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > @@ -603,21 +600,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > @@ -724,29 +718,26 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > @@ -1128,21 +1119,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ R -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ R ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/sample.stderr.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/sample.stderr.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/sample.tree.red.txt new file mode 100644 index 000000000..74e352431 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/sample.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (field_declaration (field_modifier public) (type (integral_type int)) (variable_declarators (variable_declarator (identifier foo) = (variable_initializer (literal 5)))) ;)) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Bar2)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier foo)) (assignment_operator =) (expression (literal 6)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (member_access (primary_expression (this_access this)) . (identifier Foo))) (assignment_operator =) (expression (invocation_expression (primary_expression (member_access (primary_expression (literal 5)) . (identifier GetType))) ( ))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Test)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier t) = (local_variable_initializer (literal "sss")))))) ;))) })))) (class_member_declaration (event_declaration (event_modifier public) event (type (identifier EventHandler)) (variable_declarators (variable_declarator (identifier MyEvent) = (variable_initializer (anonymous_method_expression delegate (block { }))))) ;)) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Blah)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (literal 5)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier j) = (local_variable_initializer (literal 6)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Expression) (type_argument_list < (type_argument (namespace_or_type_name (identifier Func) (type_argument_list < (type_argument (integral_type int)) >))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier e) = (local_variable_initializer (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (identifier i)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Expression) (type_argument_list < (type_argument (namespace_or_type_name (identifier Func) (type_argument_list < (type_argument (simple_type bool)) , (type_argument (identifier Action)) >))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier e2) = (local_variable_initializer (lambda_expression (anonymous_function_signature (identifier b)) => (anonymous_function_body (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (return_statement return ;)) })))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_argument (simple_type bool)) , (type_argument (simple_type bool)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f) = (local_variable_initializer (anonymous_method_expression async delegate (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (type (simple_type bool)) (identifier a))) )) (block { (statement_list (return_statement return (expression (await_expression await (unary_expression (logical_negation_operator !) (unary_expression (identifier a))))) ;)) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_argument (integral_type int)) , (type_argument (integral_type int)) , (type_argument (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f2) = (local_variable_initializer (lambda_expression (anonymous_function_signature (implicit_anonymous_function_signature ( (implicit_anonymous_function_parameter_list (implicit_anonymous_function_parameter (identifier a)) , (implicit_anonymous_function_parameter (identifier b))) ))) => (anonymous_function_body (literal 0)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (type (integral_type int)) (identifier a)) , (explicit_anonymous_function_parameter (type (integral_type int)) (identifier b))) ))) => (anonymous_function_body (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Action)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (identifier Blah)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { })))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (empty_statement ;)) })))))) ;))) })))) (class_member_declaration (delegate_declaration delegate (return_type (identifier Recursive)) (delegate_header (identifier Recursive) ( (parameter_list (fixed_parameter (type (identifier Recursive)) (identifier r))) ) ;))) (class_member_declaration (delegate_declaration delegate (return_type (identifier Recursive)) (delegate_header (identifier Recursive) (variant_type_parameter_list < (variant_type_parameter (identifier A)) , (variant_type_parameter (identifier R)) >) ( (parameter_list (fixed_parameter (type (namespace_or_type_name (identifier Recursive) (type_argument_list < (type_argument (identifier A)) , (type_argument (identifier R)) >))) (identifier r))) ) ;))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/sample.tree.svg similarity index 50% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/sample.tree.svg index 35b24bf1e..0a9b0a3a5 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/Reference/sample.tree.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + @@ -29,7 +29,7 @@ - + @@ -101,7 +101,7 @@ - + @@ -121,22 +121,22 @@ - - - - + + + + - + - - - - - + + + + + @@ -152,7 +152,7 @@ - + @@ -172,2454 +172,2434 @@ - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -return_type - - - -implicit_anonymous_function_parameter - - - -assignment + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + += - - -expression_statement + + +> - - -= + + +int - - -type_argument + + +expression - - -explicitly_typed_local_variable_declaration + + +Func - - -member_name + + +( - - -empty_statement + + +local_variable_initializer - - -explicit_anonymous_function_parameter_list + + +literal - - -method_modifiers + + +statement - - -) + + +} - - -namespace_or_type_name + + +. - - -explicitly_typed_local_variable_declarators + + +; - - + + ( - - -assignment_operator + + +explicitly_typed_local_variable_declarator - - -namespace_or_type_name + + +this - - + + +anonymous_function_body + + + local_variable_declaration - - -) + + +; - - -( + + +b + + + +lambda_expression - - + + integral_type - - + + +local_variable_declaration + + + +literal + + + = - - -type_argument + + +expression + + + +class_member_declaration - - + + identifier - - -anonymous_function_signature + + +, - - -unary_expression + + +bool - - -variant_type_parameter + + +type - - -simple_type + + +qualified_identifier - - -explicit_anonymous_function_signature + + +member_name - - -identifier + + +type - - -explicitly_typed_local_variable_declarator + + +statement_expression - - -explicit_anonymous_function_signature + + +fixed_parameter - - -member_access + + +return_statement - - -=> + + +> - - + + +( + + + identifier - - -local_variable_declaration + + +anonymous_function_body - - -anonymous_function_signature + + +) - - -foo + + +variant_type_parameter_list - - -explicitly_typed_local_variable_declarators + + +anonymous_function_signature - - -namespace_declaration + + +type_argument - - -simple_type + + +local_variable_initializer - - -Foo + + +identifier - - -this + + +implicit_anonymous_function_signature - - -> + + +class - - -type + + +identifier - - -int + + +lambda_expression - - -class_member_declaration + + +explicitly_typed_local_variable_declarators - - + + identifier - - -b + + +identifier + + + +int + + + +. - - + + statement - - -identifier + + +Action - - -EventHandler + + +expression_statement - - -{ + + +block - - -= + + +identifier - - -implicit_anonymous_function_signature + + +return - - -anonymous_function_body + + +variable_declarators - - + + identifier - - -namespace_or_type_name + + +> - - -} + + +return_statement - - -lambda_expression + + +explicit_anonymous_function_signature + + + +implicit_anonymous_function_parameter - - + + +identifier + + + block - - -f2 + + +int - - -variant_type_parameter_list + + +{ - - -statement + + +declaration_statement - - -member_access + + +local_variable_declaration - - -block + + +type - - -identifier + + +variable_declarator - - -identifier + + +> - - -type_arguments + + +( - - -delegate_header + + +compilation_unit - - -anonymous_method_expression + + +explicitly_typed_local_variable_declarator - - -nullable_value_type + + += - - -e + + +bool - - -local_variable_initializer + + +explicitly_typed_local_variable_declarator - - -type_argument + + +e2 - - -< + + +statement_list - - -identifier + + +explicit_anonymous_function_parameter field_modifier - - -delegate_declaration + + += - - -; + + +anonymous_function_body - - -simple_type + + +statement_expression - - -anonymous_method_expression + + +member_access - - -lambda_expression + + +statement - - -return_statement + + +{ - - -a + + +void - - -local_variable_declaration - - - -namespace_or_type_name - - - -0 + + +variable_declarator - - -type_argument + + +assignment - - -> + + +} - - -method_declaration + + +explicitly_typed_local_variable_declaration - - -type_arguments + + +lambda_expression - - -integral_type + + +} - - -compilation_unit + + +identifier - - -bool + + +=> - - -; + + +anonymous_function_signature - - -"sss" + + +0 - - -literal + + +block - - -void + + +simple_type - - -type_argument + + +f2 - - -explicitly_typed_local_variable_declarators + + +bool - - -GetType + + +identifier - - -Func + + +; - - -= + + +field_declaration - - + + ) - - -( + + +identifier - - -{ + + +identifier - - -assignment_operator + + +Test - - -=> + + +1 - - -event_declaration + + +} - - -MyEvent + + +r - - -; + + +a - - -local_variable_declaration + + +int - - -< + + +primary_expression - - -foo + + +namespace_or_type_name - - -) + + +type_argument_list - - -} + + +! - - -explicitly_typed_local_variable_declarator + + +statement - - -) + + +namespace_or_type_name - - -expression_statement + + +type_argument - - -identifier + + +) - - -method_modifiers + + +statement_list - - -identifier + + +Blah - - + + ; expression_statement - - -invocation_expression - - - -delegate_declaration - - - -class_member_declaration - - - -type_argument_list + + +declaration_statement - - -; + + +type - - -int + + += - - + + ; - - -explicit_anonymous_function_signature + + +5 - - -a + + +} - - -delegate_header + + +explicitly_typed_local_variable_declaration - - -parameter_list + + +t - - -Expression + + +type_argument_list - - -identifier + + +lambda_expression - - -anonymous_function_signature + + +declaration_statement - - -= + + +type - - -} + + +type - - -5 + + +"sss" - - -) + + +explicit_anonymous_function_parameter_list - - -identifier + + +r - - -identifier + + += - - -literal + + +, - - -event_modifier + + +await_expression - - + + identifier - - -explicit_anonymous_function_parameter + + +identifier - - -explicitly_typed_local_variable_declaration + + +( - - -bool + + +identifier - - -type_arguments + + +{ - - -void + + +EventHandler - - -declaration_statement + + +Bar2 - - -assignment_operator + + +type - - -j + + +explicit_anonymous_function_parameter non_nullable_value_type - - -return_statement + + +statement_expression - - -> + + +explicitly_typed_local_variable_declarators - - -i + + +assignment_operator - - -lambda_expression + + +type_argument - - -; + + +statement_list + + + +type_argument_list - - + + identifier - - -namespace_body + + +, - - -6 + + +identifier - - + + +, + + + +local_variable_initializer + + + identifier - - + + integral_type - - + + +variable_declarators + + + ) - - -( + + += - - -Action + + +< - - -> + + +public - - -unary_expression + + +type_argument_list - - -( + + +Recursive - - -explicitly_typed_local_variable_declarator + + +type_argument - - -nullable_type_annotation + + +expression - - -return + + +type_argument - - + + statement - - -class_body - - - -Func - - - -Blah + + +( - - -identifier + + +} - - -variable_initializer + + +declaration_statement - - -explicitly_typed_local_variable_declarators + + +anonymous_function_body - - -unary_expression + + +explicitly_typed_local_variable_declaration - - -type + + +fixed_parameter - - -statement + + +class_body - - -explicitly_typed_local_variable_declaration + + +local_variable_declaration - - -integral_type + + +A - - -int + + +5 - - + + = - - -> - - - -f - - - -type + + +< - - -explicitly_typed_local_variable_declarators + + +int - - -method_declaration + + +? - - -this_access + + +> - - + + ( - - -statement - - - -declaration_statement - - - -int - - - -unary_expression - - - -anonymous_function_body + + +< - - -} + + +class_member_declaration - - -expression_statement + + +explicitly_typed_local_variable_declarators - - -literal + + +Func - - -declaration_statement + + +statement_list - - -identifier + + +) integral_type - - -variable_declarators + + +declaration_statement - - -type + + +delegate_declaration - - -r + + +Test - - -local_variable_initializer + + +foo - - -, + + +type_argument_list + + + +explicitly_typed_local_variable_declaration + + + +lambda_expression explicitly_typed_local_variable_declaration - - -( + + +primary_expression - - -= + + +namespace_or_type_name - - -statement_list + + +explicitly_typed_local_variable_declarators - - -statement_expression + + +integral_type - - -delegate + + +namespace_or_type_name - - -, + + +identifier - - -type_argument_list + + +integral_type - - -b + + +public - - -, + + +Blah - - -explicit_anonymous_function_parameter + + +Recursive - - -type + + +literal + + + +b + + + +assignment_operator - - + + identifier - - -i + + +statement - - -} + + +block - - -type + + +assignment_operator - - -qualified_identifier + + +a - - -return_type + + +statement - - -6 + + +> + + + +e ; - - -identifier + + +type_argument_list - - -statement_list + + +< - - + + identifier - - -} - - - -type - - - -type - - - -Recursive - - - -Blah - - - + + identifier - - -Recursive - - - -; + + +unary_expression - - -=> + + +type_argument - - + + identifier - - -a - - - -delegate - - - -Recursive - - - -statement + + +f2 explicitly_typed_local_variable_declarator - - -} + + +f2 - - -delegate + + +) + + + +type - - + + ( - - -class_member_declaration + + +identifier - - -type + + +Recursive - - -explicitly_typed_local_variable_declaration + + +explicit_anonymous_function_parameter - - -, - - - -; + + +{ - - -type_argument_list + + +namespace_or_type_name - - -int + + +namespace_or_type_name - - -identifier + + +assignment - - -identifier + + +} - - -local_variable_initializer + + +class_member_declaration - - -async + + +declaration_statement - - -variable_declarators + + +unary_expression - - -explicit_anonymous_function_parameter_list + + += - - -variable_declarator + + +{ - - -event + + +Foo - - -explicitly_typed_local_variable_declarators + + +method_modifiers - - -explicitly_typed_local_variable_declarator + + +lambda_expression - - -literal + + +anonymous_function_signature - - -r + + +R - - -variant_type_parameter + + +explicitly_typed_local_variable_declaration - - -A + + +statement - - -type_argument + + +Recursive - - -, + + +) - - -a + + +literal - - -5 + + +identifier - - -anonymous_function_signature + + +statement - - -explicitly_typed_local_variable_declaration + + +foo - - -int + + +unary_expression - - -expression + + +identifier - - -type_argument + + +) - - -lambda_expression + + +type - - -implicit_anonymous_function_parameter + + +declaration_statement - - -type + + +; - - -type + + +local_variable_declaration - - -{ + + +a - - + + identifier - - -type_argument_list + + +delegate_header - - -; + + +local_variable_initializer - - -statement + + +expression - - -integral_type + + +assignment - - -block + + +anonymous_method_expression - - -= + + +explicitly_typed_local_variable_declarators - - -f2 + + +=> - - -; + + +return_type - - -prog + + +i - - -identifier + + +j - - -. + + += - - -=> + + +statement - - -simple_type + + +namespace - - -{ + + +return_type - - -b + + +explicit_anonymous_function_signature - - -{ + + +method_declaration - - -{ + + +member_access - - -; + + +delegate_header - - -public + + +> - - -integral_type + + +explicitly_typed_local_variable_declaration - - -field_declaration + + +method_body - - -( + + +expression - - -anonymous_function_body + + +statement - - -lambda_expression + + +variant_type_parameter - - -local_variable_initializer + + +; - - -R + + +event_declaration - - -class_member_declaration + + +anonymous_function_body - - -statement + + +literal - - -delegate + + +parameter_list - - -declaration_statement + + +return_type - - -block + + +identifier - - -statement_expression + + +delegate - - -assignment_operator + + +R - - -( + + +=> - - -anonymous_function_body + + +identifier - - -statement + + +GetType - - + + = - - + + identifier - - -statement - - - -; + + +implicit_anonymous_function_parameter - - -parameter_list + + +expression_statement - - -< + + +identifier - - -anonymous_function_body + + +lambda_expression - - -block + + +nullable_type_annotation - - -lambda_expression + + +namespace_declaration - - + + identifier - - -int + + +namespace_member_declaration - - -Recursive + + += - - -type_arguments + + +identifier - - -) + + +Action - - -statement + + +namespace_or_type_name - - -int + + +explicit_anonymous_function_signature - - -unary_expression - - - -identifier + + +< - - -local_variable_initializer + + +unary_expression - - -class + + +type - - -( + + +unary_expression - - -local_variable_declaration + + +; - - -Test + + +; - - -local_variable_initializer + + +( - - -identifier + + +f - - -declaration_statement + + +; - - + + identifier - - -assignment - - - -statement_expression - - - -explicitly_typed_local_variable_declaration + + +nullable_value_type - - -local_variable_declaration + + +implicit_anonymous_function_parameter_list - - -e2 + + +declaration_statement - - -} + + +member_name - - -await + + +type - - -statement_list + + +statement - - -identifier + + +simple_type - - -) + + +anonymous_function_signature - - -ConsoleApplication1 + + +local_variable_declaration - - -= + + +assignment_operator - - -expression + + +integral_type - - -a + + +method_declaration - - + + type - - -expression + + +explicitly_typed_local_variable_declarator - - -; + + +Expression - - -statement_list + + +class_member_declaration - - -member_name + + +return_type - - -namespace_member_declaration + + +await - - -= + + +method_header - - -identifier + + +i - - -Func + + +statement_expression - - -type_arguments + + +, - - -? + + +< - - -assignment_operator + + +( - - -Expression + + +, - - -class_declaration + + +literal - - -< + + +MyEvent - - -type_argument + + +{ - - -explicitly_typed_local_variable_declarator + + +Recursive - - + + { - - -explicitly_typed_local_variable_declarator + + +Func - - -identifier + + +} - - -identifier + + +int - - -explicitly_typed_local_variable_declarators + + +< - - -expression + + +assignment - - -identifier + + +; + + + +int - - + + +ConsoleApplication1 + + + < - - -( + + +variable_initializer statement_expression - - -literal - - - -bool - - - -implicit_anonymous_function_parameter_list - - - -type_argument_list - - - -return_type - - - -type_arguments - - - -local_variable_initializer + + +delegate - - + + integral_type - - -statement + + +int - - -variable_declarator + + +anonymous_function_signature - - -declaration_statement + + +method_body - - -namespace_or_type_name + + +=> - - -namespace + + +Recursive - - -block + + +a - - -, + + +class_member_declaration - - -= + + +; - - + + identifier - - -< - - - -integral_type - - - -class_member_declaration - - - -bool + + +delegate_declaration - - -Bar2 + + +Func - - -declaration_statement + + +A - - -type_arguments + + +identifier - - -logical_negation_operator + + +identifier - - -! + + +async - - -; + + +local_variable_initializer - - -=> + + +parameter_list - - -; + + +local_variable_initializer literal - - -< - - - -declaration_statement - - - -literal + + +anonymous_function_signature - - -class_member_declaration + + +block - - -} + + +unary_expression - - + + anonymous_function_signature - - -identifier + + +integral_type - - -lambda_expression + + +statement_list - - -assignment + + +) - - -block + + +class_declaration - - -Recursive + + +; - - -t + + +invocation_expression - - -Func + + +explicit_anonymous_function_parameter_list - - -Action + + +type - - -expression + + +type_argument - - -identifier + + +anonymous_function_body - - -{ + + +type_argument - - -identifier + + +event_modifier - - -> + + +type_argument - - + + explicitly_typed_local_variable_declarator - - -fixed_parameter + + +type - - + + identifier - - -int + + +; - - -f2 + + +explicitly_typed_local_variable_declarators - - -R + + +identifier - - -method_header + + +variant_type_parameter - - -type + + +identifier - - -=> + + +statement - - -1 + + +expression - - -; + + +explicitly_typed_local_variable_declaration - - + + +block + + + explicitly_typed_local_variable_declarators - - -=> + + +identifier - - -= + + +return - - -anonymous_function_body + + +local_variable_declaration - - -A + + +this_access - - -. + + +> - - -local_variable_declaration + + +b - - -type_argument_list + + +; primary_expression - - -primary_expression + + +type_argument_list - - + + +f2 + + + identifier - - -public + + +Expression - - -) + + +=> - - -local_variable_declaration + + +a - - -{ + + +identifier - - -explicit_anonymous_function_signature + + +identifier - - -explicit_anonymous_function_signature + + +void - - -type + + +explicitly_typed_local_variable_declarators - - -type + + +( - - -> + + +unary_expression - - -< + + +local_variable_initializer - - -) + + +event - - -fixed_parameter + + +; - - -type_argument_list + + +identifier - - -, + + +local_variable_initializer - - -identifier + + +type_argument - - -identifier + + += - - -; + + +=> - - -return + + +anonymous_function_body - - -Test + + +simple_type - - -unary_expression + + += - - -type_argument + + +=> - - -assignment + + +{ - - -anonymous_function_signature + + +; - - -local_variable_initializer + + +empty_statement - - -identifier + + +explicitly_typed_local_variable_declarator - - + + +type_argument + + + +int + + + +assignment_operator + + + identifier - - -return_type + + +method_modifiers + + + +delegate + + + +variable_initializer + + + +{ + + + +) - - + + identifier - - -method_header + + +class_member_declaration - - -statement_expression + + +literal - - -expression_statement + + +, - - -explicit_anonymous_function_signature + + +5 - - -anonymous_function_body + + += - - -) + + +anonymous_method_expression - - -expression + + +} - - -; + + +integral_type - - -assignment + + +expression_statement - - -variable_initializer + + +6 - - -primary_expression + + +) - - -anonymous_function_signature + + +bool - - -namespace_or_type_name + + +explicitly_typed_local_variable_declarator - - -explicit_anonymous_function_parameter + + +method_header - - -method_body + + +local_variable_declaration - - -unary_expression + + +explicit_anonymous_function_signature - - -statement_list + + +expression_statement - - -, + + +prog - - -f2 + + +) - - -identifier + + +type_argument - - -Recursive + + +explicit_anonymous_function_signature - - -namespace_or_type_name + + +; - - -= + + +; - - -5 + + +logical_negation_operator - - + + +namespace_body + + + identifier - - -explicitly_typed_local_variable_declaration + + +, - - -method_body + + +block - - -statement + + +type - - -> + + +simple_type - - -await_expression + + +( - - -= + + +assignment - - -literal + + +identifier + + + +6 + + + +explicit_anonymous_function_signature + + + +delegate + + + +identifier \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-L/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt deleted file mode 100644 index 5fe266ce9..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ /dev/null @@ -1 +0,0 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (property_declaration (property_modifier public) (type (identifier Type)) (member_name (identifier Foo)) (property_body { (accessor_declarations (get_accessor_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier Obsolete)) (attribute_arguments ( (positional_argument_list (literal "Name")) , (named_argument_list (named_argument (identifier error) = (attribute_argument_expression (boolean_literal false)))) )))) ])) get (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier result) = (expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_arguments (integral_type int)) >))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier t) = (expression (equality_expression (equality_expression (typeof_expression typeof ( (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) ))) == (relational_expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier Nullable) (type_argument_list < (type_arguments (integral_type int)) >))) )))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier t)) (assignment_operator =) (expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_arguments (array_type (non_array_type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (rank_specifier [ ]) (rank_specifier [ ]) (rank_specifier [ ]))) >))) ))))) ;)) (statement (return_statement return (expression (typeof_expression typeof ( (unbound_type_name (identifier IEnumerable) (generic_dimension_specifier < >)) ))) ;))) }))) (set_accessor_declaration set (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier t) = (expression (typeof_expression typeof ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Int32))) )))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier t)) . (identifier ToString))) ( ))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier t)) (assignment_operator =) (expression (contextual_keyword value)))) ;))) })))) }))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Constants)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (additive_expression (additive_expression (additive_expression (additive_expression (literal 1)) + (multiplicative_expression (literal 2))) + (multiplicative_expression (literal 3))) + (multiplicative_expression (literal 5)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (namespace_or_type_name (qualified_alias_member (identifier (contextual_keyword global)) :: (identifier System))) . (identifier String))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier s) = (local_variable_initializer (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (literal "a")) + (multiplicative_expression (cast_expression ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier String))) ) (unary_expression (literal "a"))))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "A")))))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ConstructedType)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier List) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (null_literal null)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier c) = (local_variable_initializer (member_access (primary_expression (identifier i)) . (identifier Count))))))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tree.svg deleted file mode 100644 index 0ccac9410..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ /dev/null @@ -1,2085 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -t - - - -declaration_statement - - - -additive_expression - - - -array_type - - - -type - - - -unary_expression - - - -assignment - - - -int - - - -qualified_alias_member - - - -namespace_or_type_name - - - -value - - - -var - - - -additive_expression - - - -; - - - -contextual_keyword - - - -typeof_expression - - - -type_arguments - - - -property_modifier - - - -statement_expression - - - -accessor_body - - - -identifier - - - -< - - - -< - - - -5 - - - -type_argument_list - - - -member_access - - - -equality_expression - - - -declaration_statement - - - -= - - - -. - - - -class_member_declaration - - - -identifier - - - -; - - - -result - - - -"Name" - - - -3 - - - -literal - - - -identifier - - - -literal - - - -identifier - - - -statement_list - - - -Constants - - - -non_nullable_value_type - - - -implicitly_typed_local_variable_declaration - - - -integral_type - - - -explicitly_typed_local_variable_declarators - - - -i - - - -( - - - -; - - - -identifier - - - -method_declaration - - - -class_body - - - -< - - - -( - - - -namespace_or_type_name - - - -expression - - - -nullable_type_annotation - - - -int - - - -< - - - -typeof_expression - - - -class_declaration - - - -( - - - -rank_specifier - - - -primary_expression - - - -IEnumerable - - - -] - - - -; - - - -( - - - -Count - - - -{ - - - -identifier - - - -multiplicative_expression - - - -typeof_expression - - - -method_header - - - -identifier - - - -type_arguments - - - -( - - - -identifier - - - -+ - - - -typeof - - - -declaration_statement - - - -rank_specifier - - - -( - - - -ConsoleApplication1 - - - -literal - - - -type - - - -t - - - -} - - - -prog - - - -System - - - -primary_expression - - - -expression - - - -integral_type - - - -method_declaration - - - -[ - - - -qualified_identifier - - - -method_body - - - -explicitly_typed_local_variable_declaration - - - -local_variable_declaration - - - -type - - - -multiplicative_expression - - - -, - - - -IEnumerable - - - -literal - - - -explicitly_typed_local_variable_declaration - - - -explicitly_typed_local_variable_declarators - - - -typeof - - - -class - - - -namespace_or_type_name - - - -int - - - -multiplicative_expression - - - -implicitly_typed_local_variable_declaration - - - -"a" - - - -statement_expression - - - -block - - - -} - - - -ref_method_modifier - - - -attribute_name - - - -= - - - -c - - - -statement - - - -public - - - -; - - - -) - - - -{ - - - -> - - - -System - - - -identifier - - - -typeof - - - -identifier - - - -] - - - -statement - - - -namespace_body - - - -explicitly_typed_local_variable_declarator - - - -= - - - -expression_statement - - - -set - - - -explicitly_typed_local_variable_declarator - - - -identifier - - - -attribute_section - - - -multiplicative_expression - - - -( - - - -} - - - -< - - - -) - - - -attribute_arguments - - - -nullable_type_annotation - - - -local_variable_declaration - - - -identifier - - - -error - - - -literal - - - -local_variable_declaration - - - -) - - - -explicitly_typed_local_variable_declarators - - - -> - - - -accessor_body - - - -local_variable_declaration - - - -expression - - - -) - - - -type_argument_list - - - -== - - - -expression - - - -int - - - -member_access - - - -attributes - - - -get - - - -; - - - -additive_expression - - - -+ - - - -accessor_declarations - - - -statement - - - -set_accessor_declaration - - - -local_variable_declaration - - - -local_variable_initializer - - - -= - - - -statement - - - -identifier - - - -assignment - - - -declaration_statement - - - -namespace_or_type_name - - - -. - - - -namespace_or_type_name - - - -statement - - - -) - - - -"a" - - - -type - - - -public - - - -. - - - -integral_type - - - -named_argument - - - -1 - - - -( - - - -get_accessor_declaration - - - -identifier - - - -{ - - - -expression_statement - - - -typeof - - - -return_type - - - -typeof - - - -integral_type - - - -null_literal - - - -identifier - - - -+ - - - -attribute_list - - - -; - - - -[ - - - -statement - - - -) - - - -unary_expression - - - -identifier - - - -identifier - - - -declaration_statement - - - -additive_expression - - - -; - - - -type - - - -identifier - - - -literal - - - -primary_expression - - - -literal - - - -var - - - -integral_type - - - -} - - - -nullable_value_type - - - -. - - - -IEnumerable - - - -statement - - - -implicitly_typed_local_variable_declaration - - - -identifier - - - -class_member_declaration - - - -statement - - - -Obsolete - - - -type_arguments - - - -typeof_expression - - - -Test - - - -namespace_member_declaration - - - -; - - - -member_name - - - -additive_expression - - - -> - - - -String - - - -type_argument_list - - - -. - - - -block - - - -Int32 - - - -non_nullable_value_type - - - -{ - - - -statement_list - - - -[ - - - -expression - - - -return_statement - - - -+ - - - -member_name - - - -] - - - -method_body - - - -namespace - - - -local_variable_initializer - - - -unary_expression - - - -? - - - -i - - - -explicitly_typed_local_variable_declaration - - - -additive_expression - - - -identifier - - - -) - - - -identifier - - - -multiplicative_expression - - - -identifier - - - -attribute - - - -? - - - -int - - - -statement_list - - - -additive_expression - - - -rank_specifier - - - -non_array_type - - - -unbound_type_name - - - -} - - - -= - - - -namespace_or_type_name - - - -int - - - -member_name - - - -= - - - -return_type - - - -typeof_expression - - - -Type - - - -false - - - -type_argument_list - - - -t - - - -( - - - -method_modifiers - - - -class_member_declaration - - - -type - - - -identifier - - - -namespace_declaration - - - -global - - - -int - - - -statement_list - - - -explicitly_typed_local_variable_declarators - - - -declaration_statement - - - -Foo - - - -typeof - - - -statement_expression - - - -generic_dimension_specifier - - - -literal - - - -2 - - - -identifier - - - -implicitly_typed_local_variable_declarator - - - -:: - - - -s - - - -} - - - -t - - - -compilation_unit - - - -identifier - - - -method_header - - - -namespace_or_type_name - - - -{ - - - -named_argument_list - - - -statement - - - -identifier - - - -= - - - -return - - - -t - - - -assignment_operator - - - -String - - - -local_variable_initializer - - - -type - - - -explicitly_typed_local_variable_declaration - - - -"a" - - - -ref_method_modifier - - - -identifier - - - -null - - - -( - - - -nullable_value_type - - - -equality_expression - - - -multiplicative_expression - - - -Nullable - - - -multiplicative_expression - - - -identifier - - - -( - - - -+ - - - -typeof_expression - - - -} - - - -block - - - -attribute_argument_expression - - - -identifier - - - -= - - - -positional_argument_list - - - -statement - - - -{ - - - -void - - - -type - - - -assignment_operator - - - -System - - - -method_modifiers - - - -statement - - - -additive_expression - - - -multiplicative_expression - - - -explicitly_typed_local_variable_declarator - - - -literal - - - -local_variable_declaration - - - -namespace_or_type_name - - - -cast_expression - - - -integral_type - - - -= - - - -List - - - -implicitly_typed_local_variable_declarator - - - -"A" - - - -block - - - -explicitly_typed_local_variable_declarator - - - -identifier - - - -expression - - - -> - - - -ConstructedType - - - -; - - - -literal - - - -; - - - -additive_expression - - - -namespace_or_type_name - - - -"a" - - - -contextual_keyword - - - -) - - - -type - - - -integral_type - - - -= - - - -] - - - -> - - - -) - - - -type - - - -identifier - - - -additive_expression - - - -property_body - - - -identifier - - - -{ - - - -+ - - - -"a" - - - -+ - - - -) - - - -var - - - -public - - - -ToString - - - -implicitly_typed_local_variable_declarator - - - -+ - - - -namespace_or_type_name - - - -) - - - -identifier - - - -type - - - -i - - - -[ - - - -literal - - - -declaration_statement - - - -expression_statement - - - -invocation_expression - - - -property_declaration - - - -boolean_literal - - - -relational_expression - - - -local_variable_initializer - - - -local_variable_declaration - - - -type_arguments - - - -void - - \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.gruntree.red.txt similarity index 99% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.gruntree.red.txt index b7a1d3ff5..4524c9249 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.gruntree.red.txt @@ -150,7 +150,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int @@ -234,7 +234,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int @@ -292,7 +292,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -820,7 +820,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.stderr.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.stderr.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tree.red.txt new file mode 100644 index 000000000..ac82a2f97 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (property_declaration (property_modifier public) (type (identifier Type)) (member_name (identifier Foo)) (property_body { (accessor_declarations (get_accessor_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier Obsolete)) (attribute_arguments ( (positional_argument_list (literal "Name")) , (named_argument_list (named_argument (identifier error) = (attribute_argument_expression (boolean_literal false)))) )))) ])) get (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier result) = (expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_argument (integral_type int)) >))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier t) = (expression (equality_expression (equality_expression (typeof_expression typeof ( (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) ))) == (relational_expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier Nullable) (type_argument_list < (type_argument (integral_type int)) >))) )))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier t)) (assignment_operator =) (expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_argument (array_type (non_array_type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (rank_specifier [ ]) (rank_specifier [ ]) (rank_specifier [ ]))) >))) ))))) ;)) (statement (return_statement return (expression (typeof_expression typeof ( (unbound_type_name (identifier IEnumerable) (generic_dimension_specifier < >)) ))) ;))) }))) (set_accessor_declaration set (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier t) = (expression (typeof_expression typeof ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Int32))) )))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier t)) . (identifier ToString))) ( ))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier t)) (assignment_operator =) (expression (contextual_keyword value)))) ;))) })))) }))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Constants)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (additive_expression (additive_expression (additive_expression (additive_expression (literal 1)) + (multiplicative_expression (literal 2))) + (multiplicative_expression (literal 3))) + (multiplicative_expression (literal 5)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (namespace_or_type_name (qualified_alias_member (identifier (contextual_keyword global)) :: (identifier System))) . (identifier String))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier s) = (local_variable_initializer (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (literal "a")) + (multiplicative_expression (cast_expression ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier String))) ) (unary_expression (literal "a"))))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "A")))))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ConstructedType)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier List) (type_argument_list < (type_argument (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (null_literal null)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier c) = (local_variable_initializer (member_access (primary_expression (identifier i)) . (identifier Count))))))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tree.svg new file mode 100644 index 000000000..e4b4287f2 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tree.svg @@ -0,0 +1,2085 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +System + + + +explicitly_typed_local_variable_declarators + + + +literal + + + +identifier + + + +class_declaration + + + +accessor_body + + + +{ + + + +IEnumerable + + + +( + + + +local_variable_declaration + + + +integral_type + + + +< + + + +. + + + +typeof_expression + + + +identifier + + + +local_variable_declaration + + + += + + + += + + + +statement + + + +identifier + + + +statement + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +additive_expression + + + += + + + +} + + + +attribute_arguments + + + +statement + + + ++ + + + +type + + + +additive_expression + + + +List + + + +identifier + + + +primary_expression + + + +int + + + +type + + + ++ + + + +; + + + +( + + + +public + + + +] + + + +primary_expression + + + +additive_expression + + + +type + + + +explicitly_typed_local_variable_declarator + + + += + + + +) + + + +namespace_or_type_name + + + ++ + + + +identifier + + + +== + + + +int + + + +attribute + + + +IEnumerable + + + +attribute_argument_expression + + + +literal + + + +i + + + +expression + + + +typeof + + + +method_body + + + +identifier + + + += + + + +return_type + + + +] + + + +identifier + + + +statement + + + +} + + + +{ + + + +nullable_type_annotation + + + +( + + + +expression_statement + + + +] + + + +relational_expression + + + +class + + + +< + + + +"A" + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +literal + + + +; + + + +value + + + +namespace_body + + + +non_array_type + + + +identifier + + + +s + + + +. + + + +; + + + +explicitly_typed_local_variable_declarators + + + +integral_type + + + +; + + + +positional_argument_list + + + +, + + + +get + + + +i + + + +) + + + +return_type + + + +ConsoleApplication1 + + + +named_argument + + + +generic_dimension_specifier + + + +"a" + + + +method_header + + + +; + + + +} + + + +identifier + + + +identifier + + + +integral_type + + + +type + + + +identifier + + + +prog + + + +explicitly_typed_local_variable_declaration + + + +method_header + + + +namespace_or_type_name + + + +{ + + + +namespace_declaration + + + +int + + + +member_name + + + +attribute_name + + + +) + + + +type + + + +; + + + +3 + + + +local_variable_initializer + + + +[ + + + +literal + + + +typeof_expression + + + +int + + + +integral_type + + + +{ + + + +method_declaration + + + +void + + + +identifier + + + += + + + +. + + + +identifier + + + +method_modifiers + + + +statement + + + +explicitly_typed_local_variable_declaration + + + +public + + + +} + + + +non_nullable_value_type + + + +> + + + +type_argument_list + + + +local_variable_declaration + + + ++ + + + +identifier + + + +t + + + +) + + + +; + + + +< + + + +additive_expression + + + +Type + + + +local_variable_declaration + + + +t + + + += + + + +literal + + + +statement_expression + + + +null_literal + + + +attribute_list + + + +multiplicative_expression + + + +expression + + + +int + + + +"a" + + + +statement + + + +class_member_declaration + + + +type + + + +Nullable + + + +( + + + +namespace_or_type_name + + + +Test + + + +> + + + +additive_expression + + + +result + + + +integral_type + + + +type + + + +local_variable_declaration + + + +typeof + + + +var + + + +namespace_or_type_name + + + +) + + + +( + + + +"Name" + + + +multiplicative_expression + + + +statement + + + +ConstructedType + + + +) + + + +var + + + +literal + + + +false + + + +multiplicative_expression + + + +contextual_keyword + + + +identifier + + + +declaration_statement + + + +return_statement + + + +null + + + +expression + + + +implicitly_typed_local_variable_declaration + + + +identifier + + + +statement_list + + + +accessor_declarations + + + +class_member_declaration + + + +assignment + + + +< + + + +( + + + +implicitly_typed_local_variable_declarator + + + +? + + + +( + + + +int + + + +type + + + +statement + + + +statement + + + +unary_expression + + + +cast_expression + + + +] + + + += + + + +) + + + +nullable_value_type + + + +explicitly_typed_local_variable_declarator + + + +"a" + + + +identifier + + + +namespace + + + +block + + + +property_body + + + +local_variable_initializer + + + +ref_method_modifier + + + +explicitly_typed_local_variable_declarator + + + +block + + + +non_nullable_value_type + + + +member_access + + + +[ + + + +IEnumerable + + + +namespace_or_type_name + + + +literal + + + +explicitly_typed_local_variable_declarators + + + +expression + + + +implicitly_typed_local_variable_declarator + + + +type + + + +local_variable_declaration + + + +multiplicative_expression + + + +; + + + +typeof_expression + + + +accessor_body + + + +rank_specifier + + + +additive_expression + + + +typeof + + + +unbound_type_name + + + +) + + + +type_argument_list + + + +get_accessor_declaration + + + +System + + + +> + + + +additive_expression + + + +typeof_expression + + + +literal + + + +c + + + +qualified_alias_member + + + +typeof + + + +expression_statement + + + +additive_expression + + + +error + + + +namespace_or_type_name + + + +block + + + +. + + + +expression_statement + + + +return + + + +explicitly_typed_local_variable_declarators + + + +multiplicative_expression + + + +statement_list + + + +identifier + + + ++ + + + +identifier + + + +additive_expression + + + +class_body + + + +implicitly_typed_local_variable_declaration + + + +void + + + +identifier + + + +member_access + + + +class_member_declaration + + + +. + + + +; + + + +typeof + + + +unary_expression + + + +) + + + +type_argument + + + +equality_expression + + + +statement + + + +"a" + + + +( + + + +identifier + + + +implicitly_typed_local_variable_declarator + + + +< + + + +expression + + + +compilation_unit + + + +ref_method_modifier + + + +method_declaration + + + +; + + + +public + + + +Int32 + + + +typeof_expression + + + +identifier + + + +multiplicative_expression + + + +attributes + + + +type + + + +} + + + +statement_list + + + +statement + + + +identifier + + + +? + + + +( + + + +integral_type + + + +t + + + +declaration_statement + + + +[ + + + +( + + + +{ + + + +) + + + +literal + + + +namespace_or_type_name + + + +equality_expression + + + +var + + + +invocation_expression + + + +{ + + + +declaration_statement + + + +Count + + + +type_argument + + + +> + + + +named_argument_list + + + +primary_expression + + + +[ + + + +member_name + + + +assignment_operator + + + +literal + + + +int + + + +rank_specifier + + + +local_variable_declaration + + + +contextual_keyword + + + +} + + + +declaration_statement + + + +array_type + + + +String + + + +multiplicative_expression + + + ++ + + + +implicitly_typed_local_variable_declaration + + + +> + + + +identifier + + + +typeof_expression + + + +rank_specifier + + + +typeof + + + +identifier + + + +{ + + + +set_accessor_declaration + + + +method_body + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +i + + + += + + + +namespace_or_type_name + + + +expression + + + +type_argument + + + +property_declaration + + + +assignment_operator + + + +type + + + +5 + + + +member_name + + + +local_variable_initializer + + + +additive_expression + + + +type_argument_list + + + +identifier + + + +; + + + +"a" + + + ++ + + + +( + + + +set + + + +assignment + + + +identifier + + + +statement_expression + + + +ToString + + + +t + + + += + + + +type_argument_list + + + +t + + + +System + + + +) + + + +nullable_value_type + + + +namespace_member_declaration + + + +declaration_statement + + + +namespace_or_type_name + + + +declaration_statement + + + +identifier + + + +multiplicative_expression + + + +statement_list + + + +attribute_section + + + +nullable_type_annotation + + + +namespace_or_type_name + + + +boolean_literal + + + +declaration_statement + + + +2 + + + +:: + + + +local_variable_initializer + + + +method_modifiers + + + +unary_expression + + + +type_argument + + + +identifier + + + +Obsolete + + + +property_modifier + + + +literal + + + +} + + + +qualified_identifier + + + +statement_expression + + + +identifier + + + +Foo + + + +global + + + +Constants + + + +String + + + ++ + + + +integral_type + + + +block + + + +1 + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/sample.gruntree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/sample.gruntree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/sample.tree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/sample.tree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/sample.tree.svg similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/Reference/sample.tree.svg diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-N/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/sample.gruntree.red.txt similarity index 99% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/sample.gruntree.red.txt index a9f5f95bd..145cc83f4 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/sample.gruntree.red.txt @@ -690,7 +690,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T @@ -726,7 +726,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/sample.stderr.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/sample.stderr.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/sample.tree.red.txt similarity index 69% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/sample.tree.red.txt index a9d1d78cd..444a447e2 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/sample.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier Comments) . (identifier XmlComments) . (identifier UndocumentedKeywords)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier (contextual_keyword yield)) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Params)) ( (parameter_list (fixed_parameters (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (contextual_keyword dynamic)) (identifier a)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier out)) (type (contextual_keyword dynamic)) (identifier b))) , (parameter_array params (array_type (non_array_type (contextual_keyword dynamic)) (rank_specifier [ ])) (identifier c))) )) (method_body (block { })))) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Params)) ( (parameter_list (fixed_parameters (fixed_parameter (parameter_modifier (parameter_mode_modifier out)) (type (contextual_keyword dynamic)) (identifier a) (default_argument = (expression (literal 2)))) , (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (contextual_keyword dynamic)) (identifier c) (default_argument = (expression (explictly_typed_default default ( (type (contextual_keyword dynamic)) )))))) , (parameter_array params (array_type (non_array_type (contextual_keyword dynamic)) (rank_specifier [ ]) (rank_specifier [ ])) (identifier c))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier override))) (return_type (class_type string)) (method_header (member_name (identifier ToString)) ( )) (method_body (block { (statement_list (return_statement return (expression (invocation_expression (primary_expression (base_access base . (identifier ToString))) ( ))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) partial) (return_type void) (method_header (member_name (identifier OnError)) ( )) (method_body ;))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) partial) (return_type void) (method_header (member_name (identifier method)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (array_creation_expression new (non_array_type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) [ (expression_list (literal 5)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword var)) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 1)) , (variable_initializer (literal 2)) , (variable_initializer (literal 3)) , (variable_initializer (literal 4)) , (variable_initializer (literal 5))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (element_access (primary_no_array_creation_expression (identifier a)) [ (argument_list (identifier i)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Foo) (type_argument_list < (type_arguments (identifier T)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f) = (local_variable_initializer (object_creation_expression new (type (namespace_or_type_name (identifier Foo) (type_argument_list < (type_arguments (integral_type int)) >))) ( ))))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier f)) . (identifier method))) ( ))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator =) (expression (inclusive_or_expression (inclusive_or_expression (and_expression (and_expression (additive_expression (additive_expression (additive_expression (identifier i)) + (multiplicative_expression (identifier i))) - (multiplicative_expression (multiplicative_expression (multiplicative_expression (multiplicative_expression (identifier i)) * (unary_expression (identifier i))) / (unary_expression (identifier i))) % (unary_expression (identifier i))))) & (equality_expression (identifier i)))) | (exclusive_or_expression (exclusive_or_expression (identifier i)) ^ (and_expression (identifier i))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (simple_type bool)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier b) = (local_variable_initializer (inclusive_or_expression (inclusive_or_expression (and_expression (and_expression (boolean_literal true)) & (equality_expression (boolean_literal false)))) | (exclusive_or_expression (exclusive_or_expression (boolean_literal true)) ^ (and_expression (boolean_literal false))))))))) ;))) })))) }))) })))) +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier Comments) . (identifier XmlComments) . (identifier UndocumentedKeywords)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier (contextual_keyword yield)) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Params)) ( (parameter_list (fixed_parameters (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (contextual_keyword dynamic)) (identifier a)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier out)) (type (contextual_keyword dynamic)) (identifier b))) , (parameter_array params (array_type (non_array_type (contextual_keyword dynamic)) (rank_specifier [ ])) (identifier c))) )) (method_body (block { })))) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Params)) ( (parameter_list (fixed_parameters (fixed_parameter (parameter_modifier (parameter_mode_modifier out)) (type (contextual_keyword dynamic)) (identifier a) (default_argument = (expression (literal 2)))) , (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (contextual_keyword dynamic)) (identifier c) (default_argument = (expression (explictly_typed_default default ( (type (contextual_keyword dynamic)) )))))) , (parameter_array params (array_type (non_array_type (contextual_keyword dynamic)) (rank_specifier [ ]) (rank_specifier [ ])) (identifier c))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier override))) (return_type (class_type string)) (method_header (member_name (identifier ToString)) ( )) (method_body (block { (statement_list (return_statement return (expression (invocation_expression (primary_expression (base_access base . (identifier ToString))) ( ))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) partial) (return_type void) (method_header (member_name (identifier OnError)) ( )) (method_body ;))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) partial) (return_type void) (method_header (member_name (identifier method)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (array_creation_expression new (non_array_type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) [ (expression_list (literal 5)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword var)) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 1)) , (variable_initializer (literal 2)) , (variable_initializer (literal 3)) , (variable_initializer (literal 4)) , (variable_initializer (literal 5))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (element_access (primary_no_array_creation_expression (identifier a)) [ (argument_list (identifier i)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Foo) (type_argument_list < (type_argument (identifier T)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f) = (local_variable_initializer (object_creation_expression new (type (namespace_or_type_name (identifier Foo) (type_argument_list < (type_argument (integral_type int)) >))) ( ))))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier f)) . (identifier method))) ( ))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator =) (expression (inclusive_or_expression (inclusive_or_expression (and_expression (and_expression (additive_expression (additive_expression (additive_expression (identifier i)) + (multiplicative_expression (identifier i))) - (multiplicative_expression (multiplicative_expression (multiplicative_expression (multiplicative_expression (identifier i)) * (unary_expression (identifier i))) / (unary_expression (identifier i))) % (unary_expression (identifier i))))) & (equality_expression (identifier i)))) | (exclusive_or_expression (exclusive_or_expression (identifier i)) ^ (and_expression (identifier i))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (simple_type bool)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier b) = (local_variable_initializer (inclusive_or_expression (inclusive_or_expression (and_expression (and_expression (boolean_literal true)) & (equality_expression (boolean_literal false)))) | (exclusive_or_expression (exclusive_or_expression (boolean_literal true)) ^ (and_expression (boolean_literal false))))))))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/sample.tree.svg similarity index 80% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/sample.tree.svg index 8b998eaab..a8b1d64da 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/Reference/sample.tree.svg @@ -1,26 +1,26 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - + + + @@ -68,7 +68,7 @@ - + @@ -134,7 +134,7 @@ - + @@ -170,7 +170,7 @@ - + @@ -187,26 +187,26 @@ - - - + + + - + - + - - - - - + + + + + @@ -243,7 +243,7 @@ - + @@ -286,7 +286,7 @@ - + @@ -309,7 +309,7 @@ - + @@ -318,11 +318,11 @@ - + - + @@ -336,1935 +336,1935 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ref - - - -block + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +void - - -= + + +fixed_parameter - - -nullable_type_annotation + + +unary_expression - - -identifier + + +XmlComments - - -non_array_type + + +local_variable_initializer - - -T + + +return_type - - -invocation_expression + + +base - - -non_array_type + + +non_nullable_value_type - - -& + + +integral_type - - -contextual_keyword + + +identifier - - -) + + +rank_specifier - - -& + + +and_expression - - -type + + +identifier - - -partial + + +identifier - - -unary_expression + + +identifier - - -expression + + +local_variable_initializer - - -class_declaration + + += - - -type + + +explicitly_typed_local_variable_declarators - - -default_argument + + +ToString - - -primary_expression + + +namespace_member_declaration - - -inclusive_or_expression + + +Params Foo - - -parameter_list + + +explicitly_typed_local_variable_declaration - - -) + + +type - - -dynamic + + +rank_specifier - - -identifier + + +expression - - -^ + + +boolean_literal - - -fixed_parameter + + +array_creation_expression - - -method_modifiers + + +% - - -dynamic + + +{ - - -public + + +method_header - - -parameter_modifier + + +local_variable_initializer - - -Comments + + +1 - - -public + + +primary_expression - - -qualified_identifier + + +identifier - - -type_argument_list + + +identifier - - -void + + +) - - -rank_specifier + + +? - - -class_member_declaration + + +element_access - - + + dynamic - - -declaration_statement - - - -method_header - - - -contextual_keyword - - - -namespace_or_type_name - - - -< + + +object_creation_expression - - -additive_expression + + +statement - - -identifier + + +, - - -default_argument + + +non_array_type - - -explicitly_typed_local_variable_declarator + + +explicitly_typed_local_variable_declarators - - -- + + +a - - -method + + +method_declaration - - -rank_specifier + + +) - - -, + + +[ - - -and_expression + + += - - -b + + +ref_method_modifier - - -parameter_mode_modifier + + +( - - -[ + + +c - - -[ + + +ToString - - -f + + +& - - -statement + + +nullable_type_annotation - - -i + + +array_initializer - - -prog + + +return_type - - -= + + +class - - -identifier + + +class_type - - -class_member_declaration + + +> - - -local_variable_initializer + + +( - - -} + + +boolean_literal - - -XmlComments + + +return_type - - -type + + +local_variable_declaration - - + + = - - -params - - - -literal + + +T - - -c + + +identifier - - -= + + +* - - -method_body + + +5 - - -void + + +} - - -identifier + + +explictly_typed_default - - -parameter_mode_modifier + + +expression_statement - - -string + + +method_modifier + + + +[ explicitly_typed_local_variable_declarator - - -? + + +[ - - -method + + +expression - - -1 + + +method_modifiers - - -identifier + + +contextual_keyword - - -( + + +nullable_value_type - - -type_arguments + + +local_variable_declaration - - -new + + +contextual_keyword - - -expression_statement + + +class_member_declaration - - -) + + +ref_method_modifier - - -multiplicative_expression + + +dynamic - - + + i - - -} + + +member_name - - -boolean_literal + + +method_modifier - - + + +identifier + + + +local_variable_initializer + + + ] - - -[ + + +literal - - -identifier + + +unary_expression - - -primary_expression + + +out i - - + + identifier - - -a - - - -declaration_statement - - - -explicitly_typed_local_variable_declarators - - - -Params - - - -( - - - -i + + +invocation_expression - - -fixed_parameter + + +} - - -{ + + +and_expression - - -declaration_statement + + +} - - + + identifier - - -Params - - - -) + + +explicitly_typed_local_variable_declarator - - -array_type + + +prog - - -identifier + + +class_body - - -method_body + + +( - - -local_variable_declaration + + +ref_method_modifier - - -statement + + +UndocumentedKeywords - - -multiplicative_expression + + +method_declaration - - -identifier + + +member_name - - -{ + + +statement_expression - - -variable_initializer + + +statement_list - - -parameter_array + + +default_argument - - -method_modifier + + +fixed_parameter - - -block + + +var - - -i + + +statement - - -explicitly_typed_local_variable_declarators + + +integral_type - - -method_modifiers + + +method_body - - -5 + + +rank_specifier - - -. + + +, - - -explicitly_typed_local_variable_declarators + + +> - - -type + + +explicitly_typed_local_variable_declaration - - -params + + +block - - + + boolean_literal - - -type + + +parameter_modifier - - -class + + +public - - -return_statement + + +int - - + + +ref + + + method_declaration - - -int + + +identifier - - -explicitly_typed_local_variable_declaration + + +local_variable_declaration - - -element_access + + +block - - -statement_list + + +5 - - -; + + +i - - -] + + +| - - -method_declaration + + +expression - - -] + + +explicitly_typed_local_variable_declarator - - -identifier + + +literal - - -member_name + + +. - - -, + + += - - -exclusive_or_expression + + +[ - - -identifier + + +parameter_mode_modifier - - + + method_body - - -non_nullable_value_type + + +variable_initializer - - -exclusive_or_expression + + +identifier - - + + method_declaration - - -; + + +bool - - -c + + +( - - -ref_method_modifier + + +base_access - - -additive_expression + + +identifier - - -OnError + + +i - - -statement + + +} - - -local_variable_declaration + + +and_expression - - -i + + +4 - - -return_type + + +^ - - -boolean_literal + + +parameter_list - - -| + + +} - - -. + + +type_argument - - -true + + +simple_type - - -integral_type + + +non_array_type - - -type_arguments + + +, - - -local_variable_declaration + + +< - - -exclusive_or_expression + + +] - - -explicitly_typed_local_variable_declarator + + +( - - -local_variable_initializer + + +OnError - - -i + + +contextual_keyword - - -member_name + + +fixed_parameters - - -literal + + +class_member_declaration - - -boolean_literal + + +declaration_statement - - -explicitly_typed_local_variable_declarators + + +identifier - - -, + + +) - - -2 + + +identifier - - -multiplicative_expression + + +? - - -yield + + +fixed_parameters - - -compilation_unit + + +fixed_parameter - - -parameter_mode_modifier + + +nullable_value_type - - -) + + +type - - -identifier + + +statement_expression - - -member_name + + +namespace + + + +c + + + +array_type - - -equality_expression + + +identifier - - -| + + +^ - - -= + + +class_declaration - - -method_header + + +explicitly_typed_local_variable_declaration - - + + identifier - - -integral_type + + +) - - -identifier + + +type - - -variable_initializer + + +boolean_literal - - -rank_specifier + + +integral_type - - -multiplicative_expression + + +; - - -( + + +statement - - -) + + +dynamic - - -= + + +identifier - - -false + + +multiplicative_expression - - -% + + +int - - -* + + +primary_no_array_creation_expression - - -) + + +( - - -variable_initializer + + +rank_specifier - - -var + + +block - - -method_header + + +method_modifiers + + + +exclusive_or_expression method_modifiers - - -rank_specifier - - - -nullable_type_annotation - - - -type + + +partial - - -c + + +new - - -multiplicative_expression + + +namespace_declaration - - -method_modifier + + +< - - + + identifier - - -and_expression - - - -unary_expression - - - -method_modifiers - - - -identifier + + +; - - -nullable_value_type + + +type - - -assignment_operator + + +, - - -class_body + + +statement - - -base + + +] - - + + int - - -literal + + += - - -member_access + + +; - - -local_variable_declaration + + +type - - + + and_expression - - -additive_expression - - - -parameter_modifier - - - -statement + + +) - - -block + + +class_member_declaration - - -contextual_keyword + + +identifier - - -dynamic + + +method_modifiers - - + + identifier - - -ToString + + +method_modifiers - - + + i - - -default - - - -new + + +} - - -parameter_modifier + + +integral_type - - -return + + +member_name - - -identifier + + +; - - -{ + + +multiplicative_expression - - -array_type + + +, - - -identifier + + +parameter_modifier - - -local_variable_initializer + + +type - - -statement_expression + + +expression_list - - -int + + +identifier - - -return_type + + +) - - -contextual_keyword + + +argument_list - - -public + + +[ - - -; + + +integral_type - - -method_modifier + + +non_array_type - - -< + + +inclusive_or_expression - - -[ + + +return_type - - -statement_list + + +equality_expression - - -( + + +] - - -ref + + +string - - -method_modifiers + + +local_variable_declaration - - -fixed_parameters + + +method_body - - -a + + +method_header - - -variable_initializer + + +f - - -a + + +; - - -identifier + + +Foo - - -integral_type + + +true - - -statement_expression + + +partial - - -array_initializer + + +out - - -contextual_keyword + + +true - - -int + + +f - - -fixed_parameter + + +yield - - -2 + + +params - - + + ; - - -[ + + +2 - - -i + + +c - - -simple_type + + +parameter_list - - -, + + +block - - -] + + +exclusive_or_expression - - -type + + +identifier - - -explicitly_typed_local_variable_declaration + + +, - - -nullable_value_type + + +type_argument_list - - -; + + += - - -[ + + +return_statement - - -literal + + +variable_initializer_list - - -identifier + + +contextual_keyword - - -explicitly_typed_local_variable_declarators + + +unary_expression - - -false + + +& - - -expression + + +return_type - - -member_name + + +[ - - -unary_expression + + +explicitly_typed_local_variable_declaration - - -declaration_statement + + += - - -{ + + +dynamic - - -type + + +parameter_mode_modifier - - -] + + +contextual_keyword - - -inclusive_or_expression + + +variable_initializer - - -parameter_modifier + + +- - - -inclusive_or_expression + + +assignment_operator - - + + identifier - - -out + + +parameter_array - - -] + + +non_array_type - - -and_expression + + +namespace_or_type_name - - -variable_initializer_list + + +i - - -true + + +literal - - -{ + + +] - - -= + + +return - - -rank_specifier + + +parameter_modifier - - -3 + + +explicitly_typed_local_variable_declarators - - -( + + +) - - -; + + +ref_method_modifier - - -variable_initializer + + +i declaration_statement - - -Foo - - - -. - - - -expression + + +qualified_identifier - - -return_type + + ++ - - -} + + +class_member_declaration - - -, + + +declaration_statement - - -identifier + + +contextual_keyword - - -explicitly_typed_local_variable_declarator + + +params - - -f + + +literal - - -method_declaration + + +expression_statement - - -} + + +dynamic - - -primary_no_array_creation_expression + + +void - - -, + + +3 - - -. + + +variable_initializer - - -dynamic + + +contextual_keyword - - -ref_method_modifier + + +| statement - - -identifier + + +{ - - -parameter_array + + +int - - -ref_method_modifier + + +additive_expression - - -b + + +method_declaration - - -explicitly_typed_local_variable_declaration + + +a - - -{ + + +member_name - - + + +a + + + +( + + + +primary_expression + + + identifier - - -out + + +additive_expression - - -method_body + + +exclusive_or_expression - - -integral_type + + +parameter_array - - -non_nullable_value_type + + +identifier - - -expression + + +equality_expression - - -method_declaration + + +} - - -( + + +dynamic - - -i + + +identifier - - -non_array_type + + +statement_list - - -local_variable_initializer + + +explicitly_typed_local_variable_declarators - - -( + + +class_member_declaration - - -expression_list + + +identifier - - -int + + +{ - - -^ + + +member_name - - -dynamic + + +void - - -contextual_keyword + + +namespace_or_type_name + + + +. + + + +Comments - - -array_type + + +i - - -namespace_declaration + + +{ - - -void + + +identifier - - -class_member_declaration + + +multiplicative_expression method_body - - -unary_expression + + +; - - -parameter_mode_modifier + + +] - - -/ + + +and_expression - - -? + + +array_type + + + +identifier - - + + i - - -} + + +variable_initializer - - -identifier + + +b - - -explicitly_typed_local_variable_declaration + + +( - - -namespace_member_declaration + + +default_argument - - -) + + +multiplicative_expression - - -contextual_keyword + + +. - - -class_member_declaration + + +inclusive_or_expression - - -return_type + + +Params - - -literal + + +identifier - - -; + + +non_nullable_value_type - - -a + + +method_header - - -identifier + + +member_access - - -statement + + +public - - -{ + + +. - - -contextual_keyword + + +and_expression - - -( + + +method - - -dynamic + + +explicitly_typed_local_variable_declarator - - -= + + +i - - -return_type + + +statement - - -local_variable_declaration + + +literal - - -+ + + +{ - - -non_array_type + + +identifier - - -] + + +new - - -method_header + + +array_type - - -> + + +nullable_type_annotation - - -object_creation_expression + + +false - - -class_type + + +method_header - - + + identifier - - -) + + +compilation_unit - - -class_member_declaration + + +ref - - -override + + +type - - -exclusive_or_expression + + +explicitly_typed_local_variable_declarators - - -5 + + +( - - -identifier + + +inclusive_or_expression - - -explicitly_typed_local_variable_declarator + + +additive_expression - - -} + + +local_variable_initializer - - -( + + +literal - - -bool + + +assignment - - -base_access + + +parameter_mode_modifier - - + + +override + + + +method_body + + + +array_type + + + contextual_keyword - - -fixed_parameter + + +) + + + +int + + + +public - - -literal + + +explicitly_typed_local_variable_declaration - - + + identifier - - + + type - - -array_creation_expression + + +literal - - -fixed_parameters + + +method_header - - -inclusive_or_expression + + +type - - -type_argument_list + + +method - - -void + + +false - - -invocation_expression + + +identifier - - -UndocumentedKeywords + + +exclusive_or_expression - - -> + + +method_modifier - - -namespace_or_type_name + + +b - - -non_array_type + + +/ - - -primary_expression + + +declaration_statement - - -identifier + + +multiplicative_expression - - -block + + +; - - -assignment + + +explicitly_typed_local_variable_declarator - - -identifier + + +2 - - -method_modifier + + +statement - - -, + + +identifier - - -explicitly_typed_local_variable_declaration + + +default - - -identifier + + +local_variable_declaration - - -namespace_body + + +{ - - -ToString + + +contextual_keyword - - -4 + + +] - - -literal + + +namespace_body - - -and_expression + + +invocation_expression - - -; + + +parameter_modifier - - -partial + + +identifier - - + + type - - -parameter_list + + +type_argument_list - - -} + + +) - - -local_variable_initializer + + +non_array_type - - -equality_expression + + +a - - -member_name + + +type_argument - - -ref_method_modifier + + +rank_specifier - - -type + + +i - - -array_type + + +fixed_parameter - - -; + + +method_modifier - - -identifier + + +inclusive_or_expression - - -method_header + + +unary_expression - - -integral_type + + +i - - -[ + + +variable_initializer - - -argument_list + + +void - - -namespace + + += - - + + +; + + + , - - -i + + +[ - - -identifier + + +primary_expression - - -explictly_typed_default + + +parameter_mode_modifier - - -statement + + +expression - - -and_expression + + +dynamic - - -expression_statement + + +{ + + + +declaration_statement + + + +, + + + +type - - + + identifier \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-O/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/sample.gruntree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/sample.gruntree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/sample.tree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/sample.tree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/sample.tree.svg similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/Reference/sample.tree.svg diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-P/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/sample.gruntree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/sample.gruntree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/sample.tree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/sample.tree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/sample.tree.svg similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/Reference/sample.tree.svg diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-Q/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/sample.gruntree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/sample.gruntree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/sample.tree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/sample.tree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/sample.tree.svg similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/Reference/sample.tree.svg diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-R/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/sample.gruntree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/sample.gruntree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/sample.tree.red.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/sample.tree.red.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/sample.tree.svg similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/AllInOneNoPreprocessor-v6-part.tree.svg rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/Reference/sample.tree.svg diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-S/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt deleted file mode 100644 index 5f7b52efb..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tree.red.txt +++ /dev/null @@ -1 +0,0 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier Comments) . (identifier XmlComments) . (identifier UndocumentedKeywords)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier CSharp6Features) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier async)) (return_type void) (method_header (member_name (identifier Test)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier numbers) = (expression (object_creation_expression new (type (namespace_or_type_name (identifier Dictionary) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (class_type string))) >))) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target [ (argument_list (literal 7)) ]) = (initializer_value (literal "seven"))) , (member_initializer (initializer_target [ (argument_list (literal 9)) ]) = (initializer_value (literal "nine"))) , (member_initializer (initializer_target [ (argument_list (literal 13)) ]) = (initializer_value (literal "thirteen")))) }))))))) ;)) (statement (try_statement try (block { }) (catch_clauses (specific_catch_clause catch (exception_specifier ( (type (identifier MyException)) (identifier e) )) (exception_filter when ( (boolean_expression (invocation_expression (primary_expression (identifier myfilter)) ( (argument_list (identifier e)) ))) )) (block { }))))) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Resource)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier res) = (local_variable_initializer (null_literal null)))))) ;)) (statement (try_statement try (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (identifier res)) (assignment_operator =) (expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Resource)) . (identifier OpenAsync))) ( ))))))) ;)) }) (catch_clauses (specific_catch_clause catch (exception_specifier ( (type (identifier ResourceException)) (identifier e) )) (block { (statement_list (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Resource)) . (identifier LogAsync))) ( (argument_list (argument (identifier res)) , (argument (identifier e))) ))))) ;)) }))) (finally_clause finally (block { (statement_list (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier res)) != (relational_expression (null_literal null)))) ) (embedded_statement (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier res)) . (identifier CloseAsync))) ( ))))) ;)))) }))))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tree.svg deleted file mode 100644 index 74441aeed..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tree.svg +++ /dev/null @@ -1,1340 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -method_declaration - - - -( - - - -] - - - -expression - - - -string - - - -type_argument - - - -, - - - -expression_statement - - - -XmlComments - - - -e - - - -await_expression - - - -unary_expression - - - -catch_clauses - - - -namespace_member_declaration - - - -( - - - -e - - - -> - - - -{ - - - -member_initializer - - - -identifier - - - -. - - - -finally - - - -) - - - -( - - - -identifier - - - -{ - - - -identifier - - - -specific_catch_clause - - - -) - - - -type - - - -literal - - - -identifier - - - -implicitly_typed_local_variable_declaration - - - -catch - - - -} - - - -!= - - - -{ - - - -exception_specifier - - - -( - - - -member_access - - - -embedded_statement - - - -primary_expression - - - -local_variable_initializer - - - -initializer_value - - - -boolean_expression - - - -( - - - -block - - - -type_argument_list - - - -identifier - - - -primary_expression - - - -= - - - -argument_list - - - -boolean_expression - - - -{ - - - -void - - - -"thirteen" - - - -equality_expression - - - -{ - - - -Comments - - - -"seven" - - - -literal - - - -statement - - - -Resource - - - -{ - - - -return_type - - - -} - - - -. - - - -catch_clauses - - - -unary_expression - - - -= - - - -; - - - -) - - - -try - - - -statement_list - - - -statement_expression - - - -class_member_declaration - - - -method_body - - - -CloseAsync - - - -e - - - -[ - - - -explicitly_typed_local_variable_declarators - - - -primary_expression - - - -explicitly_typed_local_variable_declarator - - - -argument_list - - - -exception_filter - - - -identifier - - - -literal - - - -) - - - -expression_statement - - - -. - - - -numbers - - - -literal - - - -try_statement - - - -exception_specifier - - - -= - - - -identifier - - - -method_header - - - -primary_expression - - - -} - - - -initializer_target - - - -; - - - -literal - - - -identifier - - - -identifier - - - -} - - - -finally_clause - - - -async - - - -member_access - - - -type_argument - - - -. - - - -member_initializer_list - - - -; - - - -member_initializer - - - -Dictionary - - - -res - - - -null - - - -) - - - -Test - - - -int - - - -type - - - -class_declaration - - - -7 - - - -catch - - - -argument_list - - - -( - - - -invocation_expression - - - -class - - - -block - - - -equality_expression - - - -class_body - - - -unary_expression - - - -initializer_value - - - -block - - - -method_modifiers - - - -statement_expression - - - -[ - - - -assignment_operator - - - -namespace_or_type_name - - - -statement_list - - - -type - - - -await - - - -try_statement - - - -CSharp6Features - - - -ResourceException - - - -} - - - -qualified_identifier - - - -} - - - -prog - - - -= - - - -when - - - -invocation_expression - - - -identifier - - - -"nine" - - - -member_initializer - - - -specific_catch_clause - - - -] - - - -identifier - - - -explicitly_typed_local_variable_declaration - - - -statement_expression - - - -{ - - - -{ - - - -) - - - -initializer_target - - - -identifier - - - -method_modifier - - - -] - - - -local_variable_declaration - - - -expression_statement - - - -) - - - -if_statement - - - -assignment - - - -await - - - -initializer_target - - - -identifier - - - -await - - - -type_arguments - - - -namespace - - - -[ - - - -null - - - -integral_type - - - -) - - - -member_name - - - -myfilter - - - -invocation_expression - - - -declaration_statement - - - -class_type - - - -identifier - - - -declaration_statement - - - -identifier - - - -< - - - -object_initializer - - - -try - - - -new - - - -identifier - - - -= - - - -primary_expression - - - -identifier - - - -compilation_unit - - - -; - - - -block - - - -member_access - - - -LogAsync - - - -object_creation_expression - - - -object_or_collection_initializer - - - -identifier - - - -initializer_value - - - -, - - - -argument - - - -statement - - - -9 - - - -unary_expression - - - -= - - - -} - - - -local_variable_declaration - - - -identifier - - - -identifier - - - -block - - - -res - - - -identifier - - - -invocation_expression - - - -identifier - - - -) - - - -if - - - -argument_list - - - -UndocumentedKeywords - - - -res - - - -block - - - -identifier - - - -Resource - - - -. - - - -namespace_body - - - -statement_list - - - -res - - - -type - - - -, - - - -null_literal - - - -e - - - -( - - - -implicitly_typed_local_variable_declarator - - - -argument_list - - - -statement - - - -MyException - - - -Resource - - - -OpenAsync - - - -argument - - - -relational_expression - - - -var - - - -namespace_declaration - - - -await_expression - - - -} - - - -( - - - -13 - - - -; - - - -, - - - -primary_expression - - - -identifier - - - -res - - - -{ - - - -statement_list - - - -( - - - -} - - - -expression - - - -literal - - - -statement - - - -null_literal - - - -await_expression - - - -identifier - - - -primary_expression - - \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/sample.gruntree.red.txt similarity index 98% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/sample.gruntree.red.txt index 1079c7bc7..7a67b3e4a 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/sample.gruntree.red.txt @@ -104,21 +104,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/sample.stderr.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/sample.stderr.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/AllInOneNoPreprocessor-v6-part.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/sample.tree.red.txt new file mode 100644 index 000000000..47c92de5e --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/sample.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier Comments) . (identifier XmlComments) . (identifier UndocumentedKeywords)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier CSharp6Features) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier async)) (return_type void) (method_header (member_name (identifier Test)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier numbers) = (expression (object_creation_expression new (type (namespace_or_type_name (identifier Dictionary) (type_argument_list < (type_argument (integral_type int)) , (type_argument (class_type string)) >))) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target [ (argument_list (literal 7)) ]) = (initializer_value (literal "seven"))) , (member_initializer (initializer_target [ (argument_list (literal 9)) ]) = (initializer_value (literal "nine"))) , (member_initializer (initializer_target [ (argument_list (literal 13)) ]) = (initializer_value (literal "thirteen")))) }))))))) ;)) (statement (try_statement try (block { }) (catch_clauses (specific_catch_clause catch (exception_specifier ( (type (identifier MyException)) (identifier e) )) (exception_filter when ( (boolean_expression (invocation_expression (primary_expression (identifier myfilter)) ( (argument_list (identifier e)) ))) )) (block { }))))) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Resource)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier res) = (local_variable_initializer (null_literal null)))))) ;)) (statement (try_statement try (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (identifier res)) (assignment_operator =) (expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Resource)) . (identifier OpenAsync))) ( ))))))) ;)) }) (catch_clauses (specific_catch_clause catch (exception_specifier ( (type (identifier ResourceException)) (identifier e) )) (block { (statement_list (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Resource)) . (identifier LogAsync))) ( (argument_list (argument (identifier res)) , (argument (identifier e))) ))))) ;)) }))) (finally_clause finally (block { (statement_list (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier res)) != (relational_expression (null_literal null)))) ) (embedded_statement (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier res)) . (identifier CloseAsync))) ( ))))) ;)))) }))))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/sample.tree.svg new file mode 100644 index 000000000..b89bdb321 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/Reference/sample.tree.svg @@ -0,0 +1,1335 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +initializer_value + + + +( + + + +block + + + +CSharp6Features + + + +identifier + + + +member_initializer + + + +primary_expression + + + +res + + + +implicitly_typed_local_variable_declarator + + + +( + + + +identifier + + + +identifier + + + +finally + + + +explicitly_typed_local_variable_declaration + + + +await + + + +literal + + + +[ + + + +method_body + + + +, + + + += + + + +7 + + + +member_access + + + +primary_expression + + + +unary_expression + + + +) + + + +( + + + +{ + + + +statement + + + +try_statement + + + +object_initializer + + + +expression_statement + + + +new + + + +) + + + +identifier + + + +LogAsync + + + +if_statement + + + +res + + + +explicitly_typed_local_variable_declarator + + + +; + + + +"seven" + + + +unary_expression + + + +identifier + + + +member_access + + + +statement_list + + + +[ + + + +) + + + +class_body + + + +Resource + + + +identifier + + + +object_creation_expression + + + +initializer_value + + + +identifier + + + +type + + + +catch + + + +identifier + + + +local_variable_initializer + + + +local_variable_declaration + + + +Test + + + +declaration_statement + + + +} + + + +literal + + + +{ + + + +method_declaration + + + +) + + + +member_name + + + +int + + + +> + + + +identifier + + + +equality_expression + + + +try_statement + + + +( + + + +MyException + + + +identifier + + + +identifier + + + +await_expression + + + +identifier + + + +async + + + +identifier + + + +OpenAsync + + + +{ + + + +assignment_operator + + + +object_or_collection_initializer + + + +e + + + +} + + + +; + + + +invocation_expression + + + +statement_expression + + + +{ + + + +; + + + +. + + + +{ + + + +CloseAsync + + + +statement_list + + + +initializer_target + + + +identifier + + + +boolean_expression + + + +identifier + + + +res + + + +. + + + +type_argument + + + +] + + + +specific_catch_clause + + + +specific_catch_clause + + + +class + + + +identifier + + + +type_argument_list + + + +} + + + +try + + + +argument_list + + + +expression + + + +, + + + +embedded_statement + + + +method_modifier + + + +compilation_unit + + + += + + + += + + + +null_literal + + + +unary_expression + + + +( + + + +; + + + +} + + + +declaration_statement + + + +res + + + +type + + + +type + + + +identifier + + + +void + + + +primary_expression + + + +Resource + + + +assignment + + + +finally_clause + + + +( + + + +initializer_value + + + +await_expression + + + +invocation_expression + + + +await_expression + + + +await + + + +, + + + +initializer_target + + + +statement + + + +res + + + +[ + + + +} + + + +argument + + + +identifier + + + +myfilter + + + +expression_statement + + + +method_modifiers + + + +catch_clauses + + + +. + + + += + + + +"thirteen" + + + +argument_list + + + +identifier + + + +literal + + + +UndocumentedKeywords + + + +, + + + +} + + + +statement_list + + + +identifier + + + +if + + + +identifier + + + +class_member_declaration + + + +class_declaration + + + +9 + + + +primary_expression + + + +implicitly_typed_local_variable_declaration + + + +Comments + + + +argument_list + + + +literal + + + +member_initializer + + + +( + + + +< + + + +; + + + +) + + + +13 + + + +type + + + +invocation_expression + + + +equality_expression + + + +literal + + + +. + + + +] + + + +numbers + + + +type_argument + + + +} + + + +statement + + + +catch_clauses + + + +expression_statement + + + +exception_specifier + + + +argument_list + + + +argument_list + + + +{ + + + +var + + + +Resource + + + +} + + + +statement_expression + + + +block + + + +member_access + + + +Dictionary + + + +{ + + + +identifier + + + +block + + + +e + + + +) + + + +{ + + + +primary_expression + + + +unary_expression + + + +) + + + +primary_expression + + + +when + + + +XmlComments + + + +statement_expression + + + +expression + + + +await + + + +e + + + +block + + + +namespace_body + + + +return_type + + + +member_initializer + + + +catch + + + +exception_specifier + + + +] + + + +( + + + +exception_filter + + + +{ + + + +null + + + +. + + + +null + + + +namespace_member_declaration + + + += + + + += + + + +identifier + + + +statement_list + + + +primary_expression + + + +argument + + + +namespace_declaration + + + +initializer_target + + + +identifier + + + +identifier + + + +( + + + +) + + + +boolean_expression + + + +!= + + + +integral_type + + + +prog + + + +qualified_identifier + + + +block + + + +relational_expression + + + +member_initializer_list + + + +class_type + + + +local_variable_declaration + + + +} + + + +method_header + + + +"nine" + + + +null_literal + + + +invocation_expression + + + +literal + + + +block + + + +statement + + + +namespace_or_type_name + + + +namespace + + + +string + + + +try + + + +explicitly_typed_local_variable_declarators + + + +) + + + +e + + + +ResourceException + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/AllInOneNoPreprocessor-v6-part.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/AllInOneNoPreprocessor-v6-part.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-T/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/AllInOneNoPreprocessor-v6.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/AllInOneNoPreprocessor-v6.cs deleted file mode 100755 index 9e7f47765..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/AllInOneNoPreprocessor-v6.cs +++ /dev/null @@ -1,740 +0,0 @@ -extern alias Foo; - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Expressions; -using System.Text; -using M = System.Math; - -using ConsoleApplication2.Test; - -/**/ -/* the previous comment is an empty delimited comment and not a document comment */ -/** this is a document comment */ -// this one is a single line comment - -using X = int1; -using Y = ABC.X; - -using static System.Math; -using static System.DayOfWeek; -using static System.Linq.Enumerable; - -[assembly: System.Copyright(@"(C)"" - -2009")] -[module: System.Copyright("\n\t\u0123(C) \"2009" + "\u0123")] - -class TopLevelType : IDisposable -{ - void IDisposable.Dispose() { } -} - -namespace My -{ - using A.B; - - interface CoContra { } - delegate void CoContra2<[System.Obsolete()] out T, in K> () where T : struct; - - public unsafe partial class A : C, I - { - [DllImport("kernel32", SetLastError = true)] - static extern bool CreateDirectory(string name, SecurityAttribute sa); - - private const int global = int.MinValue - 1; - - static A() - { - } - - [method: Obsolete] - public A([param: Obsolete] int foo) : - base(1) - { - L: - { - int i = sizeof(int); - ++i; - var s1 = $"x {1 , -2 :d}"; - var s2 = $@"x {1 , -2 :d}"; - } - - - Console.WriteLine(export.iefSupplied.command); - - const int? local = int.MaxValue; - const Guid? local0 = new Guid(r.ToString()); - - var привет = local; - var мир = local; - var local3 = 0, local4 = 1; - local3 = local4 = 1; - var local5 = null as Action ?? null; - var local6 = local5 is Action; - - var u = 1u; - var U = 1U; - long hex = 0xBADC0DE, Hex = 0XDEADBEEF, l = -1L, L = 1L, l2 = 2l; - ulong ul = 1ul, Ul = 1Ul, uL = 1uL, UL = 1UL, - lu = 1lu, Lu = 1Lu, lU = 1lU, LU = 1LU; - int minInt32Value = -2147483648; - int minInt64Value = -9223372036854775808L; - - bool @bool; - byte @byte; - char @char = 'c', \u0066 = '\u0066', hexchar = '\x0130', hexchar2 = (char)0xBAD; - string \U00000065 = "\U00000065"; - decimal @decimal = 1.44M; - @decimal = 1.2m; - dynamic @dynamic; - double @double = M.PI; - @double = 1d; - @double = 1D; - @double = -1.2e3; - float @float = 1.2f; - @float = 1.44F; - int @int = local ?? -1; - long @long; - object @object; - sbyte @sbyte; - short @short; - string @string = @"""/*"; - uint @uint; - ulong @ulong; - ushort @ushort; - - dynamic dynamic = local5; - var add = 0; - var alias = 0; - var arglist = 0; - var ascending = 0; - var async = 0; - var await = 0; - var by = 0; - var descending = 0; - var dynamic = 0; - var equals = 0; - var from = 0; - var get = 0; - var group = 0; - var into = 0; - var join = 0; - var let = 0; - var nameof = 0; - var on = 0; - var orderby = 0; - var partial = 0; - var remove = 0; - var select = 0; - var set = 0; - var var = 0; - var when = 0; - var where = 0; - var yield = 0; - var __ = 0; - where = yield = 0; - - if (i > 0) - { - return; - } - else if (i == 0) - { - throw new Exception(); - } - var o1 = new MyObject(); - var o2 = new MyObject(var); - var o3 = new MyObject { A = i }; - var o4 = new MyObject(@dynamic) - { - A = 0, - B = 0, - C = 0 - }; - var o5 = new { A = 0 }; - var dictionaryInitializer = new Dictionary - { - {1, ""}, - {2, "a"} - }; - float[] a = new float[] - { - 0f, - 1.1f - }; - int[, ,] cube = { { { 111, 112, }, { 121, 122 } }, { { 211, 212 }, { 221, 222 } } }; - int[][] jagged = { { 111 }, { 121, 122 } }; - int[][,] arr = new int[5][,]; // as opposed to new int[][5,5] - arr[0] = new int[5,5]; // as opposed to arr[0,0] = new int[5]; - arr[0][0,0] = 47; - int[] arrayTypeInference = new[] { 0, 1, }; - switch (3) { } - switch (i) - { - case 0: - case 1: - { - goto case 2; - } - case 2 + 3: - { - goto default; - break; - } - default: - { - return; - } - } - while (i < 10) - { - ++i; - if (true) continue; - break; - } - do - { - ++i; - if (true) continue; - break; - } - while (i < 10); - for (int j = 0; j < 100; ++j) - { - for(;;) - { - for (int i = 0, j = 0; i < length; i++, j++) { } - if (true) continue; - break; - } - } - label: - goto label; - label2: ; - foreach (var i in Items()) - { - if (i == 7) - return; - else - continue; - } - - lock (sync) - process(); - using (var v = BeginScope()) - using (A a = new A()) - using (A a = new A(), b = new A()) - using (BeginScope()) - return; - yield return this.items[3]; - yield break; - fixed (int* p = stackalloc int[100], q = &y) - { - *intref = 1; - } - fixed (int* p = stackalloc int[100]) - { - *intref = 1; - } - unsafe - { - int* p = null; - } - try - { - throw null; - } - catch (System.AccessViolationException av) - { - throw av; - } - catch (Exception) - { - throw; - } - finally - { - try { } catch { } - } - var anonymous = - { - A = 1, - B = 2, - C = 3, - }; - var query = from c in customers - let d = c - where d != null - join c1 in customers on c1.GetHashCode() equals c.GetHashCode() - join c1 in customers on c1.GetHashCode() equals c.GetHashCode() into e - group c by c.Country - into g - orderby g.Count() ascending - orderby g.Key descending - select new { Country = g.Key, CustCount = g.Count() }; - query = from c in customers - select c into d - select d; - } - ~A() - { - } - private readonly int f1; - [Obsolete] - [NonExisting] - [Foo::NonExisting(var, 5)] - [CLSCompliant(false)] - [Obsolete, System.NonSerialized, NonSerialized, CLSCompliant(true || false & true)] - private volatile int f2; - [return: Obsolete] - [method: Obsolete] - public void Handler(object value) - { - } - public int m(T t) - where T : class, new() - { - base.m(t); - return 1; - } - public string P - { - get - { - return "A"; - } - set; - } - public abstract string P - { - get; - } - public abstract int this[int index] - { - protected internal get; - internal protected set; - } - - [event: Test] - public event Action E1 - { - [Obsolete] - add { value = value; } - [Obsolete] - [return: Obsolete] - remove { E += Handler; E -= Handler; } - } - public static A operator +(A first, A second) - { - Delegate handler = new Delegate(Handler); - return first.Add(second); - } - [method: Obsolete] - [return: Obsolete] - public static bool operator true(A a) - { - return true; - } - public static bool operator false(A a) - { - return false; - } - class C - { - } - } - public struct S : I - { - public S() - { - } - private int f1; - [Obsolete("Use Script instead", error: false)] - private volatile int f2; - public abstract int m(T t) - where T : struct - { - return 1; - } - public string P - { - get - { - int value = 0; - return "A"; - } - set; - } - public abstract string P - { - get; - } - public abstract int this[int index] - { - get; - internal protected set; - } - public event Event E; - public static A operator +(A first, A second) - { - return first.Add(second); - } - fixed int field[10]; - class C - { - } - } - public interface I - { - void A(int value); - string Value - { - get; - set; - } - } - [type: Flags] - public enum E - { - A, - B = A, - C = 2 + A, - D, - } - - public delegate void Delegate(object P); - namespace Test - { - using System; - using System.Collections; - public class Список - { - public static IEnumerable Power(int number, int exponent) - { - Список Список = new Список(); - Список.Main(); - int counter = (0 + 0); - int אתר = 0; - while (++counter++ < --exponent--) - { - result = result * number + +number+++++number; - yield return result; - } - } - static void Main() - { - foreach (int i in Power(2, 8)) - { - Console.Write("{0} ", i); - } - } - async void Wait() - { - await System.Threading.Tasks.Task.Delay(0); - } - void AsyncAnonymous() // C # 5 feature - { - var task = Task.Factory.StartNew(async () => - { - return await new WebClient().DownloadStringTaskAsync("http://example.com"); - }); - } - } - } -} - -namespace ConsoleApplication1 -{ - namespace RecursiveGenericBaseType - { - class A : B, A> where T : A - { - protected virtual A M() { } - protected abstract B, A> N() { } - static B, A> O() { } - } - - sealed class B : A> - { - protected override A M() { } - protected sealed override B, A> N() { } - new static A O() { } - } - } - - namespace Boo - { - public class Bar where T : IComparable - { - public T f; - public class Foo : IEnumerable - { - public void Method(K k, T t, U u) - where K : IList, IList, IList - where V : IList - { - A a; - M(A(5)); - } - }; - }; - }; - - class Test - { - void Bar3() - { - var x = new Boo.Bar.Foo(); - x.Method(" ", 5, new object()); - - var q = from i in new int[] { 1, 2, 3, 4 } - where i > 5 - select i; - } - - public static implicit operator Test(string s) - { - return new ConsoleApplication1.Test(); - } - public static explicit operator Test(string s = "") - { - return new Test(); - } - - public int foo = 5; - void Bar2() - { - foo = 6; - this.Foo = 5.GetType(); Test t = "sss"; - } - - public event EventHandler MyEvent = delegate { }; - - void Blah() - { - int i = 5; - int? j = 6; - - Expression> e = () => i; - Expression> e2 = b => () => { return; }; - Func f = async delegate (bool a) - { - return await !a; - }; - Func f2 = (a, b) => 0; - f2 = (int a, int b) => 1; - Action a = Blah; - f2 = () => {}; - f2 = () => {;}; - } - - delegate Recursive Recursive(Recursive r); - delegate Recursive Recursive(Recursive r); - - public Type Foo - { - [Obsolete("Name", error = false)] - get - { - var result = typeof(IEnumerable); - var t = typeof(int?) == typeof(Nullable); - t = typeof(IEnumerable); - return typeof(IEnumerable<>); - } - set - { - var t = typeof(System.Int32); - t.ToString(); - t = value; - } - } - - public void Constants() - { - int i = 1 + 2 + 3 + 5; - global::System.String s = "a" + (System.String)"a" + "a" + "a" + "a" + "A"; - } - - public void ConstructedType() - { - List i = null; - int c = i.Count; - } - } -} - -namespace Comments.XmlComments.UndocumentedKeywords -{ - /// - /// Whatever - /// - /// - /// // - /// /* */ - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - class /*///*/C - { - void M(T t, U u) - { - // comment - /* *** / */ - /* // - */ - /*s*///comment - // /***/ - /*s*/int /*s*/intValue = 0; - intValue = intValue /*s*/+ 1; - string strValue = /*s*/"hello"; - /*s*/MyClass c = new MyClass(); - string verbatimStr = /*s*/@"\\\\"; - } - } - - //General Test F. Type a very long class name, verify colorization happens correctly only upto the correct size (118324) - class TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/*Scen8*/{ } - - class TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22/*Scen9*/{ } - - class yield - { - void Params(ref dynamic a, out dynamic b, params dynamic[] c) {} - void Params(out dynamic a = 2, ref dynamic c = default(dynamic), params dynamic[][] c) {} - - public override string ToString() { return base.ToString(); } - - public partial void OnError(); - - public partial void method() - { - int?[] a = new int?[5];/*[] bug*/ // YES [] - int[] var = { 1, 2, 3, 4, 5 };/*,;*/ - int i = a[i];/*[]*/ - Foo f = new Foo();/*<> ()*/ - f.method();/*().*/ - i = i + i - i * i / i % i & i | i ^ i;/*+ - * / % & | ^*/ - bool b = true & false | true ^ false;/*& | ^*/ - b = !b;/*!*/ - i = ~i;/*~i*/ - b = i < i && i > i;/*< && >*/ - int? ii = 5;/*? bug*/ // NO ? - int f = true ? 1 : 0;/*? :*/ // YES : - i++;/*++*/ - i--;/*--*/ - b = true && false || true;/*&& ||*/ - b = i == i && i != i && i <= i && i >= i;/*= == && != <= >=*/ - i += 5.0;/*+=*/ - i -= i;/*-=*/ - i *= i;/**=*/ - i /= i;/*/=*/ - i %= i;/*%=*/ - i &= i;/*&=*/ - i |= i;/*|=*/ - i ^= i;/*^=*/ - i <<= i;/*<<=*/ - i >>= i;/*>>=*/ - object s = x => x + 1;/*=>*/ - double d = .3; - Point point; - unsafe - { - Point* p = &point;/** &*/ - p->x = 10;/*->*/ - } - IO::BinaryReader br = null; - x[i: 1] = 3; - x[i: 1, j: 5] = "str"; - } - - struct Point { public int X; public int Y; public void ThisAccess() { this = this; } } - } - - // From here:https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6 - class CSharp6Features - { - // Initializers for auto-properties - public string First { get; set; } = "Jane"; - public string Last { get; set; } = "Doe"; - - // Getter-only auto-properties - public string Third { get; } = "Jane"; - public string Fourth { get; } = "Doe"; - - // Expression bodies on method-like members - public Point Move(int dx, int dy) => new Point(x + dx, y + dy); - public static Complex operator +(Complex a, Complex b) => a.Add(b); - public static implicit operator string(Person p) => p.First + " " + p.Last; - public void Print() => Console.WriteLine(First + " " + Last); - - // Expression bodies on property-like function members - public string Name => First + " " + Last; - public int this[long id] => id; - - async void Test() - { - // Using static - WriteLine(Sqrt(3*3 + 4*4)); - WriteLine(Friday - Monday); - var range = Range(5, 17); // Ok: not extension - var even = range.Where(i => i % 2 == 0); // Ok - - // Null-conditional operators - int? length = customers?.Length; // null if customers is null - Customer first = customers?[0]; // null if customers is null - int length = customers?.Length ?? 0; // 0 if customers is null - int? first = customers?[0]?.Orders?.Count(); - PropertyChanged?.Invoke(this, args); - - // String interpolation - string s = $"{p.Name, 20} is {p.Age:D3} year{{s}} old #"; - s = $"{p.Name} is \"{p.Age} year{(p.Age == 1 ? "" : "s")} old"; - s = $"{(p.Age == 2 ? $"{new Person { } }" : "")}"; - s = $@"\{p.Name} - ""\"; - s = $"Color [ R={func(b: 3):#0.##}, G={G:#0.##}, B={B:#0.##}, A={A:#0.##} ]"; - - // nameof expressions - if (x == null) - throw new ArgumentNullException(nameof(x)); - WriteLine(nameof(person.Address.ZipCode)); // prints "ZipCode" - - // Index initializers - var numbers = new Dictionary { - [7] = "seven", - [9] = "nine", - [13] = "thirteen" - }; - - // Exception filters - try {} - catch (MyException e) when (myfilter(e)) - { } - - // Await in catch and finally blocks - Resource res = null; - try - { - res = await Resource.OpenAsync(); // You could do this. - } - catch(ResourceException e) - { - await Resource.LogAsync(res, e); // Now you can do this … - } - finally - { - if (res != null) - await res.CloseAsync(); // … and this. - } - } - } -} \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/ReadMe.md b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/ReadMe.md deleted file mode 100644 index 8c980e65c..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/ReadMe.md +++ /dev/null @@ -1,5 +0,0 @@ -# Sample: AllInOneNoPreprocessor-v6 - -This is a standard sample based off a test file originating with the Roslyn project. - -This version contains samples of most of the C# constructs up to C# v6. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.gruntree.red.txt deleted file mode 100644 index cca8ec9ee..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.gruntree.red.txt +++ /dev/null @@ -1,19654 +0,0 @@ -⎛ -⎜ prog -⎜ ⎛ -⎜ ⎜ compilation_unit -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ extern_alias_directive -⎜ ⎜ ⎜ extern -⎜ ⎜ ⎜ alias -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ Foo -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ; -⎜ ⎜ ⎝ -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ using_directive -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ using_namespace_directive -⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ namespace_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎝ -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ using_directive -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ using_namespace_directive -⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ namespace_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Collections -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Generic -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎝ -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ using_directive -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ using_namespace_directive -⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ namespace_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Linq -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎝ -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ using_directive -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ using_namespace_directive -⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ namespace_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Linq -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Expressions -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎝ -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ using_directive -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ using_namespace_directive -⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ namespace_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Text -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎝ -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ using_directive -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ using_alias_directive -⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ M -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Math -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎝ -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ using_directive -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ using_namespace_directive -⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ namespace_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ConsoleApplication2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎝ -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ using_directive -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ using_alias_directive -⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ X -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎝ -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ using_directive -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ using_alias_directive -⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ Y -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ABC -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ X -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎝ -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ using_directive -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ using_static_directive -⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ static -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Math -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎝ -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ using_directive -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ using_static_directive -⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ static -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DayOfWeek -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎝ -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ using_directive -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ using_static_directive -⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ static -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Linq -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Enumerable -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎝ -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ global_attributes -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ global_attribute_section -⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ global_attribute_target_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ global_attribute_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assembly -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Copyright -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "(C)" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ " \n\n2009" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ global_attribute_section -⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ global_attribute_target_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ global_attribute_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ module -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Copyright -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "\n\t\u0123(C) \"2009" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "\u0123" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎝ -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ class_declaration -⎜ ⎜ ⎜ ⎜ class -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ TopLevelType -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ class_base -⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IDisposable -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ class_body -⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IDisposable -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Dispose -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎝ -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ namespace_declaration -⎜ ⎜ ⎜ ⎜ namespace -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ qualified_identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ My -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ namespace_body -⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_directive -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_namespace_directive -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CoContra -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CoContra2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variance_annotation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_constraint -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_base -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ I -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DllImport -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "kernel32" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ named_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ named_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ SetLastError -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_argument_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ extern -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CreateDirectory -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ SecurityAttribute -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sa -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ private -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ const -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ global -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ predefined_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MinValue -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static_constructor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static_constructor_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static_constructor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ param -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foo -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ labeled_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ L -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sizeof_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sizeof -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unmanaged_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_increment_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔x 〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolation_minimum_width -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:d〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_verbatim_string_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$@"〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔x 〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ verbatim_interpolation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolation_minimum_width -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:d〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Console -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WriteLine -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ export -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ iefSupplied -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ command -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_constant_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ const -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ predefined_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MaxValue -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_constant_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ const -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_reference_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_reference_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Guid -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Guid -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ r -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ToString -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ привет -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ мир -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local3 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local4 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local3 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local4 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ as -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ?? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local6 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ is -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ u -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1u -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1U -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ long -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ hex -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0xBADC0DE -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Hex -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0XDEADBEEF -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ l -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1L -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ L -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1L -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ l2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2l -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ulong -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ul -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1ul -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Ul -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1Ul -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ uL -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1uL -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ UL -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1UL -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lu -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1lu -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Lu -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1Lu -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lU -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1lU -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ LU -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1LU -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ minInt32Value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2147483648 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ minInt64Value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 9223372036854775808L -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @bool -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ byte -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @byte -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ char -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @char -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 'c' -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ \u0066 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ '\u0066' -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ hexchar -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ '\x0130' -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ hexchar2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ cast_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ char -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0xBAD -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ \U00000065 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "\U00000065" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ numeric_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ decimal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @decimal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.44M -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @decimal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.2m -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @dynamic -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ floating_point_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ double -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @double -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ PI -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @double -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1d -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @double -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1D -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @double -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.2e3 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ floating_point_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ float -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @float -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.2f -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @float -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.44F -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ?? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ long -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @long -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @object -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sbyte -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @sbyte -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ short -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @short -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "/*" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ uint -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @uint -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ulong -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @ulong -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ushort -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @ushort -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ add -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ alias -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arglist -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ascending -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ by -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ descending -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ group -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nameof -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ remove -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ when -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ __ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ else -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Exception -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ o1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyObject -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ o2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyObject -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ o3 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyObject -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ o4 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyObject -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @dynamic -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ o5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_object_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dictionaryInitializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Dictionary -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ collection_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ floating_point_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ float -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ floating_point_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ float -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ collection_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0f -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1.1f -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ cube -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 111 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 112 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 121 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 122 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 211 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 212 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 221 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 222 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ jagged -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 111 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 121 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 122 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arr -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arr -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arr -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 47 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ arrayTypeInference -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_label -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ case -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_label -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ case -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ case -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_label -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ case -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pattern -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ switch_label -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ while_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ while -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 10 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_increment_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ do_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ do -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_increment_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ while -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 10 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_condition -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 100 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_iterator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_increment_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_condition -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ length -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ for_iterator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ labeled_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ label -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ goto -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ label -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ labeled_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ label2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ empty_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foreach_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foreach -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Items -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 7 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ else -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ continue -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lock_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lock -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sync -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ process -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ resource_acquisition -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ v -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ BeginScope -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ resource_acquisition -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ resource_acquisition -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ resource_acquisition -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ BeginScope -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ items -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ break -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unmanaged_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 100 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ q -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ & -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_reference -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ y -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_indirection_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ intref -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_pointer_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ stackalloc -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unmanaged_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 100 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_indirection_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ intref -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch_clauses -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ specific_catch_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exception_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ AccessViolationException -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ av -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ av -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ specific_catch_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exception_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Exception -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finally_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finally -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch_clauses -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ general_catch_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ let -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ != -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join_into_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ join -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ on -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equals -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetHashCode -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_or_group_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ group_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ group -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ by -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Country -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_continuation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderings -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ordering_direction -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ascending -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderby -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ orderings -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Key -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ descending -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_or_group_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_object_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Country -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Key -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CustCount -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ g -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_or_group_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_continuation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ into -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finalizer_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ~ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finalizer_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ private -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ readonly -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ NonExisting -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_alias_member -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ :: -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ NonExisting -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CLSCompliant -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ NonSerialized -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ NonSerialized -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CLSCompliant -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ || -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ & -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ private -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ volatile -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Handler -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ m -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_constraint -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_constraint -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ m -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "A" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ index -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ internal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ internal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_accessor_declarations -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ add_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ add -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ remove_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ remove -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ += -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Handler -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -= -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Handler -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ binary_operator_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ overloadable_binary_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ second -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Delegate -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ handler -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Delegate -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Handler -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Add -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ second -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_operator_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ overloadable_unary_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_operator_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ overloadable_unary_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ S -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_interfaces -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_type_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ I -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ S -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constructor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ private -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Use Script instead" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ error -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_argument_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ private -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ volatile -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ m -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_constraint -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "A" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ index -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ internal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Event -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ binary_operator_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ overloadable_binary_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ second -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Add -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ second -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_size_buffer_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ buffer_element_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_size_buffer_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_size_buffer_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 10 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ I -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_property_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interface_accessors -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Flags -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_member_declarations -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ constant_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ enum_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Delegate -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_directive -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_namespace_directive -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_directive -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using_namespace_directive -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ using -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Collections -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Список -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IEnumerable -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Power -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ number -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exponent -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Список -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Список -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Список -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Список -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Main -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ counter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parenthesized_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ אתר -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ while_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ while -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_increment_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ counter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pre_decrement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -- -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_decrement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exponent -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -- -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ result -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ result -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ number -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ number -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ number -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ result -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Main -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foreach_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foreach -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Power -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 8 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Console -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Write -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "{0} " -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Wait -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Threading -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Tasks -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Task -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Delay -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ AsyncAnonymous -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ task -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Task -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Factory -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ StartNew -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WebClient -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DownloadStringTaskAsync -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "http://example.com" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎝ -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ namespace_declaration -⎜ ⎜ ⎜ ⎜ namespace -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ qualified_identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ConsoleApplication1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ namespace_body -⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ RecursiveGenericBaseType -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_base -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ virtual -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ abstract -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ N -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ O -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sealed -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_base -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ override -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ protected -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ sealed -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ override -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ N -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ O -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Boo -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Bar -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IComparable -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_base -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IEnumerable -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Method -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ V -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ k -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ u -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_constraint -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IList -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ V -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ secondary_constraints -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ secondary_constraint -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IList -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ secondary_constraint -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IList -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ V -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_constraints -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IList -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Bar3 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Boo -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Bar -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Method -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ " " -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ q -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ from -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ in -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ collection_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 4 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ query_body_clauses -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ where -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_or_group_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ select -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conversion_operator_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ConsoleApplication1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conversion_operator_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foo -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Bar2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ foo -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 6 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ GetType -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "sss" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ event -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ EventHandler -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyEvent -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_method_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Blah -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 6 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Func -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Func -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Func -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_method_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ logical_negation_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Func -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit_anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit_anonymous_function_parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit_anonymous_function_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit_anonymous_function_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Action -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Blah -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicit_anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ empty_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ r -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ delegate_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variant_type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ R -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Recursive -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ R -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ r -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attributes -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_section -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Obsolete -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ positional_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Name" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ named_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ named_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ error -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ attribute_argument_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ result -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IEnumerable -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Nullable -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IEnumerable -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unbound_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IEnumerable -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ generic_dimension_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ typeof -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Int32 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ToString -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Constants -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_alias_member -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ global -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ :: -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ String -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ cast_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ String -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "a" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "A" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ConstructedType -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ List -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎝ -⎜ ⎜ ⎛ -⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ namespace_declaration -⎜ ⎜ ⎜ ⎜ namespace -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ qualified_identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Comments -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ XmlComments -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ UndocumentedKeywords -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ namespace_body -⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ t -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ U -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ u -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ intValue -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ intValue -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ intValue -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ strValue -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "hello" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyClass -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyClass -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ verbatimStr -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ @ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "\\\\" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ yield -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Params -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_array -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ params -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Params -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ out -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_mode_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explictly_typed_default -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ default -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_array -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ params -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dynamic -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ c -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ override -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ToString -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ base -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ToString -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ OnError -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ partial -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_array_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ rank_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ array_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 4 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Foo -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ / -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ % -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ & -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ | -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exclusive_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exclusive_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ^ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ simple_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ bool -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ & -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ | -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exclusive_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exclusive_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ^ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ logical_negation_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ! -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ~ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ii -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ f -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_increment_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ++ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ post_decrement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -- -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ false -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ || -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ true -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_and_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ != -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ <= -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ && -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ inclusive_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ >= -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ += -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5.0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -= -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ *= -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ /= -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ %= -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ &= -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ |= -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ^= -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ <<= -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ right_shift_assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ >= -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ floating_point_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ double -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ d -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ .3 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Point -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ point -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unsafe -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Point -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ addressof_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ & -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ point -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ pointer_member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ -> -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 10 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_alias_member -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ IO -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ :: -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ BinaryReader -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ br -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ element_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ j -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "str" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Point -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ X -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ field_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Y -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ struct_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ThisAccess -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CSharp6Features -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ First -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Jane" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Last -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ set -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Doe" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Third -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Jane" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Fourth -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_declarations -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get_accessor_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ get -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ accessor_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "Doe" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Point -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Move -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameters -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dx -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dy -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Point -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dx -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ y -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dy -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ binary_operator_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Complex -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ overloadable_binary_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Complex -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Complex -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ a -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Add -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ static -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conversion_operator_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicit -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Person -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ operator_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ First -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ " " -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Last -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ref_method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Print -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Console -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WriteLine -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ First -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ " " -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Last -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ property_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ First -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ " " -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Last -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ public -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parameter_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ fixed_parameter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ long -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ id -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ indexer_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ id -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ async -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Test -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WriteLine -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Sqrt -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ + -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 4 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ * -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 4 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WriteLine -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ additive_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Friday -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ - -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Monday -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ range -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Range -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 5 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 17 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ even -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ range -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Where -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ lambda_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_signature -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ => -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ anonymous_function_body -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ multiplicative_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ i -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ % -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ length -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Length -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Customer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_element_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ length -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_or_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Length -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ?? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ non_nullable_value_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nullable_type_annotation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ first -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_element_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_no_array_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ customers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 0 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Orders -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Count -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ dependent_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_conditional_member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ PropertyChanged -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Invoke -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ this -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ args -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolation_minimum_width -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 20 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 is 〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Age -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:D3〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 year{{s}} old #〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 is \"〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Age -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 year〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parenthesized_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Age -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "s" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 old〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ parenthesized_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ conditional_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_coalescing_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Age -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ? -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Person -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_verbatim_string_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$@"〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔\〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ verbatim_interpolation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ p -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔\n ""\〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ s -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ interpolated_regular_string_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔$"〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔Color [ R=〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ func -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ b -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ : -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 3 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:#0.##〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔, G=〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:#0.##〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔, B=〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:#0.##〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔, A=〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ regular_interpolation -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔:#0.##〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔 ]〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 〔"〕 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ == -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ throw -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ArgumentNullException -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nameof -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ WriteLine -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ nameof -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ person -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Address -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ZipCode -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ numbers -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_creation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ new -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Dictionary -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_or_collection_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ object_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 7 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "seven" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 9 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "nine" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_target -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ [ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ 13 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ] -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ initializer_value -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ "thirteen" -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch_clauses -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ specific_catch_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exception_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ MyException -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exception_filter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ when -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ myfilter -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Resource -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarators -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ explicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ res -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_initializer -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ try -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ res -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Resource -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ OpenAsync -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch_clauses -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ specific_catch_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ catch -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ exception_specifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ResourceException -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Resource -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ LogAsync -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ res -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ e -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finally_clause -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ finally -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ if -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ boolean_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ equality_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ res -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ != -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null_literal -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ null -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ embedded_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ await -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_access -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ res -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ CloseAsync -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ } -⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎝ -⎜ ⎝ -⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tokens.txt deleted file mode 100644 index 9a0363679..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tokens.txt +++ /dev/null @@ -1,3610 +0,0 @@ -[@0,0:5='extern',<'extern'>,1:0] -[@1,7:11='alias',<'alias'>,1:7] -[@2,13:15='Foo',,1:13] -[@3,16:16=';',<';'>,1:16] -[@4,19:23='using',<'using'>,3:0] -[@5,25:30='System',,3:6] -[@6,31:31=';',<';'>,3:12] -[@7,33:37='using',<'using'>,4:0] -[@8,39:44='System',,4:6] -[@9,45:45='.',<'.'>,4:12] -[@10,46:56='Collections',,4:13] -[@11,57:57='.',<'.'>,4:24] -[@12,58:64='Generic',,4:25] -[@13,65:65=';',<';'>,4:32] -[@14,67:71='using',<'using'>,5:0] -[@15,73:78='System',,5:6] -[@16,79:79='.',<'.'>,5:12] -[@17,80:83='Linq',,5:13] -[@18,84:84=';',<';'>,5:17] -[@19,86:90='using',<'using'>,6:0] -[@20,92:97='System',,6:6] -[@21,98:98='.',<'.'>,6:12] -[@22,99:102='Linq',,6:13] -[@23,103:103='.',<'.'>,6:17] -[@24,104:114='Expressions',,6:18] -[@25,115:115=';',<';'>,6:29] -[@26,117:121='using',<'using'>,7:0] -[@27,123:128='System',,7:6] -[@28,129:129='.',<'.'>,7:12] -[@29,130:133='Text',,7:13] -[@30,134:134=';',<';'>,7:17] -[@31,136:140='using',<'using'>,8:0] -[@32,142:142='M',,8:6] -[@33,144:144='=',<'='>,8:8] -[@34,146:151='System',,8:10] -[@35,152:152='.',<'.'>,8:16] -[@36,153:156='Math',,8:17] -[@37,157:157=';',<';'>,8:21] -[@38,160:164='using',<'using'>,10:0] -[@39,166:184='ConsoleApplication2',,10:6] -[@40,185:185='.',<'.'>,10:25] -[@41,186:189='Test',,10:26] -[@42,190:190=';',<';'>,10:30] -[@43,354:358='using',<'using'>,17:0] -[@44,360:360='X',,17:6] -[@45,362:362='=',<'='>,17:8] -[@46,364:367='int1',,17:10] -[@47,368:368=';',<';'>,17:14] -[@48,370:374='using',<'using'>,18:0] -[@49,376:376='Y',,18:6] -[@50,378:378='=',<'='>,18:8] -[@51,380:382='ABC',,18:10] -[@52,383:383='.',<'.'>,18:13] -[@53,384:384='X',,18:14] -[@54,385:385='<',<'<'>,18:15] -[@55,386:388='int',<'int'>,18:16] -[@56,389:389='>',<'>'>,18:19] -[@57,390:390=';',<';'>,18:20] -[@58,393:397='using',<'using'>,20:0] -[@59,399:404='static',<'static'>,20:6] -[@60,406:411='System',,20:13] -[@61,412:412='.',<'.'>,20:19] -[@62,413:416='Math',,20:20] -[@63,417:417=';',<';'>,20:24] -[@64,419:423='using',<'using'>,21:0] -[@65,425:430='static',<'static'>,21:6] -[@66,432:437='System',,21:13] -[@67,438:438='.',<'.'>,21:19] -[@68,439:447='DayOfWeek',,21:20] -[@69,448:448=';',<';'>,21:29] -[@70,450:454='using',<'using'>,22:0] -[@71,456:461='static',<'static'>,22:6] -[@72,463:468='System',,22:13] -[@73,469:469='.',<'.'>,22:19] -[@74,470:473='Linq',,22:20] -[@75,474:474='.',<'.'>,22:24] -[@76,475:484='Enumerable',,22:25] -[@77,485:485=';',<';'>,22:35] -[@78,488:488='[',<'['>,24:0] -[@79,489:496='assembly',,24:1] -[@80,497:497=':',<':'>,24:9] -[@81,499:504='System',,24:11] -[@82,505:505='.',<'.'>,24:17] -[@83,506:514='Copyright',,24:18] -[@84,515:515='(',<'('>,24:27] -[@85,516:530='@"(C)"" \n\n2009"',,24:28] -[@86,531:531=')',<')'>,26:5] -[@87,532:532=']',<']'>,26:6] -[@88,534:534='[',<'['>,27:0] -[@89,535:540='module',,27:1] -[@90,541:541=':',<':'>,27:7] -[@91,543:548='System',,27:9] -[@92,549:549='.',<'.'>,27:15] -[@93,550:558='Copyright',,27:16] -[@94,559:559='(',<'('>,27:25] -[@95,560:581='"\n\t\u0123(C) \"2009"',,27:26] -[@96,583:583='+',<'+'>,27:49] -[@97,585:592='"\u0123"',,27:51] -[@98,593:593=')',<')'>,27:59] -[@99,594:594=']',<']'>,27:60] -[@100,597:601='class',<'class'>,29:0] -[@101,603:614='TopLevelType',,29:6] -[@102,616:616=':',<':'>,29:19] -[@103,618:628='IDisposable',,29:21] -[@104,630:630='{',<'{'>,30:0] -[@105,636:639='void',<'void'>,31:4] -[@106,641:651='IDisposable',,31:9] -[@107,652:652='.',<'.'>,31:20] -[@108,653:659='Dispose',,31:21] -[@109,660:660='(',<'('>,31:28] -[@110,661:661=')',<')'>,31:29] -[@111,663:663='{',<'{'>,31:31] -[@112,665:665='}',<'}'>,31:33] -[@113,667:667='}',<'}'>,32:0] -[@114,670:678='namespace',<'namespace'>,34:0] -[@115,680:681='My',,34:10] -[@116,683:683='{',<'{'>,35:0] -[@117,689:693='using',<'using'>,36:4] -[@118,695:695='A',,36:10] -[@119,696:696='.',<'.'>,36:11] -[@120,697:697='B',,36:12] -[@121,698:698=';',<';'>,36:13] -[@122,705:713='interface',<'interface'>,38:4] -[@123,715:722='CoContra',,38:14] -[@124,723:723='<',<'<'>,38:22] -[@125,724:726='out',<'out'>,38:23] -[@126,728:728='T',,38:27] -[@127,729:729=',',<','>,38:28] -[@128,731:732='in',<'in'>,38:30] -[@129,734:734='K',,38:33] -[@130,735:735='>',<'>'>,38:34] -[@131,737:737='{',<'{'>,38:36] -[@132,739:739='}',<'}'>,38:38] -[@133,745:752='delegate',<'delegate'>,39:4] -[@134,754:757='void',<'void'>,39:13] -[@135,759:767='CoContra2',,39:18] -[@136,768:768='<',<'<'>,39:27] -[@137,769:769='[',<'['>,39:28] -[@138,770:775='System',,39:29] -[@139,776:776='.',<'.'>,39:35] -[@140,777:784='Obsolete',,39:36] -[@141,785:785='(',<'('>,39:44] -[@142,786:786=')',<')'>,39:45] -[@143,787:787=']',<']'>,39:46] -[@144,789:791='out',<'out'>,39:48] -[@145,793:793='T',,39:52] -[@146,794:794=',',<','>,39:53] -[@147,796:797='in',<'in'>,39:55] -[@148,799:799='K',,39:58] -[@149,800:800='>',<'>'>,39:59] -[@150,802:802='(',<'('>,39:61] -[@151,803:803=')',<')'>,39:62] -[@152,805:809='where',<'where'>,39:64] -[@153,811:811='T',,39:70] -[@154,813:813=':',<':'>,39:72] -[@155,815:820='struct',<'struct'>,39:74] -[@156,821:821=';',<';'>,39:80] -[@157,828:833='public',<'public'>,41:4] -[@158,835:840='unsafe',<'unsafe'>,41:11] -[@159,842:848='partial',<'partial'>,41:18] -[@160,850:854='class',<'class'>,41:26] -[@161,856:856='A',,41:32] -[@162,858:858=':',<':'>,41:34] -[@163,860:860='C',,41:36] -[@164,861:861=',',<','>,41:37] -[@165,863:863='I',,41:39] -[@166,869:869='{',<'{'>,42:4] -[@167,879:879='[',<'['>,43:8] -[@168,880:888='DllImport',,43:9] -[@169,889:889='(',<'('>,43:18] -[@170,890:899='"kernel32"',,43:19] -[@171,900:900=',',<','>,43:29] -[@172,902:913='SetLastError',,43:31] -[@173,915:915='=',<'='>,43:44] -[@174,917:920='true',<'true'>,43:46] -[@175,921:921=')',<')'>,43:50] -[@176,922:922=']',<']'>,43:51] -[@177,932:937='static',<'static'>,44:8] -[@178,939:944='extern',<'extern'>,44:15] -[@179,946:949='bool',<'bool'>,44:22] -[@180,951:965='CreateDirectory',,44:27] -[@181,966:966='(',<'('>,44:42] -[@182,967:972='string',<'string'>,44:43] -[@183,974:977='name',,44:50] -[@184,978:978=',',<','>,44:54] -[@185,980:996='SecurityAttribute',,44:56] -[@186,998:999='sa',,44:74] -[@187,1000:1000=')',<')'>,44:76] -[@188,1001:1001=';',<';'>,44:77] -[@189,1012:1018='private',<'private'>,46:8] -[@190,1020:1024='const',<'const'>,46:16] -[@191,1026:1028='int',<'int'>,46:22] -[@192,1030:1035='global',<'global'>,46:26] -[@193,1037:1037='=',<'='>,46:33] -[@194,1039:1041='int',<'int'>,46:35] -[@195,1042:1042='.',<'.'>,46:38] -[@196,1043:1050='MinValue',,46:39] -[@197,1052:1052='-',<'-'>,46:48] -[@198,1054:1054='1',,46:50] -[@199,1055:1055=';',<';'>,46:51] -[@200,1066:1071='static',<'static'>,48:8] -[@201,1073:1073='A',,48:15] -[@202,1074:1074='(',<'('>,48:16] -[@203,1075:1075=')',<')'>,48:17] -[@204,1086:1086='{',<'{'>,49:8] -[@205,1097:1097='}',<'}'>,50:8] -[@206,1108:1108='[',<'['>,52:8] -[@207,1109:1114='method',,52:9] -[@208,1115:1115=':',<':'>,52:15] -[@209,1117:1124='Obsolete',,52:17] -[@210,1125:1125=']',<']'>,52:25] -[@211,1135:1140='public',<'public'>,53:8] -[@212,1142:1142='A',,53:15] -[@213,1143:1143='(',<'('>,53:16] -[@214,1144:1144='[',<'['>,53:17] -[@215,1145:1149='param',,53:18] -[@216,1150:1150=':',<':'>,53:23] -[@217,1152:1159='Obsolete',,53:25] -[@218,1160:1160=']',<']'>,53:33] -[@219,1162:1164='int',<'int'>,53:35] -[@220,1166:1168='foo',,53:39] -[@221,1169:1169=')',<')'>,53:42] -[@222,1171:1171=':',<':'>,53:44] -[@223,1185:1188='base',<'base'>,54:12] -[@224,1189:1189='(',<'('>,54:16] -[@225,1190:1190='1',,54:17] -[@226,1191:1191=')',<')'>,54:18] -[@227,1201:1201='{',<'{'>,55:8] -[@228,1211:1211='L',,56:8] -[@229,1212:1212=':',<':'>,56:9] -[@230,1226:1226='{',<'{'>,57:12] -[@231,1244:1246='int',<'int'>,58:16] -[@232,1248:1248='i',,58:20] -[@233,1250:1250='=',<'='>,58:22] -[@234,1252:1257='sizeof',<'sizeof'>,58:24] -[@235,1258:1258='(',<'('>,58:30] -[@236,1259:1261='int',<'int'>,58:31] -[@237,1262:1262=')',<')'>,58:34] -[@238,1263:1263=';',<';'>,58:35] -[@239,1281:1282='++',<'++'>,59:16] -[@240,1283:1283='i',,59:18] -[@241,1284:1284=';',<';'>,59:19] -[@242,1302:1304='var',<'var'>,60:16] -[@243,1306:1307='s1',,60:20] -[@244,1309:1309='=',<'='>,60:23] -[@245,1311:1312='〔$"〕',,60:25] -[@246,1313:1314='〔x 〕',,60:27] -[@247,1315:1315='{',<'{'>,60:29] -[@248,1316:1316='1',,60:30] -[@249,1318:1318=',',<','>,60:32] -[@250,1320:1320='-',<'-'>,60:34] -[@251,1321:1321='2',,60:35] -[@252,1323:1324='〔:d〕',,60:37] -[@253,1325:1325='}',<'}'>,60:39] -[@254,1326:1326='〔"〕',,60:40] -[@255,1327:1327=';',<';'>,60:41] -[@256,1345:1347='var',<'var'>,61:16] -[@257,1349:1350='s2',,61:20] -[@258,1352:1352='=',<'='>,61:23] -[@259,1354:1356='〔$@"〕',,61:25] -[@260,1357:1358='〔x 〕',,61:28] -[@261,1359:1359='{',<'{'>,61:30] -[@262,1360:1360='1',,61:31] -[@263,1362:1362=',',<','>,61:33] -[@264,1364:1364='-',<'-'>,61:35] -[@265,1365:1365='2',,61:36] -[@266,1367:1368='〔:d〕',,61:38] -[@267,1369:1369='}',<'}'>,61:40] -[@268,1370:1370='〔"〕',,61:41] -[@269,1371:1371=';',<';'>,61:42] -[@270,1385:1385='}',<'}'>,62:12] -[@271,1395:1401='Console',,65:6] -[@272,1402:1402='.',<'.'>,65:13] -[@273,1403:1411='WriteLine',,65:14] -[@274,1412:1412='(',<'('>,65:23] -[@275,1413:1418='export',,65:24] -[@276,1419:1419='.',<'.'>,65:30] -[@277,1420:1430='iefSupplied',,65:31] -[@278,1431:1431='.',<'.'>,65:42] -[@279,1432:1438='command',,65:43] -[@280,1439:1439=')',<')'>,65:50] -[@281,1440:1440=';',<';'>,65:51] -[@282,1455:1459='const',<'const'>,67:12] -[@283,1461:1463='int',<'int'>,67:18] -[@284,1464:1464='?',<'?'>,67:21] -[@285,1466:1470='local',,67:23] -[@286,1472:1472='=',<'='>,67:29] -[@287,1474:1476='int',<'int'>,67:31] -[@288,1477:1477='.',<'.'>,67:34] -[@289,1478:1485='MaxValue',,67:35] -[@290,1486:1486=';',<';'>,67:43] -[@291,1500:1504='const',<'const'>,68:12] -[@292,1506:1509='Guid',,68:18] -[@293,1510:1510='?',<'?'>,68:22] -[@294,1512:1517='local0',,68:24] -[@295,1519:1519='=',<'='>,68:31] -[@296,1521:1523='new',<'new'>,68:33] -[@297,1525:1528='Guid',,68:37] -[@298,1529:1529='(',<'('>,68:41] -[@299,1530:1530='r',,68:42] -[@300,1531:1531='.',<'.'>,68:43] -[@301,1532:1539='ToString',,68:44] -[@302,1540:1540='(',<'('>,68:52] -[@303,1541:1541=')',<')'>,68:53] -[@304,1542:1542=')',<')'>,68:54] -[@305,1543:1543=';',<';'>,68:55] -[@306,1558:1560='var',<'var'>,70:12] -[@307,1562:1567='привет',,70:16] -[@308,1569:1569='=',<'='>,70:23] -[@309,1571:1575='local',,70:25] -[@310,1576:1576=';',<';'>,70:30] -[@311,1590:1592='var',<'var'>,71:12] -[@312,1594:1596='мир',,71:16] -[@313,1598:1598='=',<'='>,71:20] -[@314,1600:1604='local',,71:22] -[@315,1605:1605=';',<';'>,71:27] -[@316,1619:1621='var',<'var'>,72:12] -[@317,1623:1628='local3',,72:16] -[@318,1630:1630='=',<'='>,72:23] -[@319,1632:1632='0',,72:25] -[@320,1633:1633=',',<','>,72:26] -[@321,1635:1640='local4',,72:28] -[@322,1642:1642='=',<'='>,72:35] -[@323,1644:1644='1',,72:37] -[@324,1645:1645=';',<';'>,72:38] -[@325,1659:1664='local3',,73:12] -[@326,1666:1666='=',<'='>,73:19] -[@327,1668:1673='local4',,73:21] -[@328,1675:1675='=',<'='>,73:28] -[@329,1677:1677='1',,73:30] -[@330,1678:1678=';',<';'>,73:31] -[@331,1692:1694='var',<'var'>,74:12] -[@332,1696:1701='local5',,74:16] -[@333,1703:1703='=',<'='>,74:23] -[@334,1705:1708='null',<'null'>,74:25] -[@335,1710:1711='as',<'as'>,74:30] -[@336,1713:1718='Action',,74:33] -[@337,1720:1721='??',<'??'>,74:40] -[@338,1723:1726='null',<'null'>,74:43] -[@339,1727:1727=';',<';'>,74:47] -[@340,1741:1743='var',<'var'>,75:12] -[@341,1745:1750='local6',,75:16] -[@342,1752:1752='=',<'='>,75:23] -[@343,1754:1759='local5',,75:25] -[@344,1761:1762='is',<'is'>,75:32] -[@345,1764:1769='Action',,75:35] -[@346,1770:1770=';',<';'>,75:41] -[@347,1785:1787='var',<'var'>,77:12] -[@348,1789:1789='u',,77:16] -[@349,1791:1791='=',<'='>,77:18] -[@350,1793:1794='1u',,77:20] -[@351,1795:1795=';',<';'>,77:22] -[@352,1809:1811='var',<'var'>,78:12] -[@353,1813:1813='U',,78:16] -[@354,1815:1815='=',<'='>,78:18] -[@355,1817:1818='1U',,78:20] -[@356,1819:1819=';',<';'>,78:22] -[@357,1833:1836='long',<'long'>,79:12] -[@358,1838:1840='hex',,79:17] -[@359,1842:1842='=',<'='>,79:21] -[@360,1844:1852='0xBADC0DE',,79:23] -[@361,1853:1853=',',<','>,79:32] -[@362,1855:1857='Hex',,79:34] -[@363,1859:1859='=',<'='>,79:38] -[@364,1861:1870='0XDEADBEEF',,79:40] -[@365,1871:1871=',',<','>,79:50] -[@366,1873:1873='l',,79:52] -[@367,1875:1875='=',<'='>,79:54] -[@368,1877:1877='-',<'-'>,79:56] -[@369,1878:1879='1L',,79:57] -[@370,1880:1880=',',<','>,79:59] -[@371,1882:1882='L',,79:61] -[@372,1884:1884='=',<'='>,79:63] -[@373,1886:1887='1L',,79:65] -[@374,1888:1888=',',<','>,79:67] -[@375,1890:1891='l2',,79:69] -[@376,1893:1893='=',<'='>,79:72] -[@377,1895:1896='2l',,79:74] -[@378,1897:1897=';',<';'>,79:76] -[@379,1911:1915='ulong',<'ulong'>,80:12] -[@380,1917:1918='ul',,80:18] -[@381,1920:1920='=',<'='>,80:21] -[@382,1922:1924='1ul',,80:23] -[@383,1925:1925=',',<','>,80:26] -[@384,1927:1928='Ul',,80:28] -[@385,1930:1930='=',<'='>,80:31] -[@386,1932:1934='1Ul',,80:33] -[@387,1935:1935=',',<','>,80:36] -[@388,1937:1938='uL',,80:38] -[@389,1940:1940='=',<'='>,80:41] -[@390,1942:1944='1uL',,80:43] -[@391,1945:1945=',',<','>,80:46] -[@392,1947:1948='UL',,80:48] -[@393,1950:1950='=',<'='>,80:51] -[@394,1952:1954='1UL',,80:53] -[@395,1955:1955=',',<','>,80:56] -[@396,1973:1974='lu',,81:16] -[@397,1976:1976='=',<'='>,81:19] -[@398,1978:1980='1lu',,81:21] -[@399,1981:1981=',',<','>,81:24] -[@400,1983:1984='Lu',,81:26] -[@401,1986:1986='=',<'='>,81:29] -[@402,1988:1990='1Lu',,81:31] -[@403,1991:1991=',',<','>,81:34] -[@404,1993:1994='lU',,81:36] -[@405,1996:1996='=',<'='>,81:39] -[@406,1998:2000='1lU',,81:41] -[@407,2001:2001=',',<','>,81:44] -[@408,2003:2004='LU',,81:46] -[@409,2006:2006='=',<'='>,81:49] -[@410,2008:2010='1LU',,81:51] -[@411,2011:2011=';',<';'>,81:54] -[@412,2025:2027='int',<'int'>,82:12] -[@413,2029:2041='minInt32Value',,82:16] -[@414,2043:2043='=',<'='>,82:30] -[@415,2045:2045='-',<'-'>,82:32] -[@416,2046:2055='2147483648',,82:33] -[@417,2056:2056=';',<';'>,82:43] -[@418,2070:2072='int',<'int'>,83:12] -[@419,2074:2086='minInt64Value',,83:16] -[@420,2088:2088='=',<'='>,83:30] -[@421,2090:2090='-',<'-'>,83:32] -[@422,2091:2110='9223372036854775808L',,83:33] -[@423,2111:2111=';',<';'>,83:53] -[@424,2126:2129='bool',<'bool'>,85:12] -[@425,2131:2135='@bool',,85:17] -[@426,2136:2136=';',<';'>,85:22] -[@427,2150:2153='byte',<'byte'>,86:12] -[@428,2155:2159='@byte',,86:17] -[@429,2160:2160=';',<';'>,86:22] -[@430,2174:2177='char',<'char'>,87:12] -[@431,2179:2183='@char',,87:17] -[@432,2185:2185='=',<'='>,87:23] -[@433,2187:2189=''c'',,87:25] -[@434,2190:2190=',',<','>,87:28] -[@435,2192:2197='\u0066',,87:30] -[@436,2199:2199='=',<'='>,87:37] -[@437,2201:2208=''\u0066'',,87:39] -[@438,2209:2209=',',<','>,87:47] -[@439,2211:2217='hexchar',,87:49] -[@440,2219:2219='=',<'='>,87:57] -[@441,2221:2228=''\x0130'',,87:59] -[@442,2229:2229=',',<','>,87:67] -[@443,2231:2238='hexchar2',,87:69] -[@444,2240:2240='=',<'='>,87:78] -[@445,2242:2242='(',<'('>,87:80] -[@446,2243:2246='char',<'char'>,87:81] -[@447,2247:2247=')',<')'>,87:85] -[@448,2248:2252='0xBAD',,87:86] -[@449,2253:2253=';',<';'>,87:91] -[@450,2267:2272='string',<'string'>,88:12] -[@451,2274:2283='\U00000065',,88:19] -[@452,2285:2285='=',<'='>,88:30] -[@453,2287:2298='"\U00000065"',,88:32] -[@454,2299:2299=';',<';'>,88:44] -[@455,2313:2319='decimal',<'decimal'>,89:12] -[@456,2321:2328='@decimal',,89:20] -[@457,2330:2330='=',<'='>,89:29] -[@458,2332:2336='1.44M',,89:31] -[@459,2337:2337=';',<';'>,89:36] -[@460,2351:2358='@decimal',,90:12] -[@461,2360:2360='=',<'='>,90:21] -[@462,2362:2365='1.2m',,90:23] -[@463,2366:2366=';',<';'>,90:27] -[@464,2380:2386='dynamic',<'dynamic'>,91:12] -[@465,2388:2395='@dynamic',,91:20] -[@466,2396:2396=';',<';'>,91:28] -[@467,2410:2415='double',<'double'>,92:12] -[@468,2417:2423='@double',,92:19] -[@469,2425:2425='=',<'='>,92:27] -[@470,2427:2427='M',,92:29] -[@471,2428:2428='.',<'.'>,92:30] -[@472,2429:2430='PI',,92:31] -[@473,2431:2431=';',<';'>,92:33] -[@474,2445:2451='@double',,93:12] -[@475,2453:2453='=',<'='>,93:20] -[@476,2455:2456='1d',,93:22] -[@477,2457:2457=';',<';'>,93:24] -[@478,2471:2477='@double',,94:12] -[@479,2479:2479='=',<'='>,94:20] -[@480,2481:2482='1D',,94:22] -[@481,2483:2483=';',<';'>,94:24] -[@482,2497:2503='@double',,95:12] -[@483,2505:2505='=',<'='>,95:20] -[@484,2507:2507='-',<'-'>,95:22] -[@485,2508:2512='1.2e3',,95:23] -[@486,2513:2513=';',<';'>,95:28] -[@487,2527:2531='float',<'float'>,96:12] -[@488,2533:2538='@float',,96:18] -[@489,2540:2540='=',<'='>,96:25] -[@490,2542:2545='1.2f',,96:27] -[@491,2546:2546=';',<';'>,96:31] -[@492,2560:2565='@float',,97:12] -[@493,2567:2567='=',<'='>,97:19] -[@494,2569:2573='1.44F',,97:21] -[@495,2574:2574=';',<';'>,97:26] -[@496,2588:2590='int',<'int'>,98:12] -[@497,2592:2595='@int',,98:16] -[@498,2597:2597='=',<'='>,98:21] -[@499,2599:2603='local',,98:23] -[@500,2605:2606='??',<'??'>,98:29] -[@501,2608:2608='-',<'-'>,98:32] -[@502,2609:2609='1',,98:33] -[@503,2610:2610=';',<';'>,98:34] -[@504,2624:2627='long',<'long'>,99:12] -[@505,2629:2633='@long',,99:17] -[@506,2634:2634=';',<';'>,99:22] -[@507,2648:2653='object',<'object'>,100:12] -[@508,2655:2661='@object',,100:19] -[@509,2662:2662=';',<';'>,100:26] -[@510,2676:2680='sbyte',<'sbyte'>,101:12] -[@511,2682:2687='@sbyte',,101:18] -[@512,2688:2688=';',<';'>,101:24] -[@513,2702:2706='short',<'short'>,102:12] -[@514,2708:2713='@short',,102:18] -[@515,2714:2714=';',<';'>,102:24] -[@516,2728:2733='string',<'string'>,103:12] -[@517,2735:2741='@string',,103:19] -[@518,2743:2743='=',<'='>,103:27] -[@519,2745:2751='@"""/*"',,103:29] -[@520,2752:2752=';',<';'>,103:36] -[@521,2766:2769='uint',<'uint'>,104:12] -[@522,2771:2775='@uint',,104:17] -[@523,2776:2776=';',<';'>,104:22] -[@524,2790:2794='ulong',<'ulong'>,105:12] -[@525,2796:2801='@ulong',,105:18] -[@526,2802:2802=';',<';'>,105:24] -[@527,2816:2821='ushort',<'ushort'>,106:12] -[@528,2823:2829='@ushort',,106:19] -[@529,2830:2830=';',<';'>,106:26] -[@530,2857:2863='dynamic',<'dynamic'>,108:12] -[@531,2865:2871='dynamic',<'dynamic'>,108:20] -[@532,2873:2873='=',<'='>,108:28] -[@533,2875:2880='local5',,108:30] -[@534,2881:2881=';',<';'>,108:36] -[@535,2895:2897='var',<'var'>,109:12] -[@536,2899:2901='add',<'add'>,109:16] -[@537,2903:2903='=',<'='>,109:20] -[@538,2905:2905='0',,109:22] -[@539,2906:2906=';',<';'>,109:23] -[@540,2920:2922='var',<'var'>,110:12] -[@541,2924:2928='alias',<'alias'>,110:16] -[@542,2930:2930='=',<'='>,110:22] -[@543,2932:2932='0',,110:24] -[@544,2933:2933=';',<';'>,110:25] -[@545,2947:2949='var',<'var'>,111:12] -[@546,2951:2957='arglist',,111:16] -[@547,2959:2959='=',<'='>,111:24] -[@548,2961:2961='0',,111:26] -[@549,2962:2962=';',<';'>,111:27] -[@550,2976:2978='var',<'var'>,112:12] -[@551,2980:2988='ascending',<'ascending'>,112:16] -[@552,2990:2990='=',<'='>,112:26] -[@553,2992:2992='0',,112:28] -[@554,2993:2993=';',<';'>,112:29] -[@555,3007:3009='var',<'var'>,113:12] -[@556,3011:3015='async',<'async'>,113:16] -[@557,3017:3017='=',<'='>,113:22] -[@558,3019:3019='0',,113:24] -[@559,3020:3020=';',<';'>,113:25] -[@560,3034:3036='var',<'var'>,114:12] -[@561,3038:3042='await',<'await'>,114:16] -[@562,3044:3044='=',<'='>,114:22] -[@563,3046:3046='0',,114:24] -[@564,3047:3047=';',<';'>,114:25] -[@565,3061:3063='var',<'var'>,115:12] -[@566,3065:3066='by',<'by'>,115:16] -[@567,3068:3068='=',<'='>,115:19] -[@568,3070:3070='0',,115:21] -[@569,3071:3071=';',<';'>,115:22] -[@570,3085:3087='var',<'var'>,116:12] -[@571,3089:3098='descending',<'descending'>,116:16] -[@572,3100:3100='=',<'='>,116:27] -[@573,3102:3102='0',,116:29] -[@574,3103:3103=';',<';'>,116:30] -[@575,3117:3119='var',<'var'>,117:12] -[@576,3121:3127='dynamic',<'dynamic'>,117:16] -[@577,3129:3129='=',<'='>,117:24] -[@578,3131:3131='0',,117:26] -[@579,3132:3132=';',<';'>,117:27] -[@580,3146:3148='var',<'var'>,118:12] -[@581,3150:3155='equals',<'equals'>,118:16] -[@582,3157:3157='=',<'='>,118:23] -[@583,3159:3159='0',,118:25] -[@584,3160:3160=';',<';'>,118:26] -[@585,3174:3176='var',<'var'>,119:12] -[@586,3178:3181='from',<'from'>,119:16] -[@587,3183:3183='=',<'='>,119:21] -[@588,3185:3185='0',,119:23] -[@589,3186:3186=';',<';'>,119:24] -[@590,3200:3202='var',<'var'>,120:12] -[@591,3204:3206='get',<'get'>,120:16] -[@592,3208:3208='=',<'='>,120:20] -[@593,3210:3210='0',,120:22] -[@594,3211:3211=';',<';'>,120:23] -[@595,3225:3227='var',<'var'>,121:12] -[@596,3229:3233='group',<'group'>,121:16] -[@597,3235:3235='=',<'='>,121:22] -[@598,3237:3237='0',,121:24] -[@599,3238:3238=';',<';'>,121:25] -[@600,3252:3254='var',<'var'>,122:12] -[@601,3256:3259='into',<'into'>,122:16] -[@602,3261:3261='=',<'='>,122:21] -[@603,3263:3263='0',,122:23] -[@604,3264:3264=';',<';'>,122:24] -[@605,3278:3280='var',<'var'>,123:12] -[@606,3282:3285='join',<'join'>,123:16] -[@607,3287:3287='=',<'='>,123:21] -[@608,3289:3289='0',,123:23] -[@609,3290:3290=';',<';'>,123:24] -[@610,3304:3306='var',<'var'>,124:12] -[@611,3308:3310='let',<'let'>,124:16] -[@612,3312:3312='=',<'='>,124:20] -[@613,3314:3314='0',,124:22] -[@614,3315:3315=';',<';'>,124:23] -[@615,3329:3331='var',<'var'>,125:12] -[@616,3333:3338='nameof',<'nameof'>,125:16] -[@617,3340:3340='=',<'='>,125:23] -[@618,3342:3342='0',,125:25] -[@619,3343:3343=';',<';'>,125:26] -[@620,3357:3359='var',<'var'>,126:12] -[@621,3361:3362='on',<'on'>,126:16] -[@622,3364:3364='=',<'='>,126:19] -[@623,3366:3366='0',,126:21] -[@624,3367:3367=';',<';'>,126:22] -[@625,3381:3383='var',<'var'>,127:12] -[@626,3385:3391='orderby',<'orderby'>,127:16] -[@627,3393:3393='=',<'='>,127:24] -[@628,3395:3395='0',,127:26] -[@629,3396:3396=';',<';'>,127:27] -[@630,3410:3412='var',<'var'>,128:12] -[@631,3414:3420='partial',<'partial'>,128:16] -[@632,3422:3422='=',<'='>,128:24] -[@633,3424:3424='0',,128:26] -[@634,3425:3425=';',<';'>,128:27] -[@635,3439:3441='var',<'var'>,129:12] -[@636,3443:3448='remove',<'remove'>,129:16] -[@637,3450:3450='=',<'='>,129:23] -[@638,3452:3452='0',,129:25] -[@639,3453:3453=';',<';'>,129:26] -[@640,3467:3469='var',<'var'>,130:12] -[@641,3471:3476='select',<'select'>,130:16] -[@642,3478:3478='=',<'='>,130:23] -[@643,3480:3480='0',,130:25] -[@644,3481:3481=';',<';'>,130:26] -[@645,3495:3497='var',<'var'>,131:12] -[@646,3499:3501='set',<'set'>,131:16] -[@647,3503:3503='=',<'='>,131:20] -[@648,3505:3505='0',,131:22] -[@649,3506:3506=';',<';'>,131:23] -[@650,3511:3513='var',<'var'>,132:3] -[@651,3515:3517='var',<'var'>,132:7] -[@652,3519:3519='=',<'='>,132:11] -[@653,3521:3521='0',,132:13] -[@654,3522:3522=';',<';'>,132:14] -[@655,3536:3538='var',<'var'>,133:12] -[@656,3540:3543='when',<'when'>,133:16] -[@657,3545:3545='=',<'='>,133:21] -[@658,3547:3547='0',,133:23] -[@659,3548:3548=';',<';'>,133:24] -[@660,3562:3564='var',<'var'>,134:12] -[@661,3566:3570='where',<'where'>,134:16] -[@662,3572:3572='=',<'='>,134:22] -[@663,3574:3574='0',,134:24] -[@664,3575:3575=';',<';'>,134:25] -[@665,3589:3591='var',<'var'>,135:12] -[@666,3593:3597='yield',<'yield'>,135:16] -[@667,3599:3599='=',<'='>,135:22] -[@668,3601:3601='0',,135:24] -[@669,3602:3602=';',<';'>,135:25] -[@670,3616:3618='var',<'var'>,136:12] -[@671,3620:3621='__',,136:16] -[@672,3623:3623='=',<'='>,136:19] -[@673,3625:3625='0',,136:21] -[@674,3626:3626=';',<';'>,136:22] -[@675,3640:3644='where',<'where'>,137:12] -[@676,3646:3646='=',<'='>,137:18] -[@677,3648:3652='yield',<'yield'>,137:20] -[@678,3654:3654='=',<'='>,137:26] -[@679,3656:3656='0',,137:28] -[@680,3657:3657=';',<';'>,137:29] -[@681,3672:3673='if',<'if'>,139:12] -[@682,3675:3675='(',<'('>,139:15] -[@683,3676:3676='i',,139:16] -[@684,3678:3678='>',<'>'>,139:18] -[@685,3680:3680='0',,139:20] -[@686,3681:3681=')',<')'>,139:21] -[@687,3695:3695='{',<'{'>,140:12] -[@688,3713:3718='return',<'return'>,141:16] -[@689,3719:3719=';',<';'>,141:22] -[@690,3733:3733='}',<'}'>,142:12] -[@691,3747:3750='else',<'else'>,143:12] -[@692,3752:3753='if',<'if'>,143:17] -[@693,3755:3755='(',<'('>,143:20] -[@694,3756:3756='i',,143:21] -[@695,3758:3759='==',<'=='>,143:23] -[@696,3761:3761='0',,143:26] -[@697,3762:3762=')',<')'>,143:27] -[@698,3776:3776='{',<'{'>,144:12] -[@699,3794:3798='throw',<'throw'>,145:16] -[@700,3800:3802='new',<'new'>,145:22] -[@701,3804:3812='Exception',,145:26] -[@702,3813:3813='(',<'('>,145:35] -[@703,3814:3814=')',<')'>,145:36] -[@704,3815:3815=';',<';'>,145:37] -[@705,3829:3829='}',<'}'>,146:12] -[@706,3843:3845='var',<'var'>,147:12] -[@707,3847:3848='o1',,147:16] -[@708,3850:3850='=',<'='>,147:19] -[@709,3852:3854='new',<'new'>,147:21] -[@710,3856:3863='MyObject',,147:25] -[@711,3864:3864='(',<'('>,147:33] -[@712,3865:3865=')',<')'>,147:34] -[@713,3866:3866=';',<';'>,147:35] -[@714,3880:3882='var',<'var'>,148:12] -[@715,3884:3885='o2',,148:16] -[@716,3887:3887='=',<'='>,148:19] -[@717,3889:3891='new',<'new'>,148:21] -[@718,3893:3900='MyObject',,148:25] -[@719,3901:3901='(',<'('>,148:33] -[@720,3902:3904='var',<'var'>,148:34] -[@721,3905:3905=')',<')'>,148:37] -[@722,3906:3906=';',<';'>,148:38] -[@723,3920:3922='var',<'var'>,149:12] -[@724,3924:3925='o3',,149:16] -[@725,3927:3927='=',<'='>,149:19] -[@726,3929:3931='new',<'new'>,149:21] -[@727,3933:3940='MyObject',,149:25] -[@728,3942:3942='{',<'{'>,149:34] -[@729,3944:3944='A',,149:36] -[@730,3946:3946='=',<'='>,149:38] -[@731,3948:3948='i',,149:40] -[@732,3950:3950='}',<'}'>,149:42] -[@733,3951:3951=';',<';'>,149:43] -[@734,3965:3967='var',<'var'>,150:12] -[@735,3969:3970='o4',,150:16] -[@736,3972:3972='=',<'='>,150:19] -[@737,3974:3976='new',<'new'>,150:21] -[@738,3978:3985='MyObject',,150:25] -[@739,3986:3986='(',<'('>,150:33] -[@740,3987:3994='@dynamic',,150:34] -[@741,3995:3995=')',<')'>,150:42] -[@742,4009:4009='{',<'{'>,151:12] -[@743,4027:4027='A',,152:16] -[@744,4029:4029='=',<'='>,152:18] -[@745,4031:4031='0',,152:20] -[@746,4032:4032=',',<','>,152:21] -[@747,4050:4050='B',,153:16] -[@748,4052:4052='=',<'='>,153:18] -[@749,4054:4054='0',,153:20] -[@750,4055:4055=',',<','>,153:21] -[@751,4073:4073='C',,154:16] -[@752,4075:4075='=',<'='>,154:18] -[@753,4077:4077='0',,154:20] -[@754,4091:4091='}',<'}'>,155:12] -[@755,4092:4092=';',<';'>,155:13] -[@756,4106:4108='var',<'var'>,156:12] -[@757,4110:4111='o5',,156:16] -[@758,4113:4113='=',<'='>,156:19] -[@759,4115:4117='new',<'new'>,156:21] -[@760,4119:4119='{',<'{'>,156:25] -[@761,4121:4121='A',,156:27] -[@762,4123:4123='=',<'='>,156:29] -[@763,4125:4125='0',,156:31] -[@764,4127:4127='}',<'}'>,156:33] -[@765,4128:4128=';',<';'>,156:34] -[@766,4142:4144='var',<'var'>,157:12] -[@767,4146:4166='dictionaryInitializer',,157:16] -[@768,4168:4168='=',<'='>,157:38] -[@769,4170:4172='new',<'new'>,157:40] -[@770,4174:4183='Dictionary',,157:44] -[@771,4184:4184='<',<'<'>,157:54] -[@772,4185:4187='int',<'int'>,157:55] -[@773,4188:4188=',',<','>,157:58] -[@774,4190:4195='string',<'string'>,157:60] -[@775,4196:4196='>',<'>'>,157:66] -[@776,4211:4211='{',<'{'>,158:12] -[@777,4230:4230='{',<'{'>,159:16] -[@778,4231:4231='1',,159:17] -[@779,4232:4232=',',<','>,159:18] -[@780,4234:4235='""',,159:20] -[@781,4236:4236='}',<'}'>,159:22] -[@782,4237:4237=',',<','>,159:23] -[@783,4256:4256='{',<'{'>,160:16] -[@784,4257:4257='2',,160:17] -[@785,4258:4258=',',<','>,160:18] -[@786,4260:4262='"a"',,160:20] -[@787,4263:4263='}',<'}'>,160:23] -[@788,4278:4278='}',<'}'>,161:12] -[@789,4279:4279=';',<';'>,161:13] -[@790,4293:4297='float',<'float'>,162:12] -[@791,4298:4298='[',<'['>,162:17] -[@792,4299:4299=']',<']'>,162:18] -[@793,4301:4301='a',,162:20] -[@794,4303:4303='=',<'='>,162:22] -[@795,4305:4307='new',<'new'>,162:24] -[@796,4309:4313='float',<'float'>,162:28] -[@797,4314:4314='[',<'['>,162:33] -[@798,4315:4315=']',<']'>,162:34] -[@799,4330:4330='{',<'{'>,163:12] -[@800,4348:4349='0f',,164:16] -[@801,4350:4350=',',<','>,164:18] -[@802,4368:4371='1.1f',,165:16] -[@803,4385:4385='}',<'}'>,166:12] -[@804,4386:4386=';',<';'>,166:13] -[@805,4400:4402='int',<'int'>,167:12] -[@806,4403:4403='[',<'['>,167:15] -[@807,4404:4404=',',<','>,167:16] -[@808,4406:4406=',',<','>,167:18] -[@809,4407:4407=']',<']'>,167:19] -[@810,4409:4412='cube',,167:21] -[@811,4414:4414='=',<'='>,167:26] -[@812,4416:4416='{',<'{'>,167:28] -[@813,4418:4418='{',<'{'>,167:30] -[@814,4420:4420='{',<'{'>,167:32] -[@815,4422:4424='111',,167:34] -[@816,4425:4425=',',<','>,167:37] -[@817,4427:4429='112',,167:39] -[@818,4430:4430=',',<','>,167:42] -[@819,4432:4432='}',<'}'>,167:44] -[@820,4433:4433=',',<','>,167:45] -[@821,4435:4435='{',<'{'>,167:47] -[@822,4437:4439='121',,167:49] -[@823,4440:4440=',',<','>,167:52] -[@824,4442:4444='122',,167:54] -[@825,4446:4446='}',<'}'>,167:58] -[@826,4448:4448='}',<'}'>,167:60] -[@827,4449:4449=',',<','>,167:61] -[@828,4451:4451='{',<'{'>,167:63] -[@829,4453:4453='{',<'{'>,167:65] -[@830,4455:4457='211',,167:67] -[@831,4458:4458=',',<','>,167:70] -[@832,4460:4462='212',,167:72] -[@833,4464:4464='}',<'}'>,167:76] -[@834,4465:4465=',',<','>,167:77] -[@835,4467:4467='{',<'{'>,167:79] -[@836,4469:4471='221',,167:81] -[@837,4472:4472=',',<','>,167:84] -[@838,4474:4476='222',,167:86] -[@839,4478:4478='}',<'}'>,167:90] -[@840,4480:4480='}',<'}'>,167:92] -[@841,4482:4482='}',<'}'>,167:94] -[@842,4483:4483=';',<';'>,167:95] -[@843,4497:4499='int',<'int'>,168:12] -[@844,4500:4500='[',<'['>,168:15] -[@845,4501:4501=']',<']'>,168:16] -[@846,4502:4502='[',<'['>,168:17] -[@847,4503:4503=']',<']'>,168:18] -[@848,4505:4510='jagged',,168:20] -[@849,4512:4512='=',<'='>,168:27] -[@850,4514:4514='{',<'{'>,168:29] -[@851,4516:4516='{',<'{'>,168:31] -[@852,4518:4520='111',,168:33] -[@853,4522:4522='}',<'}'>,168:37] -[@854,4523:4523=',',<','>,168:38] -[@855,4525:4525='{',<'{'>,168:40] -[@856,4527:4529='121',,168:42] -[@857,4530:4530=',',<','>,168:45] -[@858,4532:4534='122',,168:47] -[@859,4536:4536='}',<'}'>,168:51] -[@860,4538:4538='}',<'}'>,168:53] -[@861,4539:4539=';',<';'>,168:54] -[@862,4553:4555='int',<'int'>,169:12] -[@863,4556:4556='[',<'['>,169:15] -[@864,4557:4557=']',<']'>,169:16] -[@865,4558:4558='[',<'['>,169:17] -[@866,4559:4559=',',<','>,169:18] -[@867,4560:4560=']',<']'>,169:19] -[@868,4562:4564='arr',,169:21] -[@869,4566:4566='=',<'='>,169:25] -[@870,4568:4570='new',<'new'>,169:27] -[@871,4572:4574='int',<'int'>,169:31] -[@872,4575:4575='[',<'['>,169:34] -[@873,4576:4576='5',,169:35] -[@874,4577:4577=']',<']'>,169:36] -[@875,4578:4578='[',<'['>,169:37] -[@876,4579:4579=',',<','>,169:38] -[@877,4580:4580=']',<']'>,169:39] -[@878,4581:4581=';',<';'>,169:40] -[@879,4627:4629='arr',,170:12] -[@880,4630:4630='[',<'['>,170:15] -[@881,4631:4631='0',,170:16] -[@882,4632:4632=']',<']'>,170:17] -[@883,4634:4634='=',<'='>,170:19] -[@884,4636:4638='new',<'new'>,170:21] -[@885,4640:4642='int',<'int'>,170:25] -[@886,4643:4643='[',<'['>,170:28] -[@887,4644:4644='5',,170:29] -[@888,4645:4645=',',<','>,170:30] -[@889,4646:4646='5',,170:31] -[@890,4647:4647=']',<']'>,170:32] -[@891,4648:4648=';',<';'>,170:33] -[@892,4703:4705='arr',,171:12] -[@893,4706:4706='[',<'['>,171:15] -[@894,4707:4707='0',,171:16] -[@895,4708:4708=']',<']'>,171:17] -[@896,4709:4709='[',<'['>,171:18] -[@897,4710:4710='0',,171:19] -[@898,4711:4711=',',<','>,171:20] -[@899,4712:4712='0',,171:21] -[@900,4713:4713=']',<']'>,171:22] -[@901,4715:4715='=',<'='>,171:24] -[@902,4717:4718='47',,171:26] -[@903,4719:4719=';',<';'>,171:28] -[@904,4733:4735='int',<'int'>,172:12] -[@905,4736:4736='[',<'['>,172:15] -[@906,4737:4737=']',<']'>,172:16] -[@907,4739:4756='arrayTypeInference',,172:18] -[@908,4758:4758='=',<'='>,172:37] -[@909,4760:4762='new',<'new'>,172:39] -[@910,4763:4763='[',<'['>,172:42] -[@911,4764:4764=']',<']'>,172:43] -[@912,4766:4766='{',<'{'>,172:45] -[@913,4768:4768='0',,172:47] -[@914,4769:4769=',',<','>,172:48] -[@915,4771:4771='1',,172:50] -[@916,4772:4772=',',<','>,172:51] -[@917,4774:4774='}',<'}'>,172:53] -[@918,4775:4775=';',<';'>,172:54] -[@919,4789:4794='switch',<'switch'>,173:12] -[@920,4796:4796='(',<'('>,173:19] -[@921,4797:4797='3',,173:20] -[@922,4798:4798=')',<')'>,173:21] -[@923,4800:4800='{',<'{'>,173:23] -[@924,4802:4802='}',<'}'>,173:25] -[@925,4816:4821='switch',<'switch'>,174:12] -[@926,4823:4823='(',<'('>,174:19] -[@927,4824:4824='i',,174:20] -[@928,4825:4825=')',<')'>,174:21] -[@929,4839:4839='{',<'{'>,175:12] -[@930,4857:4860='case',<'case'>,176:16] -[@931,4862:4862='0',,176:21] -[@932,4863:4863=':',<':'>,176:22] -[@933,4881:4884='case',<'case'>,177:16] -[@934,4886:4886='1',,177:21] -[@935,4887:4887=':',<':'>,177:22] -[@936,4909:4909='{',<'{'>,178:20] -[@937,4935:4938='goto',<'goto'>,179:24] -[@938,4940:4943='case',<'case'>,179:29] -[@939,4945:4945='2',,179:34] -[@940,4946:4946=';',<';'>,179:35] -[@941,4968:4968='}',<'}'>,180:20] -[@942,4986:4989='case',<'case'>,181:16] -[@943,4991:4991='2',,181:21] -[@944,4993:4993='+',<'+'>,181:23] -[@945,4995:4995='3',,181:25] -[@946,4996:4996=':',<':'>,181:26] -[@947,5018:5018='{',<'{'>,182:20] -[@948,5044:5047='goto',<'goto'>,183:24] -[@949,5049:5055='default',<'default'>,183:29] -[@950,5056:5056=';',<';'>,183:36] -[@951,5082:5086='break',<'break'>,184:24] -[@952,5087:5087=';',<';'>,184:29] -[@953,5109:5109='}',<'}'>,185:20] -[@954,5127:5133='default',<'default'>,186:16] -[@955,5134:5134=':',<':'>,186:23] -[@956,5156:5156='{',<'{'>,187:20] -[@957,5182:5187='return',<'return'>,188:24] -[@958,5188:5188=';',<';'>,188:30] -[@959,5210:5210='}',<'}'>,189:20] -[@960,5224:5224='}',<'}'>,190:12] -[@961,5238:5242='while',<'while'>,191:12] -[@962,5244:5244='(',<'('>,191:18] -[@963,5245:5245='i',,191:19] -[@964,5247:5247='<',<'<'>,191:21] -[@965,5249:5250='10',,191:23] -[@966,5251:5251=')',<')'>,191:25] -[@967,5265:5265='{',<'{'>,192:12] -[@968,5283:5284='++',<'++'>,193:16] -[@969,5285:5285='i',,193:18] -[@970,5286:5286=';',<';'>,193:19] -[@971,5304:5305='if',<'if'>,194:16] -[@972,5307:5307='(',<'('>,194:19] -[@973,5308:5311='true',<'true'>,194:20] -[@974,5312:5312=')',<')'>,194:24] -[@975,5314:5321='continue',<'continue'>,194:26] -[@976,5322:5322=';',<';'>,194:34] -[@977,5340:5344='break',<'break'>,195:16] -[@978,5345:5345=';',<';'>,195:21] -[@979,5359:5359='}',<'}'>,196:12] -[@980,5373:5374='do',<'do'>,197:12] -[@981,5388:5388='{',<'{'>,198:12] -[@982,5406:5407='++',<'++'>,199:16] -[@983,5408:5408='i',,199:18] -[@984,5409:5409=';',<';'>,199:19] -[@985,5427:5428='if',<'if'>,200:16] -[@986,5430:5430='(',<'('>,200:19] -[@987,5431:5434='true',<'true'>,200:20] -[@988,5435:5435=')',<')'>,200:24] -[@989,5437:5444='continue',<'continue'>,200:26] -[@990,5445:5445=';',<';'>,200:34] -[@991,5463:5467='break',<'break'>,201:16] -[@992,5468:5468=';',<';'>,201:21] -[@993,5482:5482='}',<'}'>,202:12] -[@994,5496:5500='while',<'while'>,203:12] -[@995,5502:5502='(',<'('>,203:18] -[@996,5503:5503='i',,203:19] -[@997,5505:5505='<',<'<'>,203:21] -[@998,5507:5508='10',,203:23] -[@999,5509:5509=')',<')'>,203:25] -[@1000,5510:5510=';',<';'>,203:26] -[@1001,5524:5526='for',<'for'>,204:12] -[@1002,5528:5528='(',<'('>,204:16] -[@1003,5529:5531='int',<'int'>,204:17] -[@1004,5533:5533='j',,204:21] -[@1005,5535:5535='=',<'='>,204:23] -[@1006,5537:5537='0',,204:25] -[@1007,5538:5538=';',<';'>,204:26] -[@1008,5540:5540='j',,204:28] -[@1009,5542:5542='<',<'<'>,204:30] -[@1010,5544:5546='100',,204:32] -[@1011,5547:5547=';',<';'>,204:35] -[@1012,5549:5550='++',<'++'>,204:37] -[@1013,5551:5551='j',,204:39] -[@1014,5552:5552=')',<')'>,204:40] -[@1015,5566:5566='{',<'{'>,205:12] -[@1016,5584:5586='for',<'for'>,206:16] -[@1017,5587:5587='(',<'('>,206:19] -[@1018,5588:5588=';',<';'>,206:20] -[@1019,5589:5589=';',<';'>,206:21] -[@1020,5590:5590=')',<')'>,206:22] -[@1021,5609:5609='{',<'{'>,207:16] -[@1022,5631:5633='for',<'for'>,208:20] -[@1023,5635:5635='(',<'('>,208:24] -[@1024,5636:5638='int',<'int'>,208:25] -[@1025,5640:5640='i',,208:29] -[@1026,5642:5642='=',<'='>,208:31] -[@1027,5644:5644='0',,208:33] -[@1028,5645:5645=',',<','>,208:34] -[@1029,5647:5647='j',,208:36] -[@1030,5649:5649='=',<'='>,208:38] -[@1031,5651:5651='0',,208:40] -[@1032,5652:5652=';',<';'>,208:41] -[@1033,5654:5654='i',,208:43] -[@1034,5656:5656='<',<'<'>,208:45] -[@1035,5658:5663='length',,208:47] -[@1036,5664:5664=';',<';'>,208:53] -[@1037,5666:5666='i',,208:55] -[@1038,5667:5668='++',<'++'>,208:56] -[@1039,5669:5669=',',<','>,208:58] -[@1040,5671:5671='j',,208:60] -[@1041,5672:5673='++',<'++'>,208:61] -[@1042,5674:5674=')',<')'>,208:63] -[@1043,5676:5676='{',<'{'>,208:65] -[@1044,5678:5678='}',<'}'>,208:67] -[@1045,5700:5701='if',<'if'>,209:20] -[@1046,5703:5703='(',<'('>,209:23] -[@1047,5704:5707='true',<'true'>,209:24] -[@1048,5708:5708=')',<')'>,209:28] -[@1049,5710:5717='continue',<'continue'>,209:30] -[@1050,5718:5718=';',<';'>,209:38] -[@1051,5740:5744='break',<'break'>,210:20] -[@1052,5745:5745=';',<';'>,210:25] -[@1053,5763:5763='}',<'}'>,211:16] -[@1054,5777:5777='}',<'}'>,212:12] -[@1055,5791:5795='label',,213:12] -[@1056,5796:5796=':',<':'>,213:17] -[@1057,5810:5813='goto',<'goto'>,214:12] -[@1058,5815:5819='label',,214:17] -[@1059,5820:5820=';',<';'>,214:22] -[@1060,5834:5839='label2',,215:12] -[@1061,5840:5840=':',<':'>,215:18] -[@1062,5842:5842=';',<';'>,215:20] -[@1063,5856:5862='foreach',<'foreach'>,216:12] -[@1064,5864:5864='(',<'('>,216:20] -[@1065,5865:5867='var',<'var'>,216:21] -[@1066,5869:5869='i',,216:25] -[@1067,5871:5872='in',<'in'>,216:27] -[@1068,5874:5878='Items',,216:30] -[@1069,5879:5879='(',<'('>,216:35] -[@1070,5880:5880=')',<')'>,216:36] -[@1071,5881:5881=')',<')'>,216:37] -[@1072,5895:5895='{',<'{'>,217:12] -[@1073,5913:5914='if',<'if'>,218:16] -[@1074,5916:5916='(',<'('>,218:19] -[@1075,5917:5917='i',,218:20] -[@1076,5919:5920='==',<'=='>,218:22] -[@1077,5922:5922='7',,218:25] -[@1078,5923:5923=')',<')'>,218:26] -[@1079,5945:5950='return',<'return'>,219:20] -[@1080,5951:5951=';',<';'>,219:26] -[@1081,5969:5972='else',<'else'>,220:16] -[@1082,5994:6001='continue',<'continue'>,221:20] -[@1083,6002:6002=';',<';'>,221:28] -[@1084,6016:6016='}',<'}'>,222:12] -[@1085,6031:6034='lock',<'lock'>,224:12] -[@1086,6036:6036='(',<'('>,224:17] -[@1087,6037:6040='sync',,224:18] -[@1088,6041:6041=')',<')'>,224:22] -[@1089,6059:6065='process',,225:16] -[@1090,6066:6066='(',<'('>,225:23] -[@1091,6067:6067=')',<')'>,225:24] -[@1092,6068:6068=';',<';'>,225:25] -[@1093,6082:6086='using',<'using'>,226:12] -[@1094,6088:6088='(',<'('>,226:18] -[@1095,6089:6091='var',<'var'>,226:19] -[@1096,6093:6093='v',,226:23] -[@1097,6095:6095='=',<'='>,226:25] -[@1098,6097:6106='BeginScope',,226:27] -[@1099,6107:6107='(',<'('>,226:37] -[@1100,6108:6108=')',<')'>,226:38] -[@1101,6109:6109=')',<')'>,226:39] -[@1102,6123:6127='using',<'using'>,227:12] -[@1103,6129:6129='(',<'('>,227:18] -[@1104,6130:6130='A',,227:19] -[@1105,6132:6132='a',,227:21] -[@1106,6134:6134='=',<'='>,227:23] -[@1107,6136:6138='new',<'new'>,227:25] -[@1108,6140:6140='A',,227:29] -[@1109,6141:6141='(',<'('>,227:30] -[@1110,6142:6142=')',<')'>,227:31] -[@1111,6143:6143=')',<')'>,227:32] -[@1112,6157:6161='using',<'using'>,228:12] -[@1113,6163:6163='(',<'('>,228:18] -[@1114,6164:6164='A',,228:19] -[@1115,6166:6166='a',,228:21] -[@1116,6168:6168='=',<'='>,228:23] -[@1117,6170:6172='new',<'new'>,228:25] -[@1118,6174:6174='A',,228:29] -[@1119,6175:6175='(',<'('>,228:30] -[@1120,6176:6176=')',<')'>,228:31] -[@1121,6177:6177=',',<','>,228:32] -[@1122,6179:6179='b',,228:34] -[@1123,6181:6181='=',<'='>,228:36] -[@1124,6183:6185='new',<'new'>,228:38] -[@1125,6187:6187='A',,228:42] -[@1126,6188:6188='(',<'('>,228:43] -[@1127,6189:6189=')',<')'>,228:44] -[@1128,6190:6190=')',<')'>,228:45] -[@1129,6204:6208='using',<'using'>,229:12] -[@1130,6210:6210='(',<'('>,229:18] -[@1131,6211:6220='BeginScope',,229:19] -[@1132,6221:6221='(',<'('>,229:29] -[@1133,6222:6222=')',<')'>,229:30] -[@1134,6223:6223=')',<')'>,229:31] -[@1135,6241:6246='return',<'return'>,230:16] -[@1136,6247:6247=';',<';'>,230:22] -[@1137,6261:6265='yield',<'yield'>,231:12] -[@1138,6267:6272='return',<'return'>,231:18] -[@1139,6274:6277='this',<'this'>,231:25] -[@1140,6278:6278='.',<'.'>,231:29] -[@1141,6279:6283='items',,231:30] -[@1142,6284:6284='[',<'['>,231:35] -[@1143,6285:6285='3',,231:36] -[@1144,6286:6286=']',<']'>,231:37] -[@1145,6287:6287=';',<';'>,231:38] -[@1146,6301:6305='yield',<'yield'>,232:12] -[@1147,6307:6311='break',<'break'>,232:18] -[@1148,6312:6312=';',<';'>,232:23] -[@1149,6326:6330='fixed',<'fixed'>,233:12] -[@1150,6332:6332='(',<'('>,233:18] -[@1151,6333:6335='int',<'int'>,233:19] -[@1152,6336:6336='*',<'*'>,233:22] -[@1153,6338:6338='p',,233:24] -[@1154,6340:6340='=',<'='>,233:26] -[@1155,6342:6351='stackalloc',<'stackalloc'>,233:28] -[@1156,6353:6355='int',<'int'>,233:39] -[@1157,6356:6356='[',<'['>,233:42] -[@1158,6357:6359='100',,233:43] -[@1159,6360:6360=']',<']'>,233:46] -[@1160,6361:6361=',',<','>,233:47] -[@1161,6363:6363='q',,233:49] -[@1162,6365:6365='=',<'='>,233:51] -[@1163,6367:6367='&',<'&'>,233:53] -[@1164,6368:6368='y',,233:54] -[@1165,6369:6369=')',<')'>,233:55] -[@1166,6383:6383='{',<'{'>,234:12] -[@1167,6401:6401='*',<'*'>,235:16] -[@1168,6402:6407='intref',,235:17] -[@1169,6409:6409='=',<'='>,235:24] -[@1170,6411:6411='1',,235:26] -[@1171,6412:6412=';',<';'>,235:27] -[@1172,6426:6426='}',<'}'>,236:12] -[@1173,6440:6444='fixed',<'fixed'>,237:12] -[@1174,6446:6446='(',<'('>,237:18] -[@1175,6447:6449='int',<'int'>,237:19] -[@1176,6450:6450='*',<'*'>,237:22] -[@1177,6452:6452='p',,237:24] -[@1178,6454:6454='=',<'='>,237:26] -[@1179,6456:6465='stackalloc',<'stackalloc'>,237:28] -[@1180,6467:6469='int',<'int'>,237:39] -[@1181,6470:6470='[',<'['>,237:42] -[@1182,6471:6473='100',,237:43] -[@1183,6474:6474=']',<']'>,237:46] -[@1184,6475:6475=')',<')'>,237:47] -[@1185,6489:6489='{',<'{'>,238:12] -[@1186,6507:6507='*',<'*'>,239:16] -[@1187,6508:6513='intref',,239:17] -[@1188,6515:6515='=',<'='>,239:24] -[@1189,6517:6517='1',,239:26] -[@1190,6518:6518=';',<';'>,239:27] -[@1191,6532:6532='}',<'}'>,240:12] -[@1192,6546:6551='unsafe',<'unsafe'>,241:12] -[@1193,6565:6565='{',<'{'>,242:12] -[@1194,6583:6585='int',<'int'>,243:16] -[@1195,6586:6586='*',<'*'>,243:19] -[@1196,6588:6588='p',,243:21] -[@1197,6590:6590='=',<'='>,243:23] -[@1198,6592:6595='null',<'null'>,243:25] -[@1199,6596:6596=';',<';'>,243:29] -[@1200,6610:6610='}',<'}'>,244:12] -[@1201,6624:6626='try',<'try'>,245:12] -[@1202,6640:6640='{',<'{'>,246:12] -[@1203,6658:6662='throw',<'throw'>,247:16] -[@1204,6664:6667='null',<'null'>,247:22] -[@1205,6668:6668=';',<';'>,247:26] -[@1206,6682:6682='}',<'}'>,248:12] -[@1207,6696:6700='catch',<'catch'>,249:12] -[@1208,6702:6702='(',<'('>,249:18] -[@1209,6703:6708='System',,249:19] -[@1210,6709:6709='.',<'.'>,249:25] -[@1211,6710:6733='AccessViolationException',,249:26] -[@1212,6735:6736='av',,249:51] -[@1213,6737:6737=')',<')'>,249:53] -[@1214,6751:6751='{',<'{'>,250:12] -[@1215,6769:6773='throw',<'throw'>,251:16] -[@1216,6775:6776='av',,251:22] -[@1217,6777:6777=';',<';'>,251:24] -[@1218,6791:6791='}',<'}'>,252:12] -[@1219,6805:6809='catch',<'catch'>,253:12] -[@1220,6811:6811='(',<'('>,253:18] -[@1221,6812:6820='Exception',,253:19] -[@1222,6821:6821=')',<')'>,253:28] -[@1223,6835:6835='{',<'{'>,254:12] -[@1224,6853:6857='throw',<'throw'>,255:16] -[@1225,6858:6858=';',<';'>,255:21] -[@1226,6872:6872='}',<'}'>,256:12] -[@1227,6886:6892='finally',<'finally'>,257:12] -[@1228,6906:6906='{',<'{'>,258:12] -[@1229,6924:6926='try',<'try'>,259:16] -[@1230,6928:6928='{',<'{'>,259:20] -[@1231,6930:6930='}',<'}'>,259:22] -[@1232,6932:6936='catch',<'catch'>,259:24] -[@1233,6938:6938='{',<'{'>,259:30] -[@1234,6940:6940='}',<'}'>,259:32] -[@1235,6954:6954='}',<'}'>,260:12] -[@1236,6968:6970='var',<'var'>,261:12] -[@1237,6972:6980='anonymous',,261:16] -[@1238,6982:6982='=',<'='>,261:26] -[@1239,6997:6997='{',<'{'>,262:12] -[@1240,7015:7015='A',,263:16] -[@1241,7017:7017='=',<'='>,263:18] -[@1242,7019:7019='1',,263:20] -[@1243,7020:7020=',',<','>,263:21] -[@1244,7038:7038='B',,264:16] -[@1245,7040:7040='=',<'='>,264:18] -[@1246,7042:7042='2',,264:20] -[@1247,7043:7043=',',<','>,264:21] -[@1248,7061:7061='C',,265:16] -[@1249,7063:7063='=',<'='>,265:18] -[@1250,7065:7065='3',,265:20] -[@1251,7066:7066=',',<','>,265:21] -[@1252,7080:7080='}',<'}'>,266:12] -[@1253,7081:7081=';',<';'>,266:13] -[@1254,7095:7097='var',<'var'>,267:12] -[@1255,7099:7103='query',,267:16] -[@1256,7105:7105='=',<'='>,267:22] -[@1257,7107:7110='from',<'from'>,267:24] -[@1258,7112:7112='c',,267:29] -[@1259,7114:7115='in',<'in'>,267:31] -[@1260,7117:7125='customers',,267:34] -[@1261,7151:7153='let',<'let'>,268:24] -[@1262,7155:7155='d',,268:28] -[@1263,7157:7157='=',<'='>,268:30] -[@1264,7159:7159='c',,268:32] -[@1265,7185:7189='where',<'where'>,269:24] -[@1266,7191:7191='d',,269:30] -[@1267,7193:7194='!=',<'!='>,269:32] -[@1268,7196:7199='null',<'null'>,269:35] -[@1269,7225:7228='join',<'join'>,270:24] -[@1270,7230:7231='c1',,270:29] -[@1271,7233:7234='in',<'in'>,270:32] -[@1272,7236:7244='customers',,270:35] -[@1273,7246:7247='on',<'on'>,270:45] -[@1274,7249:7250='c1',,270:48] -[@1275,7251:7251='.',<'.'>,270:50] -[@1276,7252:7262='GetHashCode',,270:51] -[@1277,7263:7263='(',<'('>,270:62] -[@1278,7264:7264=')',<')'>,270:63] -[@1279,7266:7271='equals',<'equals'>,270:65] -[@1280,7273:7273='c',,270:72] -[@1281,7274:7274='.',<'.'>,270:73] -[@1282,7275:7285='GetHashCode',,270:74] -[@1283,7286:7286='(',<'('>,270:85] -[@1284,7287:7287=')',<')'>,270:86] -[@1285,7313:7316='join',<'join'>,271:24] -[@1286,7318:7319='c1',,271:29] -[@1287,7321:7322='in',<'in'>,271:32] -[@1288,7324:7332='customers',,271:35] -[@1289,7334:7335='on',<'on'>,271:45] -[@1290,7337:7338='c1',,271:48] -[@1291,7339:7339='.',<'.'>,271:50] -[@1292,7340:7350='GetHashCode',,271:51] -[@1293,7351:7351='(',<'('>,271:62] -[@1294,7352:7352=')',<')'>,271:63] -[@1295,7354:7359='equals',<'equals'>,271:65] -[@1296,7361:7361='c',,271:72] -[@1297,7362:7362='.',<'.'>,271:73] -[@1298,7363:7373='GetHashCode',,271:74] -[@1299,7374:7374='(',<'('>,271:85] -[@1300,7375:7375=')',<')'>,271:86] -[@1301,7377:7380='into',<'into'>,271:88] -[@1302,7382:7382='e',,271:93] -[@1303,7408:7412='group',<'group'>,272:24] -[@1304,7414:7414='c',,272:30] -[@1305,7416:7417='by',<'by'>,272:32] -[@1306,7419:7419='c',,272:35] -[@1307,7420:7420='.',<'.'>,272:36] -[@1308,7421:7427='Country',,272:37] -[@1309,7457:7460='into',<'into'>,273:28] -[@1310,7462:7462='g',,273:33] -[@1311,7492:7498='orderby',<'orderby'>,274:28] -[@1312,7500:7500='g',,274:36] -[@1313,7501:7501='.',<'.'>,274:37] -[@1314,7502:7506='Count',,274:38] -[@1315,7507:7507='(',<'('>,274:43] -[@1316,7508:7508=')',<')'>,274:44] -[@1317,7510:7518='ascending',<'ascending'>,274:46] -[@1318,7548:7554='orderby',<'orderby'>,275:28] -[@1319,7556:7556='g',,275:36] -[@1320,7557:7557='.',<'.'>,275:37] -[@1321,7558:7560='Key',,275:38] -[@1322,7562:7571='descending',<'descending'>,275:42] -[@1323,7601:7606='select',<'select'>,276:28] -[@1324,7608:7610='new',<'new'>,276:35] -[@1325,7612:7612='{',<'{'>,276:39] -[@1326,7614:7620='Country',,276:41] -[@1327,7622:7622='=',<'='>,276:49] -[@1328,7624:7624='g',,276:51] -[@1329,7625:7625='.',<'.'>,276:52] -[@1330,7626:7628='Key',,276:53] -[@1331,7629:7629=',',<','>,276:56] -[@1332,7631:7639='CustCount',,276:58] -[@1333,7641:7641='=',<'='>,276:68] -[@1334,7643:7643='g',,276:70] -[@1335,7644:7644='.',<'.'>,276:71] -[@1336,7645:7649='Count',,276:72] -[@1337,7650:7650='(',<'('>,276:77] -[@1338,7651:7651=')',<')'>,276:78] -[@1339,7653:7653='}',<'}'>,276:80] -[@1340,7654:7654=';',<';'>,276:81] -[@1341,7668:7672='query',,277:12] -[@1342,7674:7674='=',<'='>,277:18] -[@1343,7676:7679='from',<'from'>,277:20] -[@1344,7681:7681='c',,277:25] -[@1345,7683:7684='in',<'in'>,277:27] -[@1346,7686:7694='customers',,277:30] -[@1347,7716:7721='select',<'select'>,278:20] -[@1348,7723:7723='c',,278:27] -[@1349,7725:7728='into',<'into'>,278:29] -[@1350,7730:7730='d',,278:34] -[@1351,7752:7757='select',<'select'>,279:20] -[@1352,7759:7759='d',,279:27] -[@1353,7760:7760=';',<';'>,279:28] -[@1354,7770:7770='}',<'}'>,280:8] -[@1355,7780:7780='~',<'~'>,281:8] -[@1356,7781:7781='A',,281:9] -[@1357,7782:7782='(',<'('>,281:10] -[@1358,7783:7783=')',<')'>,281:11] -[@1359,7793:7793='{',<'{'>,282:8] -[@1360,7803:7803='}',<'}'>,283:8] -[@1361,7813:7819='private',<'private'>,284:8] -[@1362,7821:7828='readonly',<'readonly'>,284:16] -[@1363,7830:7832='int',<'int'>,284:25] -[@1364,7834:7835='f1',,284:29] -[@1365,7836:7836=';',<';'>,284:31] -[@1366,7846:7846='[',<'['>,285:8] -[@1367,7847:7854='Obsolete',,285:9] -[@1368,7855:7855=']',<']'>,285:17] -[@1369,7865:7865='[',<'['>,286:8] -[@1370,7866:7876='NonExisting',,286:9] -[@1371,7877:7877=']',<']'>,286:20] -[@1372,7887:7887='[',<'['>,287:8] -[@1373,7888:7890='Foo',,287:9] -[@1374,7891:7892='::',<'::'>,287:12] -[@1375,7893:7903='NonExisting',,287:14] -[@1376,7904:7904='(',<'('>,287:25] -[@1377,7905:7907='var',<'var'>,287:26] -[@1378,7908:7908=',',<','>,287:29] -[@1379,7910:7910='5',,287:31] -[@1380,7911:7911=')',<')'>,287:32] -[@1381,7912:7912=']',<']'>,287:33] -[@1382,7922:7922='[',<'['>,288:8] -[@1383,7923:7934='CLSCompliant',,288:9] -[@1384,7935:7935='(',<'('>,288:21] -[@1385,7936:7940='false',<'false'>,288:22] -[@1386,7941:7941=')',<')'>,288:27] -[@1387,7942:7942=']',<']'>,288:28] -[@1388,7952:7952='[',<'['>,289:8] -[@1389,7953:7960='Obsolete',,289:9] -[@1390,7961:7961=',',<','>,289:17] -[@1391,7963:7968='System',,289:19] -[@1392,7969:7969='.',<'.'>,289:25] -[@1393,7970:7982='NonSerialized',,289:26] -[@1394,7983:7983=',',<','>,289:39] -[@1395,7985:7997='NonSerialized',,289:41] -[@1396,7998:7998=',',<','>,289:54] -[@1397,8000:8011='CLSCompliant',,289:56] -[@1398,8012:8012='(',<'('>,289:68] -[@1399,8013:8016='true',<'true'>,289:69] -[@1400,8018:8019='||',<'||'>,289:74] -[@1401,8021:8025='false',<'false'>,289:77] -[@1402,8027:8027='&',<'&'>,289:83] -[@1403,8029:8032='true',<'true'>,289:85] -[@1404,8033:8033=')',<')'>,289:89] -[@1405,8034:8034=']',<']'>,289:90] -[@1406,8044:8050='private',<'private'>,290:8] -[@1407,8052:8059='volatile',<'volatile'>,290:16] -[@1408,8061:8063='int',<'int'>,290:25] -[@1409,8065:8066='f2',,290:29] -[@1410,8067:8067=';',<';'>,290:31] -[@1411,8077:8077='[',<'['>,291:8] -[@1412,8078:8083='return',<'return'>,291:9] -[@1413,8084:8084=':',<':'>,291:15] -[@1414,8086:8093='Obsolete',,291:17] -[@1415,8094:8094=']',<']'>,291:25] -[@1416,8104:8104='[',<'['>,292:8] -[@1417,8105:8110='method',,292:9] -[@1418,8111:8111=':',<':'>,292:15] -[@1419,8113:8120='Obsolete',,292:17] -[@1420,8121:8121=']',<']'>,292:25] -[@1421,8131:8136='public',<'public'>,293:8] -[@1422,8138:8141='void',<'void'>,293:15] -[@1423,8143:8149='Handler',,293:20] -[@1424,8150:8150='(',<'('>,293:27] -[@1425,8151:8156='object',<'object'>,293:28] -[@1426,8158:8162='value',<'value'>,293:35] -[@1427,8163:8163=')',<')'>,293:40] -[@1428,8173:8173='{',<'{'>,294:8] -[@1429,8183:8183='}',<'}'>,295:8] -[@1430,8193:8198='public',<'public'>,296:8] -[@1431,8200:8202='int',<'int'>,296:15] -[@1432,8204:8204='m',,296:19] -[@1433,8205:8205='<',<'<'>,296:20] -[@1434,8206:8206='T',,296:21] -[@1435,8207:8207='>',<'>'>,296:22] -[@1436,8208:8208='(',<'('>,296:23] -[@1437,8209:8209='T',,296:24] -[@1438,8211:8211='t',,296:26] -[@1439,8212:8212=')',<')'>,296:27] -[@1440,8224:8228='where',<'where'>,297:10] -[@1441,8230:8230='T',,297:16] -[@1442,8232:8232=':',<':'>,297:18] -[@1443,8234:8238='class',<'class'>,297:20] -[@1444,8239:8239=',',<','>,297:25] -[@1445,8241:8243='new',<'new'>,297:27] -[@1446,8244:8244='(',<'('>,297:30] -[@1447,8245:8245=')',<')'>,297:31] -[@1448,8255:8255='{',<'{'>,298:8] -[@1449,8269:8272='base',<'base'>,299:12] -[@1450,8273:8273='.',<'.'>,299:16] -[@1451,8274:8274='m',,299:17] -[@1452,8275:8275='(',<'('>,299:18] -[@1453,8276:8276='t',,299:19] -[@1454,8277:8277=')',<')'>,299:20] -[@1455,8278:8278=';',<';'>,299:21] -[@1456,8292:8297='return',<'return'>,300:12] -[@1457,8299:8299='1',,300:19] -[@1458,8300:8300=';',<';'>,300:20] -[@1459,8310:8310='}',<'}'>,301:8] -[@1460,8320:8325='public',<'public'>,302:8] -[@1461,8327:8332='string',<'string'>,302:15] -[@1462,8334:8334='P',,302:22] -[@1463,8344:8344='{',<'{'>,303:8] -[@1464,8358:8360='get',<'get'>,304:12] -[@1465,8374:8374='{',<'{'>,305:12] -[@1466,8392:8397='return',<'return'>,306:16] -[@1467,8399:8401='"A"',,306:23] -[@1468,8402:8402=';',<';'>,306:26] -[@1469,8416:8416='}',<'}'>,307:12] -[@1470,8430:8432='set',<'set'>,308:12] -[@1471,8433:8433=';',<';'>,308:15] -[@1472,8443:8443='}',<'}'>,309:8] -[@1473,8453:8458='public',<'public'>,310:8] -[@1474,8460:8467='abstract',<'abstract'>,310:15] -[@1475,8469:8474='string',<'string'>,310:24] -[@1476,8476:8476='P',,310:31] -[@1477,8486:8486='{',<'{'>,311:8] -[@1478,8500:8502='get',<'get'>,312:12] -[@1479,8503:8503=';',<';'>,312:15] -[@1480,8513:8513='}',<'}'>,313:8] -[@1481,8523:8528='public',<'public'>,314:8] -[@1482,8530:8537='abstract',<'abstract'>,314:15] -[@1483,8539:8541='int',<'int'>,314:24] -[@1484,8543:8546='this',<'this'>,314:28] -[@1485,8547:8547='[',<'['>,314:32] -[@1486,8548:8550='int',<'int'>,314:33] -[@1487,8552:8556='index',,314:37] -[@1488,8557:8557=']',<']'>,314:42] -[@1489,8567:8567='{',<'{'>,315:8] -[@1490,8581:8589='protected',<'protected'>,316:12] -[@1491,8591:8598='internal',<'internal'>,316:22] -[@1492,8600:8602='get',<'get'>,316:31] -[@1493,8603:8603=';',<';'>,316:34] -[@1494,8617:8624='internal',<'internal'>,317:12] -[@1495,8626:8634='protected',<'protected'>,317:21] -[@1496,8636:8638='set',<'set'>,317:31] -[@1497,8639:8639=';',<';'>,317:34] -[@1498,8649:8649='}',<'}'>,318:8] -[@1499,8660:8660='[',<'['>,320:8] -[@1500,8661:8665='event',<'event'>,320:9] -[@1501,8666:8666=':',<':'>,320:14] -[@1502,8668:8671='Test',,320:16] -[@1503,8672:8672=']',<']'>,320:20] -[@1504,8682:8687='public',<'public'>,321:8] -[@1505,8689:8693='event',<'event'>,321:15] -[@1506,8695:8700='Action',,321:21] -[@1507,8702:8703='E1',,321:28] -[@1508,8713:8713='{',<'{'>,322:8] -[@1509,8727:8727='[',<'['>,323:12] -[@1510,8728:8735='Obsolete',,323:13] -[@1511,8736:8736=']',<']'>,323:21] -[@1512,8750:8752='add',<'add'>,324:12] -[@1513,8754:8754='{',<'{'>,324:16] -[@1514,8756:8760='value',<'value'>,324:18] -[@1515,8762:8762='=',<'='>,324:24] -[@1516,8764:8768='value',<'value'>,324:26] -[@1517,8769:8769=';',<';'>,324:31] -[@1518,8771:8771='}',<'}'>,324:33] -[@1519,8785:8785='[',<'['>,325:12] -[@1520,8786:8793='Obsolete',,325:13] -[@1521,8794:8794=']',<']'>,325:21] -[@1522,8808:8808='[',<'['>,326:12] -[@1523,8809:8814='return',<'return'>,326:13] -[@1524,8815:8815=':',<':'>,326:19] -[@1525,8817:8824='Obsolete',,326:21] -[@1526,8825:8825=']',<']'>,326:29] -[@1527,8839:8844='remove',<'remove'>,327:12] -[@1528,8846:8846='{',<'{'>,327:19] -[@1529,8848:8848='E',,327:21] -[@1530,8850:8851='+=',<'+='>,327:23] -[@1531,8853:8859='Handler',,327:26] -[@1532,8860:8860=';',<';'>,327:33] -[@1533,8862:8862='E',,327:35] -[@1534,8864:8865='-=',<'-='>,327:37] -[@1535,8867:8873='Handler',,327:40] -[@1536,8874:8874=';',<';'>,327:47] -[@1537,8876:8876='}',<'}'>,327:49] -[@1538,8886:8886='}',<'}'>,328:8] -[@1539,8896:8901='public',<'public'>,329:8] -[@1540,8903:8908='static',<'static'>,329:15] -[@1541,8910:8910='A',,329:22] -[@1542,8912:8919='operator',<'operator'>,329:24] -[@1543,8921:8921='+',<'+'>,329:33] -[@1544,8922:8922='(',<'('>,329:34] -[@1545,8923:8923='A',,329:35] -[@1546,8925:8929='first',,329:37] -[@1547,8930:8930=',',<','>,329:42] -[@1548,8932:8932='A',,329:44] -[@1549,8934:8939='second',,329:46] -[@1550,8940:8940=')',<')'>,329:52] -[@1551,8950:8950='{',<'{'>,330:8] -[@1552,8964:8971='Delegate',,331:12] -[@1553,8973:8979='handler',,331:21] -[@1554,8981:8981='=',<'='>,331:29] -[@1555,8983:8985='new',<'new'>,331:31] -[@1556,8987:8994='Delegate',,331:35] -[@1557,8995:8995='(',<'('>,331:43] -[@1558,8996:9002='Handler',,331:44] -[@1559,9003:9003=')',<')'>,331:51] -[@1560,9004:9004=';',<';'>,331:52] -[@1561,9018:9023='return',<'return'>,332:12] -[@1562,9025:9029='first',,332:19] -[@1563,9030:9030='.',<'.'>,332:24] -[@1564,9031:9033='Add',,332:25] -[@1565,9034:9034='(',<'('>,332:28] -[@1566,9035:9040='second',,332:29] -[@1567,9041:9041=')',<')'>,332:35] -[@1568,9042:9042=';',<';'>,332:36] -[@1569,9052:9052='}',<'}'>,333:8] -[@1570,9062:9062='[',<'['>,334:8] -[@1571,9063:9068='method',,334:9] -[@1572,9069:9069=':',<':'>,334:15] -[@1573,9071:9078='Obsolete',,334:17] -[@1574,9079:9079=']',<']'>,334:25] -[@1575,9089:9089='[',<'['>,335:8] -[@1576,9090:9095='return',<'return'>,335:9] -[@1577,9096:9096=':',<':'>,335:15] -[@1578,9098:9105='Obsolete',,335:17] -[@1579,9106:9106=']',<']'>,335:25] -[@1580,9116:9121='public',<'public'>,336:8] -[@1581,9123:9128='static',<'static'>,336:15] -[@1582,9130:9133='bool',<'bool'>,336:22] -[@1583,9135:9142='operator',<'operator'>,336:27] -[@1584,9144:9147='true',<'true'>,336:36] -[@1585,9148:9148='(',<'('>,336:40] -[@1586,9149:9149='A',,336:41] -[@1587,9151:9151='a',,336:43] -[@1588,9152:9152=')',<')'>,336:44] -[@1589,9162:9162='{',<'{'>,337:8] -[@1590,9176:9181='return',<'return'>,338:12] -[@1591,9183:9186='true',<'true'>,338:19] -[@1592,9187:9187=';',<';'>,338:23] -[@1593,9197:9197='}',<'}'>,339:8] -[@1594,9207:9212='public',<'public'>,340:8] -[@1595,9214:9219='static',<'static'>,340:15] -[@1596,9221:9224='bool',<'bool'>,340:22] -[@1597,9226:9233='operator',<'operator'>,340:27] -[@1598,9235:9239='false',<'false'>,340:36] -[@1599,9240:9240='(',<'('>,340:41] -[@1600,9241:9241='A',,340:42] -[@1601,9243:9243='a',,340:44] -[@1602,9244:9244=')',<')'>,340:45] -[@1603,9254:9254='{',<'{'>,341:8] -[@1604,9268:9273='return',<'return'>,342:12] -[@1605,9275:9279='false',<'false'>,342:19] -[@1606,9280:9280=';',<';'>,342:24] -[@1607,9290:9290='}',<'}'>,343:8] -[@1608,9300:9304='class',<'class'>,344:8] -[@1609,9306:9306='C',,344:14] -[@1610,9316:9316='{',<'{'>,345:8] -[@1611,9326:9326='}',<'}'>,346:8] -[@1612,9332:9332='}',<'}'>,347:4] -[@1613,9338:9343='public',<'public'>,348:4] -[@1614,9345:9350='struct',<'struct'>,348:11] -[@1615,9352:9352='S',,348:18] -[@1616,9354:9354=':',<':'>,348:20] -[@1617,9356:9356='I',,348:22] -[@1618,9362:9362='{',<'{'>,349:4] -[@1619,9372:9377='public',<'public'>,350:8] -[@1620,9379:9379='S',,350:15] -[@1621,9380:9380='(',<'('>,350:16] -[@1622,9381:9381=')',<')'>,350:17] -[@1623,9391:9391='{',<'{'>,351:8] -[@1624,9401:9401='}',<'}'>,352:8] -[@1625,9411:9417='private',<'private'>,353:8] -[@1626,9419:9421='int',<'int'>,353:16] -[@1627,9423:9424='f1',,353:20] -[@1628,9425:9425=';',<';'>,353:22] -[@1629,9435:9435='[',<'['>,354:8] -[@1630,9436:9443='Obsolete',,354:9] -[@1631,9444:9444='(',<'('>,354:17] -[@1632,9445:9464='"Use Script instead"',,354:18] -[@1633,9465:9465=',',<','>,354:38] -[@1634,9467:9471='error',,354:40] -[@1635,9472:9472=':',<':'>,354:45] -[@1636,9474:9478='false',<'false'>,354:47] -[@1637,9479:9479=')',<')'>,354:52] -[@1638,9480:9480=']',<']'>,354:53] -[@1639,9490:9496='private',<'private'>,355:8] -[@1640,9498:9505='volatile',<'volatile'>,355:16] -[@1641,9507:9509='int',<'int'>,355:25] -[@1642,9511:9512='f2',,355:29] -[@1643,9513:9513=';',<';'>,355:31] -[@1644,9523:9528='public',<'public'>,356:8] -[@1645,9530:9537='abstract',<'abstract'>,356:15] -[@1646,9539:9541='int',<'int'>,356:24] -[@1647,9543:9543='m',,356:28] -[@1648,9544:9544='<',<'<'>,356:29] -[@1649,9545:9545='T',,356:30] -[@1650,9546:9546='>',<'>'>,356:31] -[@1651,9547:9547='(',<'('>,356:32] -[@1652,9548:9548='T',,356:33] -[@1653,9550:9550='t',,356:35] -[@1654,9551:9551=')',<')'>,356:36] -[@1655,9563:9567='where',<'where'>,357:10] -[@1656,9569:9569='T',,357:16] -[@1657,9571:9571=':',<':'>,357:18] -[@1658,9573:9578='struct',<'struct'>,357:20] -[@1659,9588:9588='{',<'{'>,358:8] -[@1660,9602:9607='return',<'return'>,359:12] -[@1661,9609:9609='1',,359:19] -[@1662,9610:9610=';',<';'>,359:20] -[@1663,9620:9620='}',<'}'>,360:8] -[@1664,9630:9635='public',<'public'>,361:8] -[@1665,9637:9642='string',<'string'>,361:15] -[@1666,9644:9644='P',,361:22] -[@1667,9654:9654='{',<'{'>,362:8] -[@1668,9668:9670='get',<'get'>,363:12] -[@1669,9684:9684='{',<'{'>,364:12] -[@1670,9702:9704='int',<'int'>,365:16] -[@1671,9706:9710='value',<'value'>,365:20] -[@1672,9712:9712='=',<'='>,365:26] -[@1673,9714:9714='0',,365:28] -[@1674,9715:9715=';',<';'>,365:29] -[@1675,9733:9738='return',<'return'>,366:16] -[@1676,9740:9742='"A"',,366:23] -[@1677,9743:9743=';',<';'>,366:26] -[@1678,9757:9757='}',<'}'>,367:12] -[@1679,9771:9773='set',<'set'>,368:12] -[@1680,9774:9774=';',<';'>,368:15] -[@1681,9784:9784='}',<'}'>,369:8] -[@1682,9794:9799='public',<'public'>,370:8] -[@1683,9801:9808='abstract',<'abstract'>,370:15] -[@1684,9810:9815='string',<'string'>,370:24] -[@1685,9817:9817='P',,370:31] -[@1686,9827:9827='{',<'{'>,371:8] -[@1687,9841:9843='get',<'get'>,372:12] -[@1688,9844:9844=';',<';'>,372:15] -[@1689,9854:9854='}',<'}'>,373:8] -[@1690,9864:9869='public',<'public'>,374:8] -[@1691,9871:9878='abstract',<'abstract'>,374:15] -[@1692,9880:9882='int',<'int'>,374:24] -[@1693,9884:9887='this',<'this'>,374:28] -[@1694,9888:9888='[',<'['>,374:32] -[@1695,9889:9891='int',<'int'>,374:33] -[@1696,9893:9897='index',,374:37] -[@1697,9898:9898=']',<']'>,374:42] -[@1698,9908:9908='{',<'{'>,375:8] -[@1699,9922:9924='get',<'get'>,376:12] -[@1700,9925:9925=';',<';'>,376:15] -[@1701,9939:9946='internal',<'internal'>,377:12] -[@1702,9948:9956='protected',<'protected'>,377:21] -[@1703,9958:9960='set',<'set'>,377:31] -[@1704,9961:9961=';',<';'>,377:34] -[@1705,9971:9971='}',<'}'>,378:8] -[@1706,9981:9986='public',<'public'>,379:8] -[@1707,9988:9992='event',<'event'>,379:15] -[@1708,9994:9998='Event',,379:21] -[@1709,10000:10000='E',,379:27] -[@1710,10001:10001=';',<';'>,379:28] -[@1711,10011:10016='public',<'public'>,380:8] -[@1712,10018:10023='static',<'static'>,380:15] -[@1713,10025:10025='A',,380:22] -[@1714,10027:10034='operator',<'operator'>,380:24] -[@1715,10036:10036='+',<'+'>,380:33] -[@1716,10037:10037='(',<'('>,380:34] -[@1717,10038:10038='A',,380:35] -[@1718,10040:10044='first',,380:37] -[@1719,10045:10045=',',<','>,380:42] -[@1720,10047:10047='A',,380:44] -[@1721,10049:10054='second',,380:46] -[@1722,10055:10055=')',<')'>,380:52] -[@1723,10065:10065='{',<'{'>,381:8] -[@1724,10079:10084='return',<'return'>,382:12] -[@1725,10086:10090='first',,382:19] -[@1726,10091:10091='.',<'.'>,382:24] -[@1727,10092:10094='Add',,382:25] -[@1728,10095:10095='(',<'('>,382:28] -[@1729,10096:10101='second',,382:29] -[@1730,10102:10102=')',<')'>,382:35] -[@1731,10103:10103=';',<';'>,382:36] -[@1732,10113:10113='}',<'}'>,383:8] -[@1733,10123:10127='fixed',<'fixed'>,384:8] -[@1734,10129:10131='int',<'int'>,384:14] -[@1735,10133:10137='field',,384:18] -[@1736,10138:10138='[',<'['>,384:23] -[@1737,10139:10140='10',,384:24] -[@1738,10141:10141=']',<']'>,384:26] -[@1739,10142:10142=';',<';'>,384:27] -[@1740,10152:10156='class',<'class'>,385:8] -[@1741,10158:10158='C',,385:14] -[@1742,10168:10168='{',<'{'>,386:8] -[@1743,10178:10178='}',<'}'>,387:8] -[@1744,10184:10184='}',<'}'>,388:4] -[@1745,10190:10195='public',<'public'>,389:4] -[@1746,10197:10205='interface',<'interface'>,389:11] -[@1747,10207:10207='I',,389:21] -[@1748,10213:10213='{',<'{'>,390:4] -[@1749,10223:10226='void',<'void'>,391:8] -[@1750,10228:10228='A',,391:13] -[@1751,10229:10229='(',<'('>,391:14] -[@1752,10230:10232='int',<'int'>,391:15] -[@1753,10234:10238='value',<'value'>,391:19] -[@1754,10239:10239=')',<')'>,391:24] -[@1755,10240:10240=';',<';'>,391:25] -[@1756,10250:10255='string',<'string'>,392:8] -[@1757,10257:10261='Value',,392:15] -[@1758,10271:10271='{',<'{'>,393:8] -[@1759,10285:10287='get',<'get'>,394:12] -[@1760,10288:10288=';',<';'>,394:15] -[@1761,10302:10304='set',<'set'>,395:12] -[@1762,10305:10305=';',<';'>,395:15] -[@1763,10315:10315='}',<'}'>,396:8] -[@1764,10321:10321='}',<'}'>,397:4] -[@1765,10327:10327='[',<'['>,398:4] -[@1766,10328:10331='type',,398:5] -[@1767,10332:10332=':',<':'>,398:9] -[@1768,10334:10338='Flags',,398:11] -[@1769,10339:10339=']',<']'>,398:16] -[@1770,10345:10350='public',<'public'>,399:4] -[@1771,10352:10355='enum',<'enum'>,399:11] -[@1772,10357:10357='E',,399:16] -[@1773,10363:10363='{',<'{'>,400:4] -[@1774,10373:10373='A',,401:8] -[@1775,10374:10374=',',<','>,401:9] -[@1776,10384:10384='B',,402:8] -[@1777,10386:10386='=',<'='>,402:10] -[@1778,10388:10388='A',,402:12] -[@1779,10389:10389=',',<','>,402:13] -[@1780,10399:10399='C',,403:8] -[@1781,10401:10401='=',<'='>,403:10] -[@1782,10403:10403='2',,403:12] -[@1783,10405:10405='+',<'+'>,403:14] -[@1784,10407:10407='A',,403:16] -[@1785,10408:10408=',',<','>,403:17] -[@1786,10418:10418='D',,404:8] -[@1787,10419:10419=',',<','>,404:9] -[@1788,10425:10425='}',<'}'>,405:4] -[@1789,10436:10441='public',<'public'>,407:4] -[@1790,10443:10450='delegate',<'delegate'>,407:11] -[@1791,10452:10455='void',<'void'>,407:20] -[@1792,10457:10464='Delegate',,407:25] -[@1793,10465:10465='(',<'('>,407:33] -[@1794,10466:10471='object',<'object'>,407:34] -[@1795,10473:10473='P',,407:41] -[@1796,10474:10474=')',<')'>,407:42] -[@1797,10475:10475=';',<';'>,407:43] -[@1798,10481:10489='namespace',<'namespace'>,408:4] -[@1799,10491:10494='Test',,408:14] -[@1800,10500:10500='{',<'{'>,409:4] -[@1801,10510:10514='using',<'using'>,410:8] -[@1802,10516:10521='System',,410:14] -[@1803,10522:10522=';',<';'>,410:20] -[@1804,10532:10536='using',<'using'>,411:8] -[@1805,10538:10543='System',,411:14] -[@1806,10544:10544='.',<'.'>,411:20] -[@1807,10545:10555='Collections',,411:21] -[@1808,10556:10556=';',<';'>,411:32] -[@1809,10566:10571='public',<'public'>,412:8] -[@1810,10573:10577='class',<'class'>,412:15] -[@1811,10579:10584='Список',,412:21] -[@1812,10594:10594='{',<'{'>,413:8] -[@1813,10608:10613='public',<'public'>,414:12] -[@1814,10615:10620='static',<'static'>,414:19] -[@1815,10622:10632='IEnumerable',,414:26] -[@1816,10634:10638='Power',,414:38] -[@1817,10639:10639='(',<'('>,414:43] -[@1818,10640:10642='int',<'int'>,414:44] -[@1819,10644:10649='number',,414:48] -[@1820,10650:10650=',',<','>,414:54] -[@1821,10652:10654='int',<'int'>,414:56] -[@1822,10656:10663='exponent',,414:60] -[@1823,10664:10664=')',<')'>,414:68] -[@1824,10678:10678='{',<'{'>,415:12] -[@1825,10696:10701='Список',,416:16] -[@1826,10703:10708='Список',,416:23] -[@1827,10710:10710='=',<'='>,416:30] -[@1828,10712:10714='new',<'new'>,416:32] -[@1829,10716:10721='Список',,416:36] -[@1830,10722:10722='(',<'('>,416:42] -[@1831,10723:10723=')',<')'>,416:43] -[@1832,10724:10724=';',<';'>,416:44] -[@1833,10742:10747='Список',,417:16] -[@1834,10748:10748='.',<'.'>,417:22] -[@1835,10749:10752='Main',,417:23] -[@1836,10753:10753='(',<'('>,417:27] -[@1837,10754:10754=')',<')'>,417:28] -[@1838,10755:10755=';',<';'>,417:29] -[@1839,10773:10775='int',<'int'>,418:16] -[@1840,10777:10783='counter',,418:20] -[@1841,10785:10785='=',<'='>,418:28] -[@1842,10787:10787='(',<'('>,418:30] -[@1843,10788:10788='0',,418:31] -[@1844,10790:10790='+',<'+'>,418:33] -[@1845,10792:10792='0',,418:35] -[@1846,10793:10793=')',<')'>,418:36] -[@1847,10794:10794=';',<';'>,418:37] -[@1848,10812:10814='int',<'int'>,419:16] -[@1849,10816:10818='אתר',,419:20] -[@1850,10820:10820='=',<'='>,419:24] -[@1851,10822:10822='0',,419:26] -[@1852,10823:10823=';',<';'>,419:27] -[@1853,10841:10845='while',<'while'>,420:16] -[@1854,10847:10847='(',<'('>,420:22] -[@1855,10848:10849='++',<'++'>,420:23] -[@1856,10850:10856='counter',,420:25] -[@1857,10857:10858='++',<'++'>,420:32] -[@1858,10860:10860='<',<'<'>,420:35] -[@1859,10862:10863='--',<'--'>,420:37] -[@1860,10864:10871='exponent',,420:39] -[@1861,10872:10873='--',<'--'>,420:47] -[@1862,10874:10874=')',<')'>,420:49] -[@1863,10892:10892='{',<'{'>,421:16] -[@1864,10914:10919='result',,422:20] -[@1865,10921:10921='=',<'='>,422:27] -[@1866,10923:10928='result',,422:29] -[@1867,10930:10930='*',<'*'>,422:36] -[@1868,10932:10937='number',,422:38] -[@1869,10939:10939='+',<'+'>,422:45] -[@1870,10941:10941='+',<'+'>,422:47] -[@1871,10942:10947='number',,422:48] -[@1872,10948:10949='++',<'++'>,422:54] -[@1873,10950:10951='++',<'++'>,422:56] -[@1874,10952:10952='+',<'+'>,422:58] -[@1875,10953:10958='number',,422:59] -[@1876,10959:10959=';',<';'>,422:65] -[@1877,10981:10985='yield',<'yield'>,423:20] -[@1878,10987:10992='return',<'return'>,423:26] -[@1879,10994:10999='result',,423:33] -[@1880,11000:11000=';',<';'>,423:39] -[@1881,11018:11018='}',<'}'>,424:16] -[@1882,11032:11032='}',<'}'>,425:12] -[@1883,11046:11051='static',<'static'>,426:12] -[@1884,11053:11056='void',<'void'>,426:19] -[@1885,11058:11061='Main',,426:24] -[@1886,11062:11062='(',<'('>,426:28] -[@1887,11063:11063=')',<')'>,426:29] -[@1888,11077:11077='{',<'{'>,427:12] -[@1889,11095:11101='foreach',<'foreach'>,428:16] -[@1890,11103:11103='(',<'('>,428:24] -[@1891,11104:11106='int',<'int'>,428:25] -[@1892,11108:11108='i',,428:29] -[@1893,11110:11111='in',<'in'>,428:31] -[@1894,11113:11117='Power',,428:34] -[@1895,11118:11118='(',<'('>,428:39] -[@1896,11119:11119='2',,428:40] -[@1897,11120:11120=',',<','>,428:41] -[@1898,11122:11122='8',,428:43] -[@1899,11123:11123=')',<')'>,428:44] -[@1900,11124:11124=')',<')'>,428:45] -[@1901,11142:11142='{',<'{'>,429:16] -[@1902,11164:11170='Console',,430:20] -[@1903,11171:11171='.',<'.'>,430:27] -[@1904,11172:11176='Write',,430:28] -[@1905,11177:11177='(',<'('>,430:33] -[@1906,11178:11183='"{0} "',,430:34] -[@1907,11184:11184=',',<','>,430:40] -[@1908,11186:11186='i',,430:42] -[@1909,11187:11187=')',<')'>,430:43] -[@1910,11188:11188=';',<';'>,430:44] -[@1911,11206:11206='}',<'}'>,431:16] -[@1912,11220:11220='}',<'}'>,432:12] -[@1913,11234:11238='async',<'async'>,433:12] -[@1914,11240:11243='void',<'void'>,433:18] -[@1915,11245:11248='Wait',,433:23] -[@1916,11249:11249='(',<'('>,433:27] -[@1917,11250:11250=')',<')'>,433:28] -[@1918,11264:11264='{',<'{'>,434:12] -[@1919,11282:11286='await',<'await'>,435:16] -[@1920,11288:11293='System',,435:22] -[@1921,11294:11294='.',<'.'>,435:28] -[@1922,11295:11303='Threading',,435:29] -[@1923,11304:11304='.',<'.'>,435:38] -[@1924,11305:11309='Tasks',,435:39] -[@1925,11310:11310='.',<'.'>,435:44] -[@1926,11311:11314='Task',,435:45] -[@1927,11315:11315='.',<'.'>,435:49] -[@1928,11316:11320='Delay',,435:50] -[@1929,11321:11321='(',<'('>,435:55] -[@1930,11322:11322='0',,435:56] -[@1931,11323:11323=')',<')'>,435:57] -[@1932,11324:11324=';',<';'>,435:58] -[@1933,11338:11338='}',<'}'>,436:12] -[@1934,11352:11355='void',<'void'>,437:12] -[@1935,11357:11370='AsyncAnonymous',,437:17] -[@1936,11371:11371='(',<'('>,437:31] -[@1937,11372:11372=')',<')'>,437:32] -[@1938,11403:11403='{',<'{'>,438:12] -[@1939,11421:11423='var',<'var'>,439:16] -[@1940,11425:11428='task',,439:20] -[@1941,11430:11430='=',<'='>,439:25] -[@1942,11432:11435='Task',,439:27] -[@1943,11436:11436='.',<'.'>,439:31] -[@1944,11437:11443='Factory',,439:32] -[@1945,11444:11444='.',<'.'>,439:39] -[@1946,11445:11452='StartNew',,439:40] -[@1947,11453:11453='(',<'('>,439:48] -[@1948,11454:11458='async',<'async'>,439:49] -[@1949,11460:11460='(',<'('>,439:55] -[@1950,11461:11461=')',<')'>,439:56] -[@1951,11463:11464='=>',<'=>'>,439:58] -[@1952,11482:11482='{',<'{'>,440:16] -[@1953,11504:11509='return',<'return'>,441:20] -[@1954,11511:11515='await',<'await'>,441:27] -[@1955,11517:11519='new',<'new'>,441:33] -[@1956,11521:11529='WebClient',,441:37] -[@1957,11530:11530='(',<'('>,441:46] -[@1958,11531:11531=')',<')'>,441:47] -[@1959,11532:11532='.',<'.'>,441:48] -[@1960,11533:11555='DownloadStringTaskAsync',,441:49] -[@1961,11556:11556='(',<'('>,441:72] -[@1962,11557:11576='"http://example.com"',,441:73] -[@1963,11577:11577=')',<')'>,441:93] -[@1964,11578:11578=';',<';'>,441:94] -[@1965,11596:11596='}',<'}'>,442:16] -[@1966,11597:11597=')',<')'>,442:17] -[@1967,11598:11598=';',<';'>,442:18] -[@1968,11612:11612='}',<'}'>,443:12] -[@1969,11622:11622='}',<'}'>,444:8] -[@1970,11628:11628='}',<'}'>,445:4] -[@1971,11630:11630='}',<'}'>,446:0] -[@1972,11633:11641='namespace',<'namespace'>,448:0] -[@1973,11643:11661='ConsoleApplication1',,448:10] -[@1974,11663:11663='{',<'{'>,449:0] -[@1975,11669:11677='namespace',<'namespace'>,450:4] -[@1976,11679:11702='RecursiveGenericBaseType',,450:14] -[@1977,11708:11708='{',<'{'>,451:4] -[@1978,11718:11722='class',<'class'>,452:8] -[@1979,11724:11724='A',,452:14] -[@1980,11725:11725='<',<'<'>,452:15] -[@1981,11726:11726='T',,452:16] -[@1982,11727:11727='>',<'>'>,452:17] -[@1983,11729:11729=':',<':'>,452:19] -[@1984,11731:11731='B',,452:21] -[@1985,11732:11732='<',<'<'>,452:22] -[@1986,11733:11733='A',,452:23] -[@1987,11734:11734='<',<'<'>,452:24] -[@1988,11735:11735='T',,452:25] -[@1989,11736:11736='>',<'>'>,452:26] -[@1990,11737:11737=',',<','>,452:27] -[@1991,11739:11739='A',,452:29] -[@1992,11740:11740='<',<'<'>,452:30] -[@1993,11741:11741='T',,452:31] -[@1994,11742:11742='>',<'>'>,452:32] -[@1995,11743:11743='>',<'>'>,452:33] -[@1996,11745:11749='where',<'where'>,452:35] -[@1997,11751:11751='T',,452:41] -[@1998,11753:11753=':',<':'>,452:43] -[@1999,11755:11755='A',,452:45] -[@2000,11756:11756='<',<'<'>,452:46] -[@2001,11757:11757='T',,452:47] -[@2002,11758:11758='>',<'>'>,452:48] -[@2003,11768:11768='{',<'{'>,453:8] -[@2004,11782:11790='protected',<'protected'>,454:12] -[@2005,11792:11798='virtual',<'virtual'>,454:22] -[@2006,11800:11800='A',,454:30] -[@2007,11801:11801='<',<'<'>,454:31] -[@2008,11802:11802='T',,454:32] -[@2009,11803:11803='>',<'>'>,454:33] -[@2010,11805:11805='M',,454:35] -[@2011,11806:11806='(',<'('>,454:36] -[@2012,11807:11807=')',<')'>,454:37] -[@2013,11809:11809='{',<'{'>,454:39] -[@2014,11811:11811='}',<'}'>,454:41] -[@2015,11825:11833='protected',<'protected'>,455:12] -[@2016,11835:11842='abstract',<'abstract'>,455:22] -[@2017,11844:11844='B',,455:31] -[@2018,11845:11845='<',<'<'>,455:32] -[@2019,11846:11846='A',,455:33] -[@2020,11847:11847='<',<'<'>,455:34] -[@2021,11848:11848='T',,455:35] -[@2022,11849:11849='>',<'>'>,455:36] -[@2023,11850:11850=',',<','>,455:37] -[@2024,11852:11852='A',,455:39] -[@2025,11853:11853='<',<'<'>,455:40] -[@2026,11854:11854='T',,455:41] -[@2027,11855:11855='>',<'>'>,455:42] -[@2028,11856:11856='>',<'>'>,455:43] -[@2029,11858:11858='N',,455:45] -[@2030,11859:11859='(',<'('>,455:46] -[@2031,11860:11860=')',<')'>,455:47] -[@2032,11862:11862='{',<'{'>,455:49] -[@2033,11864:11864='}',<'}'>,455:51] -[@2034,11878:11883='static',<'static'>,456:12] -[@2035,11885:11885='B',,456:19] -[@2036,11886:11886='<',<'<'>,456:20] -[@2037,11887:11887='A',,456:21] -[@2038,11888:11888='<',<'<'>,456:22] -[@2039,11889:11889='T',,456:23] -[@2040,11890:11890='>',<'>'>,456:24] -[@2041,11891:11891=',',<','>,456:25] -[@2042,11893:11893='A',,456:27] -[@2043,11894:11894='<',<'<'>,456:28] -[@2044,11895:11895='T',,456:29] -[@2045,11896:11896='>',<'>'>,456:30] -[@2046,11897:11897='>',<'>'>,456:31] -[@2047,11899:11899='O',,456:33] -[@2048,11900:11900='(',<'('>,456:34] -[@2049,11901:11901=')',<')'>,456:35] -[@2050,11903:11903='{',<'{'>,456:37] -[@2051,11905:11905='}',<'}'>,456:39] -[@2052,11915:11915='}',<'}'>,457:8] -[@2053,11926:11931='sealed',<'sealed'>,459:8] -[@2054,11933:11937='class',<'class'>,459:15] -[@2055,11939:11939='B',,459:21] -[@2056,11940:11940='<',<'<'>,459:22] -[@2057,11941:11942='T1',,459:23] -[@2058,11943:11943=',',<','>,459:25] -[@2059,11945:11946='T2',,459:27] -[@2060,11947:11947='>',<'>'>,459:29] -[@2061,11949:11949=':',<':'>,459:31] -[@2062,11951:11951='A',,459:33] -[@2063,11952:11952='<',<'<'>,459:34] -[@2064,11953:11953='B',,459:35] -[@2065,11954:11954='<',<'<'>,459:36] -[@2066,11955:11956='T1',,459:37] -[@2067,11957:11957=',',<','>,459:39] -[@2068,11959:11960='T2',,459:41] -[@2069,11961:11961='>',<'>'>,459:43] -[@2070,11962:11962='>',<'>'>,459:44] -[@2071,11972:11972='{',<'{'>,460:8] -[@2072,11986:11994='protected',<'protected'>,461:12] -[@2073,11996:12003='override',<'override'>,461:22] -[@2074,12005:12005='A',,461:31] -[@2075,12006:12006='<',<'<'>,461:32] -[@2076,12007:12007='T',,461:33] -[@2077,12008:12008='>',<'>'>,461:34] -[@2078,12010:12010='M',,461:36] -[@2079,12011:12011='(',<'('>,461:37] -[@2080,12012:12012=')',<')'>,461:38] -[@2081,12014:12014='{',<'{'>,461:40] -[@2082,12016:12016='}',<'}'>,461:42] -[@2083,12030:12038='protected',<'protected'>,462:12] -[@2084,12040:12045='sealed',<'sealed'>,462:22] -[@2085,12047:12054='override',<'override'>,462:29] -[@2086,12056:12056='B',,462:38] -[@2087,12057:12057='<',<'<'>,462:39] -[@2088,12058:12058='A',,462:40] -[@2089,12059:12059='<',<'<'>,462:41] -[@2090,12060:12060='T',,462:42] -[@2091,12061:12061='>',<'>'>,462:43] -[@2092,12062:12062=',',<','>,462:44] -[@2093,12064:12064='A',,462:46] -[@2094,12065:12065='<',<'<'>,462:47] -[@2095,12066:12066='T',,462:48] -[@2096,12067:12067='>',<'>'>,462:49] -[@2097,12068:12068='>',<'>'>,462:50] -[@2098,12070:12070='N',,462:52] -[@2099,12071:12071='(',<'('>,462:53] -[@2100,12072:12072=')',<')'>,462:54] -[@2101,12074:12074='{',<'{'>,462:56] -[@2102,12076:12076='}',<'}'>,462:58] -[@2103,12090:12092='new',<'new'>,463:12] -[@2104,12094:12099='static',<'static'>,463:16] -[@2105,12101:12101='A',,463:23] -[@2106,12102:12102='<',<'<'>,463:24] -[@2107,12103:12103='T',,463:25] -[@2108,12104:12104='>',<'>'>,463:26] -[@2109,12106:12106='O',,463:28] -[@2110,12107:12107='(',<'('>,463:29] -[@2111,12108:12108=')',<')'>,463:30] -[@2112,12110:12110='{',<'{'>,463:32] -[@2113,12112:12112='}',<'}'>,463:34] -[@2114,12122:12122='}',<'}'>,464:8] -[@2115,12128:12128='}',<'}'>,465:4] -[@2116,12135:12143='namespace',<'namespace'>,467:4] -[@2117,12145:12147='Boo',,467:14] -[@2118,12153:12153='{',<'{'>,468:4] -[@2119,12163:12168='public',<'public'>,469:8] -[@2120,12170:12174='class',<'class'>,469:15] -[@2121,12176:12178='Bar',,469:21] -[@2122,12179:12179='<',<'<'>,469:24] -[@2123,12180:12180='T',,469:25] -[@2124,12181:12181='>',<'>'>,469:26] -[@2125,12183:12187='where',<'where'>,469:28] -[@2126,12189:12189='T',,469:34] -[@2127,12191:12191=':',<':'>,469:36] -[@2128,12193:12203='IComparable',,469:38] -[@2129,12213:12213='{',<'{'>,470:8] -[@2130,12227:12232='public',<'public'>,471:12] -[@2131,12234:12234='T',,471:19] -[@2132,12236:12236='f',,471:21] -[@2133,12237:12237=';',<';'>,471:22] -[@2134,12251:12256='public',<'public'>,472:12] -[@2135,12258:12262='class',<'class'>,472:19] -[@2136,12264:12266='Foo',,472:25] -[@2137,12267:12267='<',<'<'>,472:28] -[@2138,12268:12268='U',,472:29] -[@2139,12269:12269='>',<'>'>,472:30] -[@2140,12271:12271=':',<':'>,472:32] -[@2141,12273:12283='IEnumerable',,472:34] -[@2142,12284:12284='<',<'<'>,472:45] -[@2143,12285:12285='T',,472:46] -[@2144,12286:12286='>',<'>'>,472:47] -[@2145,12300:12300='{',<'{'>,473:12] -[@2146,12318:12323='public',<'public'>,474:16] -[@2147,12325:12328='void',<'void'>,474:23] -[@2148,12330:12335='Method',,474:28] -[@2149,12336:12336='<',<'<'>,474:34] -[@2150,12337:12337='K',,474:35] -[@2151,12338:12338=',',<','>,474:36] -[@2152,12340:12340='V',,474:38] -[@2153,12341:12341='>',<'>'>,474:39] -[@2154,12342:12342='(',<'('>,474:40] -[@2155,12343:12343='K',,474:41] -[@2156,12345:12345='k',,474:43] -[@2157,12346:12346=',',<','>,474:44] -[@2158,12348:12348='T',,474:46] -[@2159,12350:12350='t',,474:48] -[@2160,12351:12351=',',<','>,474:49] -[@2161,12353:12353='U',,474:51] -[@2162,12355:12355='u',,474:53] -[@2163,12356:12356=')',<')'>,474:54] -[@2164,12378:12382='where',<'where'>,475:20] -[@2165,12384:12384='K',,475:26] -[@2166,12386:12386=':',<':'>,475:28] -[@2167,12388:12392='IList',,475:30] -[@2168,12393:12393='<',<'<'>,475:35] -[@2169,12394:12394='V',,475:36] -[@2170,12395:12395='>',<'>'>,475:37] -[@2171,12396:12396=',',<','>,475:38] -[@2172,12398:12402='IList',,475:40] -[@2173,12403:12403='<',<'<'>,475:45] -[@2174,12404:12404='T',,475:46] -[@2175,12405:12405='>',<'>'>,475:47] -[@2176,12406:12406=',',<','>,475:48] -[@2177,12408:12412='IList',,475:50] -[@2178,12413:12413='<',<'<'>,475:55] -[@2179,12414:12414='U',,475:56] -[@2180,12415:12415='>',<'>'>,475:57] -[@2181,12437:12441='where',<'where'>,476:20] -[@2182,12443:12443='V',,476:26] -[@2183,12445:12445=':',<':'>,476:28] -[@2184,12447:12451='IList',,476:30] -[@2185,12452:12452='<',<'<'>,476:35] -[@2186,12453:12453='K',,476:36] -[@2187,12454:12454='>',<'>'>,476:37] -[@2188,12472:12472='{',<'{'>,477:16] -[@2189,12494:12494='A',,478:20] -[@2190,12495:12495='<',<'<'>,478:21] -[@2191,12496:12498='int',<'int'>,478:22] -[@2192,12499:12499='>',<'>'>,478:25] -[@2193,12501:12501='a',,478:27] -[@2194,12502:12502=';',<';'>,478:28] -[@2195,12524:12524='M',,479:20] -[@2196,12525:12525='(',<'('>,479:21] -[@2197,12526:12526='A',,479:22] -[@2198,12527:12527='<',<'<'>,479:23] -[@2199,12528:12528='B',,479:24] -[@2200,12529:12529=',',<','>,479:25] -[@2201,12531:12531='C',,479:27] -[@2202,12532:12532='>',<'>'>,479:28] -[@2203,12533:12533='(',<'('>,479:29] -[@2204,12534:12534='5',,479:30] -[@2205,12535:12535=')',<')'>,479:31] -[@2206,12536:12536=')',<')'>,479:32] -[@2207,12537:12537=';',<';'>,479:33] -[@2208,12555:12555='}',<'}'>,480:16] -[@2209,12569:12569='}',<'}'>,481:12] -[@2210,12570:12570=';',<';'>,481:13] -[@2211,12580:12580='}',<'}'>,482:8] -[@2212,12581:12581=';',<';'>,482:9] -[@2213,12587:12587='}',<'}'>,483:4] -[@2214,12588:12588=';',<';'>,483:5] -[@2215,12595:12599='class',<'class'>,485:4] -[@2216,12601:12604='Test',,485:10] -[@2217,12610:12610='{',<'{'>,486:4] -[@2218,12620:12623='void',<'void'>,487:8] -[@2219,12625:12628='Bar3',,487:13] -[@2220,12629:12629='(',<'('>,487:17] -[@2221,12630:12630=')',<')'>,487:18] -[@2222,12640:12640='{',<'{'>,488:8] -[@2223,12654:12656='var',<'var'>,489:12] -[@2224,12658:12658='x',,489:16] -[@2225,12660:12660='=',<'='>,489:18] -[@2226,12662:12664='new',<'new'>,489:20] -[@2227,12666:12668='Boo',,489:24] -[@2228,12669:12669='.',<'.'>,489:27] -[@2229,12670:12672='Bar',,489:28] -[@2230,12673:12673='<',<'<'>,489:31] -[@2231,12674:12676='int',<'int'>,489:32] -[@2232,12677:12677='>',<'>'>,489:35] -[@2233,12678:12678='.',<'.'>,489:36] -[@2234,12679:12681='Foo',,489:37] -[@2235,12682:12682='<',<'<'>,489:40] -[@2236,12683:12688='object',<'object'>,489:41] -[@2237,12689:12689='>',<'>'>,489:47] -[@2238,12690:12690='(',<'('>,489:48] -[@2239,12691:12691=')',<')'>,489:49] -[@2240,12692:12692=';',<';'>,489:50] -[@2241,12706:12706='x',,490:12] -[@2242,12707:12707='.',<'.'>,490:13] -[@2243,12708:12713='Method',,490:14] -[@2244,12714:12714='<',<'<'>,490:20] -[@2245,12715:12720='string',<'string'>,490:21] -[@2246,12721:12721=',',<','>,490:27] -[@2247,12723:12728='string',<'string'>,490:29] -[@2248,12729:12729='>',<'>'>,490:35] -[@2249,12730:12730='(',<'('>,490:36] -[@2250,12731:12733='" "',,490:37] -[@2251,12734:12734=',',<','>,490:40] -[@2252,12736:12736='5',,490:42] -[@2253,12737:12737=',',<','>,490:43] -[@2254,12739:12741='new',<'new'>,490:45] -[@2255,12743:12748='object',<'object'>,490:49] -[@2256,12749:12749='(',<'('>,490:55] -[@2257,12750:12750=')',<')'>,490:56] -[@2258,12751:12751=')',<')'>,490:57] -[@2259,12752:12752=';',<';'>,490:58] -[@2260,12767:12769='var',<'var'>,492:12] -[@2261,12771:12771='q',,492:16] -[@2262,12773:12773='=',<'='>,492:18] -[@2263,12775:12778='from',<'from'>,492:20] -[@2264,12780:12780='i',,492:25] -[@2265,12782:12783='in',<'in'>,492:27] -[@2266,12785:12787='new',<'new'>,492:30] -[@2267,12789:12791='int',<'int'>,492:34] -[@2268,12792:12792='[',<'['>,492:37] -[@2269,12793:12793=']',<']'>,492:38] -[@2270,12795:12795='{',<'{'>,492:40] -[@2271,12797:12797='1',,492:42] -[@2272,12798:12798=',',<','>,492:43] -[@2273,12800:12800='2',,492:45] -[@2274,12801:12801=',',<','>,492:46] -[@2275,12803:12803='3',,492:48] -[@2276,12804:12804=',',<','>,492:49] -[@2277,12806:12806='4',,492:51] -[@2278,12808:12808='}',<'}'>,492:53] -[@2279,12830:12834='where',<'where'>,493:20] -[@2280,12836:12836='i',,493:26] -[@2281,12838:12838='>',<'>'>,493:28] -[@2282,12840:12840='5',,493:30] -[@2283,12862:12867='select',<'select'>,494:20] -[@2284,12869:12869='i',,494:27] -[@2285,12870:12870=';',<';'>,494:28] -[@2286,12880:12880='}',<'}'>,495:8] -[@2287,12891:12896='public',<'public'>,497:8] -[@2288,12898:12903='static',<'static'>,497:15] -[@2289,12905:12912='implicit',<'implicit'>,497:22] -[@2290,12914:12921='operator',<'operator'>,497:31] -[@2291,12923:12926='Test',,497:40] -[@2292,12927:12927='(',<'('>,497:44] -[@2293,12928:12933='string',<'string'>,497:45] -[@2294,12935:12935='s',,497:52] -[@2295,12936:12936=')',<')'>,497:53] -[@2296,12946:12946='{',<'{'>,498:8] -[@2297,12960:12965='return',<'return'>,499:12] -[@2298,12967:12969='new',<'new'>,499:19] -[@2299,12971:12989='ConsoleApplication1',,499:23] -[@2300,12990:12990='.',<'.'>,499:42] -[@2301,12991:12994='Test',,499:43] -[@2302,12995:12995='(',<'('>,499:47] -[@2303,12996:12996=')',<')'>,499:48] -[@2304,12997:12997=';',<';'>,499:49] -[@2305,13007:13007='}',<'}'>,500:8] -[@2306,13017:13022='public',<'public'>,501:8] -[@2307,13024:13029='static',<'static'>,501:15] -[@2308,13031:13038='explicit',<'explicit'>,501:22] -[@2309,13040:13047='operator',<'operator'>,501:31] -[@2310,13049:13052='Test',,501:40] -[@2311,13053:13053='(',<'('>,501:44] -[@2312,13054:13059='string',<'string'>,501:45] -[@2313,13061:13061='s',,501:52] -[@2314,13063:13063='=',<'='>,501:54] -[@2315,13065:13066='""',,501:56] -[@2316,13067:13067=')',<')'>,501:58] -[@2317,13077:13077='{',<'{'>,502:8] -[@2318,13091:13096='return',<'return'>,503:12] -[@2319,13098:13100='new',<'new'>,503:19] -[@2320,13102:13105='Test',,503:23] -[@2321,13106:13106='(',<'('>,503:27] -[@2322,13107:13107=')',<')'>,503:28] -[@2323,13108:13108=';',<';'>,503:29] -[@2324,13118:13118='}',<'}'>,504:8] -[@2325,13129:13134='public',<'public'>,506:8] -[@2326,13136:13138='int',<'int'>,506:15] -[@2327,13140:13142='foo',,506:19] -[@2328,13144:13144='=',<'='>,506:23] -[@2329,13146:13146='5',,506:25] -[@2330,13147:13147=';',<';'>,506:26] -[@2331,13157:13160='void',<'void'>,507:8] -[@2332,13162:13165='Bar2',,507:13] -[@2333,13166:13166='(',<'('>,507:17] -[@2334,13167:13167=')',<')'>,507:18] -[@2335,13177:13177='{',<'{'>,508:8] -[@2336,13191:13193='foo',,509:12] -[@2337,13195:13195='=',<'='>,509:16] -[@2338,13197:13197='6',,509:18] -[@2339,13198:13198=';',<';'>,509:19] -[@2340,13212:13215='this',<'this'>,510:12] -[@2341,13216:13216='.',<'.'>,510:16] -[@2342,13217:13219='Foo',,510:17] -[@2343,13221:13221='=',<'='>,510:21] -[@2344,13223:13223='5',,510:23] -[@2345,13224:13224='.',<'.'>,510:24] -[@2346,13225:13231='GetType',,510:25] -[@2347,13232:13232='(',<'('>,510:32] -[@2348,13233:13233=')',<')'>,510:33] -[@2349,13234:13234=';',<';'>,510:34] -[@2350,13236:13239='Test',,510:36] -[@2351,13241:13241='t',,510:41] -[@2352,13243:13243='=',<'='>,510:43] -[@2353,13245:13249='"sss"',,510:45] -[@2354,13250:13250=';',<';'>,510:50] -[@2355,13260:13260='}',<'}'>,511:8] -[@2356,13271:13276='public',<'public'>,513:8] -[@2357,13278:13282='event',<'event'>,513:15] -[@2358,13284:13295='EventHandler',,513:21] -[@2359,13297:13303='MyEvent',,513:34] -[@2360,13305:13305='=',<'='>,513:42] -[@2361,13307:13314='delegate',<'delegate'>,513:44] -[@2362,13316:13316='{',<'{'>,513:53] -[@2363,13318:13318='}',<'}'>,513:55] -[@2364,13319:13319=';',<';'>,513:56] -[@2365,13330:13333='void',<'void'>,515:8] -[@2366,13335:13338='Blah',,515:13] -[@2367,13339:13339='(',<'('>,515:17] -[@2368,13340:13340=')',<')'>,515:18] -[@2369,13350:13350='{',<'{'>,516:8] -[@2370,13364:13366='int',<'int'>,517:12] -[@2371,13368:13368='i',,517:16] -[@2372,13370:13370='=',<'='>,517:18] -[@2373,13372:13372='5',,517:20] -[@2374,13373:13373=';',<';'>,517:21] -[@2375,13387:13389='int',<'int'>,518:12] -[@2376,13390:13390='?',<'?'>,518:15] -[@2377,13392:13392='j',,518:17] -[@2378,13394:13394='=',<'='>,518:19] -[@2379,13396:13396='6',,518:21] -[@2380,13397:13397=';',<';'>,518:22] -[@2381,13412:13421='Expression',,520:12] -[@2382,13422:13422='<',<'<'>,520:22] -[@2383,13423:13426='Func',,520:23] -[@2384,13427:13427='<',<'<'>,520:27] -[@2385,13428:13430='int',<'int'>,520:28] -[@2386,13431:13431='>',<'>'>,520:31] -[@2387,13432:13432='>',<'>'>,520:32] -[@2388,13434:13434='e',,520:34] -[@2389,13436:13436='=',<'='>,520:36] -[@2390,13438:13438='(',<'('>,520:38] -[@2391,13439:13439=')',<')'>,520:39] -[@2392,13441:13442='=>',<'=>'>,520:41] -[@2393,13444:13444='i',,520:44] -[@2394,13445:13445=';',<';'>,520:45] -[@2395,13459:13468='Expression',,521:12] -[@2396,13469:13469='<',<'<'>,521:22] -[@2397,13470:13473='Func',,521:23] -[@2398,13474:13474='<',<'<'>,521:27] -[@2399,13475:13478='bool',<'bool'>,521:28] -[@2400,13479:13479=',',<','>,521:32] -[@2401,13481:13486='Action',,521:34] -[@2402,13487:13487='>',<'>'>,521:40] -[@2403,13488:13488='>',<'>'>,521:41] -[@2404,13490:13491='e2',,521:43] -[@2405,13493:13493='=',<'='>,521:46] -[@2406,13495:13495='b',,521:48] -[@2407,13497:13498='=>',<'=>'>,521:50] -[@2408,13500:13500='(',<'('>,521:53] -[@2409,13501:13501=')',<')'>,521:54] -[@2410,13503:13504='=>',<'=>'>,521:56] -[@2411,13506:13506='{',<'{'>,521:59] -[@2412,13508:13513='return',<'return'>,521:61] -[@2413,13514:13514=';',<';'>,521:67] -[@2414,13516:13516='}',<'}'>,521:69] -[@2415,13517:13517=';',<';'>,521:70] -[@2416,13531:13534='Func',,522:12] -[@2417,13535:13535='<',<'<'>,522:16] -[@2418,13536:13539='bool',<'bool'>,522:17] -[@2419,13540:13540=',',<','>,522:21] -[@2420,13542:13545='bool',<'bool'>,522:23] -[@2421,13546:13546='>',<'>'>,522:27] -[@2422,13548:13548='f',,522:29] -[@2423,13550:13550='=',<'='>,522:31] -[@2424,13552:13556='async',<'async'>,522:33] -[@2425,13558:13565='delegate',<'delegate'>,522:39] -[@2426,13567:13567='(',<'('>,522:48] -[@2427,13568:13571='bool',<'bool'>,522:49] -[@2428,13573:13573='a',,522:54] -[@2429,13574:13574=')',<')'>,522:55] -[@2430,13588:13588='{',<'{'>,523:12] -[@2431,13606:13611='return',<'return'>,524:16] -[@2432,13613:13617='await',<'await'>,524:23] -[@2433,13619:13619='!',<'!'>,524:29] -[@2434,13620:13620='a',,524:30] -[@2435,13621:13621=';',<';'>,524:31] -[@2436,13635:13635='}',<'}'>,525:12] -[@2437,13636:13636=';',<';'>,525:13] -[@2438,13650:13653='Func',,526:12] -[@2439,13654:13654='<',<'<'>,526:16] -[@2440,13655:13657='int',<'int'>,526:17] -[@2441,13658:13658=',',<','>,526:20] -[@2442,13660:13662='int',<'int'>,526:22] -[@2443,13663:13663=',',<','>,526:25] -[@2444,13665:13667='int',<'int'>,526:27] -[@2445,13668:13668='>',<'>'>,526:30] -[@2446,13670:13671='f2',,526:32] -[@2447,13673:13673='=',<'='>,526:35] -[@2448,13675:13675='(',<'('>,526:37] -[@2449,13676:13676='a',,526:38] -[@2450,13677:13677=',',<','>,526:39] -[@2451,13679:13679='b',,526:41] -[@2452,13680:13680=')',<')'>,526:42] -[@2453,13682:13683='=>',<'=>'>,526:44] -[@2454,13685:13685='0',,526:47] -[@2455,13686:13686=';',<';'>,526:48] -[@2456,13700:13701='f2',,527:12] -[@2457,13703:13703='=',<'='>,527:15] -[@2458,13705:13705='(',<'('>,527:17] -[@2459,13706:13708='int',<'int'>,527:18] -[@2460,13710:13710='a',,527:22] -[@2461,13711:13711=',',<','>,527:23] -[@2462,13713:13715='int',<'int'>,527:25] -[@2463,13717:13717='b',,527:29] -[@2464,13718:13718=')',<')'>,527:30] -[@2465,13720:13721='=>',<'=>'>,527:32] -[@2466,13723:13723='1',,527:35] -[@2467,13724:13724=';',<';'>,527:36] -[@2468,13738:13743='Action',,528:12] -[@2469,13745:13745='a',,528:19] -[@2470,13747:13747='=',<'='>,528:21] -[@2471,13749:13752='Blah',,528:23] -[@2472,13753:13753=';',<';'>,528:27] -[@2473,13767:13768='f2',,529:12] -[@2474,13770:13770='=',<'='>,529:15] -[@2475,13772:13772='(',<'('>,529:17] -[@2476,13773:13773=')',<')'>,529:18] -[@2477,13775:13776='=>',<'=>'>,529:20] -[@2478,13778:13778='{',<'{'>,529:23] -[@2479,13779:13779='}',<'}'>,529:24] -[@2480,13780:13780=';',<';'>,529:25] -[@2481,13794:13795='f2',,530:12] -[@2482,13797:13797='=',<'='>,530:15] -[@2483,13799:13799='(',<'('>,530:17] -[@2484,13800:13800=')',<')'>,530:18] -[@2485,13802:13803='=>',<'=>'>,530:20] -[@2486,13805:13805='{',<'{'>,530:23] -[@2487,13806:13806=';',<';'>,530:24] -[@2488,13807:13807='}',<'}'>,530:25] -[@2489,13808:13808=';',<';'>,530:26] -[@2490,13818:13818='}',<'}'>,531:8] -[@2491,13829:13836='delegate',<'delegate'>,533:8] -[@2492,13838:13846='Recursive',,533:17] -[@2493,13848:13856='Recursive',,533:27] -[@2494,13857:13857='(',<'('>,533:36] -[@2495,13858:13866='Recursive',,533:37] -[@2496,13868:13868='r',,533:47] -[@2497,13869:13869=')',<')'>,533:48] -[@2498,13870:13870=';',<';'>,533:49] -[@2499,13880:13887='delegate',<'delegate'>,534:8] -[@2500,13889:13897='Recursive',,534:17] -[@2501,13899:13907='Recursive',,534:27] -[@2502,13908:13908='<',<'<'>,534:36] -[@2503,13909:13909='A',,534:37] -[@2504,13910:13910=',',<','>,534:38] -[@2505,13911:13911='R',,534:39] -[@2506,13912:13912='>',<'>'>,534:40] -[@2507,13913:13913='(',<'('>,534:41] -[@2508,13914:13922='Recursive',,534:42] -[@2509,13923:13923='<',<'<'>,534:51] -[@2510,13924:13924='A',,534:52] -[@2511,13925:13925=',',<','>,534:53] -[@2512,13926:13926='R',,534:54] -[@2513,13927:13927='>',<'>'>,534:55] -[@2514,13929:13929='r',,534:57] -[@2515,13930:13930=')',<')'>,534:58] -[@2516,13931:13931=';',<';'>,534:59] -[@2517,13942:13947='public',<'public'>,536:8] -[@2518,13949:13952='Type',,536:15] -[@2519,13954:13956='Foo',,536:20] -[@2520,13966:13966='{',<'{'>,537:8] -[@2521,13980:13980='[',<'['>,538:12] -[@2522,13981:13988='Obsolete',,538:13] -[@2523,13989:13989='(',<'('>,538:21] -[@2524,13990:13995='"Name"',,538:22] -[@2525,13996:13996=',',<','>,538:28] -[@2526,13998:14002='error',,538:30] -[@2527,14004:14004='=',<'='>,538:36] -[@2528,14006:14010='false',<'false'>,538:38] -[@2529,14011:14011=')',<')'>,538:43] -[@2530,14012:14012=']',<']'>,538:44] -[@2531,14026:14028='get',<'get'>,539:12] -[@2532,14042:14042='{',<'{'>,540:12] -[@2533,14060:14062='var',<'var'>,541:16] -[@2534,14064:14069='result',,541:20] -[@2535,14071:14071='=',<'='>,541:27] -[@2536,14073:14078='typeof',<'typeof'>,541:29] -[@2537,14079:14079='(',<'('>,541:35] -[@2538,14080:14090='IEnumerable',,541:36] -[@2539,14091:14091='<',<'<'>,541:47] -[@2540,14092:14094='int',<'int'>,541:48] -[@2541,14095:14095='>',<'>'>,541:51] -[@2542,14096:14096=')',<')'>,541:52] -[@2543,14097:14097=';',<';'>,541:53] -[@2544,14115:14117='var',<'var'>,542:16] -[@2545,14119:14119='t',,542:20] -[@2546,14121:14121='=',<'='>,542:22] -[@2547,14123:14128='typeof',<'typeof'>,542:24] -[@2548,14129:14129='(',<'('>,542:30] -[@2549,14130:14132='int',<'int'>,542:31] -[@2550,14133:14133='?',<'?'>,542:34] -[@2551,14134:14134=')',<')'>,542:35] -[@2552,14136:14137='==',<'=='>,542:37] -[@2553,14139:14144='typeof',<'typeof'>,542:40] -[@2554,14145:14145='(',<'('>,542:46] -[@2555,14146:14153='Nullable',,542:47] -[@2556,14154:14154='<',<'<'>,542:55] -[@2557,14155:14157='int',<'int'>,542:56] -[@2558,14158:14158='>',<'>'>,542:59] -[@2559,14159:14159=')',<')'>,542:60] -[@2560,14160:14160=';',<';'>,542:61] -[@2561,14178:14178='t',,543:16] -[@2562,14180:14180='=',<'='>,543:18] -[@2563,14182:14187='typeof',<'typeof'>,543:20] -[@2564,14188:14188='(',<'('>,543:26] -[@2565,14189:14199='IEnumerable',,543:27] -[@2566,14200:14200='<',<'<'>,543:38] -[@2567,14201:14203='int',<'int'>,543:39] -[@2568,14204:14204='?',<'?'>,543:42] -[@2569,14205:14205='[',<'['>,543:43] -[@2570,14206:14206=']',<']'>,543:44] -[@2571,14207:14207='[',<'['>,543:45] -[@2572,14208:14208=']',<']'>,543:46] -[@2573,14209:14209='[',<'['>,543:47] -[@2574,14210:14210=']',<']'>,543:48] -[@2575,14211:14211='>',<'>'>,543:49] -[@2576,14212:14212=')',<')'>,543:50] -[@2577,14213:14213=';',<';'>,543:51] -[@2578,14231:14236='return',<'return'>,544:16] -[@2579,14238:14243='typeof',<'typeof'>,544:23] -[@2580,14244:14244='(',<'('>,544:29] -[@2581,14245:14255='IEnumerable',,544:30] -[@2582,14256:14256='<',<'<'>,544:41] -[@2583,14257:14257='>',<'>'>,544:42] -[@2584,14258:14258=')',<')'>,544:43] -[@2585,14259:14259=';',<';'>,544:44] -[@2586,14273:14273='}',<'}'>,545:12] -[@2587,14287:14289='set',<'set'>,546:12] -[@2588,14303:14303='{',<'{'>,547:12] -[@2589,14321:14323='var',<'var'>,548:16] -[@2590,14325:14325='t',,548:20] -[@2591,14327:14327='=',<'='>,548:22] -[@2592,14329:14334='typeof',<'typeof'>,548:24] -[@2593,14335:14335='(',<'('>,548:30] -[@2594,14336:14341='System',,548:31] -[@2595,14342:14342='.',<'.'>,548:37] -[@2596,14343:14347='Int32',,548:38] -[@2597,14348:14348=')',<')'>,548:43] -[@2598,14349:14349=';',<';'>,548:44] -[@2599,14367:14367='t',,549:16] -[@2600,14368:14368='.',<'.'>,549:17] -[@2601,14369:14376='ToString',,549:18] -[@2602,14377:14377='(',<'('>,549:26] -[@2603,14378:14378=')',<')'>,549:27] -[@2604,14379:14379=';',<';'>,549:28] -[@2605,14397:14397='t',,550:16] -[@2606,14399:14399='=',<'='>,550:18] -[@2607,14401:14405='value',<'value'>,550:20] -[@2608,14406:14406=';',<';'>,550:25] -[@2609,14420:14420='}',<'}'>,551:12] -[@2610,14430:14430='}',<'}'>,552:8] -[@2611,14441:14446='public',<'public'>,554:8] -[@2612,14448:14451='void',<'void'>,554:15] -[@2613,14453:14461='Constants',,554:20] -[@2614,14462:14462='(',<'('>,554:29] -[@2615,14463:14463=')',<')'>,554:30] -[@2616,14473:14473='{',<'{'>,555:8] -[@2617,14487:14489='int',<'int'>,556:12] -[@2618,14491:14491='i',,556:16] -[@2619,14493:14493='=',<'='>,556:18] -[@2620,14495:14495='1',,556:20] -[@2621,14497:14497='+',<'+'>,556:22] -[@2622,14499:14499='2',,556:24] -[@2623,14501:14501='+',<'+'>,556:26] -[@2624,14503:14503='3',,556:28] -[@2625,14505:14505='+',<'+'>,556:30] -[@2626,14507:14507='5',,556:32] -[@2627,14508:14508=';',<';'>,556:33] -[@2628,14522:14527='global',<'global'>,557:12] -[@2629,14528:14529='::',<'::'>,557:18] -[@2630,14530:14535='System',,557:20] -[@2631,14536:14536='.',<'.'>,557:26] -[@2632,14537:14542='String',,557:27] -[@2633,14544:14544='s',,557:34] -[@2634,14546:14546='=',<'='>,557:36] -[@2635,14548:14550='"a"',,557:38] -[@2636,14552:14552='+',<'+'>,557:42] -[@2637,14554:14554='(',<'('>,557:44] -[@2638,14555:14560='System',,557:45] -[@2639,14561:14561='.',<'.'>,557:51] -[@2640,14562:14567='String',,557:52] -[@2641,14568:14568=')',<')'>,557:58] -[@2642,14569:14571='"a"',,557:59] -[@2643,14573:14573='+',<'+'>,557:63] -[@2644,14575:14577='"a"',,557:65] -[@2645,14579:14579='+',<'+'>,557:69] -[@2646,14581:14583='"a"',,557:71] -[@2647,14585:14585='+',<'+'>,557:75] -[@2648,14587:14589='"a"',,557:77] -[@2649,14591:14591='+',<'+'>,557:81] -[@2650,14593:14595='"A"',,557:83] -[@2651,14596:14596=';',<';'>,557:86] -[@2652,14606:14606='}',<'}'>,558:8] -[@2653,14617:14622='public',<'public'>,560:8] -[@2654,14624:14627='void',<'void'>,560:15] -[@2655,14629:14643='ConstructedType',,560:20] -[@2656,14644:14644='(',<'('>,560:35] -[@2657,14645:14645=')',<')'>,560:36] -[@2658,14655:14655='{',<'{'>,561:8] -[@2659,14669:14672='List',,562:12] -[@2660,14673:14673='<',<'<'>,562:16] -[@2661,14674:14676='int',<'int'>,562:17] -[@2662,14677:14677='>',<'>'>,562:20] -[@2663,14679:14679='i',,562:22] -[@2664,14681:14681='=',<'='>,562:24] -[@2665,14683:14686='null',<'null'>,562:26] -[@2666,14687:14687=';',<';'>,562:30] -[@2667,14701:14703='int',<'int'>,563:12] -[@2668,14705:14705='c',,563:16] -[@2669,14707:14707='=',<'='>,563:18] -[@2670,14709:14709='i',,563:20] -[@2671,14710:14710='.',<'.'>,563:21] -[@2672,14711:14715='Count',,563:22] -[@2673,14716:14716=';',<';'>,563:27] -[@2674,14726:14726='}',<'}'>,564:8] -[@2675,14732:14732='}',<'}'>,565:4] -[@2676,14734:14734='}',<'}'>,566:0] -[@2677,14737:14745='namespace',<'namespace'>,568:0] -[@2678,14747:14754='Comments',,568:10] -[@2679,14755:14755='.',<'.'>,568:18] -[@2680,14756:14766='XmlComments',,568:19] -[@2681,14767:14767='.',<'.'>,568:30] -[@2682,14768:14787='UndocumentedKeywords',,568:31] -[@2683,14789:14789='{',<'{'>,569:0] -[@2684,15241:15245='class',<'class'>,586:4] -[@2685,15254:15254='C',,586:17] -[@2686,15255:15255='<',<'<'>,586:18] -[@2687,15256:15256='T',,586:19] -[@2688,15257:15257='>',<'>'>,586:20] -[@2689,15263:15263='{',<'{'>,587:4] -[@2690,15273:15276='void',<'void'>,588:8] -[@2691,15278:15278='M',,588:13] -[@2692,15279:15279='<',<'<'>,588:14] -[@2693,15280:15280='U',,588:15] -[@2694,15281:15281='>',<'>'>,588:16] -[@2695,15282:15282='(',<'('>,588:17] -[@2696,15283:15283='T',,588:18] -[@2697,15285:15285='t',,588:20] -[@2698,15286:15286=',',<','>,588:21] -[@2699,15288:15288='U',,588:23] -[@2700,15290:15290='u',,588:25] -[@2701,15291:15291=')',<')'>,588:26] -[@2702,15301:15301='{',<'{'>,589:8] -[@2703,15449:15451='int',<'int'>,596:17] -[@2704,15458:15465='intValue',,596:26] -[@2705,15467:15467='=',<'='>,596:35] -[@2706,15469:15469='0',,596:37] -[@2707,15470:15470=';',<';'>,596:38] -[@2708,15484:15491='intValue',,597:12] -[@2709,15493:15493='=',<'='>,597:21] -[@2710,15495:15502='intValue',,597:23] -[@2711,15509:15509='+',<'+'>,597:37] -[@2712,15511:15511='1',,597:39] -[@2713,15512:15512=';',<';'>,597:40] -[@2714,15526:15531='string',<'string'>,598:12] -[@2715,15533:15540='strValue',,598:19] -[@2716,15542:15542='=',<'='>,598:28] -[@2717,15549:15555='"hello"',,598:35] -[@2718,15556:15556=';',<';'>,598:42] -[@2719,15575:15581='MyClass',,599:17] -[@2720,15583:15583='c',,599:25] -[@2721,15585:15585='=',<'='>,599:27] -[@2722,15587:15589='new',<'new'>,599:29] -[@2723,15591:15597='MyClass',,599:33] -[@2724,15598:15598='(',<'('>,599:40] -[@2725,15599:15599=')',<')'>,599:41] -[@2726,15600:15600=';',<';'>,599:42] -[@2727,15614:15619='string',<'string'>,600:12] -[@2728,15621:15631='verbatimStr',,600:19] -[@2729,15633:15633='=',<'='>,600:31] -[@2730,15640:15646='@"\\\\"',,600:38] -[@2731,15647:15647=';',<';'>,600:45] -[@2732,15657:15657='}',<'}'>,601:8] -[@2733,15663:15663='}',<'}'>,602:4] -[@2734,15795:15799='class',<'class'>,605:4] -[@2735,15801:16311='TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',,605:10] -[@2736,16321:16321='{',<'{'>,605:530] -[@2737,16323:16323='}',<'}'>,605:532] -[@2738,16330:16334='class',<'class'>,607:4] -[@2739,16336:16847='TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22',,607:10] -[@2740,16857:16857='{',<'{'>,607:531] -[@2741,16859:16859='}',<'}'>,607:533] -[@2742,16866:16870='class',<'class'>,609:4] -[@2743,16872:16876='yield',<'yield'>,609:10] -[@2744,16882:16882='{',<'{'>,610:4] -[@2745,16892:16895='void',<'void'>,611:8] -[@2746,16897:16902='Params',,611:13] -[@2747,16903:16903='(',<'('>,611:19] -[@2748,16904:16906='ref',<'ref'>,611:20] -[@2749,16908:16914='dynamic',<'dynamic'>,611:24] -[@2750,16916:16916='a',,611:32] -[@2751,16917:16917=',',<','>,611:33] -[@2752,16919:16921='out',<'out'>,611:35] -[@2753,16923:16929='dynamic',<'dynamic'>,611:39] -[@2754,16931:16931='b',,611:47] -[@2755,16932:16932=',',<','>,611:48] -[@2756,16934:16939='params',<'params'>,611:50] -[@2757,16941:16947='dynamic',<'dynamic'>,611:57] -[@2758,16948:16948='[',<'['>,611:64] -[@2759,16949:16949=']',<']'>,611:65] -[@2760,16951:16951='c',,611:67] -[@2761,16952:16952=')',<')'>,611:68] -[@2762,16954:16954='{',<'{'>,611:70] -[@2763,16955:16955='}',<'}'>,611:71] -[@2764,16965:16968='void',<'void'>,612:8] -[@2765,16970:16975='Params',,612:13] -[@2766,16976:16976='(',<'('>,612:19] -[@2767,16977:16979='out',<'out'>,612:20] -[@2768,16981:16987='dynamic',<'dynamic'>,612:24] -[@2769,16989:16989='a',,612:32] -[@2770,16991:16991='=',<'='>,612:34] -[@2771,16993:16993='2',,612:36] -[@2772,16994:16994=',',<','>,612:37] -[@2773,16996:16998='ref',<'ref'>,612:39] -[@2774,17000:17006='dynamic',<'dynamic'>,612:43] -[@2775,17008:17008='c',,612:51] -[@2776,17010:17010='=',<'='>,612:53] -[@2777,17012:17018='default',<'default'>,612:55] -[@2778,17019:17019='(',<'('>,612:62] -[@2779,17020:17026='dynamic',<'dynamic'>,612:63] -[@2780,17027:17027=')',<')'>,612:70] -[@2781,17028:17028=',',<','>,612:71] -[@2782,17030:17035='params',<'params'>,612:73] -[@2783,17037:17043='dynamic',<'dynamic'>,612:80] -[@2784,17044:17044='[',<'['>,612:87] -[@2785,17045:17045=']',<']'>,612:88] -[@2786,17046:17046='[',<'['>,612:89] -[@2787,17047:17047=']',<']'>,612:90] -[@2788,17049:17049='c',,612:92] -[@2789,17050:17050=')',<')'>,612:93] -[@2790,17052:17052='{',<'{'>,612:95] -[@2791,17053:17053='}',<'}'>,612:96] -[@2792,17064:17069='public',<'public'>,614:8] -[@2793,17071:17078='override',<'override'>,614:15] -[@2794,17080:17085='string',<'string'>,614:24] -[@2795,17087:17094='ToString',,614:31] -[@2796,17095:17095='(',<'('>,614:39] -[@2797,17096:17096=')',<')'>,614:40] -[@2798,17098:17098='{',<'{'>,614:42] -[@2799,17100:17105='return',<'return'>,614:44] -[@2800,17107:17110='base',<'base'>,614:51] -[@2801,17111:17111='.',<'.'>,614:55] -[@2802,17112:17119='ToString',,614:56] -[@2803,17120:17120='(',<'('>,614:64] -[@2804,17121:17121=')',<')'>,614:65] -[@2805,17122:17122=';',<';'>,614:66] -[@2806,17124:17124='}',<'}'>,614:68] -[@2807,17136:17141='public',<'public'>,616:8] -[@2808,17143:17149='partial',<'partial'>,616:15] -[@2809,17151:17154='void',<'void'>,616:23] -[@2810,17156:17162='OnError',,616:28] -[@2811,17163:17163='(',<'('>,616:35] -[@2812,17164:17164=')',<')'>,616:36] -[@2813,17165:17165=';',<';'>,616:37] -[@2814,17176:17181='public',<'public'>,618:8] -[@2815,17183:17189='partial',<'partial'>,618:15] -[@2816,17191:17194='void',<'void'>,618:23] -[@2817,17196:17201='method',,618:28] -[@2818,17202:17202='(',<'('>,618:34] -[@2819,17203:17203=')',<')'>,618:35] -[@2820,17213:17213='{',<'{'>,619:8] -[@2821,17227:17229='int',<'int'>,620:12] -[@2822,17230:17230='?',<'?'>,620:15] -[@2823,17231:17231='[',<'['>,620:16] -[@2824,17232:17232=']',<']'>,620:17] -[@2825,17234:17234='a',,620:19] -[@2826,17236:17236='=',<'='>,620:21] -[@2827,17238:17240='new',<'new'>,620:23] -[@2828,17242:17244='int',<'int'>,620:27] -[@2829,17245:17245='?',<'?'>,620:30] -[@2830,17246:17246='[',<'['>,620:31] -[@2831,17247:17247='5',,620:32] -[@2832,17248:17248=']',<']'>,620:33] -[@2833,17249:17249=';',<';'>,620:34] -[@2834,17283:17285='int',<'int'>,621:12] -[@2835,17286:17286='[',<'['>,621:15] -[@2836,17287:17287=']',<']'>,621:16] -[@2837,17289:17291='var',<'var'>,621:18] -[@2838,17293:17293='=',<'='>,621:22] -[@2839,17295:17295='{',<'{'>,621:24] -[@2840,17297:17297='1',,621:26] -[@2841,17298:17298=',',<','>,621:27] -[@2842,17300:17300='2',,621:29] -[@2843,17301:17301=',',<','>,621:30] -[@2844,17303:17303='3',,621:32] -[@2845,17304:17304=',',<','>,621:33] -[@2846,17306:17306='4',,621:35] -[@2847,17307:17307=',',<','>,621:36] -[@2848,17309:17309='5',,621:38] -[@2849,17311:17311='}',<'}'>,621:40] -[@2850,17312:17312=';',<';'>,621:41] -[@2851,17332:17334='int',<'int'>,622:12] -[@2852,17336:17336='i',,622:16] -[@2853,17338:17338='=',<'='>,622:18] -[@2854,17340:17340='a',,622:20] -[@2855,17341:17341='[',<'['>,622:21] -[@2856,17342:17342='i',,622:22] -[@2857,17343:17343=']',<']'>,622:23] -[@2858,17344:17344=';',<';'>,622:24] -[@2859,17364:17366='Foo',,623:12] -[@2860,17367:17367='<',<'<'>,623:15] -[@2861,17368:17368='T',,623:16] -[@2862,17369:17369='>',<'>'>,623:17] -[@2863,17371:17371='f',,623:19] -[@2864,17373:17373='=',<'='>,623:21] -[@2865,17375:17377='new',<'new'>,623:23] -[@2866,17379:17381='Foo',,623:27] -[@2867,17382:17382='<',<'<'>,623:30] -[@2868,17383:17385='int',<'int'>,623:31] -[@2869,17386:17386='>',<'>'>,623:34] -[@2870,17387:17387='(',<'('>,623:35] -[@2871,17388:17388=')',<')'>,623:36] -[@2872,17389:17389=';',<';'>,623:37] -[@2873,17412:17412='f',,624:12] -[@2874,17413:17413='.',<'.'>,624:13] -[@2875,17414:17419='method',,624:14] -[@2876,17420:17420='(',<'('>,624:20] -[@2877,17421:17421=')',<')'>,624:21] -[@2878,17422:17422=';',<';'>,624:22] -[@2879,17443:17443='i',,625:12] -[@2880,17445:17445='=',<'='>,625:14] -[@2881,17447:17447='i',,625:16] -[@2882,17449:17449='+',<'+'>,625:18] -[@2883,17451:17451='i',,625:20] -[@2884,17453:17453='-',<'-'>,625:22] -[@2885,17455:17455='i',,625:24] -[@2886,17457:17457='*',<'*'>,625:26] -[@2887,17459:17459='i',,625:28] -[@2888,17461:17461='/',<'/'>,625:30] -[@2889,17463:17463='i',,625:32] -[@2890,17465:17465='%',<'%'>,625:34] -[@2891,17467:17467='i',,625:36] -[@2892,17469:17469='&',<'&'>,625:38] -[@2893,17471:17471='i',,625:40] -[@2894,17473:17473='|',<'|'>,625:42] -[@2895,17475:17475='i',,625:44] -[@2896,17477:17477='^',<'^'>,625:46] -[@2897,17479:17479='i',,625:48] -[@2898,17480:17480=';',<';'>,625:49] -[@2899,17513:17516='bool',<'bool'>,626:12] -[@2900,17518:17518='b',,626:17] -[@2901,17520:17520='=',<'='>,626:19] -[@2902,17522:17525='true',<'true'>,626:21] -[@2903,17527:17527='&',<'&'>,626:26] -[@2904,17529:17533='false',<'false'>,626:28] -[@2905,17535:17535='|',<'|'>,626:34] -[@2906,17537:17540='true',<'true'>,626:36] -[@2907,17542:17542='^',<'^'>,626:41] -[@2908,17544:17548='false',<'false'>,626:43] -[@2909,17549:17549=';',<';'>,626:48] -[@2910,17572:17572='b',,627:12] -[@2911,17574:17574='=',<'='>,627:14] -[@2912,17576:17576='!',<'!'>,627:16] -[@2913,17577:17577='b',,627:17] -[@2914,17578:17578=';',<';'>,627:18] -[@2915,17597:17597='i',,628:12] -[@2916,17599:17599='=',<'='>,628:14] -[@2917,17601:17601='~',<'~'>,628:16] -[@2918,17602:17602='i',,628:17] -[@2919,17603:17603=';',<';'>,628:18] -[@2920,17623:17623='b',,629:12] -[@2921,17625:17625='=',<'='>,629:14] -[@2922,17627:17627='i',,629:16] -[@2923,17629:17629='<',<'<'>,629:18] -[@2924,17631:17631='i',,629:20] -[@2925,17633:17634='&&',<'&&'>,629:22] -[@2926,17636:17636='i',,629:25] -[@2927,17638:17638='>',<'>'>,629:27] -[@2928,17640:17640='i',,629:29] -[@2929,17641:17641=';',<';'>,629:30] -[@2930,17665:17667='int',<'int'>,630:12] -[@2931,17668:17668='?',<'?'>,630:15] -[@2932,17670:17671='ii',,630:17] -[@2933,17673:17673='=',<'='>,630:20] -[@2934,17675:17675='5',,630:22] -[@2935,17676:17676=';',<';'>,630:23] -[@2936,17707:17709='int',<'int'>,631:12] -[@2937,17711:17711='f',,631:16] -[@2938,17713:17713='=',<'='>,631:18] -[@2939,17715:17718='true',<'true'>,631:20] -[@2940,17720:17720='?',<'?'>,631:25] -[@2941,17722:17722='1',,631:27] -[@2942,17724:17724=':',<':'>,631:29] -[@2943,17726:17726='0',,631:31] -[@2944,17727:17727=';',<';'>,631:32] -[@2945,17759:17759='i',,632:12] -[@2946,17760:17761='++',<'++'>,632:13] -[@2947,17762:17762=';',<';'>,632:15] -[@2948,17782:17782='i',,633:12] -[@2949,17783:17784='--',<'--'>,633:13] -[@2950,17785:17785=';',<';'>,633:15] -[@2951,17805:17805='b',,634:12] -[@2952,17807:17807='=',<'='>,634:14] -[@2953,17809:17812='true',<'true'>,634:16] -[@2954,17814:17815='&&',<'&&'>,634:21] -[@2955,17817:17821='false',<'false'>,634:24] -[@2956,17823:17824='||',<'||'>,634:30] -[@2957,17826:17829='true',<'true'>,634:33] -[@2958,17830:17830=';',<';'>,634:37] -[@2959,17853:17853='b',,635:12] -[@2960,17855:17855='=',<'='>,635:14] -[@2961,17857:17857='i',,635:16] -[@2962,17859:17860='==',<'=='>,635:18] -[@2963,17862:17862='i',,635:21] -[@2964,17864:17865='&&',<'&&'>,635:23] -[@2965,17867:17867='i',,635:26] -[@2966,17869:17870='!=',<'!='>,635:28] -[@2967,17872:17872='i',,635:31] -[@2968,17874:17875='&&',<'&&'>,635:33] -[@2969,17877:17877='i',,635:36] -[@2970,17879:17880='<=',<'<='>,635:38] -[@2971,17882:17882='i',,635:41] -[@2972,17884:17885='&&',<'&&'>,635:43] -[@2973,17887:17887='i',,635:46] -[@2974,17889:17890='>=',<'>='>,635:48] -[@2975,17892:17892='i',,635:51] -[@2976,17893:17893=';',<';'>,635:52] -[@2977,17927:17927='i',,636:12] -[@2978,17929:17930='+=',<'+='>,636:14] -[@2979,17932:17934='5.0',,636:17] -[@2980,17935:17935=';',<';'>,636:20] -[@2981,17955:17955='i',,637:12] -[@2982,17957:17958='-=',<'-='>,637:14] -[@2983,17960:17960='i',,637:17] -[@2984,17961:17961=';',<';'>,637:18] -[@2985,17981:17981='i',,638:12] -[@2986,17983:17984='*=',<'*='>,638:14] -[@2987,17986:17986='i',,638:17] -[@2988,17987:17987=';',<';'>,638:18] -[@2989,18007:18007='i',,639:12] -[@2990,18009:18010='/=',<'/='>,639:14] -[@2991,18012:18012='i',,639:17] -[@2992,18013:18013=';',<';'>,639:18] -[@2993,18033:18033='i',,640:12] -[@2994,18035:18036='%=',<'%='>,640:14] -[@2995,18038:18038='i',,640:17] -[@2996,18039:18039=';',<';'>,640:18] -[@2997,18059:18059='i',,641:12] -[@2998,18061:18062='&=',<'&='>,641:14] -[@2999,18064:18064='i',,641:17] -[@3000,18065:18065=';',<';'>,641:18] -[@3001,18085:18085='i',,642:12] -[@3002,18087:18088='|=',<'|='>,642:14] -[@3003,18090:18090='i',,642:17] -[@3004,18091:18091=';',<';'>,642:18] -[@3005,18111:18111='i',,643:12] -[@3006,18113:18114='^=',<'^='>,643:14] -[@3007,18116:18116='i',,643:17] -[@3008,18117:18117=';',<';'>,643:18] -[@3009,18137:18137='i',,644:12] -[@3010,18139:18141='<<=',<'<<='>,644:14] -[@3011,18143:18143='i',,644:18] -[@3012,18144:18144=';',<';'>,644:19] -[@3013,18165:18165='i',,645:12] -[@3014,18167:18167='>',<'>'>,645:14] -[@3015,18168:18169='>=',<'>='>,645:15] -[@3016,18171:18171='i',,645:18] -[@3017,18172:18172=';',<';'>,645:19] -[@3018,18193:18198='object',<'object'>,646:12] -[@3019,18200:18200='s',,646:19] -[@3020,18202:18202='=',<'='>,646:21] -[@3021,18204:18204='x',,646:23] -[@3022,18206:18207='=>',<'=>'>,646:25] -[@3023,18209:18209='x',,646:28] -[@3024,18211:18211='+',<'+'>,646:30] -[@3025,18213:18213='1',,646:32] -[@3026,18214:18214=';',<';'>,646:33] -[@3027,18234:18239='double',<'double'>,647:12] -[@3028,18241:18241='d',,647:19] -[@3029,18243:18243='=',<'='>,647:21] -[@3030,18245:18246='.3',,647:23] -[@3031,18247:18247=';',<';'>,647:25] -[@3032,18261:18265='Point',,648:12] -[@3033,18267:18271='point',,648:18] -[@3034,18272:18272=';',<';'>,648:23] -[@3035,18286:18291='unsafe',<'unsafe'>,649:12] -[@3036,18305:18305='{',<'{'>,650:12] -[@3037,18323:18327='Point',,651:16] -[@3038,18328:18328='*',<'*'>,651:21] -[@3039,18330:18330='p',,651:23] -[@3040,18332:18332='=',<'='>,651:25] -[@3041,18334:18334='&',<'&'>,651:27] -[@3042,18335:18339='point',,651:28] -[@3043,18340:18340=';',<';'>,651:33] -[@3044,18365:18365='p',,652:16] -[@3045,18366:18367='->',<'->'>,652:17] -[@3046,18368:18368='x',,652:19] -[@3047,18370:18370='=',<'='>,652:21] -[@3048,18372:18373='10',,652:23] -[@3049,18374:18374=';',<';'>,652:25] -[@3050,18394:18394='}',<'}'>,653:12] -[@3051,18408:18409='IO',,654:12] -[@3052,18410:18411='::',<'::'>,654:14] -[@3053,18412:18423='BinaryReader',,654:16] -[@3054,18425:18426='br',,654:29] -[@3055,18428:18428='=',<'='>,654:32] -[@3056,18430:18433='null',<'null'>,654:34] -[@3057,18434:18434=';',<';'>,654:38] -[@3058,18448:18448='x',,655:12] -[@3059,18449:18449='[',<'['>,655:13] -[@3060,18450:18450='i',,655:14] -[@3061,18451:18451=':',<':'>,655:15] -[@3062,18453:18453='1',,655:17] -[@3063,18454:18454=']',<']'>,655:18] -[@3064,18456:18456='=',<'='>,655:20] -[@3065,18458:18458='3',,655:22] -[@3066,18459:18459=';',<';'>,655:23] -[@3067,18473:18473='x',,656:12] -[@3068,18474:18474='[',<'['>,656:13] -[@3069,18475:18475='i',,656:14] -[@3070,18476:18476=':',<':'>,656:15] -[@3071,18478:18478='1',,656:17] -[@3072,18479:18479=',',<','>,656:18] -[@3073,18481:18481='j',,656:20] -[@3074,18482:18482=':',<':'>,656:21] -[@3075,18484:18484='5',,656:23] -[@3076,18485:18485=']',<']'>,656:24] -[@3077,18487:18487='=',<'='>,656:26] -[@3078,18489:18493='"str"',,656:28] -[@3079,18494:18494=';',<';'>,656:33] -[@3080,18504:18504='}',<'}'>,657:8] -[@3081,18515:18520='struct',<'struct'>,659:8] -[@3082,18522:18526='Point',,659:15] -[@3083,18528:18528='{',<'{'>,659:21] -[@3084,18530:18535='public',<'public'>,659:23] -[@3085,18537:18539='int',<'int'>,659:30] -[@3086,18541:18541='X',,659:34] -[@3087,18542:18542=';',<';'>,659:35] -[@3088,18544:18549='public',<'public'>,659:37] -[@3089,18551:18553='int',<'int'>,659:44] -[@3090,18555:18555='Y',,659:48] -[@3091,18556:18556=';',<';'>,659:49] -[@3092,18558:18563='public',<'public'>,659:51] -[@3093,18565:18568='void',<'void'>,659:58] -[@3094,18570:18579='ThisAccess',,659:63] -[@3095,18580:18580='(',<'('>,659:73] -[@3096,18581:18581=')',<')'>,659:74] -[@3097,18583:18583='{',<'{'>,659:76] -[@3098,18585:18588='this',<'this'>,659:78] -[@3099,18590:18590='=',<'='>,659:83] -[@3100,18592:18595='this',<'this'>,659:85] -[@3101,18596:18596=';',<';'>,659:89] -[@3102,18598:18598='}',<'}'>,659:91] -[@3103,18600:18600='}',<'}'>,659:93] -[@3104,18606:18606='}',<'}'>,660:4] -[@3105,18704:18708='class',<'class'>,663:4] -[@3106,18710:18724='CSharp6Features',,663:10] -[@3107,18730:18730='{',<'{'>,664:4] -[@3108,18784:18789='public',<'public'>,666:8] -[@3109,18791:18796='string',<'string'>,666:15] -[@3110,18798:18802='First',,666:22] -[@3111,18804:18804='{',<'{'>,666:28] -[@3112,18806:18808='get',<'get'>,666:30] -[@3113,18809:18809=';',<';'>,666:33] -[@3114,18811:18813='set',<'set'>,666:35] -[@3115,18814:18814=';',<';'>,666:38] -[@3116,18816:18816='}',<'}'>,666:40] -[@3117,18818:18818='=',<'='>,666:42] -[@3118,18820:18825='"Jane"',,666:44] -[@3119,18826:18826=';',<';'>,666:50] -[@3120,18836:18841='public',<'public'>,667:8] -[@3121,18843:18848='string',<'string'>,667:15] -[@3122,18850:18853='Last',,667:22] -[@3123,18855:18855='{',<'{'>,667:27] -[@3124,18857:18859='get',<'get'>,667:29] -[@3125,18860:18860=';',<';'>,667:32] -[@3126,18862:18864='set',<'set'>,667:34] -[@3127,18865:18865=';',<';'>,667:37] -[@3128,18867:18867='}',<'}'>,667:39] -[@3129,18869:18869='=',<'='>,667:41] -[@3130,18871:18875='"Doe"',,667:43] -[@3131,18876:18876=';',<';'>,667:48] -[@3132,18930:18935='public',<'public'>,670:8] -[@3133,18937:18942='string',<'string'>,670:15] -[@3134,18944:18948='Third',,670:22] -[@3135,18950:18950='{',<'{'>,670:28] -[@3136,18952:18954='get',<'get'>,670:30] -[@3137,18955:18955=';',<';'>,670:33] -[@3138,18957:18957='}',<'}'>,670:35] -[@3139,18959:18959='=',<'='>,670:37] -[@3140,18961:18966='"Jane"',,670:39] -[@3141,18967:18967=';',<';'>,670:45] -[@3142,18977:18982='public',<'public'>,671:8] -[@3143,18984:18989='string',<'string'>,671:15] -[@3144,18991:18996='Fourth',,671:22] -[@3145,18998:18998='{',<'{'>,671:29] -[@3146,19000:19002='get',<'get'>,671:31] -[@3147,19003:19003=';',<';'>,671:34] -[@3148,19005:19005='}',<'}'>,671:36] -[@3149,19007:19007='=',<'='>,671:38] -[@3150,19009:19013='"Doe"',,671:40] -[@3151,19014:19014=';',<';'>,671:45] -[@3152,19085:19090='public',<'public'>,674:8] -[@3153,19092:19096='Point',,674:15] -[@3154,19098:19101='Move',,674:21] -[@3155,19102:19102='(',<'('>,674:25] -[@3156,19103:19105='int',<'int'>,674:26] -[@3157,19107:19108='dx',,674:30] -[@3158,19109:19109=',',<','>,674:32] -[@3159,19111:19113='int',<'int'>,674:34] -[@3160,19115:19116='dy',,674:38] -[@3161,19117:19117=')',<')'>,674:40] -[@3162,19119:19120='=>',<'=>'>,674:42] -[@3163,19122:19124='new',<'new'>,674:45] -[@3164,19126:19130='Point',,674:49] -[@3165,19131:19131='(',<'('>,674:54] -[@3166,19132:19132='x',,674:55] -[@3167,19134:19134='+',<'+'>,674:57] -[@3168,19136:19137='dx',,674:59] -[@3169,19138:19138=',',<','>,674:61] -[@3170,19140:19140='y',,674:63] -[@3171,19142:19142='+',<'+'>,674:65] -[@3172,19144:19145='dy',,674:67] -[@3173,19146:19146=')',<')'>,674:69] -[@3174,19147:19147=';',<';'>,674:70] -[@3175,19158:19163='public',<'public'>,675:8] -[@3176,19165:19170='static',<'static'>,675:15] -[@3177,19172:19178='Complex',,675:22] -[@3178,19180:19187='operator',<'operator'>,675:30] -[@3179,19189:19189='+',<'+'>,675:39] -[@3180,19190:19190='(',<'('>,675:40] -[@3181,19191:19197='Complex',,675:41] -[@3182,19199:19199='a',,675:49] -[@3183,19200:19200=',',<','>,675:50] -[@3184,19202:19208='Complex',,675:52] -[@3185,19210:19210='b',,675:60] -[@3186,19211:19211=')',<')'>,675:61] -[@3187,19213:19214='=>',<'=>'>,675:63] -[@3188,19216:19216='a',,675:66] -[@3189,19217:19217='.',<'.'>,675:67] -[@3190,19218:19220='Add',,675:68] -[@3191,19221:19221='(',<'('>,675:71] -[@3192,19222:19222='b',,675:72] -[@3193,19223:19223=')',<')'>,675:73] -[@3194,19224:19224=';',<';'>,675:74] -[@3195,19234:19239='public',<'public'>,676:8] -[@3196,19241:19246='static',<'static'>,676:15] -[@3197,19248:19255='implicit',<'implicit'>,676:22] -[@3198,19257:19264='operator',<'operator'>,676:31] -[@3199,19266:19271='string',<'string'>,676:40] -[@3200,19272:19272='(',<'('>,676:46] -[@3201,19273:19278='Person',,676:47] -[@3202,19280:19280='p',,676:54] -[@3203,19281:19281=')',<')'>,676:55] -[@3204,19283:19284='=>',<'=>'>,676:57] -[@3205,19286:19286='p',,676:60] -[@3206,19287:19287='.',<'.'>,676:61] -[@3207,19288:19292='First',,676:62] -[@3208,19294:19294='+',<'+'>,676:68] -[@3209,19296:19298='" "',,676:70] -[@3210,19300:19300='+',<'+'>,676:74] -[@3211,19302:19302='p',,676:76] -[@3212,19303:19303='.',<'.'>,676:77] -[@3213,19304:19307='Last',,676:78] -[@3214,19308:19308=';',<';'>,676:82] -[@3215,19318:19323='public',<'public'>,677:8] -[@3216,19325:19328='void',<'void'>,677:15] -[@3217,19330:19334='Print',,677:20] -[@3218,19335:19335='(',<'('>,677:25] -[@3219,19336:19336=')',<')'>,677:26] -[@3220,19338:19339='=>',<'=>'>,677:28] -[@3221,19341:19347='Console',,677:31] -[@3222,19348:19348='.',<'.'>,677:38] -[@3223,19349:19357='WriteLine',,677:39] -[@3224,19358:19358='(',<'('>,677:48] -[@3225,19359:19363='First',,677:49] -[@3226,19365:19365='+',<'+'>,677:55] -[@3227,19367:19369='" "',,677:57] -[@3228,19371:19371='+',<'+'>,677:61] -[@3229,19373:19376='Last',,677:63] -[@3230,19377:19377=')',<')'>,677:67] -[@3231,19378:19378=';',<';'>,677:68] -[@3232,19460:19465='public',<'public'>,680:8] -[@3233,19467:19472='string',<'string'>,680:15] -[@3234,19474:19477='Name',,680:22] -[@3235,19479:19480='=>',<'=>'>,680:27] -[@3236,19482:19486='First',,680:30] -[@3237,19488:19488='+',<'+'>,680:36] -[@3238,19490:19492='" "',,680:38] -[@3239,19494:19494='+',<'+'>,680:42] -[@3240,19496:19499='Last',,680:44] -[@3241,19500:19500=';',<';'>,680:48] -[@3242,19510:19515='public',<'public'>,681:8] -[@3243,19517:19519='int',<'int'>,681:15] -[@3244,19521:19524='this',<'this'>,681:19] -[@3245,19525:19525='[',<'['>,681:23] -[@3246,19526:19529='long',<'long'>,681:24] -[@3247,19531:19532='id',,681:29] -[@3248,19533:19533=']',<']'>,681:31] -[@3249,19535:19536='=>',<'=>'>,681:33] -[@3250,19538:19539='id',,681:36] -[@3251,19540:19540=';',<';'>,681:38] -[@3252,19559:19563='async',<'async'>,683:8] -[@3253,19565:19568='void',<'void'>,683:14] -[@3254,19570:19573='Test',,683:19] -[@3255,19574:19574='(',<'('>,683:23] -[@3256,19575:19575=')',<')'>,683:24] -[@3257,19585:19585='{',<'{'>,684:8] -[@3258,19627:19635='WriteLine',,686:12] -[@3259,19636:19636='(',<'('>,686:21] -[@3260,19637:19640='Sqrt',,686:22] -[@3261,19641:19641='(',<'('>,686:26] -[@3262,19642:19642='3',,686:27] -[@3263,19643:19643='*',<'*'>,686:28] -[@3264,19644:19644='3',,686:29] -[@3265,19646:19646='+',<'+'>,686:31] -[@3266,19648:19648='4',,686:33] -[@3267,19649:19649='*',<'*'>,686:34] -[@3268,19650:19650='4',,686:35] -[@3269,19651:19651=')',<')'>,686:36] -[@3270,19652:19652=')',<')'>,686:37] -[@3271,19653:19653=';',<';'>,686:38] -[@3272,19667:19675='WriteLine',,687:12] -[@3273,19676:19676='(',<'('>,687:21] -[@3274,19677:19682='Friday',,687:22] -[@3275,19684:19684='-',<'-'>,687:29] -[@3276,19686:19691='Monday',,687:31] -[@3277,19692:19692=')',<')'>,687:37] -[@3278,19693:19693=';',<';'>,687:38] -[@3279,19719:19721='var',<'var'>,688:12] -[@3280,19723:19727='range',,688:16] -[@3281,19729:19729='=',<'='>,688:22] -[@3282,19731:19735='Range',,688:24] -[@3283,19736:19736='(',<'('>,688:29] -[@3284,19737:19737='5',,688:30] -[@3285,19738:19738=',',<','>,688:31] -[@3286,19740:19741='17',,688:33] -[@3287,19742:19742=')',<')'>,688:35] -[@3288,19743:19743=';',<';'>,688:36] -[@3289,19793:19795='var',<'var'>,689:12] -[@3290,19797:19800='even',,689:16] -[@3291,19802:19802='=',<'='>,689:21] -[@3292,19804:19808='range',,689:23] -[@3293,19809:19809='.',<'.'>,689:28] -[@3294,19810:19814='Where',,689:29] -[@3295,19815:19815='(',<'('>,689:34] -[@3296,19816:19816='i',,689:35] -[@3297,19818:19819='=>',<'=>'>,689:37] -[@3298,19821:19821='i',,689:40] -[@3299,19823:19823='%',<'%'>,689:42] -[@3300,19825:19825='2',,689:44] -[@3301,19827:19828='==',<'=='>,689:46] -[@3302,19830:19830='0',,689:49] -[@3303,19831:19831=')',<')'>,689:50] -[@3304,19832:19832=';',<';'>,689:51] -[@3305,19907:19909='int',<'int'>,692:12] -[@3306,19910:19910='?',<'?'>,692:15] -[@3307,19912:19917='length',,692:17] -[@3308,19919:19919='=',<'='>,692:24] -[@3309,19921:19929='customers',,692:26] -[@3310,19930:19930='?',<'?'>,692:35] -[@3311,19931:19931='.',<'.'>,692:36] -[@3312,19932:19937='Length',,692:37] -[@3313,19938:19938=';',<';'>,692:43] -[@3314,19981:19988='Customer',,693:12] -[@3315,19990:19994='first',,693:21] -[@3316,19996:19996='=',<'='>,693:27] -[@3317,19998:20006='customers',,693:29] -[@3318,20007:20007='?',<'?'>,693:38] -[@3319,20008:20008='[',<'['>,693:39] -[@3320,20009:20009='0',,693:40] -[@3321,20010:20010=']',<']'>,693:41] -[@3322,20011:20011=';',<';'>,693:42] -[@3323,20067:20069='int',<'int'>,694:12] -[@3324,20071:20076='length',,694:16] -[@3325,20078:20078='=',<'='>,694:23] -[@3326,20080:20088='customers',,694:25] -[@3327,20089:20089='?',<'?'>,694:34] -[@3328,20090:20090='.',<'.'>,694:35] -[@3329,20091:20096='Length',,694:36] -[@3330,20098:20099='??',<'??'>,694:43] -[@3331,20101:20101='0',,694:46] -[@3332,20102:20102=';',<';'>,694:47] -[@3333,20142:20144='int',<'int'>,695:12] -[@3334,20145:20145='?',<'?'>,695:15] -[@3335,20147:20151='first',,695:17] -[@3336,20153:20153='=',<'='>,695:23] -[@3337,20155:20163='customers',,695:25] -[@3338,20164:20164='?',<'?'>,695:34] -[@3339,20165:20165='[',<'['>,695:35] -[@3340,20166:20166='0',,695:36] -[@3341,20167:20167=']',<']'>,695:37] -[@3342,20168:20168='?',<'?'>,695:38] -[@3343,20169:20169='.',<'.'>,695:39] -[@3344,20170:20175='Orders',,695:40] -[@3345,20176:20176='?',<'?'>,695:46] -[@3346,20177:20177='.',<'.'>,695:47] -[@3347,20178:20182='Count',,695:48] -[@3348,20183:20183='(',<'('>,695:53] -[@3349,20184:20184=')',<')'>,695:54] -[@3350,20185:20185=';',<';'>,695:55] -[@3351,20199:20213='PropertyChanged',,696:12] -[@3352,20214:20214='?',<'?'>,696:27] -[@3353,20215:20215='.',<'.'>,696:28] -[@3354,20216:20221='Invoke',,696:29] -[@3355,20222:20222='(',<'('>,696:35] -[@3356,20223:20226='this',<'this'>,696:36] -[@3357,20227:20227=',',<','>,696:40] -[@3358,20229:20232='args',,696:42] -[@3359,20233:20233=')',<')'>,696:46] -[@3360,20234:20234=';',<';'>,696:47] -[@3361,20297:20302='string',<'string'>,699:12] -[@3362,20304:20304='s',,699:19] -[@3363,20306:20306='=',<'='>,699:21] -[@3364,20308:20309='〔$"〕',,699:23] -[@3365,20310:20310='{',<'{'>,699:25] -[@3366,20311:20311='p',,699:26] -[@3367,20312:20312='.',<'.'>,699:27] -[@3368,20313:20316='Name',,699:28] -[@3369,20317:20317=',',<','>,699:32] -[@3370,20319:20320='20',,699:34] -[@3371,20321:20321='}',<'}'>,699:36] -[@3372,20322:20325='〔 is 〕',,699:37] -[@3373,20326:20326='{',<'{'>,699:41] -[@3374,20327:20327='p',,699:42] -[@3375,20328:20328='.',<'.'>,699:43] -[@3376,20329:20331='Age',,699:44] -[@3377,20332:20334='〔:D3〕',,699:47] -[@3378,20335:20335='}',<'}'>,699:50] -[@3379,20336:20351='〔 year{{s}} old #〕',,699:51] -[@3380,20352:20352='〔"〕',,699:67] -[@3381,20353:20353=';',<';'>,699:68] -[@3382,20367:20367='s',,700:12] -[@3383,20369:20369='=',<'='>,700:14] -[@3384,20371:20372='〔$"〕',,700:16] -[@3385,20373:20373='{',<'{'>,700:18] -[@3386,20374:20374='p',,700:19] -[@3387,20375:20375='.',<'.'>,700:20] -[@3388,20376:20379='Name',,700:21] -[@3389,20380:20380='}',<'}'>,700:25] -[@3390,20381:20386='〔 is \"〕',,700:26] -[@3391,20387:20387='{',<'{'>,700:32] -[@3392,20388:20388='p',,700:33] -[@3393,20389:20389='.',<'.'>,700:34] -[@3394,20390:20392='Age',,700:35] -[@3395,20393:20393='}',<'}'>,700:38] -[@3396,20394:20398='〔 year〕',,700:39] -[@3397,20399:20399='{',<'{'>,700:44] -[@3398,20400:20400='(',<'('>,700:45] -[@3399,20401:20401='p',,700:46] -[@3400,20402:20402='.',<'.'>,700:47] -[@3401,20403:20405='Age',,700:48] -[@3402,20407:20408='==',<'=='>,700:52] -[@3403,20410:20410='1',,700:55] -[@3404,20412:20412='?',<'?'>,700:57] -[@3405,20414:20415='""',,700:59] -[@3406,20417:20417=':',<':'>,700:62] -[@3407,20419:20421='"s"',,700:64] -[@3408,20422:20422=')',<')'>,700:67] -[@3409,20423:20423='}',<'}'>,700:68] -[@3410,20424:20427='〔 old〕',,700:69] -[@3411,20428:20428='〔"〕',,700:73] -[@3412,20429:20429=';',<';'>,700:74] -[@3413,20443:20443='s',,701:12] -[@3414,20445:20445='=',<'='>,701:14] -[@3415,20447:20448='〔$"〕',,701:16] -[@3416,20449:20449='{',<'{'>,701:18] -[@3417,20450:20450='(',<'('>,701:19] -[@3418,20451:20451='p',,701:20] -[@3419,20452:20452='.',<'.'>,701:21] -[@3420,20453:20455='Age',,701:22] -[@3421,20457:20458='==',<'=='>,701:26] -[@3422,20460:20460='2',,701:29] -[@3423,20462:20462='?',<'?'>,701:31] -[@3424,20464:20465='〔$"〕',,701:33] -[@3425,20466:20466='{',<'{'>,701:35] -[@3426,20467:20469='new',<'new'>,701:36] -[@3427,20471:20476='Person',,701:40] -[@3428,20478:20478='{',<'{'>,701:47] -[@3429,20480:20480='}',<'}'>,701:49] -[@3430,20482:20482='}',<'}'>,701:51] -[@3431,20483:20483='〔"〕',,701:52] -[@3432,20485:20485=':',<':'>,701:54] -[@3433,20487:20488='""',,701:56] -[@3434,20489:20489=')',<')'>,701:58] -[@3435,20490:20490='}',<'}'>,701:59] -[@3436,20491:20491='〔"〕',,701:60] -[@3437,20492:20492=';',<';'>,701:61] -[@3438,20506:20506='s',,702:12] -[@3439,20508:20508='=',<'='>,702:14] -[@3440,20510:20512='〔$@"〕',,702:16] -[@3441,20513:20513='〔\〕',,702:19] -[@3442,20514:20514='{',<'{'>,702:20] -[@3443,20515:20515='p',,702:21] -[@3444,20516:20516='.',<'.'>,702:22] -[@3445,20517:20520='Name',,702:23] -[@3446,20521:20521='}',<'}'>,702:27] -[@3447,20522:20560='〔\n ""\〕',,702:28] -[@3448,20561:20561='〔"〕',,703:38] -[@3449,20562:20562=';',<';'>,703:39] -[@3450,20576:20576='s',,704:12] -[@3451,20578:20578='=',<'='>,704:14] -[@3452,20580:20581='〔$"〕',,704:16] -[@3453,20582:20591='〔Color [ R=〕',,704:18] -[@3454,20592:20592='{',<'{'>,704:28] -[@3455,20593:20596='func',,704:29] -[@3456,20597:20597='(',<'('>,704:33] -[@3457,20598:20598='b',,704:34] -[@3458,20599:20599=':',<':'>,704:35] -[@3459,20601:20601='3',,704:37] -[@3460,20602:20602=')',<')'>,704:38] -[@3461,20603:20608='〔:#0.##〕',,704:39] -[@3462,20609:20609='}',<'}'>,704:45] -[@3463,20610:20613='〔, G=〕',,704:46] -[@3464,20614:20614='{',<'{'>,704:50] -[@3465,20615:20615='G',,704:51] -[@3466,20616:20621='〔:#0.##〕',,704:52] -[@3467,20622:20622='}',<'}'>,704:58] -[@3468,20623:20626='〔, B=〕',,704:59] -[@3469,20627:20627='{',<'{'>,704:63] -[@3470,20628:20628='B',,704:64] -[@3471,20629:20634='〔:#0.##〕',,704:65] -[@3472,20635:20635='}',<'}'>,704:71] -[@3473,20636:20639='〔, A=〕',,704:72] -[@3474,20640:20640='{',<'{'>,704:76] -[@3475,20641:20641='A',,704:77] -[@3476,20642:20647='〔:#0.##〕',,704:78] -[@3477,20648:20648='}',<'}'>,704:84] -[@3478,20649:20650='〔 ]〕',,704:85] -[@3479,20651:20651='〔"〕',,704:87] -[@3480,20652:20652=';',<';'>,704:88] -[@3481,20713:20714='if',<'if'>,707:12] -[@3482,20716:20716='(',<'('>,707:15] -[@3483,20717:20717='x',,707:16] -[@3484,20719:20720='==',<'=='>,707:18] -[@3485,20722:20725='null',<'null'>,707:21] -[@3486,20726:20726=')',<')'>,707:25] -[@3487,20744:20748='throw',<'throw'>,708:16] -[@3488,20750:20752='new',<'new'>,708:22] -[@3489,20754:20774='ArgumentNullException',,708:26] -[@3490,20775:20775='(',<'('>,708:47] -[@3491,20776:20781='nameof',<'nameof'>,708:48] -[@3492,20782:20782='(',<'('>,708:54] -[@3493,20783:20783='x',,708:55] -[@3494,20784:20784=')',<')'>,708:56] -[@3495,20785:20785=')',<')'>,708:57] -[@3496,20786:20786=';',<';'>,708:58] -[@3497,20800:20808='WriteLine',,709:12] -[@3498,20809:20809='(',<'('>,709:21] -[@3499,20810:20815='nameof',<'nameof'>,709:22] -[@3500,20816:20816='(',<'('>,709:28] -[@3501,20817:20822='person',,709:29] -[@3502,20823:20823='.',<'.'>,709:35] -[@3503,20824:20830='Address',,709:36] -[@3504,20831:20831='.',<'.'>,709:43] -[@3505,20832:20838='ZipCode',,709:44] -[@3506,20839:20839=')',<')'>,709:51] -[@3507,20840:20840=')',<')'>,709:52] -[@3508,20841:20841=';',<';'>,709:53] -[@3509,20922:20924='var',<'var'>,712:12] -[@3510,20926:20932='numbers',,712:16] -[@3511,20934:20934='=',<'='>,712:24] -[@3512,20936:20938='new',<'new'>,712:26] -[@3513,20940:20949='Dictionary',,712:30] -[@3514,20950:20950='<',<'<'>,712:40] -[@3515,20951:20953='int',<'int'>,712:41] -[@3516,20954:20954=',',<','>,712:44] -[@3517,20956:20961='string',<'string'>,712:46] -[@3518,20962:20962='>',<'>'>,712:52] -[@3519,20964:20964='{',<'{'>,712:54] -[@3520,20982:20982='[',<'['>,713:16] -[@3521,20983:20983='7',,713:17] -[@3522,20984:20984=']',<']'>,713:18] -[@3523,20986:20986='=',<'='>,713:20] -[@3524,20988:20994='"seven"',,713:22] -[@3525,20995:20995=',',<','>,713:29] -[@3526,21013:21013='[',<'['>,714:16] -[@3527,21014:21014='9',,714:17] -[@3528,21015:21015=']',<']'>,714:18] -[@3529,21017:21017='=',<'='>,714:20] -[@3530,21019:21024='"nine"',,714:22] -[@3531,21025:21025=',',<','>,714:28] -[@3532,21043:21043='[',<'['>,715:16] -[@3533,21044:21045='13',,715:17] -[@3534,21046:21046=']',<']'>,715:19] -[@3535,21048:21048='=',<'='>,715:21] -[@3536,21050:21059='"thirteen"',,715:23] -[@3537,21073:21073='}',<'}'>,716:12] -[@3538,21074:21074=';',<';'>,716:13] -[@3539,21134:21136='try',<'try'>,719:12] -[@3540,21138:21138='{',<'{'>,719:16] -[@3541,21139:21139='}',<'}'>,719:17] -[@3542,21153:21157='catch',<'catch'>,720:12] -[@3543,21159:21159='(',<'('>,720:18] -[@3544,21160:21170='MyException',,720:19] -[@3545,21172:21172='e',,720:31] -[@3546,21173:21173=')',<')'>,720:32] -[@3547,21175:21178='when',<'when'>,720:34] -[@3548,21180:21180='(',<'('>,720:39] -[@3549,21181:21188='myfilter',,720:40] -[@3550,21189:21189='(',<'('>,720:48] -[@3551,21190:21190='e',,720:49] -[@3552,21191:21191=')',<')'>,720:50] -[@3553,21192:21192=')',<')'>,720:51] -[@3554,21206:21206='{',<'{'>,721:12] -[@3555,21208:21208='}',<'}'>,721:14] -[@3556,21284:21291='Resource',,724:12] -[@3557,21293:21295='res',,724:21] -[@3558,21297:21297='=',<'='>,724:25] -[@3559,21299:21302='null',<'null'>,724:27] -[@3560,21303:21303=';',<';'>,724:31] -[@3561,21317:21319='try',<'try'>,725:12] -[@3562,21333:21333='{',<'{'>,726:12] -[@3563,21351:21353='res',,727:16] -[@3564,21355:21355='=',<'='>,727:20] -[@3565,21357:21361='await',<'await'>,727:22] -[@3566,21363:21370='Resource',,727:28] -[@3567,21371:21371='.',<'.'>,727:36] -[@3568,21372:21380='OpenAsync',,727:37] -[@3569,21381:21381='(',<'('>,727:46] -[@3570,21382:21382=')',<')'>,727:47] -[@3571,21383:21383=';',<';'>,727:48] -[@3572,21425:21425='}',<'}'>,728:12] -[@3573,21440:21444='catch',<'catch'>,729:12] -[@3574,21445:21445='(',<'('>,729:17] -[@3575,21446:21462='ResourceException',,729:18] -[@3576,21464:21464='e',,729:36] -[@3577,21465:21465=')',<')'>,729:37] -[@3578,21479:21479='{',<'{'>,730:12] -[@3579,21497:21501='await',<'await'>,731:16] -[@3580,21503:21510='Resource',,731:22] -[@3581,21511:21511='.',<'.'>,731:30] -[@3582,21512:21519='LogAsync',,731:31] -[@3583,21520:21520='(',<'('>,731:39] -[@3584,21521:21523='res',,731:40] -[@3585,21524:21524=',',<','>,731:43] -[@3586,21526:21526='e',,731:45] -[@3587,21527:21527=')',<')'>,731:46] -[@3588,21528:21528=';',<';'>,731:47] -[@3589,21575:21575='}',<'}'>,732:12] -[@3590,21589:21595='finally',<'finally'>,733:12] -[@3591,21609:21609='{',<'{'>,734:12] -[@3592,21627:21628='if',<'if'>,735:16] -[@3593,21630:21630='(',<'('>,735:19] -[@3594,21631:21633='res',,735:20] -[@3595,21635:21636='!=',<'!='>,735:24] -[@3596,21638:21641='null',<'null'>,735:27] -[@3597,21642:21642=')',<')'>,735:31] -[@3598,21664:21668='await',<'await'>,736:20] -[@3599,21670:21672='res',,736:26] -[@3600,21673:21673='.',<'.'>,736:29] -[@3601,21674:21683='CloseAsync',,736:30] -[@3602,21684:21684='(',<'('>,736:40] -[@3603,21685:21685=')',<')'>,736:41] -[@3604,21686:21686=';',<';'>,736:42] -[@3605,21715:21715='}',<'}'>,737:12] -[@3606,21725:21725='}',<'}'>,738:8] -[@3607,21731:21731='}',<'}'>,739:4] -[@3608,21733:21733='}',<'}'>,740:0] -[@3609,21734:21733='',,740:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.red.txt deleted file mode 100644 index 84030ffc0..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.red.txt +++ /dev/null @@ -1 +0,0 @@ -(prog (compilation_unit (extern_alias_directive extern alias (identifier Foo) ;) (using_directive (using_namespace_directive using (namespace_name (identifier System)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Collections)) . (identifier Generic))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq)) . (identifier Expressions))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Text))) ;)) (using_directive (using_alias_directive using (identifier M) = (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Math)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier ConsoleApplication2)) . (identifier Test))) ;)) (using_directive (using_alias_directive using (identifier X) = (namespace_or_type_name (identifier int1)) ;)) (using_directive (using_alias_directive using (identifier Y) = (namespace_or_type_name (namespace_or_type_name (identifier ABC)) . (identifier X) (type_argument_list < (type_arguments (integral_type int)) >)) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Math))) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier DayOfWeek))) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq)) . (identifier Enumerable))) ;)) (global_attributes (global_attribute_section [ (global_attribute_target_specifier (global_attribute_target (identifier assembly)) :) (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Copyright))) (attribute_arguments ( (positional_argument_list (literal @"(C)"" \n\n2009")) )))) ]) (global_attribute_section [ (global_attribute_target_specifier (global_attribute_target (identifier module)) :) (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Copyright))) (attribute_arguments ( (positional_argument_list (additive_expression (additive_expression (literal "\n\t\u0123(C) \"2009")) + (multiplicative_expression (literal "\u0123")))) )))) ])) (namespace_member_declaration (class_declaration class (identifier TopLevelType) (class_base : (class_type (identifier IDisposable))) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (interface_type (identifier IDisposable)) . (identifier Dispose)) ( )) (method_body (block { })))) }))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier A)) . (identifier B))) ;)) (namespace_member_declaration (interface_declaration interface (identifier CoContra) (variant_type_parameter_list < (variant_type_parameters (variant_type_parameters (variance_annotation out) (type_parameter (identifier T))) , (variance_annotation in) (type_parameter (identifier K))) >) (interface_body { }))) (namespace_member_declaration (delegate_declaration delegate (return_type void) (delegate_header (identifier CoContra2) (variant_type_parameter_list < (variant_type_parameters (variant_type_parameters (attributes (attribute_section [ (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Obsolete))) (attribute_arguments ( )))) ])) (variance_annotation out) (type_parameter (identifier T))) , (variance_annotation in) (type_parameter (identifier K))) >) ( ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint struct))) ;))) (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier DllImport)) (attribute_arguments ( (positional_argument_list (literal "kernel32")) , (named_argument_list (named_argument (identifier SetLastError) = (attribute_argument_expression (boolean_literal true)))) )))) ])) (method_modifiers (method_modifier (ref_method_modifier static)) (method_modifier (ref_method_modifier extern))) (return_type (simple_type bool)) (method_header (member_name (identifier CreateDirectory)) ( (parameter_list (fixed_parameters (fixed_parameter (type (class_type string)) (identifier name)) , (fixed_parameter (type (identifier SecurityAttribute)) (identifier sa)))) )) (method_body ;))) (class_member_declaration (constant_declaration (constant_modifier private) const (type (integral_type int)) (constant_declarators (constant_declarator (identifier (contextual_keyword global)) = (constant_expression (additive_expression (additive_expression (member_access (predefined_type int) . (identifier MinValue))) - (multiplicative_expression (literal 1)))))) ;)) (class_member_declaration (static_constructor_declaration (static_constructor_modifiers static) (identifier A) ( ) (static_constructor_body (block { })))) (class_member_declaration (constructor_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (labeled_statement (identifier L) : (statement (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (sizeof_expression sizeof ( (unmanaged_type (integral_type int)) ))))))) ;)) (statement (expression_statement (statement_expression (pre_increment_expression ++ (unary_expression (identifier i)))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s1) = (expression (interpolated_regular_string_expression 〔$"〕 〔x 〕 { (regular_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s2) = (expression (interpolated_verbatim_string_expression 〔$@"〕 〔x 〕 { (verbatim_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;))) })))) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Console)) . (identifier WriteLine))) ( (argument_list (member_access (primary_expression (member_access (primary_expression (identifier export)) . (identifier iefSupplied))) . (identifier command))) ))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local) = (constant_expression (member_access (predefined_type int) . (identifier MaxValue)))))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_reference_type (non_nullable_reference_type (identifier Guid)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local0) = (constant_expression (object_creation_expression new (type (identifier Guid)) ( (argument_list (invocation_expression (primary_expression (member_access (primary_expression (identifier r)) . (identifier ToString))) ( ))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier привет) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier мир) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword var)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier local3) = (local_variable_initializer (literal 0))) , (explicitly_typed_local_variable_declarator (identifier local4) = (local_variable_initializer (literal 1)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier local3)) (assignment_operator =) (expression (assignment (unary_expression (identifier local4)) (assignment_operator =) (expression (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local5) = (expression (null_coalescing_expression (conditional_or_expression (relational_expression (relational_expression (null_literal null)) as (type (identifier Action)))) ?? (null_coalescing_expression (null_literal null))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local6) = (expression (relational_expression (relational_expression (identifier local5)) is (type (identifier Action))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier u) = (expression (literal 1u))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier U) = (expression (literal 1U))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier hex) = (local_variable_initializer (literal 0xBADC0DE))) , (explicitly_typed_local_variable_declarator (identifier Hex) = (local_variable_initializer (literal 0XDEADBEEF))) , (explicitly_typed_local_variable_declarator (identifier l) = (local_variable_initializer (unary_expression - (unary_expression (literal 1L))))) , (explicitly_typed_local_variable_declarator (identifier L) = (local_variable_initializer (literal 1L))) , (explicitly_typed_local_variable_declarator (identifier l2) = (local_variable_initializer (literal 2l)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier ul) = (local_variable_initializer (literal 1ul))) , (explicitly_typed_local_variable_declarator (identifier Ul) = (local_variable_initializer (literal 1Ul))) , (explicitly_typed_local_variable_declarator (identifier uL) = (local_variable_initializer (literal 1uL))) , (explicitly_typed_local_variable_declarator (identifier UL) = (local_variable_initializer (literal 1UL))) , (explicitly_typed_local_variable_declarator (identifier lu) = (local_variable_initializer (literal 1lu))) , (explicitly_typed_local_variable_declarator (identifier Lu) = (local_variable_initializer (literal 1Lu))) , (explicitly_typed_local_variable_declarator (identifier lU) = (local_variable_initializer (literal 1lU))) , (explicitly_typed_local_variable_declarator (identifier LU) = (local_variable_initializer (literal 1LU)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt32Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 2147483648)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt64Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 9223372036854775808L)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (simple_type bool)) (explicitly_typed_local_variable_declarators (identifier @bool)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type byte)) (explicitly_typed_local_variable_declarators (identifier @byte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type char)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @char) = (local_variable_initializer (literal 'c'))) , (explicitly_typed_local_variable_declarator (identifier \u0066) = (local_variable_initializer (literal '\u0066'))) , (explicitly_typed_local_variable_declarator (identifier hexchar) = (local_variable_initializer (literal '\x0130'))) , (explicitly_typed_local_variable_declarator (identifier hexchar2) = (local_variable_initializer (cast_expression ( (type (integral_type char)) ) (unary_expression (literal 0xBAD)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier \U00000065) = (local_variable_initializer (literal "\U00000065")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (numeric_type decimal)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @decimal) = (local_variable_initializer (literal 1.44M)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @decimal)) (assignment_operator =) (expression (literal 1.2m)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (identifier @dynamic)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type double)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @double) = (local_variable_initializer (member_access (primary_expression (identifier M)) . (identifier PI))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1d)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1D)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (unary_expression - (unary_expression (literal 1.2e3)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type float)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @float) = (local_variable_initializer (literal 1.2f)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @float)) (assignment_operator =) (expression (literal 1.44F)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @int) = (local_variable_initializer (null_coalescing_expression (conditional_or_expression (identifier local)) ?? (null_coalescing_expression (unary_expression - (unary_expression (literal 1)))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (identifier @long)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type object)) (explicitly_typed_local_variable_declarators (identifier @object)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type sbyte)) (explicitly_typed_local_variable_declarators (identifier @sbyte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type short)) (explicitly_typed_local_variable_declarators (identifier @short)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @string) = (local_variable_initializer (literal @"""/*")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type uint)) (explicitly_typed_local_variable_declarators (identifier @uint)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (identifier @ulong)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ushort)) (explicitly_typed_local_variable_declarators (identifier @ushort)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (local_variable_initializer (identifier local5)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword add)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword alias)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier arglist) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword ascending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword async)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword await)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword by)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword descending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword equals)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword from)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword get)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword group)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword into)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword join)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword let)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword nameof)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword on)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword orderby)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword partial)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword remove)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword select)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword set)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword var)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword when)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword where)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword yield)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier __) = (expression (literal 0))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (contextual_keyword where)) (assignment_operator =) (expression (assignment (unary_expression (contextual_keyword yield)) (assignment_operator =) (expression (literal 0)))))) ;)) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (literal 0)))) ) (embedded_statement (block { (statement_list (return_statement return ;)) })) else (embedded_statement (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier i)) == (relational_expression (literal 0)))) ) (embedded_statement (block { (statement_list (throw_statement throw (expression (object_creation_expression new (type (identifier Exception)) ( ))) ;)) })))))) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o1) = (expression (object_creation_expression new (type (identifier MyObject)) ( )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o2) = (expression (object_creation_expression new (type (identifier MyObject)) ( (argument_list (contextual_keyword var)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o3) = (expression (object_creation_expression new (type (identifier MyObject)) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target (identifier A)) = (initializer_value (identifier i)))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o4) = (expression (object_creation_expression new (type (identifier MyObject)) ( (argument_list (identifier @dynamic)) ) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target (identifier A)) = (initializer_value (literal 0))) , (member_initializer (initializer_target (identifier B)) = (initializer_value (literal 0))) , (member_initializer (initializer_target (identifier C)) = (initializer_value (literal 0)))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier o5) = (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier A) = (expression (literal 0)))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier dictionaryInitializer) = (expression (object_creation_expression new (type (namespace_or_type_name (identifier Dictionary) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (class_type string))) >))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer { (expression_list (expression_list (literal 1)) , (expression (literal ""))) }) , (element_initializer { (expression_list (expression_list (literal 2)) , (expression (literal "a"))) })) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (floating_point_type float)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (array_type (non_array_type (floating_point_type float)) (rank_specifier [ ]))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer (literal 0f)) , (element_initializer (literal 1.1f))) })))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ , , ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier cube) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 111)) , (variable_initializer (literal 112))) , })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 121)) , (variable_initializer (literal 122))) }))) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 211)) , (variable_initializer (literal 212))) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 221)) , (variable_initializer (literal 222))) }))) }))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier jagged) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (array_initializer { (variable_initializer_list (literal 111)) })) , (variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 121)) , (variable_initializer (literal 122))) }))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]) (rank_specifier [ , ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier arr) = (local_variable_initializer (array_creation_expression new (non_array_type (integral_type int)) [ (expression_list (literal 5)) ] (rank_specifier [ , ]))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) (assignment_operator =) (expression (array_creation_expression new (non_array_type (integral_type int)) [ (expression_list (expression_list (literal 5)) , (expression (literal 5))) ])))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) [ (argument_list (argument (literal 0)) , (argument (literal 0))) ])) (assignment_operator =) (expression (literal 47)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier arrayTypeInference) = (local_variable_initializer (array_creation_expression new (rank_specifier [ ]) (array_initializer { (variable_initializer_list (variable_initializer (literal 0)) , (variable_initializer (literal 1))) , }))))))) ;)) (statement (switch_statement switch ( (expression (literal 3)) ) (switch_block { }))) (statement (switch_statement switch ( (expression (identifier i)) ) (switch_block { (switch_section (switch_label case (pattern (literal 0)) :) (switch_label case (pattern (literal 1)) :) (statement_list (block { (statement_list (goto_statement goto case (constant_expression (literal 2)) ;)) }))) (switch_section (switch_label case (pattern (additive_expression (additive_expression (literal 2)) + (multiplicative_expression (literal 3)))) :) (statement_list (block { (statement_list (statement (goto_statement goto default ;)) (statement (break_statement break ;))) }))) (switch_section (switch_label default :) (statement_list (block { (statement_list (return_statement return ;)) }))) }))) (statement (while_statement while ( (boolean_expression (relational_expression (relational_expression (identifier i)) < (shift_expression (literal 10)))) ) (embedded_statement (block { (statement_list (statement (expression_statement (statement_expression (pre_increment_expression ++ (unary_expression (identifier i)))) ;)) (statement (if_statement if ( (boolean_expression (boolean_literal true)) ) (embedded_statement (continue_statement continue ;)))) (statement (break_statement break ;))) })))) (statement (do_statement do (embedded_statement (block { (statement_list (statement (expression_statement (statement_expression (pre_increment_expression ++ (unary_expression (identifier i)))) ;)) (statement (if_statement if ( (boolean_expression (boolean_literal true)) ) (embedded_statement (continue_statement continue ;)))) (statement (break_statement break ;))) })) while ( (boolean_expression (relational_expression (relational_expression (identifier i)) < (shift_expression (literal 10)))) ) ;)) (statement (for_statement for ( (for_initializer (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier j) = (local_variable_initializer (literal 0)))))) ; (for_condition (relational_expression (relational_expression (identifier j)) < (shift_expression (literal 100)))) ; (for_iterator (pre_increment_expression ++ (unary_expression (identifier j)))) ) (embedded_statement (block { (statement_list (for_statement for ( ; ; ) (embedded_statement (block { (statement_list (statement (for_statement for ( (for_initializer (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (literal 0))) , (explicitly_typed_local_variable_declarator (identifier j) = (local_variable_initializer (literal 0)))))) ; (for_condition (relational_expression (relational_expression (identifier i)) < (shift_expression (identifier length)))) ; (for_iterator (statement_expression_list (statement_expression (post_increment_expression (primary_expression (identifier i)) ++)) , (statement_expression (post_increment_expression (primary_expression (identifier j)) ++)))) ) (embedded_statement (block { })))) (statement (if_statement if ( (boolean_expression (boolean_literal true)) ) (embedded_statement (continue_statement continue ;)))) (statement (break_statement break ;))) })))) })))) (statement (labeled_statement (identifier label) : (statement (goto_statement goto (identifier label) ;)))) (statement (labeled_statement (identifier label2) : (statement (empty_statement ;)))) (statement (foreach_statement foreach ( (local_variable_type (contextual_keyword var)) (identifier i) in (expression (invocation_expression (primary_expression (identifier Items)) ( ))) ) (embedded_statement (block { (statement_list (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier i)) == (relational_expression (literal 7)))) ) (embedded_statement (return_statement return ;)) else (embedded_statement (continue_statement continue ;)))) })))) (statement (lock_statement lock ( (expression (identifier sync)) ) (embedded_statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier process)) ( ))) ;)))) (statement (using_statement using ( (resource_acquisition (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (invocation_expression (primary_expression (identifier BeginScope)) ( )))))) ) (embedded_statement (using_statement using ( (resource_acquisition (explicitly_typed_local_variable_declaration (type (identifier A)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( ))))))) ) (embedded_statement (using_statement using ( (resource_acquisition (explicitly_typed_local_variable_declaration (type (identifier A)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( )))) , (explicitly_typed_local_variable_declarator (identifier b) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( ))))))) ) (embedded_statement (using_statement using ( (resource_acquisition (invocation_expression (primary_expression (identifier BeginScope)) ( ))) ) (embedded_statement (return_statement return ;)))))))))) (statement (yield_statement yield return (expression (element_access (primary_no_array_creation_expression (member_access (primary_expression (this_access this)) . (identifier items))) [ (argument_list (literal 3)) ])) ;)) (statement (yield_statement yield break ;)) (statement (fixed_statement fixed ( (pointer_type (value_type (integral_type int)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier p) = (fixed_pointer_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 100)) ]))) , (fixed_pointer_declarator (identifier q) = (fixed_pointer_initializer & (variable_reference (identifier y))))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (pointer_indirection_expression * (unary_expression (identifier intref)))) (assignment_operator =) (expression (literal 1)))) ;)) })))) (statement (fixed_statement fixed ( (pointer_type (value_type (integral_type int)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier p) = (fixed_pointer_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 100)) ])))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (pointer_indirection_expression * (unary_expression (identifier intref)))) (assignment_operator =) (expression (literal 1)))) ;)) })))) (statement (unsafe_statement unsafe (block { (statement_list (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (pointer_type (value_type (integral_type int)) *)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier p) = (local_variable_initializer (null_literal null)))))) ;)) }))) (statement (try_statement try (block { (statement_list (throw_statement throw (expression (null_literal null)) ;)) }) (catch_clauses (specific_catch_clause catch (exception_specifier ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier AccessViolationException))) (identifier av) )) (block { (statement_list (throw_statement throw (expression (identifier av)) ;)) })) (specific_catch_clause catch (exception_specifier ( (type (identifier Exception)) )) (block { (statement_list (throw_statement throw ;)) }))) (finally_clause finally (block { (statement_list (try_statement try (block { }) (catch_clauses (general_catch_clause catch (block { }))))) })))) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword var)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier anonymous) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (assignment (unary_expression (identifier A)) (assignment_operator =) (expression (literal 1)))) , (variable_initializer (assignment (unary_expression (identifier B)) (assignment_operator =) (expression (literal 2)))) , (variable_initializer (assignment (unary_expression (identifier C)) (assignment_operator =) (expression (literal 3))))) , })))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier query) = (expression (query_expression (from_clause from (identifier c) in (expression (identifier customers))) (query_body (query_body_clauses (query_body_clauses (query_body_clauses (query_body_clauses (let_clause let (identifier d) = (expression (identifier c)))) (query_body_clause (where_clause where (boolean_expression (equality_expression (equality_expression (identifier d)) != (relational_expression (null_literal null))))))) (query_body_clause (join_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( )))))) (query_body_clause (join_into_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))) into (identifier e)))) (select_or_group_clause (group_clause group (expression (identifier c)) by (expression (member_access (primary_expression (identifier c)) . (identifier Country))))) (query_continuation into (identifier g) (query_body (query_body_clauses (query_body_clauses (orderby_clause orderby (orderings (ordering (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))) (ordering_direction ascending))))) (query_body_clause (orderby_clause orderby (orderings (declaration_expression (local_variable_type (namespace_or_type_name (namespace_or_type_name (identifier g)) . (identifier Key))) (identifier (contextual_keyword descending))))))) (select_or_group_clause (select_clause select (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier Country) = (expression (member_access (primary_expression (identifier g)) . (identifier Key)))) , (member_declarator (identifier CustCount) = (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))))) }))))))))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier query)) (assignment_operator =) (expression (query_expression (from_clause from (identifier c) in (expression (identifier customers))) (query_body (select_or_group_clause (select_clause select (expression (identifier c)))) (query_continuation into (identifier d) (query_body (select_clause select (expression (identifier d)))))))))) ;))) })))) (class_member_declaration (finalizer_declaration ~ (identifier A) ( ) (finalizer_body (block { })))) (class_member_declaration (field_declaration (field_modifier private) (field_modifier readonly) (type (integral_type int)) (variable_declarators (identifier f1)) ;)) (class_member_declaration (field_declaration (attributes (attribute_section [ (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_list (identifier NonExisting)) ]) (attribute_section [ (attribute_list (attribute (attribute_name (qualified_alias_member (identifier Foo) :: (identifier NonExisting))) (attribute_arguments ( (positional_argument_list (positional_argument (contextual_keyword var)) , (positional_argument (literal 5))) )))) ]) (attribute_section [ (attribute_list (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (boolean_literal false)) )))) ]) (attribute_section [ (attribute_list (attribute (identifier Obsolete)) , (attribute (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier NonSerialized))) , (attribute (identifier NonSerialized)) , (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (conditional_or_expression (conditional_or_expression (boolean_literal true)) || (conditional_and_expression (and_expression (and_expression (boolean_literal false)) & (equality_expression (boolean_literal true)))))) )))) ])) (field_modifier private) (field_modifier volatile) (type (integral_type int)) (variable_declarators (identifier f2)) ;)) (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (keyword return)) :) (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Handler)) ( (parameter_list (fixed_parameter (type (class_type object)) (identifier (contextual_keyword value)))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type (integral_type int)) (method_header (member_name (identifier m)) (type_parameter_list < (type_parameters (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier t))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint class) , (constructor_constraint new ( ))))) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (base_access base . (identifier m))) ( (argument_list (identifier t)) ))) ;)) (statement (return_statement return (expression (literal 1)) ;))) })))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body (block { (statement_list (return_statement return (expression (literal "A")) ;)) }))) (set_accessor_declaration set (accessor_body ;))) }))) (class_member_declaration (property_declaration (property_modifier public) (property_modifier abstract) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) }))) (class_member_declaration (indexer_declaration (indexer_modifier public) (indexer_modifier abstract) (indexer_declarator (type (integral_type int)) this [ (parameter_list (fixed_parameter (type (integral_type int)) (identifier index))) ]) (indexer_body { (accessor_declarations (get_accessor_declaration (accessor_modifier protected internal) get (accessor_body ;)) (set_accessor_declaration (accessor_modifier internal protected) set (accessor_body ;))) }))) (class_member_declaration (event_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (keyword event)) :) (attribute_list (identifier Test)) ])) (event_modifier public) event (type (identifier Action)) (member_name (identifier E1)) { (event_accessor_declarations (add_accessor_declaration (attributes (attribute_section [ (attribute_list (identifier Obsolete)) ])) add (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (contextual_keyword value)) (assignment_operator =) (expression (contextual_keyword value)))) ;)) })) (remove_accessor_declaration (attributes (attribute_section [ (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_target_specifier (attribute_target (keyword return)) :) (attribute_list (identifier Obsolete)) ])) remove (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier E)) (assignment_operator +=) (expression (identifier Handler)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier E)) (assignment_operator -=) (expression (identifier Handler)))) ;))) }))) })) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (binary_operator_declarator (type (identifier A)) operator (overloadable_binary_operator +) ( (fixed_parameter (type (identifier A)) (identifier first)) , (fixed_parameter (type (identifier A)) (identifier second)) ))) (operator_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Delegate)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier handler) = (local_variable_initializer (object_creation_expression new (type (identifier Delegate)) ( (argument_list (identifier Handler)) ))))))) ;)) (statement (return_statement return (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier first)) . (identifier Add))) ( (argument_list (identifier second)) ))) ;))) })))) (class_member_declaration (operator_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_target_specifier (attribute_target (keyword return)) :) (attribute_list (identifier Obsolete)) ])) (operator_modifier public) (operator_modifier static) (operator_declarator (unary_operator_declarator (type (simple_type bool)) operator (overloadable_unary_operator true) ( (fixed_parameter (type (identifier A)) (identifier a)) ))) (operator_body (block { (statement_list (return_statement return (expression (boolean_literal true)) ;)) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (unary_operator_declarator (type (simple_type bool)) operator (overloadable_unary_operator false) ( (fixed_parameter (type (identifier A)) (identifier a)) ))) (operator_body (block { (statement_list (return_statement return (expression (boolean_literal false)) ;)) })))) (class_member_declaration (class_declaration class (identifier C) (class_body { }))) }))) (namespace_member_declaration (struct_declaration (struct_modifier public) struct (identifier S) (struct_interfaces : (interface_type_list (identifier I))) (struct_body { (struct_member_declaration (constructor_declaration (constructor_modifier public) (constructor_declarator (identifier S) ( )) (constructor_body (block { })))) (struct_member_declaration (field_declaration (field_modifier private) (type (integral_type int)) (variable_declarators (identifier f1)) ;)) (struct_member_declaration (field_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier Obsolete)) (attribute_arguments ( (positional_argument_list (positional_argument (literal "Use Script instead")) , (positional_argument (argument_name (identifier error) :) (attribute_argument_expression (boolean_literal false)))) )))) ])) (field_modifier private) (field_modifier volatile) (type (integral_type int)) (variable_declarators (identifier f2)) ;)) (struct_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier abstract))) (return_type (integral_type int)) (method_header (member_name (identifier m)) (type_parameter_list < (type_parameters (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier t))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint struct)))) (method_body (block { (statement_list (return_statement return (expression (literal 1)) ;)) })))) (struct_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword value)) = (local_variable_initializer (literal 0)))))) ;)) (statement (return_statement return (expression (literal "A")) ;))) }))) (set_accessor_declaration set (accessor_body ;))) }))) (struct_member_declaration (property_declaration (property_modifier public) (property_modifier abstract) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) }))) (struct_member_declaration (indexer_declaration (indexer_modifier public) (indexer_modifier abstract) (indexer_declarator (type (integral_type int)) this [ (parameter_list (fixed_parameter (type (integral_type int)) (identifier index))) ]) (indexer_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;)) (set_accessor_declaration (accessor_modifier internal protected) set (accessor_body ;))) }))) (struct_member_declaration (event_declaration (event_modifier public) event (type (identifier Event)) (variable_declarators (identifier E)) ;)) (struct_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (binary_operator_declarator (type (identifier A)) operator (overloadable_binary_operator +) ( (fixed_parameter (type (identifier A)) (identifier first)) , (fixed_parameter (type (identifier A)) (identifier second)) ))) (operator_body (block { (statement_list (return_statement return (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier first)) . (identifier Add))) ( (argument_list (identifier second)) ))) ;)) })))) (struct_member_declaration (fixed_size_buffer_declaration fixed (buffer_element_type (integral_type int)) (fixed_size_buffer_declarators (fixed_size_buffer_declarator (identifier field) [ (constant_expression (literal 10)) ])) ;)) (struct_member_declaration (class_declaration class (identifier C) (class_body { }))) }))) (namespace_member_declaration (interface_declaration (interface_modifier public) interface (identifier I) (interface_body { (interface_member_declaration (interface_method_declaration (return_type void) (interface_method_header (identifier A) ( (parameter_list (fixed_parameter (type (integral_type int)) (identifier (contextual_keyword value)))) ) ;))) (interface_member_declaration (interface_property_declaration (type (class_type string)) (identifier Value) { (interface_accessors get ; set ;) })) }))) (namespace_member_declaration (enum_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier type)) :) (attribute_list (identifier Flags)) ])) (enum_modifier public) enum (identifier E) (enum_body { (enum_member_declarations (enum_member_declaration (identifier A)) , (enum_member_declaration (identifier B) = (constant_expression (identifier A))) , (enum_member_declaration (identifier C) = (constant_expression (additive_expression (additive_expression (literal 2)) + (multiplicative_expression (identifier A))))) , (enum_member_declaration (identifier D))) , }))) (namespace_member_declaration (delegate_declaration (delegate_modifier public) delegate (return_type void) (delegate_header (identifier Delegate) ( (parameter_list (fixed_parameter (type (class_type object)) (identifier P))) ) ;))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier Test)) (namespace_body { (using_directive (using_namespace_directive using (namespace_name (identifier System)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Collections))) ;)) (namespace_member_declaration (class_declaration (class_modifier public) class (identifier Список) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier static))) (return_type (identifier IEnumerable)) (method_header (member_name (identifier Power)) ( (parameter_list (fixed_parameters (fixed_parameter (type (integral_type int)) (identifier number)) , (fixed_parameter (type (integral_type int)) (identifier exponent)))) )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Список)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier Список) = (local_variable_initializer (object_creation_expression new (type (identifier Список)) ( ))))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Список)) . (identifier Main))) ( ))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier counter) = (local_variable_initializer (parenthesized_expression ( (expression (additive_expression (additive_expression (literal 0)) + (multiplicative_expression (literal 0)))) ))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier אתר) = (local_variable_initializer (literal 0)))))) ;)) (statement (while_statement while ( (boolean_expression (relational_expression (relational_expression (pre_increment_expression ++ (unary_expression (post_increment_expression (primary_expression (identifier counter)) ++)))) < (shift_expression (pre_decrement_expression -- (unary_expression (post_decrement_expression (primary_expression (identifier exponent)) --)))))) ) (embedded_statement (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier result)) (assignment_operator =) (expression (additive_expression (additive_expression (additive_expression (multiplicative_expression (multiplicative_expression (identifier result)) * (unary_expression (identifier number)))) + (multiplicative_expression (unary_expression + (unary_expression (post_increment_expression (primary_expression (post_increment_expression (primary_expression (identifier number)) ++)) ++))))) + (multiplicative_expression (identifier number)))))) ;)) (statement (yield_statement yield return (expression (identifier result)) ;))) }))))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier static)) (return_type void) (method_header (member_name (identifier Main)) ( )) (method_body (block { (statement_list (foreach_statement foreach ( (local_variable_type (integral_type int)) (identifier i) in (expression (invocation_expression (primary_expression (identifier Power)) ( (argument_list (argument (literal 2)) , (argument (literal 8))) ))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Console)) . (identifier Write))) ( (argument_list (argument (literal "{0} ")) , (argument (identifier i))) ))) ;)) })))) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier async)) (return_type void) (method_header (member_name (identifier Wait)) ( )) (method_body (block { (statement_list (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (member_access (primary_expression (member_access (primary_expression (member_access (primary_expression (identifier System)) . (identifier Threading))) . (identifier Tasks))) . (identifier Task))) . (identifier Delay))) ( (argument_list (literal 0)) ))))) ;)) })))) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier AsyncAnonymous)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier task) = (expression (invocation_expression (primary_expression (member_access (primary_expression (member_access (primary_expression (identifier Task)) . (identifier Factory))) . (identifier StartNew))) ( (argument_list (lambda_expression async (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (return_statement return (expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (object_creation_expression new (type (identifier WebClient)) ( ))) . (identifier DownloadStringTaskAsync))) ( (argument_list (literal "http://example.com")) ))))) ;)) })))) )))))) ;)) })))) }))) }))) }))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier RecursiveGenericBaseType)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier A) (type_parameter_list < (type_parameters (identifier T)) >) (class_base : (class_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >)))) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier virtual))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier M)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier abstract))) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier N)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier static)) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier O)) ( )) (method_body (block { })))) }))) (namespace_member_declaration (class_declaration (class_modifier sealed) class (identifier B) (type_parameter_list < (type_parameters (type_parameters (identifier T1)) , (type_parameter (identifier T2))) >) (class_base : (class_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (identifier T1)) , (type_argument (identifier T2))) >))) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier override))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier M)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier protected)) (method_modifier (ref_method_modifier sealed)) (method_modifier (ref_method_modifier override))) (return_type (namespace_or_type_name (identifier B) (type_argument_list < (type_arguments (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) , (type_argument (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >)))) >))) (method_header (member_name (identifier N)) ( )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier new)) (method_modifier (ref_method_modifier static))) (return_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier T)) >))) (method_header (member_name (identifier O)) ( )) (method_body (block { })))) }))) }))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier Boo)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) class (identifier Bar) (type_parameter_list < (type_parameters (identifier T)) >) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (identifier IComparable))) (class_body { (class_member_declaration (field_declaration (field_modifier public) (type (identifier T)) (variable_declarators (identifier f)) ;)) (class_member_declaration (class_declaration (class_modifier public) class (identifier Foo) (type_parameter_list < (type_parameters (identifier U)) >) (class_base : (class_type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_arguments (identifier T)) >)))) (class_body { (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Method)) (type_parameter_list < (type_parameters (type_parameters (identifier K)) , (type_parameter (identifier V))) >) ( (parameter_list (fixed_parameters (fixed_parameter (type (identifier K)) (identifier k)) , (fixed_parameter (type (identifier T)) (identifier t)) , (fixed_parameter (type (identifier U)) (identifier u)))) ) (type_parameter_constraints_clause where (type_parameter (identifier K)) : (type_parameter_constraints (primary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier V)) >))) , (secondary_constraints (secondary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier T)) >))) , (secondary_constraint (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier U)) >)))))) (type_parameter_constraints_clause where (type_parameter (identifier V)) : (type_parameter_constraints (namespace_or_type_name (identifier IList) (type_argument_list < (type_arguments (identifier K)) >))))) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (identifier a)))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (invocation_expression (primary_expression (simple_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) ( (argument_list (literal 5)) ))) ))) ;))) })))) }) ;)) }) ;)) }) ;)) (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Bar3)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier x) = (expression (object_creation_expression new (type (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier Boo)) . (identifier Bar) (type_argument_list < (type_arguments (integral_type int)) >)) . (identifier Foo) (type_argument_list < (type_arguments (class_type object)) >))) ( )))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier x)) . (identifier Method) (type_argument_list < (type_arguments (type_argument (class_type string)) , (type_argument (class_type string))) >))) ( (argument_list (argument (literal " ")) , (argument (literal 5)) , (argument (object_creation_expression new (type (class_type object)) ( )))) ))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier q) = (expression (query_expression (from_clause from (identifier i) in (expression (object_creation_expression new (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer (literal 1)) , (element_initializer (literal 2)) , (element_initializer (literal 3)) , (element_initializer (literal 4))) }))))) (query_body (query_body_clauses (where_clause where (boolean_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (literal 5)))))) (select_or_group_clause (select_clause select (expression (identifier i)))))))))) ;))) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator implicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s)) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (namespace_or_type_name (namespace_or_type_name (identifier ConsoleApplication1)) . (identifier Test))) ( ))) ;)) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator explicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s) (default_argument = (expression (literal "")))) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (identifier Test)) ( ))) ;)) })))) (class_member_declaration (field_declaration (field_modifier public) (type (integral_type int)) (variable_declarators (variable_declarator (identifier foo) = (variable_initializer (literal 5)))) ;)) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Bar2)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier foo)) (assignment_operator =) (expression (literal 6)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (member_access (primary_expression (this_access this)) . (identifier Foo))) (assignment_operator =) (expression (invocation_expression (primary_expression (member_access (primary_expression (literal 5)) . (identifier GetType))) ( ))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Test)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier t) = (local_variable_initializer (literal "sss")))))) ;))) })))) (class_member_declaration (event_declaration (event_modifier public) event (type (identifier EventHandler)) (variable_declarators (variable_declarator (identifier MyEvent) = (variable_initializer (anonymous_method_expression delegate (block { }))))) ;)) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Blah)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (literal 5)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier j) = (local_variable_initializer (literal 6)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Expression) (type_argument_list < (type_arguments (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (integral_type int)) >))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier e) = (local_variable_initializer (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (identifier i)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Expression) (type_argument_list < (type_arguments (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (simple_type bool)) , (type_argument (identifier Action))) >))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier e2) = (local_variable_initializer (lambda_expression (anonymous_function_signature (identifier b)) => (anonymous_function_body (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (return_statement return ;)) })))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (simple_type bool)) , (type_argument (simple_type bool))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f) = (local_variable_initializer (anonymous_method_expression async delegate (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (type (simple_type bool)) (identifier a))) )) (block { (statement_list (return_statement return (expression (await_expression await (unary_expression (logical_negation_operator !) (unary_expression (identifier a))))) ;)) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (integral_type int)) , (type_argument (integral_type int))) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f2) = (local_variable_initializer (lambda_expression (anonymous_function_signature (implicit_anonymous_function_signature ( (implicit_anonymous_function_parameter_list (implicit_anonymous_function_parameter (identifier a)) , (implicit_anonymous_function_parameter (identifier b))) ))) => (anonymous_function_body (literal 0)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (type (integral_type int)) (identifier a)) , (explicit_anonymous_function_parameter (type (integral_type int)) (identifier b))) ))) => (anonymous_function_body (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Action)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (identifier Blah)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { })))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier f2)) (assignment_operator =) (expression (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (empty_statement ;)) })))))) ;))) })))) (class_member_declaration (delegate_declaration delegate (return_type (identifier Recursive)) (delegate_header (identifier Recursive) ( (parameter_list (fixed_parameter (type (identifier Recursive)) (identifier r))) ) ;))) (class_member_declaration (delegate_declaration delegate (return_type (identifier Recursive)) (delegate_header (identifier Recursive) (variant_type_parameter_list < (variant_type_parameters (variant_type_parameters (identifier A)) , (type_parameter (identifier R))) >) ( (parameter_list (fixed_parameter (type (namespace_or_type_name (identifier Recursive) (type_argument_list < (type_arguments (type_argument (identifier A)) , (type_argument (identifier R))) >))) (identifier r))) ) ;))) (class_member_declaration (property_declaration (property_modifier public) (type (identifier Type)) (member_name (identifier Foo)) (property_body { (accessor_declarations (get_accessor_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier Obsolete)) (attribute_arguments ( (positional_argument_list (literal "Name")) , (named_argument_list (named_argument (identifier error) = (attribute_argument_expression (boolean_literal false)))) )))) ])) get (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier result) = (expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_arguments (integral_type int)) >))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier t) = (expression (equality_expression (equality_expression (typeof_expression typeof ( (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) ))) == (relational_expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier Nullable) (type_argument_list < (type_arguments (integral_type int)) >))) )))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier t)) (assignment_operator =) (expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_arguments (array_type (non_array_type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (rank_specifier [ ]) (rank_specifier [ ]) (rank_specifier [ ]))) >))) ))))) ;)) (statement (return_statement return (expression (typeof_expression typeof ( (unbound_type_name (identifier IEnumerable) (generic_dimension_specifier < >)) ))) ;))) }))) (set_accessor_declaration set (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier t) = (expression (typeof_expression typeof ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Int32))) )))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier t)) . (identifier ToString))) ( ))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier t)) (assignment_operator =) (expression (contextual_keyword value)))) ;))) })))) }))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Constants)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (additive_expression (additive_expression (additive_expression (additive_expression (literal 1)) + (multiplicative_expression (literal 2))) + (multiplicative_expression (literal 3))) + (multiplicative_expression (literal 5)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (namespace_or_type_name (qualified_alias_member (identifier (contextual_keyword global)) :: (identifier System))) . (identifier String))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier s) = (local_variable_initializer (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (literal "a")) + (multiplicative_expression (cast_expression ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier String))) ) (unary_expression (literal "a"))))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "A")))))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ConstructedType)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier List) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (null_literal null)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier c) = (local_variable_initializer (member_access (primary_expression (identifier i)) . (identifier Count))))))) ;))) })))) }))) }))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier Comments) . (identifier XmlComments) . (identifier UndocumentedKeywords)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier C) (type_parameter_list < (type_parameters (identifier T)) >) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier M)) (type_parameter_list < (type_parameters (identifier U)) >) ( (parameter_list (fixed_parameters (fixed_parameter (type (identifier T)) (identifier t)) , (fixed_parameter (type (identifier U)) (identifier u)))) )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier intValue) = (local_variable_initializer (literal 0)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier intValue)) (assignment_operator =) (expression (additive_expression (additive_expression (identifier intValue)) + (multiplicative_expression (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier strValue) = (local_variable_initializer (literal "hello")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier MyClass)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier c) = (local_variable_initializer (object_creation_expression new (type (identifier MyClass)) ( ))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier verbatimStr) = (local_variable_initializer (literal @"\\\\")))))) ;))) })))) }))) (namespace_member_declaration (class_declaration class (identifier TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX) (class_body { }))) (namespace_member_declaration (class_declaration class (identifier TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22) (class_body { }))) (namespace_member_declaration (class_declaration class (identifier (contextual_keyword yield)) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Params)) ( (parameter_list (fixed_parameters (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (contextual_keyword dynamic)) (identifier a)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier out)) (type (contextual_keyword dynamic)) (identifier b))) , (parameter_array params (array_type (non_array_type (contextual_keyword dynamic)) (rank_specifier [ ])) (identifier c))) )) (method_body (block { })))) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Params)) ( (parameter_list (fixed_parameters (fixed_parameter (parameter_modifier (parameter_mode_modifier out)) (type (contextual_keyword dynamic)) (identifier a) (default_argument = (expression (literal 2)))) , (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (contextual_keyword dynamic)) (identifier c) (default_argument = (expression (explictly_typed_default default ( (type (contextual_keyword dynamic)) )))))) , (parameter_array params (array_type (non_array_type (contextual_keyword dynamic)) (rank_specifier [ ]) (rank_specifier [ ])) (identifier c))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier override))) (return_type (class_type string)) (method_header (member_name (identifier ToString)) ( )) (method_body (block { (statement_list (return_statement return (expression (invocation_expression (primary_expression (base_access base . (identifier ToString))) ( ))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) partial) (return_type void) (method_header (member_name (identifier OnError)) ( )) (method_body ;))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) partial) (return_type void) (method_header (member_name (identifier method)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (array_creation_expression new (non_array_type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) [ (expression_list (literal 5)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword var)) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (literal 1)) , (variable_initializer (literal 2)) , (variable_initializer (literal 3)) , (variable_initializer (literal 4)) , (variable_initializer (literal 5))) })))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (element_access (primary_no_array_creation_expression (identifier a)) [ (argument_list (identifier i)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Foo) (type_argument_list < (type_arguments (identifier T)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f) = (local_variable_initializer (object_creation_expression new (type (namespace_or_type_name (identifier Foo) (type_argument_list < (type_arguments (integral_type int)) >))) ( ))))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier f)) . (identifier method))) ( ))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator =) (expression (inclusive_or_expression (inclusive_or_expression (and_expression (and_expression (additive_expression (additive_expression (additive_expression (identifier i)) + (multiplicative_expression (identifier i))) - (multiplicative_expression (multiplicative_expression (multiplicative_expression (multiplicative_expression (identifier i)) * (unary_expression (identifier i))) / (unary_expression (identifier i))) % (unary_expression (identifier i))))) & (equality_expression (identifier i)))) | (exclusive_or_expression (exclusive_or_expression (identifier i)) ^ (and_expression (identifier i))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (simple_type bool)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier b) = (local_variable_initializer (inclusive_or_expression (inclusive_or_expression (and_expression (and_expression (boolean_literal true)) & (equality_expression (boolean_literal false)))) | (exclusive_or_expression (exclusive_or_expression (boolean_literal true)) ^ (and_expression (boolean_literal false))))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier b)) (assignment_operator =) (expression (unary_expression (logical_negation_operator !) (unary_expression (identifier b)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator =) (expression (unary_expression ~ (unary_expression (identifier i)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier b)) (assignment_operator =) (expression (conditional_and_expression (conditional_and_expression (relational_expression (relational_expression (identifier i)) < (shift_expression (identifier i)))) && (inclusive_or_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (identifier i)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier ii) = (local_variable_initializer (literal 5)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier f) = (local_variable_initializer (conditional_expression (null_coalescing_expression (boolean_literal true)) ? (expression (literal 1)) : (expression (literal 0)))))))) ;)) (statement (expression_statement (statement_expression (post_increment_expression (primary_expression (identifier i)) ++)) ;)) (statement (expression_statement (statement_expression (post_decrement_expression (primary_expression (identifier i)) --)) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier b)) (assignment_operator =) (expression (conditional_or_expression (conditional_or_expression (conditional_and_expression (conditional_and_expression (boolean_literal true)) && (inclusive_or_expression (boolean_literal false)))) || (conditional_and_expression (boolean_literal true)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier b)) (assignment_operator =) (expression (conditional_and_expression (conditional_and_expression (conditional_and_expression (conditional_and_expression (equality_expression (equality_expression (identifier i)) == (relational_expression (identifier i)))) && (inclusive_or_expression (equality_expression (equality_expression (identifier i)) != (relational_expression (identifier i))))) && (inclusive_or_expression (relational_expression (relational_expression (identifier i)) <= (shift_expression (identifier i))))) && (inclusive_or_expression (relational_expression (relational_expression (identifier i)) >= (shift_expression (identifier i)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator +=) (expression (literal 5.0)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator -=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator *=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator /=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator %=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator &=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator |=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator ^=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator <<=) (expression (identifier i)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier i)) (assignment_operator (right_shift_assignment > >=)) (expression (identifier i)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type object)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier s) = (local_variable_initializer (lambda_expression (anonymous_function_signature (identifier x)) => (anonymous_function_body (additive_expression (additive_expression (identifier x)) + (multiplicative_expression (literal 1)))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type double)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier d) = (local_variable_initializer (literal .3)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Point)) (explicitly_typed_local_variable_declarators (identifier point)))) ;)) (statement (unsafe_statement unsafe (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (pointer_type (value_type (identifier Point)) *)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier p) = (local_variable_initializer (addressof_expression & (unary_expression (identifier point)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (pointer_member_access (primary_expression (identifier p)) -> (identifier x))) (assignment_operator =) (expression (literal 10)))) ;))) }))) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (qualified_alias_member (identifier IO) :: (identifier BinaryReader))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier br) = (local_variable_initializer (null_literal null)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (identifier x)) [ (argument_list (argument (argument_name (identifier i) :) (argument_value (literal 1)))) ])) (assignment_operator =) (expression (literal 3)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (element_access (primary_no_array_creation_expression (identifier x)) [ (argument_list (argument (argument_name (identifier i) :) (argument_value (literal 1))) , (argument (argument_name (identifier j) :) (argument_value (literal 5)))) ])) (assignment_operator =) (expression (literal "str")))) ;))) })))) (class_member_declaration (struct_declaration struct (identifier Point) (struct_body { (struct_member_declaration (field_declaration (field_modifier public) (type (integral_type int)) (variable_declarators (identifier X)) ;)) (struct_member_declaration (field_declaration (field_modifier public) (type (integral_type int)) (variable_declarators (identifier Y)) ;)) (struct_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ThisAccess)) ( )) (method_body (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (this_access this)) (assignment_operator =) (expression (this_access this)))) ;)) })))) }))) }))) (namespace_member_declaration (class_declaration class (identifier CSharp6Features) (class_body { (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier First)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;)) (set_accessor_declaration set (accessor_body ;))) } (property_initializer = (variable_initializer (literal "Jane")) ;)))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier Last)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;)) (set_accessor_declaration set (accessor_body ;))) } (property_initializer = (variable_initializer (literal "Doe")) ;)))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier Third)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) } (property_initializer = (variable_initializer (literal "Jane")) ;)))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier Fourth)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) } (property_initializer = (variable_initializer (literal "Doe")) ;)))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type (identifier Point)) (method_header (member_name (identifier Move)) ( (parameter_list (fixed_parameters (fixed_parameter (type (integral_type int)) (identifier dx)) , (fixed_parameter (type (integral_type int)) (identifier dy)))) )) (method_body => (expression (object_creation_expression new (type (identifier Point)) ( (argument_list (argument (additive_expression (additive_expression (identifier x)) + (multiplicative_expression (identifier dx)))) , (argument (additive_expression (additive_expression (identifier y)) + (multiplicative_expression (identifier dy))))) ))) ;))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (binary_operator_declarator (type (identifier Complex)) operator (overloadable_binary_operator +) ( (fixed_parameter (type (identifier Complex)) (identifier a)) , (fixed_parameter (type (identifier Complex)) (identifier b)) ))) (operator_body => (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier a)) . (identifier Add))) ( (argument_list (identifier b)) ))) ;))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator implicit operator (type (class_type string)) ( (fixed_parameter (type (identifier Person)) (identifier p)) ))) (operator_body => (expression (additive_expression (additive_expression (additive_expression (member_access (primary_expression (identifier p)) . (identifier First))) + (multiplicative_expression (literal " "))) + (multiplicative_expression (member_access (primary_expression (identifier p)) . (identifier Last))))) ;))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Print)) ( )) (method_body => (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Console)) . (identifier WriteLine))) ( (argument_list (additive_expression (additive_expression (additive_expression (identifier First)) + (multiplicative_expression (literal " "))) + (multiplicative_expression (identifier Last)))) ))) ;))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier Name)) (property_body => (expression (additive_expression (additive_expression (additive_expression (identifier First)) + (multiplicative_expression (literal " "))) + (multiplicative_expression (identifier Last)))) ;))) (class_member_declaration (indexer_declaration (indexer_modifier public) (indexer_declarator (type (integral_type int)) this [ (parameter_list (fixed_parameter (type (integral_type long)) (identifier id))) ]) (indexer_body => (expression (identifier id)) ;))) (class_member_declaration (method_declaration (method_modifiers (method_modifier async)) (return_type void) (method_header (member_name (identifier Test)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier WriteLine)) ( (argument_list (invocation_expression (primary_expression (identifier Sqrt)) ( (argument_list (additive_expression (additive_expression (multiplicative_expression (multiplicative_expression (literal 3)) * (unary_expression (literal 3)))) + (multiplicative_expression (multiplicative_expression (literal 4)) * (unary_expression (literal 4))))) ))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier WriteLine)) ( (argument_list (additive_expression (additive_expression (identifier Friday)) - (multiplicative_expression (identifier Monday)))) ))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier range) = (expression (invocation_expression (primary_expression (identifier Range)) ( (argument_list (argument (literal 5)) , (argument (literal 17))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier even) = (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier range)) . (identifier Where))) ( (argument_list (lambda_expression (anonymous_function_signature (identifier i)) => (anonymous_function_body (equality_expression (equality_expression (multiplicative_expression (multiplicative_expression (identifier i)) % (unary_expression (literal 2)))) == (relational_expression (literal 0)))))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier length) = (local_variable_initializer (null_conditional_member_access (primary_expression (identifier customers)) ? . (identifier Length))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Customer)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier first) = (local_variable_initializer (null_conditional_element_access (primary_no_array_creation_expression (identifier customers)) ? [ (argument_list (literal 0)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier length) = (local_variable_initializer (null_coalescing_expression (conditional_or_expression (null_conditional_member_access (primary_expression (identifier customers)) ? . (identifier Length))) ?? (null_coalescing_expression (literal 0)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier first) = (local_variable_initializer (null_conditional_member_access (primary_expression (null_conditional_member_access (primary_expression (null_conditional_element_access (primary_no_array_creation_expression (identifier customers)) ? [ (argument_list (literal 0)) ])) ? . (identifier Orders))) ? . (identifier Count) (dependent_access ( )))))))) ;)) (statement (expression_statement (statement_expression (null_conditional_invocation_expression (null_conditional_member_access (primary_expression (identifier PropertyChanged)) ? . (identifier Invoke)) ( (argument_list (argument (this_access this)) , (argument (identifier args))) ))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier s) = (local_variable_initializer (interpolated_regular_string_expression 〔$"〕 { (regular_interpolation (expression (member_access (primary_expression (identifier p)) . (identifier Name))) , (interpolation_minimum_width (literal 20))) } 〔 is 〕 { (regular_interpolation (expression (member_access (primary_expression (identifier p)) . (identifier Age))) 〔:D3〕) } 〔 year{{s}} old #〕 〔"〕)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier s)) (assignment_operator =) (expression (interpolated_regular_string_expression 〔$"〕 { (regular_interpolation (member_access (primary_expression (identifier p)) . (identifier Name))) } 〔 is \"〕 { (regular_interpolation (member_access (primary_expression (identifier p)) . (identifier Age))) } 〔 year〕 { (regular_interpolation (parenthesized_expression ( (expression (conditional_expression (null_coalescing_expression (equality_expression (equality_expression (member_access (primary_expression (identifier p)) . (identifier Age))) == (relational_expression (literal 1)))) ? (expression (literal "")) : (expression (literal "s")))) ))) } 〔 old〕 〔"〕)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier s)) (assignment_operator =) (expression (interpolated_regular_string_expression 〔$"〕 { (regular_interpolation (parenthesized_expression ( (expression (conditional_expression (null_coalescing_expression (equality_expression (equality_expression (member_access (primary_expression (identifier p)) . (identifier Age))) == (relational_expression (literal 2)))) ? (expression (interpolated_regular_string_expression 〔$"〕 { (regular_interpolation (object_creation_expression new (type (identifier Person)) (object_or_collection_initializer (object_initializer { })))) } 〔"〕)) : (expression (literal "")))) ))) } 〔"〕)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier s)) (assignment_operator =) (expression (interpolated_verbatim_string_expression 〔$@"〕 〔\〕 { (verbatim_interpolation (member_access (primary_expression (identifier p)) . (identifier Name))) } 〔\n ""\〕 〔"〕)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier s)) (assignment_operator =) (expression (interpolated_regular_string_expression 〔$"〕 〔Color [ R=〕 { (regular_interpolation (expression (invocation_expression (primary_expression (identifier func)) ( (argument_list (argument (argument_name (identifier b) :) (argument_value (literal 3)))) ))) 〔:#0.##〕) } 〔, G=〕 { (regular_interpolation (expression (identifier G)) 〔:#0.##〕) } 〔, B=〕 { (regular_interpolation (expression (identifier B)) 〔:#0.##〕) } 〔, A=〕 { (regular_interpolation (expression (identifier A)) 〔:#0.##〕) } 〔 ]〕 〔"〕)))) ;)) (statement (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier x)) == (relational_expression (null_literal null)))) ) (embedded_statement (throw_statement throw (expression (object_creation_expression new (type (identifier ArgumentNullException)) ( (argument_list (invocation_expression (primary_expression (contextual_keyword nameof)) ( (argument_list (identifier x)) ))) ))) ;)))) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier WriteLine)) ( (argument_list (invocation_expression (primary_expression (contextual_keyword nameof)) ( (argument_list (member_access (primary_expression (member_access (primary_expression (identifier person)) . (identifier Address))) . (identifier ZipCode))) ))) ))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier numbers) = (expression (object_creation_expression new (type (namespace_or_type_name (identifier Dictionary) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (class_type string))) >))) (object_or_collection_initializer (object_initializer { (member_initializer_list (member_initializer (initializer_target [ (argument_list (literal 7)) ]) = (initializer_value (literal "seven"))) , (member_initializer (initializer_target [ (argument_list (literal 9)) ]) = (initializer_value (literal "nine"))) , (member_initializer (initializer_target [ (argument_list (literal 13)) ]) = (initializer_value (literal "thirteen")))) }))))))) ;)) (statement (try_statement try (block { }) (catch_clauses (specific_catch_clause catch (exception_specifier ( (type (identifier MyException)) (identifier e) )) (exception_filter when ( (boolean_expression (invocation_expression (primary_expression (identifier myfilter)) ( (argument_list (identifier e)) ))) )) (block { }))))) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Resource)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier res) = (local_variable_initializer (null_literal null)))))) ;)) (statement (try_statement try (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (identifier res)) (assignment_operator =) (expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Resource)) . (identifier OpenAsync))) ( ))))))) ;)) }) (catch_clauses (specific_catch_clause catch (exception_specifier ( (type (identifier ResourceException)) (identifier e) )) (block { (statement_list (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Resource)) . (identifier LogAsync))) ( (argument_list (argument (identifier res)) , (argument (identifier e))) ))))) ;)) }))) (finally_clause finally (block { (statement_list (if_statement if ( (boolean_expression (equality_expression (equality_expression (identifier res)) != (relational_expression (null_literal null)))) ) (embedded_statement (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier res)) . (identifier CloseAsync))) ( ))))) ;)))) }))))) })))) }))) }))))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.svg deleted file mode 100644 index 55ae33842..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/Reference/AllInOneNoPreprocessor-v6.tree.svg +++ /dev/null @@ -1,44805 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -identifier - - - -statement - - - -identifier - - - -identifier - - - -anonymous - - - -local_variable_declaration - - - -. - - - -identifier - - - -statement - - - -literal - - - -attribute_section - - - -class_type - - - -type - - - -, - - - -result - - - -expression_statement - - - -identifier - - - -} - - - -namespace_member_declaration - - - -, - - - -} - - - -where - - - -local_variable_initializer - - - -ref_method_modifier - - - -statement_expression - - - -literal - - - -identifier - - - -= - - - -explicitly_typed_local_variable_declarator - - - -explicitly_typed_local_variable_declarator - - - -using_directive - - - -embedded_statement - - - -? - - - -property_modifier - - - -lambda_expression - - - -CSharp6Features - - - -= - - - -type - - - -identifier - - - -System - - - -unsafe_statement - - - -attribute_section - - - -} - - - -statement_list - - - -identifier - - - -} - - - -new - - - -T - - - -expression - - - -member_access - - - -class_type - - - -expression - - - -using_directive - - - -0 - - - -unary_expression - - - -identifier - - - -identifier - - - -return_type - - - -; - - - -+ - - - -IDisposable - - - -additive_expression - - - -identifier - - - -c1 - - - -additive_expression - - - -( - - - -where_clause - - - -protected - - - -identifier - - - -: - - - -statement - - - -integral_type - - - -expression - - - -attributes - - - -expression - - - -type_parameter - - - -unary_expression - - - -; - - - -, - - - -: - - - -} - - - -4 - - - -type - - - -using_directive - - - -statement - - - -; - - - -אתר - - - -[ - - - -group - - - -assignment_operator - - - -anonymous_function_signature - - - -( - - - -; - - - -identifier - - - -assignment - - - -rank_specifier - - - -int - - - -; - - - -) - - - -attribute_list - - - -return_type - - - -declaration_statement - - - -V - - - -expression_list - - - -; - - - -integral_type - - - -error - - - -type_argument_list - - - -explicitly_typed_local_variable_declarator - - - -; - - - -enum - - - -identifier - - - -primary_expression - - - -o3 - - - -block - - - -type - - - -| - - - -literal - - - -field_modifier - - - -=> - - - -equals - - - -identifier - - - -and_expression - - - -identifier - - - -local_variable_declaration - - - -statement - - - -x - - - -: - - - -) - - - -attribute_name - - - -primary_expression - - - -identifier - - - -sizeof - - - -, - - - -( - - - -relational_expression - - - -DllImport - - - -while - - - -B - - - -local_variable_initializer - - - -statement - - - -type - - - -null_conditional_member_access - - - -return_statement - - - -break_statement - - - -yield - - - -type - - - -identifier - - - -= - - - -) - - - -( - - - -; - - - -identifier - - - -. - - - -string - - - -expression - - - -public - - - -namespace_or_type_name - - - -} - - - -declaration_statement - - - -regular_interpolation - - - -Test - - - -> - - - -; - - - -member_initializer - - - -i - - - -await - - - -explicitly_typed_local_variable_declarator - - - -) - - - -delegate - - - -explicitly_typed_local_variable_declarators - - - -object_creation_expression - - - -GetHashCode - - - -literal - - - -variable_declarator - - - -= - - - -a - - - -, - - - -array_initializer - - - -, - - - -local_variable_declaration - - - -Address - - - -0 - - - -) - - - -statement_list - - - -} - - - -〔\〕 - - - -: - - - -type - - - -literal - - - -type_parameters - - - -boolean_expression - - - -assignment_operator - - - -statement - - - -sizeof_expression - - - -identifier - - - -declaration_statement - - - -embedded_statement - - - -integral_type - - - -Complex - - - -identifier - - - -attribute_target - - - -, - - - -, - - - -unary_expression - - - -statement - - - -Text - - - -explicitly_typed_local_variable_declaration - - - -( - - - -{ - - - -type - - - -+ - - - -into - - - -assignment - - - -local_variable_declaration - - - -c - - - -implicitly_typed_local_variable_declarator - - - -expression - - - -declaration_statement - - - -. - - - -identifier - - - -, - - - -List - - - -string - - - -identifier - - - -identifier - - - -variable_initializer_list - - - -relational_expression - - - -statement - - - -string - - - -= - - - -class_type - - - -type - - - -} - - - -@ulong - - - -statement - - - -{ - - - -for_initializer - - - -5 - - - -non_array_type - - - -identifier - - - -namespace_member_declaration - - - -relational_expression - - - -identifier - - - -expression_statement - - - -static - - - -int - - - -constructor_constraint - - - -M - - - -nullable_type_annotation - - - -this - - - -"http://example.com" - - - -fixed_pointer_initializer - - - -class_type - - - -pre_increment_expression - - - -where - - - -implicitly_typed_local_variable_declaration - - - -method_body - - - -attribute_section - - - -E1 - - - -identifier - - - -attribute_target_specifier - - - -int - - - -identifier - - - -> - - - -unary_expression - - - -0 - - - -DayOfWeek - - - -implicitly_typed_local_variable_declaration - - - -System - - - -{ - - - -( - - - -implicit_anonymous_function_parameter - - - -{ - - - -. - - - -delegate_declaration - - - -local_variable_declaration - - - -object_creation_expression - - - -assignment - - - -Func - - - -member_name - - - -{ - - - -, - - - --- - - - -return - - - -{ - - - -explicitly_typed_local_variable_declarators - - - -relational_expression - - - -i - - - -< - - - -[ - - - -variable_declarators - - - -expression_statement - - - -K - - - -identifier - - - -class - - - -static - - - -declaration_statement - - - -null_coalescing_expression - - - -identifier - - - -expression_statement - - - -} - - - -attribute_arguments - - - -; - - - -new - - - -expression - - - -type - - - -fixed_parameter - - - -argument_name - - - -member_initializer - - - -local_variable_initializer - - - -result - - - -identifier - - - -namespace_body - - - -} - - - -return - - - -expression - - - -expression_list - - - -expression_statement - - - -} - - - -constructor_declarator - - - -primary_expression - - - -identifier - - - -statement_expression - - - -( - - - -LU - - - -operator_declarator - - - -parameter_modifier - - - -type - - - -unary_expression - - - -break_statement - - - -identifier - - - -Int32 - - - -local_variable_declaration - - - -accessor_modifier - - - -variable_declarator - - - -if - - - -struct_member_declaration - - - -implicitly_typed_local_variable_declaration - - - --= - - - -[ - - - -variable_initializer - - - -( - - - -expression - - - -[ - - - -( - - - -fixed_parameter - - - -} - - - -, - - - -. - - - -statement - - - -local_variable_declaration - - - -identifier - - - -identifier - - - -member_access - - - -. - - - -; - - - -identifier - - - -into - - - -A - - - -A - - - -identifier - - - -explicitly_typed_local_variable_declaration - - - -public - - - -1 - - - -namespace_or_type_name - - - -Name - - - -: - - - -identifier - - - -expression - - - -identifier - - - -statement - - - -namespace_or_type_name - - - -implicitly_typed_local_variable_declaration - - - -statement - - - -var - - - -- - - - -void - - - -identifier - - - -Console - - - -multiplicative_expression - - - -throw_statement - - - -) - - - -i - - - -explicitly_typed_local_variable_declarator - - - -} - - - -stackalloc - - - -( - - - -A - - - -identifier - - - -, - - - -resource_acquisition - - - -statement - - - -declaration_statement - - - -variable_initializer - - - -struct_member_declaration - - - -enum_member_declaration - - - -return_type - - - -identifier - - - -statement - - - -:: - - - -identifier - - - -qualified_identifier - - - -> - - - -literal - - - -; - - - -fixed_pointer_declarators - - - -} - - - -literal - - - -identifier - - - -variable_declarators - - - -expression_statement - - - -〔:#0.##〕 - - - -if - - - -class - - - -GetHashCode - - - -type_parameter_constraints - - - -> - - - -statement_list - - - -; - - - -) - - - -assignment_operator - - - -primary_expression - - - -D - - - -type - - - -public - - - -explicitly_typed_local_variable_declarators - - - -identifier - - - -, - - - -local_variable_declaration - - - -identifier - - - -= - - - -additive_expression - - - -additive_expression - - - -+ - - - -local_variable_declaration - - - -object_creation_expression - - - -class_member_declaration - - - -explicit_anonymous_function_signature - - - -statement_expression - - - -; - - - -5 - - - -identifier - - - -) - - - -{ - - - -local_variable_initializer - - - -literal - - - -local_variable_initializer - - - -< - - - -literal - - - -primary_expression - - - -identifier - - - -indexer_declaration - - - -object_or_collection_initializer - - - -literal - - - -field_modifier - - - -class_type - - - -class_member_declaration - - - -0 - - - -identifier - - - -method_modifier - - - -; - - - -, - - - -p - - - -statement - - - -implicitly_typed_local_variable_declarator - - - -primary_expression - - - -local_variable_initializer - - - -literal - - - -s - - - -Foo - - - -array_initializer - - - -type - - - -( - - - -variance_annotation - - - -local_variable_initializer - - - -private - - - -declaration_statement - - - -; - - - -type - - - -member_name - - - -result - - - -declaration_statement - - - -namespace_or_type_name - - - -rank_specifier - - - -value - - - -member_access - - - -+ - - - -A - - - -. - - - -continue_statement - - - -declaration_statement - - - -return - - - -return_statement - - - -identifier - - - -explicitly_typed_local_variable_declarators - - - -ii - - - -property_declaration - - - -Name - - - -{ - - - -integral_type - - - -rank_specifier - - - -identifier - - - -CreateDirectory - - - -implicitly_typed_local_variable_declarator - - - -anonymous_function_body - - - -identifier - - - -using_namespace_directive - - - -true - - - -labeled_statement - - - -explicitly_typed_local_variable_declarators - - - -explicitly_typed_local_variable_declaration - - - -System - - - -( - - - -{ - - - -statement - - - -identifier - - - -% - - - -attributes - - - -assignment - - - -boolean_literal - - - -implicitly_typed_local_variable_declarator - - - -member_access - - - -interpolated_regular_string_expression - - - -length - - - -explicitly_typed_local_variable_declaration - - - -method_modifier - - - -.3 - - - -conditional_or_expression - - - -switch_section - - - -multiplicative_expression - - - -System - - - -overloadable_unary_operator - - - -integral_type - - - -2 - - - -) - - - -positional_argument_list - - - -unmanaged_type - - - -async - - - -fixed_parameter - - - -block - - - -type_argument_list - - - -explicitly_typed_local_variable_declarators - - - -namespace_or_type_name - - - -T2 - - - -statement - - - -: - - - -declaration_statement - - - -public - - - -. - - - -] - - - -j - - - -get_accessor_declaration - - - -: - - - -t - - - -argument_value - - - -method_body - - - -expression - - - -attribute_target - - - -member_access - - - -declaration_statement - - - -[ - - - -type - - - -arr - - - -; - - - -identifier - - - -from_clause - - - -class_member_declaration - - - -secondary_constraints - - - -declaration_statement - - - -await - - - -equality_expression - - - -identifier - - - -3 - - - -global_attribute_section - - - -identifier - - - -invocation_expression - - - -local_variable_declaration - - - -anonymous_function_signature - - - -statement_list - - - -* - - - -〔·]〕 - - - -; - - - -} - - - -member_name - - - -interface - - - -expression - - - -class_body - - - -var - - - -statement - - - -, - - - -variable_initializer - - - -statement_list - - - -delegate - - - -== - - - -namespace_or_type_name - - - -CLSCompliant - - - -namespace_or_type_name - - - -type_parameter_constraints_clause - - - -unary_expression - - - -nameof - - - -unary_expression - - - -) - - - -conditional_and_expression - - - -declaration_statement - - - -identifier - - - -= - - - -pointer_type - - - -using_namespace_directive - - - -class_modifier - - - -IList - - - -member_name - - - -unary_expression - - - -a - - - -struct_declaration - - - -get_accessor_declaration - - - -literal - - - -explicitly_typed_local_variable_declaration - - - -method_body - - - -return - - - -( - - - -identifier - - - -( - - - -( - - - -= - - - -class_member_declaration - - - -x - - - -out - - - -member_access - - - -unary_expression - - - -continue - - - -assignment - - - -implicitly_typed_local_variable_declarator - - - -[ - - - -new - - - -identifier - - - -i - - - -type_argument_list - - - -U - - - -type_arguments - - - -literal - - - -expression_statement - - - -identifier - - - -invocation_expression - - - -SecurityAttribute - - - -{ - - - -declaration_statement - - - -assignment_operator - - - -namespace_or_type_name - - - -. - - - -++ - - - -array_creation_expression - - - -; - - - -literal - - - -* - - - -non_nullable_value_type - - - -assignment - - - -statement - - - -identifier - - - -"a" - - - -ref_method_modifier - - - -identifier - - - -type - - - -multiplicative_expression - - - -integral_type - - - -multiplicative_expression - - - -Linq - - - -) - - - -type_arguments - - - -identifier - - - -identifier - - - -typeof_expression - - - -literal - - - -( - - - -; - - - -identifier - - - -) - - - -statement - - - -unary_expression - - - -lambda_expression - - - -identifier - - - -member_name - - - -0 - - - -type_argument - - - -assignment - - - -verbatim_interpolation - - - -> - - - -local_variable_initializer - - - -explicitly_typed_local_variable_declarators - - - -type - - - -literal - - - -select - - - -; - - - -) - - - -. - - - -var - - - -) - - - -; - - - -{ - - - -primary_expression - - - -: - - - -object_creation_expression - - - -0 - - - -Age - - - -type - - - -contextual_keyword - - - -local_variable_initializer - - - -implicitly_typed_local_variable_declaration - - - -< - - - -extern - - - -. - - - -{ - - - -. - - - -identifier - - - -( - - - -variable_initializer_list - - - -identifier - - - -statement - - - -; - - - -identifier - - - -, - - - -T - - - -= - - - -type - - - -get - - - -statement - - - -local_variable_initializer - - - -} - - - -identifier - - - -= - - - -typeof - - - -= - - - -i - - - -typeof - - - -method_body - - - -} - - - -new - - - -identifier - - - -explicitly_typed_local_variable_declarator - - - -accessor_declarations - - - -] - - - -member_name - - - -+ - - - -, - - - -) - - - -local_variable_declaration - - - -as - - - -assignment - - - -throw - - - -i - - - -type_parameter_list - - - -: - - - -> - - - -identifier - - - -rank_specifier - - - -5 - - - -block - - - -literal - - - -T - - - -identifier - - - -fixed_pointer_declarator - - - -identifier - - - -Console - - - -"s" - - - -dx - - - -identifier - - - -parameter_modifier - - - -CloseAsync - - - -continue_statement - - - -; - - - -1 - - - -type_argument_list - - - -type - - - -logical_negation_operator - - - -res - - - -? - - - -; - - - -expression - - - -type_arguments - - - -U - - - -true - - - -identifier - - - -K - - - -default - - - -expression_statement - - - -{ - - - -static - - - -anonymous_function_body - - - -equality_expression - - - -namespace_or_type_name - - - -T - - - -= - - - -cast_expression - - - -i - - - -{ - - - -using - - - -i - - - -integral_type - - - -argument_list - - - -int - - - -) - - - -] - - - -member_declarator - - - -} - - - -< - - - -local_variable_declaration - - - -type - - - -assignment_operator - - - -{ - - - -namespace_body - - - -await_expression - - - -) - - - -extern_alias_directive - - - -> - - - -class_member_declaration - - - -primary_constraint - - - -add - - - -declaration_statement - - - -; - - - -[ - - - -identifier - - - -"thirteen" - - - -> - - - -0 - - - -} - - - -statement - - - -( - - - -. - - - -internal - - - -var - - - -explicitly_typed_local_variable_declarators - - - -Список - - - -< - - - -integral_type - - - -this_access - - - -expression_statement - - - -identifier - - - -method_declaration - - - -) - - - -Test - - - -member_declarator - - - -Action - - - -type_argument_list - - - -error - - - -attributes - - - -conditional_and_expression - - - -212 - - - -) - - - -statement_expression - - - -identifier - - - -) - - - -contextual_keyword - - - -explicitly_typed_local_variable_declarators - - - -Math - - - -statement - - - -assignment_operator - - - -〔:D3〕 - - - -member_initializer - - - -parameter_list - - - -expression - - - -integral_type - - - -literal - - - -var - - - -identifier - - - -local_variable_declaration - - - -type - - - -class_declaration - - - -identifier - - - -] - - - -@dynamic - - - -identifier - - - -return_type - - - -> - - - -assignment_operator - - - -identifier - - - -"·" - - - -anonymous_function_body - - - -set - - - -( - - - -( - - - -operator_declaration - - - -ref_method_modifier - - - -[ - - - -Func - - - -declaration_statement - - - -= - - - -> - - - -identifier - - - -non_nullable_value_type - - - -this_access - - - -primary_expression - - - -; - - - -( - - - -fixed_parameter - - - -try_statement - - - -statement - - - -C - - - -) - - - -identifier - - - -var - - - -identifier - - - -additive_expression - - - -local_variable_declaration - - - -; - - - -get - - - -) - - - -local_variable_declaration - - - -unary_expression - - - -type_arguments - - - -var - - - -identifier - - - -expression - - - -. - - - -explicitly_typed_local_variable_declarator - - - -literal - - - -; - - - -literal - - - -identifier - - - -{ - - - -accessor_body - - - -type - - - -; - - - -T1 - - - -expression - - - -221 - - - -ascending - - - -= - - - -Key - - - -A - - - -Test - - - -identifier - - - -class_type - - - -{ - - - -identifier - - - -explicitly_typed_local_variable_declaration - - - -expression - - - -; - - - -integral_type - - - -implicitly_typed_local_variable_declaration - - - -Foo - - - -Person - - - -declaration_statement - - - -method_header - - - -c - - - -identifier - - - -attribute - - - -[ - - - -( - - - -Hex - - - -i - - - -namespace_or_type_name - - - -, - - - -initializer_value - - - -object_creation_expression - - - -local_variable_declaration - - - -identifier - - - -identifier - - - -local_variable_declaration - - - -type_argument - - - -assignment_operator - - - -= - - - -relational_expression - - - -unary_expression - - - -expression - - - -; - - - -var - - - -type_argument_list - - - -expression - - - -3 - - - -local_variable_declaration - - - -fixed_parameters - - - -Func - - - -member_access - - - -identifier - - - -type_arguments - - - -( - - - -type_argument_list - - - -< - - - -object_creation_expression - - - -expression - - - -primary_constraint - - - -identifier - - - -} - - - -; - - - -literal - - - -( - - - -identifier - - - -; - - - -group - - - -explicitly_typed_local_variable_declarator - - - -attribute_list - - - -!= - - - -; - - - -identifier - - - -primary_expression - - - -public - - - -literal - - - -goto - - - -primary_no_array_creation_expression - - - -s - - - -} - - - -try - - - -Power - - - -Flags - - - -identifier - - - -; - - - -parameter_list - - - -. - - - -identifier - - - -int - - - -: - - - -{ - - - -, - - - -] - - - -contextual_keyword - - - -operator_declarator - - - -statement - - - -new - - - -= - - - -identifier - - - -var - - - -} - - - -local4 - - - -namespace_name - - - -primary_expression - - - -type - - - -( - - - -Count - - - -identifier - - - -{ - - - -integral_type - - - -identifier - - - -literal - - - -primary_expression - - - -var - - - -explicitly_typed_local_variable_declarators - - - -identifier - - - -; - - - -a - - - -; - - - -) - - - -int - - - -identifier - - - -type_parameters - - - -identifier - - - -identifier - - - -{ - - - -) - - - -new - - - -primary_expression - - - -} - - - -fixed_parameter - - - -unary_expression - - - -{ - - - -fixed_parameter - - - -av - - - -identifier - - - -block - - - -boolean_literal - - - -IEnumerable - - - -struct_member_declaration - - - -identifier - - - -) - - - -) - - - -multiplicative_expression - - - -local_variable_declaration - - - -primary_expression - - - -method_body - - - -statement_list - - - -identifier - - - -identifier - - - -, - - - -System - - - -Handler - - - -return_statement - - - -0 - - - -identifier - - - -identifier - - - -; - - - -) - - - -additive_expression - - - -assignment_operator - - - -identifier - - - -member_access - - - -parameter_list - - - -dynamic - - - -explicitly_typed_local_variable_declaration - - - -general_catch_clause - - - -; - - - -identifier - - - -return - - - -local_variable_declaration - - - -invocation_expression - - - -. - - - -} - - - -indexer_modifier - - - -type_parameters - - - -relational_expression - - - -integral_type - - - -class_member_declaration - - - -lambda_expression - - - -operator - - - -= - - - -A - - - -local_variable_declaration - - - -static - - - -statement - - - -unary_expression - - - -{ - - - -A - - - -statement - - - -( - - - -abstract - - - -; - - - -{ - - - -class - - - -identifier - - - -identifier - - - -block - - - -identifier - - - -. - - - -type_argument_list - - - -unary_operator_declarator - - - -- - - - -method_header - - - -type - - - -method - - - -predefined_type - - - -identifier - - - -declaration_statement - - - -g - - - -g - - - -identifier - - - -explicitly_typed_local_variable_declaration - - - -fixed_parameter - - - -number - - - -= - - - -fixed_parameters - - - -T1 - - - -identifier - - - -{ - - - -exponent - - - -Bar - - - -ref - - - -) - - - -] - - - -type_arguments - - - -typeof - - - -public - - - -attribute_section - - - -member_initializer_list - - - -local_variable_initializer - - - -method_modifiers - - - -attribute_name - - - -. - - - -explicitly_typed_local_variable_declarator - - - -? - - - -i - - - -namespace_or_type_name - - - -statement - - - -arr - - - -"" - - - -explicitly_typed_local_variable_declaration - - - -= - - - -identifier - - - -primary_no_array_creation_expression - - - -get - - - -( - - - -class_declaration - - - -yield_statement - - - -identifier - - - -literal - - - -method_header - - - -= - - - -contextual_keyword - - - -literal - - - -get - - - -{ - - - -statement_list - - - -multiplicative_expression - - - -; - - - -PropertyChanged - - - -identifier - - - -statement - - - -contextual_keyword - - - -) - - - -) - - - -1L - - - -conditional_expression - - - -private - - - -property_body - - - -method_body - - - -1 - - - -try - - - -public - - - -nullable_value_type - - - -type - - - -implicitly_typed_local_variable_declarator - - - -implicitly_typed_local_variable_declarator - - - -} - - - -class_member_declaration - - - -argument - - - -identifier - - - -class_type - - - -identifier - - - -type_argument_list - - - -type_argument_list - - - -identifier - - - -class_member_declaration - - - -identifier - - - -in - - - -expression - - - -namespace_member_declaration - - - -statement - - - -identifier - - - -0 - - - -block - - - -e - - - -multiplicative_expression - - - -identifier - - - -Print - - - -equality_expression - - - -0 - - - -expression - - - -namespace_member_declaration - - - -Action - - - -[ - - - -identifier - - - -2 - - - -) - - - -local_variable_initializer - - - -( - - - -identifier - - - -type_parameter - - - -( - - - -< - - - -explicitly_typed_local_variable_declarators - - - -statement - - - -= - - - -unary_expression - - - -identifier - - - -namespace_member_declaration - - - -multiplicative_expression - - - -identifier - - - -literal - - - -static_constructor_body - - - -class_type - - - -> - - - -local_variable_initializer - - - -parameter_list - - - -catch_clauses - - - -type - - - -class_modifier - - - -pointer_type - - - -} - - - -identifier - - - -, - - - -] - - - -property_body - - - -contextual_keyword - - - -embedded_statement - - - -statement - - - -primary_expression - - - -local_variable_declaration - - - -1 - - - -identifier - - - -implicitly_typed_local_variable_declaration - - - -( - - - -variable_declarators - - - -( - - - -expression - - - -predefined_type - - - -query_body_clauses - - - -declaration_statement - - - -< - - - -dynamic - - - -> - - - -field_declaration - - - -f1 - - - -class_type - - - -field_declaration - - - -attribute_list - - - -0f - - - -} - - - -c - - - -identifier - - - -anonymous_function_body - - - -statement - - - -fixed_parameter - - - -statement - - - -explicitly_typed_local_variable_declarators - - - -type - - - -&& - - - -nullable_type_annotation - - - -member_access - - - -var - - - -unary_expression - - - -〔:#0.##〕 - - - -member_initializer - - - -implicitly_typed_local_variable_declarator - - - -[ - - - -statement - - - -identifier - - - -\u0066 - - - -primary_expression - - - -member_access - - - -unbound_type_name - - - -local_variable_initializer - - - -bool - - - -array_initializer - - - -expression - - - -Last - - - -statement_expression - - - -local_variable_declaration - - - -+ - - - -; - - - -implicitly_typed_local_variable_declarator - - - -finalizer_body - - - -unary_expression - - - -statement - - - -{ - - - -statement_list - - - -type_parameter_constraints_clause - - - -statement - - - -int - - - -non_array_type - - - -field - - - -m - - - -query_body - - - -A - - - -assignment - - - -await - - - -identifier - - - -identifier - - - -statement - - - -type - - - -block - - - -{ - - - -implicitly_typed_local_variable_declarator - - - -C - - - -argument_list - - - -? - - - -local_variable_declaration - - - -5 - - - -orderby_clause - - - -delegate - - - -ushort - - - -identifier - - - -var - - - -) - - - -; - - - -literal - - - -: - - - -i - - - -{ - - - -i - - - -primary_expression - - - -expression - - - -explicitly_typed_local_variable_declaration - - - -identifier - - - -implicitly_typed_local_variable_declaration - - - -{ - - - -( - - - -identifier - - - -type - - - -namespace_or_type_name - - - -interface_declaration - - - -class_member_declaration - - - -identifier - - - -} - - - -namespace_or_type_name - - - -integral_type - - - -typeof_expression - - - -statement - - - -[ - - - -int - - - -: - - - -namespace_or_type_name - - - -111 - - - -switch_label - - - -explicitly_typed_local_variable_declaration - - - -statement_expression - - - -return_type - - - -0 - - - -type - - - -( - - - -〔"〕 - - - -statement - - - -1 - - - -explicitly_typed_local_variable_declaration - - - -; - - - -interface_method_header - - - -get - - - -expression_statement - - - -member_initializer_list - - - -null_conditional_member_access - - - -Delegate - - - -statement - - - -[ - - - -literal - - - -i - - - -; - - - -type - - - -; - - - -} - - - -expression - - - -: - - - -i - - - -explicitly_typed_local_variable_declaration - - - -assignment_operator - - - -get - - - -: - - - -name - - - -class_type - - - -I - - - -statement - - - -embedded_statement - - - -task - - - -; - - - -expression - - - -variable_initializer - - - -< - - - -class_body - - - -integral_type - - - -identifier - - - -additive_expression - - - -identifier - - - -primary_expression - - - -< - - - -( - - - -exponent - - - -1.2m - - - -= - - - -int - - - -unary_expression - - - -a - - - -; - - - -implicitly_typed_local_variable_declaration - - - -( - - - -null - - - -= - - - -declaration_statement - - - -type - - - -operator - - - -null_coalescing_expression - - - -identifier - - - -[ - - - -type - - - -type - - - -property_declaration - - - -identifier - - - -attributes - - - -value - - - -identifier - - - -intValue - - - -{ - - - -, - - - -relational_expression - - - -unary_expression - - - -identifier - - - -expression - - - -primary_expression - - - -unary_expression - - - -identifier - - - -identifier - - - -〔:#0.##〕 - - - -argument - - - -= - - - -; - - - -attribute - - - -{ - - - -local_variable_declaration - - - -local_variable_declaration - - - -identifier - - - -query_body - - - -field_declaration - - - -statement_expression - - - -@"""/*" - - - -B - - - -expression - - - -additive_expression - - - -shift_expression - - - -class_base - - - -type_argument_list - - - -explicit_anonymous_function_signature - - - -[ - - - -statement_list - - - -member_name - - - -explicitly_typed_local_variable_declarators - - - -identifier - - - -public - - - -Obsolete - - - -constant_declaration - - - -expression - - - -identifier - - - -( - - - -> - - - -fixed_statement - - - -property_body - - - -〔·is·〕 - - - -type - - - -V - - - -statement - - - -implicitly_typed_local_variable_declarator - - - -identifier - - - -int - - - -local_variable_initializer - - - -member_access - - - -new - - - -invocation_expression - - - -identifier - - - -type - - - -; - - - -} - - - -1 - - - -; - - - -0 - - - -namespace_or_type_name - - - -|| - - - -delegate - - - -this_access - - - -member_name - - - -i - - - -ConsoleApplication1 - - - -declaration_statement - - - -identifier - - - -( - - - -ToString - - - -arglist - - - -identifier - - - -) - - - -attribute_arguments - - - -= - - - -query_body - - - -Obsolete - - - -operator_modifier - - - -type_arguments - - - -struct_member_declaration - - - -value_type - - - -primary_expression - - - -customers - - - -using_directive - - - -type - - - -identifier - - - -boolean_literal - - - -block - - - -statement - - - -namespace_or_type_name - - - -declaration_statement - - - -( - - - -( - - - -property_declaration - - - -+ - - - -namespace_or_type_name - - - -rank_specifier - - - -explicitly_typed_local_variable_declarator - - - -expression_statement - - - -fixed_parameter - - - -identifier - - - -implicitly_typed_local_variable_declarator - - - -identifier - - - -identifier - - - -pre_increment_expression - - - -! - - - -assignment_operator - - - -! - - - -property_declaration - - - -int - - - -return_statement - - - -int - - - -namespace_or_type_name - - - -local_variable_declaration - - - -@int - - - -nullable_type_annotation - - - -default - - - -block - - - -2 - - - -= - - - -statement_expression - - - -expression - - - -. - - - -explicitly_typed_local_variable_declarator - - - -identifier - - - -explicitly_typed_local_variable_declarator - - - -expression - - - -string - - - -class_declaration - - - -parameter_list - - - -member_name - - - -identifier - - - -literal - - - -; - - - -{ - - - -integral_type - - - -explicitly_typed_local_variable_declaration - - - -global_attribute_target_specifier - - - -} - - - -Key - - - -using_namespace_directive - - - -method_declaration - - - -identifier - - - -identifier - - - -statement - - - -> - - - -} - - - -, - - - -+ - - - -let - - - -expression - - - -; - - - -contextual_keyword - - - -qualified_identifier - - - -expression - - - -invocation_expression - - - -= - - - -accessor_declarations - - - -; - - - -type_parameter - - - -< - - - -} - - - -) - - - -void - - - -identifier - - - -variable_initializer_list - - - -typeof_expression - - - -identifier - - - -public - - - -set_accessor_declaration - - - -= - - - -expression - - - -class_member_declaration - - - -return_statement - - - -class_member_declaration - - - -namespace_or_type_name - - - -identifier - - - -literal - - - -) - - - -method_header - - - -public - - - -l - - - -) - - - -, - - - -t - - - -try_statement - - - -RecursiveGenericBaseType - - - -identifier - - - -type - - - -0 - - - -) - - - -implicitly_typed_local_variable_declarator - - - -( - - - -namespace_or_type_name - - - -ToString - - - -{ - - - -literal - - - -object_initializer - - - -equality_expression - - - -statement - - - -statement - - - -t - - - -identifier - - - -array_creation_expression - - - -declaration_statement - - - -identifier - - - -{ - - - -type - - - -struct - - - -post_increment_expression - - - -embedded_statement - - - -; - - - -type_arguments - - - -a - - - -) - - - -namespace_member_declaration - - - -statement_expression - - - -var - - - -identifier - - - -identifier - - - -class_type - - - -var - - - -fixed_parameter - - - -= - - - -public - - - -positional_argument_list - - - -expression - - - -local_variable_initializer - - - -; - - - -type - - - -identifier - - - -"\u0123" - - - -assignment - - - -literal - - - -type_arguments - - - -} - - - -identifier - - - -{ - - - -type_argument - - - -, - - - -delegate_header - - - -type - - - -base - - - -Boo - - - -"seven" - - - -using_namespace_directive - - - -literal - - - -{ - - - -class_member_declaration - - - -T - - - -5 - - - -] - - - -; - - - -type_argument - - - -identifier - - - -boolean_expression - - - -invocation_expression - - - -declaration_statement - - - -{ - - - -explicitly_typed_local_variable_declarator - - - -Список - - - -literal - - - -> - - - -0 - - - -params - - - -q - - - -= - - - -identifier - - - -fixed_parameter - - - -declaration_statement - - - -IEnumerable - - - -type - - - -type - - - -identifier - - - -method_declaration - - - -identifier - - - -; - - - -Task - - - -method_body - - - -global - - - -local_variable_initializer - - - -argument - - - -} - - - -delegate_header - - - -) - - - -int - - - -block - - - -return_statement - - - -unary_expression - - - -method_body - - - -primary_expression - - - -= - - - -public - - - -int - - - -get_accessor_declaration - - - -integral_type - - - -true - - - -parameter_list - - - -) - - - -additive_expression - - - -) - - - -local_variable_declaration - - - -type - - - -lock_statement - - - -Dictionary - - - -labeled_statement - - - -unary_expression - - - -identifier - - - -attribute_section - - - -statement - - - -implicitly_typed_local_variable_declaration - - - -qualified_identifier - - - -expression - - - -member_access - - - -) - - - -unary_expression - - - -namespace_or_type_name - - - -U - - - -{ - - - -method_declaration - - - -identifier - - - -identifier - - - ->= - - - -unary_expression - - - -literal - - - -; - - - -statement_list - - - -array_type - - - -identifier - - - -= - - - -( - - - -variable_initializer - - - -i - - - -, - - - -implicitly_typed_local_variable_declaration - - - -explicitly_typed_local_variable_declaration - - - -. - - - -, - - - -= - - - -public - - - -expression - - - -[ - - - -identifier - - - -0xBAD - - - -base_access - - - -statement_list - - - -explicitly_typed_local_variable_declarators - - - -Last - - - -[ - - - -|| - - - -T - - - -void - - - -identifier - - - -( - - - -literal - - - -parameter_array - - - -explicitly_typed_local_variable_declarators - - - -> - - - -identifier - - - -assignment_operator - - - -primary_expression - - - -declaration_statement - - - -M - - - -statement_list - - - -get_accessor_declaration - - - -int - - - -literal - - - -integral_type - - - -method_declaration - - - -; - - - -( - - - -statement - - - -namespace_or_type_name - - - -statement_expression - - - -using - - - -MyObject - - - -explicitly_typed_local_variable_declaration - - - -type_argument_list - - - -identifier - - - -dy - - - -invocation_expression - - - -+ - - - -class_member_declaration - - - -argument_list - - - -primary_expression - - - -identifier - - - -( - - - -: - - - -@byte - - - -) - - - -type_parameters - - - -const - - - -statement_expression - - - -identifier - - - -equality_expression - - - -identifier - - - -delegate - - - -= - - - -invocation_expression - - - -method_modifiers - - - -) - - - -5 - - - -assignment - - - -implicitly_typed_local_variable_declarator - - - -} - - - -boolean_literal - - - -type - - - -statement_expression - - - -return_type - - - -GetType - - - -] - - - -statement - - - -identifier - - - -embedded_statement - - - -fixed_parameter - - - -type_parameter - - - -; - - - -Copyright - - - -[ - - - -; - - - -statement - - - -identifier - - - -literal - - - -( - - - -var - - - -new - - - -unary_expression - - - -=> - - - -; - - - -block - - - -; - - - -if_statement - - - -a - - - -; - - - -explicitly_typed_local_variable_declarator - - - -} - - - -type - - - -= - - - -declaration_statement - - - -local_variable_declaration - - - -first - - - -public - - - -m - - - -struct - - - -statement_list - - - -expression - - - -Resource - - - -accessor_body - - - -identifier - - - -type - - - -literal - - - -expression_statement - - - -; - - - -@object - - - -literal - - - -type_argument_list - - - -declaration_statement - - - -"a" - - - -( - - - -implicitly_typed_local_variable_declaration - - - -= - - - -if - - - -attribute_target_specifier - - - -array_type - - - -[ - - - -null - - - -primary_expression - - - -, - - - -> - - - -type - - - -|= - - - -return_type - - - -type - - - -) - - - -unary_expression - - - -unary_expression - - - -expression_statement - - - -member_access - - - -identifier - - - -implicitly_typed_local_variable_declarator - - - -explicitly_typed_local_variable_declarator - - - -] - - - -[ - - - -variable_initializer_list - - - -A - - - -; - - - -TopLevelType - - - -explicitly_typed_local_variable_declarator - - - -expression_statement - - - -method_header - - - -constant_expression - - - -multiplicative_expression - - - -string - - - -type_argument_list - - - -foo - - - -identifier - - - -class_member_declaration - - - -method_header - - - -namespace_member_declaration - - - -property_modifier - - - -++ - - - -ConsoleApplication2 - - - -number - - - -] - - - -identifier - - - -expression - - - -= - - - -orderby_clause - - - -identifier - - - -identifier - - - -implicit_anonymous_function_parameter - - - -explicitly_typed_local_variable_declarator - - - -statement_list - - - -statement - - - -identifier - - - -method_body - - - -query_body_clause - - - -namespace_or_type_name - - - -ref_method_modifier - - - -labeled_statement - - - -= - - - -declaration_statement - - - -from - - - -type - - - -base_access - - - -identifier - - - -explicitly_typed_local_variable_declaration - - - -indexer_declarator - - - -a - - - -identifier - - - -fixed_parameters - - - -i - - - -) - - - -assignment_operator - - - -identifier - - - -join - - - -literal - - - -i - - - -Obsolete - - - -primary_expression - - - -primary_expression - - - -method_modifiers - - - -expression - - - -local_variable_declaration - - - -identifier - - - -class_member_declaration - - - -, - - - -namespace_or_type_name - - - -additive_expression - - - -) - - - -&& - - - -indexer_modifier - - - -method_modifiers - - - -1.2e3 - - - -new - - - -statement - - - -namespace_name - - - -object_creation_expression - - - -method_modifier - - - -, - - - -type_parameter_constraints_clause - - - -? - - - -statement - - - -literal - - - -argument_list - - - -ref_method_modifier - - - -; - - - -variable_initializer - - - -local_variable_declaration - - - -Delay - - - -bool - - - -( - - - -declaration_statement - - - -++ - - - -o1 - - - -Lu - - - -unary_expression - - - -class_modifier - - - -( - - - -; - - - -] - - - -local6 - - - -; - - - -method_modifier - - - -regular_interpolation - - - -integral_type - - - -local_variable_declaration - - - -Collections - - - -member_name - - - -local_variable_initializer - - - -< - - - -c1 - - - -identifier - - - -explicitly_typed_local_variable_declaration - - - -integral_type - - - -this - - - -literal - - - -event_modifier - - - -identifier - - - -"" - - - -using_static_directive - - - -embedded_statement - - - -method_modifiers - - - -; - - - -{ - - - -explicitly_typed_local_variable_declarator - - - -class_type - - - -nullable_type_annotation - - - -shift_expression - - - -T - - - -= - - - -member_access - - - -attribute_target - - - -label - - - -T - - - -var - - - -c - - - -element_initializer_list - - - -O - - - -; - - - -namespace_or_type_name - - - -local_variable_initializer - - - -local_variable_initializer - - - -multiplicative_expression - - - -nullable_type_annotation - - - -i - - - -using_directive - - - -Friday - - - -( - - - -statement_expression - - - -field_modifier - - - -= - - - -member_access - - - -) - - - -i - - - -; - - - -identifier - - - -local_variable_initializer - - - -implicitly_typed_local_variable_declaration - - - -= - - - -} - - - -assignment_operator - - - -identifier - - - -identifier - - - -B - - - -fixed_parameter - - - -statement - - - -while_statement - - - -identifier - - - -attribute - - - -value_type - - - -〔"〕 - - - -typeof - - - -class_body - - - -expression - - - -class - - - -statement_expression - - - -unary_expression - - - -{ - - - -identifier - - - -literal - - - -, - - - -type - - - -join - - - -member_declarator_list - - - -explicitly_typed_local_variable_declaration - - - -T - - - -additive_expression - - - -int - - - -type - - - -abstract - - - -) - - - -int - - - -type - - - -= - - - -System - - - -type - - - -in - - - -literal - - - -int - - - -( - - - -member_initializer - - - -identifier - - - -class_member_declaration - - - -identifier - - - -1 - - - -e - - - -local_variable_declaration - - - -class_body - - - -attributes - - - -) - - - -type - - - -0 - - - -Fourth - - - -multiplicative_expression - - - -[ - - - -argument - - - -argument_list - - - -declaration_statement - - - -local_variable_declaration - - - -array_type - - - -( - - - -identifier - - - -declaration_statement - - - -> - - - -< - - - -f - - - -floating_point_type - - - -method_declaration - - - -qualified_identifier - - - -class_declaration - - - -method_declaration - - - -= - - - -+ - - - -assignment_operator - - - -fixed_pointer_declarator - - - -identifier - - - -expression - - - -explicitly_typed_local_variable_declarator - - - -type - - - -equality_expression - - - -> - - - -{ - - - -identifier - - - -literal - - - -identifier - - - -type_argument_list - - - -; - - - -i - - - -switch - - - -identifier - - - -for_statement - - - -type - - - -( - - - -attribute_name - - - -void - - - -int - - - -identifier - - - -public - - - -primary_expression - - - -int - - - -identifier - - - -explicitly_typed_local_variable_declarators - - - -accessor_body - - - -int - - - -first - - - -{ - - - -alias - - - -namespace_or_type_name - - - -expression - - - -< - - - -on - - - -attribute_list - - - -<= - - - -return - - - -catch - - - -identifier - - - -object_or_collection_initializer - - - -contextual_keyword - - - -; - - - -declaration_statement - - - -invocation_expression - - - -return - - - -identifier - - - -; - - - -default_argument - - - -17 - - - -primary_expression - - - -{ - - - -type_arguments - - - -new - - - -. - - - -accessor_body - - - -return_type - - - -assignment - - - -class_declaration - - - -default_argument - - - -attribute_section - - - -1 - - - -element_initializer - - - -namespace_member_declaration - - - -nameof - - - -inclusive_or_expression - - - -explicitly_typed_local_variable_declaration - - - -] - - - -identifier - - - -extern - - - -L - - - -identifier - - - -integral_type - - - -< - - - -block - - - -attribute_argument_expression - - - -declaration_statement - - - -member_name - - - -explicit_anonymous_function_signature - - - -element_initializer_list - - - -using_alias_directive - - - -property_modifier - - - -statement_expression - - - -unary_expression - - - -type_parameter - - - -assignment_operator - - - -block - - - -Obsolete - - - -customers - - - -conditional_and_expression - - - -namespace_or_type_name - - - -t - - - -{ - - - -identifier - - - -} - - - -( - - - -type - - - -{ - - - -identifier - - - -; - - - -where - - - -string - - - -] - - - -) - - - -implicitly_typed_local_variable_declaration - - - -- - - - -identifier - - - -local - - - -declaration_statement - - - -type_argument - - - -type_parameters - - - -statement - - - -literal - - - -literal - - - -attribute_section - - - -select_clause - - - -( - - - -; - - - -unary_expression - - - -member_name - - - -N - - - -, - - - -. - - - -) - - - -declaration_statement - - - -attribute_target - - - -; - - - -argument_list - - - -identifier - - - -; - - - -identifier - - - -statement_list - - - -1L - - - -embedded_statement - - - -anonymous_method_expression - - - -namespace_or_type_name - - - -= - - - -} - - - -block - - - -( - - - -literal - - - -argument_list - - - -4 - - - -select - - - -variable_declarators - - - -explicitly_typed_local_variable_declarator - - - -method_modifier - - - -post_decrement_expression - - - -declaration_statement - - - -{ - - - -( - - - -contextual_keyword - - - -; - - - -} - - - -public - - - -; - - - -member_access - - - -statement_list - - - -2147483648 - - - -type_parameter - - - -expression_statement - - - -statement - - - -declaration_statement - - - -class - - - -{ - - - -method_modifier - - - -. - - - -non_nullable_value_type - - - -identifier - - - -& - - - -expression_list - - - -p - - - -= - - - -explicitly_typed_local_variable_declarator - - - -equality_expression - - - -non_array_type - - - -var - - - -constructor_body - - - -identifier - - - -statement_list - - - -query_continuation - - - -variable_initializer_list - - - -namespace_or_type_name - - - -< - - - -async - - - -attribute - - - -local_variable_declaration - - - -local_variable_declaration - - - -binary_operator_declarator - - - -assignment - - - -namespace_or_type_name - - - -attribute_target - - - -j - - - -identifier - - - -, - - - -literal - - - -unary_expression - - - -; - - - -) - - - -Type - - - -expression - - - -expression - - - -namespace_or_type_name - - - -identifier - - - -( - - - -implicitly_typed_local_variable_declaration - - - -using - - - -) - - - -hexchar - - - -explicitly_typed_local_variable_declarators - - - -: - - - -U - - - -namespace_or_type_name - - - -namespace_member_declaration - - - -literal - - - -argument - - - -identifier - - - -= - - - -integral_type - - - -return - - - -identifier - - - -method_modifiers - - - -expression - - - -identifier - - - -select_or_group_clause - - - -literal - - - -explicitly_typed_local_variable_declaration - - - -conditional_and_expression - - - -local_variable_initializer - - - -identifier - - - -? - - - -"·" - - - -attribute - - - -) - - - -explicit_anonymous_function_signature - - - -?? - - - -new - - - -fixed - - - -operator_body - - - -get_accessor_declaration - - - -contextual_keyword - - - -conditional_or_expression - - - -= - - - -class_type - - - -i - - - -throw_statement - - - -[ - - - -IEnumerable - - - -integral_type - - - -< - - - -assignment_operator - - - -namespace_or_type_name - - - -anonymous_function_signature - - - -invocation_expression - - - -, - - - -identifier - - - -block - - - -ResourceException - - - -, - - - -c - - - -[ - - - -s2 - - - -expression - - - -) - - - -j - - - -r - - - -Last - - - -statement - - - -local_variable_initializer - - - -qualified_identifier - - - -statement_expression - - - -object - - - -, - - - -block - - - -explicit_anonymous_function_parameter_list - - - -break - - - -declaration_statement - - - -class_member_declaration - - - -expression - - - -literal - - - -ref_method_modifier - - - -; - - - -multiplicative_expression - - - -method_body - - - -identifier - - - -Action - - - -} - - - -namespace_or_type_name - - - -Obsolete - - - -+ - - - -} - - - -s1 - - - -type - - - -assignment_operator - - - -< - - - -} - - - -i - - - -true - - - -string - - - -variant_type_parameter_list - - - -identifier - - - -method_declaration - - - -block - - - -f2 - - - -conditional_or_expression - - - -expression_statement - - - -field_modifier - - - -type - - - -identifier - - - -identifier - - - -= - - - -Delegate - - - -fixed_parameter - - - -explicitly_typed_local_variable_declaration - - - -< - - - -] - - - -; - - - -= - - - -) - - - -identifier - - - -integral_type - - - -identifier - - - -identifier - - - -expression - - - -expression - - - -; - - - -public - - - -statement_list - - - -delegate_header - - - -T - - - -public - - - -identifier - - - -statement_list - - - -} - - - -} - - - -} - - - -} - - - -property_declaration - - - -= - - - -statement - - - -anonymous_object_creation_expression - - - -variant_type_parameters - - - -relational_expression - - - -int - - - -explicitly_typed_local_variable_declaration - - - -member_access - - - -> - - - -identifier - - - -expression - - - -& - - - -class_member_declaration - - - -( - - - -implicitly_typed_local_variable_declarator - - - -122 - - - -public - - - -WriteLine - - - -statement_expression - - - -identifier - - - -primary_expression - - - -primary_expression - - - -local_variable_declaration - - - -{ - - - -Monday - - - -expression - - - -fixed_statement - - - -method_body - - - -equals - - - -statement_expression - - - -statement - - - -contextual_keyword - - - -identifier - - - -} - - - -) - - - -int - - - -embedded_statement - - - -) - - - -statement - - - -contextual_keyword - - - -interpolation_minimum_width - - - -& - - - -literal - - - -unsafe_statement - - - -K - - - -return_type - - - -int - - - -relational_expression - - - -} - - - -statement_expression - - - -primary_expression - - - -literal - - - -bool - - - -( - - - -. - - - -C - - - -= - - - -*= - - - -return_type - - - -embedded_statement - - - -var - - - -accessor_declarations - - - -equality_expression - - - -type - - - -additive_expression - - - -implicitly_typed_local_variable_declarator - - - -{ - - - -rank_specifier - - - -Event - - - -object_or_collection_initializer - - - -+ - - - -) - - - -identifier - - - -type_parameter_constraints_clause - - - -class - - - -= - - - -member_name - - - -; - - - -++ - - - -public - - - -"nine" - - - -0 - - - -int - - - -type_arguments - - - -type - - - -async - - - -literal - - - -} - - - -assignment_operator - - - -statement - - - -relational_expression - - - -; - - - -positional_argument - - - -sa - - - -expression - - - -variable_initializer - - - -, - - - -primary_expression - - - -10 - - - -new - - - -parameter_list - - - -( - - - -nullable_value_type - - - -interpolated_regular_string_expression - - - -identifier - - - -[ - - - -0 - - - -, - - - -explicitly_typed_local_variable_declarators - - - -class - - - -MyClass - - - -} - - - -literal - - - -statement - - - -member_access - - - -property_modifier - - - -E - - - -relational_expression - - - -local_variable_declaration - - - -, - - - -lU - - - -attribute_target - - - -< - - - -simple_type - - - -array_type - - - -a - - - -value_type - - - -class_member_declaration - - - -implicitly_typed_local_variable_declaration - - - -{ - - - -{ - - - -statement_expression - - - -var - - - -variable_initializer - - - -declaration_statement - - - -) - - - -implicitly_typed_local_variable_declaration - - - -Obsolete - - - -statement_expression - - - -statement - - - -local5 - - - -, - - - -Point - - - -[ - - - -unary_expression - - - -type_argument_list - - - -identifier - - - -statement - - - -) - - - -@char - - - -identifier - - - -integral_type - - - -) - - - -unary_expression - - - -primary_expression - - - -int - - - -type - - - -f2 - - - -A - - - -unary_expression - - - -primary_expression - - - -; - - - -] - - - -return - - - -= - - - -void - - - -equality_expression - - - -when - - - -literal - - - -expression - - - -explicitly_typed_local_variable_declarators - - - -and_expression - - - -identifier - - - -void - - - -= - - - -= - - - -expression_statement - - - -argument_name - - - -expression - - - -= - - - -= - - - -integral_type - - - -set_accessor_declaration - - - -while - - - -; - - - -expression_statement - - - -operator_modifier - - - -; - - - -i - - - -expression - - - -typeof_expression - - - -Generic - - - -unary_expression - - - -literal - - - -identifier - - - -expression - - - -T - - - -declaration_statement - - - -type - - - -< - - - -[ - - - -local_variable_initializer - - - -identifier - - - -; - - - -type_arguments - - - -? - - - -parameter_modifier - - - -Age - - - -type - - - -namespace_or_type_name - - - -primary_expression - - - -= - - - -) - - - -] - - - -assignment_operator - - - -attribute_name - - - -null_conditional_element_access - - - -expression_statement - - - -expression - - - -< - - - -return_statement - - - -block - - - -namespace_name - - - -identifier - - - -; - - - -; - - - -; - - - -) - - - -declaration_statement - - - -= - - - -exception_specifier - - - -identifier - - - -expression_statement - - - -) - - - -implicitly_typed_local_variable_declaration - - - -class_body - - - -array_type - - - -V - - - -unary_expression - - - -10 - - - -attribute_list - - - -namespace_or_type_name - - - -; - - - -〔·old〕 - - - -{ - - - -struct_declaration - - - -identifier - - - -) - - - -assignment_operator - - - -enum_body - - - -1 - - - -; - - - -Foo - - - -accessor_body - - - -- - - - -identifier - - - -A - - - -return_type - - - -additive_expression - - - -return_statement - - - -. - - - -type_arguments - - - -{ - - - -identifier - - - -readonly - - - -identifier - - - -true - - - -expression - - - -add - - - -"Doe" - - - -explicitly_typed_local_variable_declarator - - - -type - - - ->= - - - -identifier - - - -literal - - - -boolean_literal - - - -method_header - - - -integral_type - - - -boolean_expression - - - -statement - - - -identifier - - - -identifier - - - -& - - - -identifier - - - -, - - - -; - - - -namespace_or_type_name - - - -1 - - - -parameter_list - - - -?? - - - -method_declaration - - - -( - - - -statement_list - - - -} - - - -integral_type - - - -namespace - - - -explicitly_typed_local_variable_declarator - - - -NonSerialized - - - -; - - - -using - - - -implicitly_typed_local_variable_declarator - - - -{ - - - -additive_expression - - - -implicitly_typed_local_variable_declarator - - - -primary_expression - - - -type_arguments - - - -; - - - -} - - - -@double - - - -, - - - -expression - - - -query_body_clauses - - - -expression - - - -assignment_operator - - - -identifier - - - -identifier - - - -= - - - -= - - - -class_member_declaration - - - -identifier - - - -literal - - - -set - - - -static - - - -> - - - -variable_initializer - - - -= - - - -identifier - - - -expression - - - -, - - - -assignment - - - -Y - - - -i - - - -for - - - -explicitly_typed_local_variable_declarators - - - -, - - - -type - - - -contextual_keyword - - - -i - - - -i - - - -statement - - - -set_accessor_declaration - - - -{ - - - -primary_expression - - - -global_attribute_section - - - -namespace_member_declaration - - - -var - - - -member_name - - - -declaration_statement - - - -class_type - - - -primary_expression - - - -- - - - -static - - - -identifier - - - -type_parameter_constraints_clause - - - -= - - - -expression - - - -statement - - - -T - - - -TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX22 - - - -relational_expression - - - -) - - - -fixed_parameter - - - -assignment_operator - - - -identifier - - - -declaration_statement - - - -contextual_keyword - - - -statement_expression - - - -assignment_operator - - - -identifier - - - -null_conditional_element_access - - - -statement_list - - - -return_type - - - -, - - - -field_declaration - - - -; - - - -property_body - - - -public - - - -identifier - - - -switch_label - - - -global_attribute_target_specifier - - - -identifier - - - -} - - - -implicitly_typed_local_variable_declarator - - - -type_argument - - - -param - - - -argument - - - -nullable_value_type - - - -primary_no_array_creation_expression - - - -property_declaration - - - -if - - - -( - - - -argument_name - - - -; - - - -( - - - -) - - - -type - - - -; - - - -; - - - -statement_expression - - - -( - - - -fixed_parameter - - - -a - - - -++ - - - -, - - - -{ - - - -method_modifier - - - -) - - - -"A" - - - -constructor_declaration - - - -0 - - - -declaration_statement - - - -class_type - - - -contextual_keyword - - - -; - - - -OnError - - - -integral_type - - - -explicitly_typed_local_variable_declarators - - - -finally_clause - - - -A - - - -, - - - -method_body - - - -namespace_or_type_name - - - -< - - - -, - - - -unary_expression - - - -identifier - - - -specific_catch_clause - - - -constant_expression - - - -; - - - -6 - - - -field_modifier - - - -type_arguments - - - -typeof_expression - - - -additive_expression - - - -identifier - - - -type_argument - - - -delegate - - - -identifier - - - -unary_expression - - - -member_name - - - -] - - - -explictly_typed_default - - - -variable_initializer_list - - - -indexer_body - - - -identifier - - - -0 - - - -; - - - -identifier - - - -; - - - -conditional_or_expression - - - -static_constructor_modifiers - - - -class_declaration - - - -type_parameter_constraints_clause - - - -? - - - -declaration_statement - - - -identifier - - - -type_parameter - - - -1.44M - - - -expression - - - -type - - - -< - - - -literal - - - -from - - - -method_header - - - -assignment - - - -d - - - -; - - - -{ - - - -; - - - -get - - - -{ - - - -integral_type - - - -block - - - -implicitly_typed_local_variable_declarator - - - -identifier - - - -assignment_operator - - - -= - - - -namespace_member_declaration - - - -expression - - - -unary_expression - - - -= - - - -+ - - - -statement_expression - - - -declaration_statement - - - -property_modifier - - - -query_body_clause - - - -boolean_expression - - - -type_argument_list - - - -< - - - -method_declaration - - - -explicit_anonymous_function_signature - - - -c - - - -explicitly_typed_local_variable_declaration - - - -identifier - - - -catch - - - -identifier - - - -literal - - - -int - - - -block - - - -member_name - - - -type_arguments - - - -Copyright - - - -false - - - -expression - - - -namespace_member_declaration - - - -= - - - -. - - - -declaration_statement - - - -member_name - - - -nullable_type_annotation - - - -attribute_list - - - -unary_expression - - - -Wait - - - -] - - - -attribute_target - - - -Linq - - - -expression - - - -false - - - -ordering_direction - - - -local_variable_declaration - - - -method_modifier - - - -yield - - - -namespace_or_type_name - - - -var - - - -literal - - - -class_member_declaration - - - -explicitly_typed_local_variable_declarator - - - -{ - - - -; - - - -declaration_statement - - - -local_variable_declaration - - - -bool - - - -expression - - - -interpolated_regular_string_expression - - - -"a" - - - -constructor_modifier - - - -public - - - -; - - - -literal - - - -assignment_operator - - - -. - - - -{ - - - -literal - - - -( - - - -( - - - -void - - - -identifier - - - -] - - - -] - - - -System - - - -relational_expression - - - -( - - - -explicitly_typed_local_variable_declarator - - - -; - - - -) - - - -; - - - -interpolation_minimum_width - - - -await - - - -> - - - -AccessViolationException - - - -integral_type - - - -, - - - -identifier - - - -block - - - -= - - - -= - - - -Main - - - -integral_type - - - -select - - - -type - - - -continue - - - -unary_expression - - - -IEnumerable - - - -expression - - - -j - - - -= - - - -= - - - -operator_modifier - - - -: - - - -assignment_operator - - - -namespace_or_type_name - - - -integral_type - - - -explicitly_typed_local_variable_declarators - - - -orderings - - - -accessor_body - - - -on - - - -identifier - - - -literal - - - -[ - - - -〔·is·\"〕 - - - -unary_expression - - - -class - - - -= - - - -] - - - -unary_expression - - - -expression - - - -member_access - - - -statement - - - -new - - - -type - - - -type - - - -] - - - -Guid - - - -identifier - - - -return_statement - - - -identifier - - - -multiplicative_expression - - - -type - - - -local_variable_declaration - - - -additive_expression - - - -1.2f - - - -local_variable_initializer - - - -in - - - -} - - - -identifier - - - -identifier - - - -static - - - -\U00000065 - - - -} - - - -Resource - - - -: - - - -identifier - - - -unary_expression - - - -? - - - -literal - - - -unary_expression - - - -pre_increment_expression - - - -identifier - - - -identifier - - - -identifier - - - -ThisAccess - - - -< - - - -IO - - - -identifier - - - -contextual_keyword - - - -identifier - - - -explicitly_typed_local_variable_declarator - - - -argument_list - - - -literal - - - -identifier - - - -explicitly_typed_local_variable_declarator - - - -declaration_statement - - - -where - - - -explicitly_typed_local_variable_declaration - - - -. - - - -string - - - -fixed_parameter - - - -identifier - - - -invocation_expression - - - --= - - - -identifier - - - -null_literal - - - -expression - - - -null - - - -type_parameter_list - - - -local_variable_declaration - - - -integral_type - - - -switch_label - - - -. - - - -element_initializer - - - -namespace_or_type_name - - - -} - - - -1Lu - - - -identifier - - - -explicitly_typed_local_variable_declarator - - - -delegate_declaration - - - -class_declaration - - - -assignment - - - -literal - - - -{ - - - -< - - - -identifier - - - -namespace_or_type_name - - - -= - - - -identifier - - - -identifier - - - -process - - - -add_accessor_declaration - - - -element_initializer - - - -identifier - - - -array_creation_expression - - - -switch_block - - - -g - - - -i - - - -b - - - -declaration_statement - - - -, - - - -primary_expression - - - -integral_type - - - -MinValue - - - -literal - - - -statement_list - - - -literal - - - -type_argument - - - -interface_body - - - -primary_expression - - - -type - - - -? - - - -fixed_parameters - - - -type_parameter_list - - - -explicitly_typed_local_variable_declaration - - - -> - - - -} - - - -type_name - - - -statement_expression - - - -method_declaration - - - -identifier - - - -await_expression - - - -statement_list - - - -identifier - - - -type - - - -argument_list - - - -@ushort - - - -, - - - -literal - - - -identifier - - - -identifier - - - -implicitly_typed_local_variable_declaration - - - -. - - - -identifier - - - -pre_increment_expression - - - -namespace_or_type_name - - - -identifier - - - -integral_type - - - -type_arguments - - - -expression - - - -literal - - - -identifier - - - -identifier - - - -s - - - -namespace_or_type_name - - - -statement - - - -primary_constraint - - - -= - - - -A - - - -method_modifiers - - - -class_type - - - -Name - - - -+ - - - -block - - - -) - - - -block - - - -K - - - -class_member_declaration - - - -declaration_statement - - - -> - - - -identifier - - - -type - - - -declaration_statement - - - -get - - - -type - - - -p - - - -local_variable_type - - - -identifier - - - -I - - - -array_type - - - -expression_statement - - - -C - - - -object_or_collection_initializer - - - -type - - - -static - - - -regular_interpolation - - - -int - - - -] - - - -〔·year{{s}}·old·#〕 - - - -method_header - - - -expression_statement - - - -) - - - -. - - - -statement - - - -1 - - - -+ - - - -identifier - - - -int - - - -method_header - - - -class_member_declaration - - - -local_variable_initializer - - - -class_member_declaration - - - -rank_specifier - - - -identifier - - - -method_modifier - - - -var - - - -type_parameter - - - -identifier - - - -query_body_clauses - - - -( - - - -expression - - - -} - - - -property_declaration - - - -explicitly_typed_local_variable_declarators - - - -identifier - - - -- - - - -identifier - - - -namespace_or_type_name - - - -A - - - -ulong - - - -identifier - - - -intValue - - - -method_header - - - -identifier - - - -; - - - -identifier - - - -multiplicative_expression - - - -argument_list - - - -identifier - - - -statement - - - -type_arguments - - - -int - - - -statement_expression - - - -literal - - - -where - - - -explicitly_typed_local_variable_declaration - - - -catch - - - -type_argument_list - - - -identifier - - - -A - - - -= - - - -identifier - - - -literal - - - -IList - - - -identifier - - - -identifier - - - -conditional_and_expression - - - -interface_body - - - -statement_expression - - - -( - - - -〔$"〕 - - - -lambda_expression - - - -identifier - - - -contextual_keyword - - - -; - - - -explicitly_typed_local_variable_declarators - - - -property_modifier - - - -new - - - -identifier - - - -O - - - -int - - - -identifier - - - -embedded_statement - - - -object_creation_expression - - - -boolean_literal - - - -] - - - -; - - - -by - - - -expression - - - -] - - - -simple_type - - - -explicitly_typed_local_variable_declaration - - - -{ - - - -identifier - - - -!= - - - -statement - - - -. - - - -identifier - - - -const - - - -, - - - -expression - - - -relational_expression - - - -1.1f - - - -100 - - - -identifier - - - -) - - - -unary_expression - - - -) - - - -System - - - -unary_expression - - - -int - - - -implicitly_typed_local_variable_declarator - - - -await - - - -{ - - - -namespace_or_type_name - - - -integral_type - - - -identifier - - - -type - - - -} - - - -operator_modifier - - - -BeginScope - - - -method_body - - - -Foo - - - -( - - - -block - - - -var - - - -A - - - -; - - - -method_header - - - -embedded_statement - - - -assignment - - - -identifier - - - -literal - - - -int - - - -; - - - -var - - - -< - - - -) - - - -222 - - - -class_member_declaration - - - -identifier - - - -method_header - - - -1 - - - -typeof - - - -literal - - - -A - - - -> - - - -{ - - - -explicitly_typed_local_variable_declarators - - - -literal - - - -property_initializer - - - -operator_modifier - - - -declaration_statement - - - -local_variable_declaration - - - -literal - - - -statement_list - - - -unary_expression - - - -integral_type - - - -) - - - -class_body - - - -type_parameters - - - -: - - - -System - - - -customers - - - -contextual_keyword - - - -using_directive - - - -T - - - -var - - - -variable_initializer_list - - - -shift_expression - - - -] - - - -type - - - -identifier - - - -47 - - - -ref_method_modifier - - - -assignment_operator - - - -; - - - -} - - - -statement_list - - - -class_declaration - - - -; - - - -{ - - - -integral_type - - - -expression - - - -variable_initializer - - - -; - - - -literal - - - -{ - - - -; - - - -( - - - -member_name - - - -t - - - -i - - - -variant_type_parameters - - - -K - - - -declaration_statement - - - -declaration_statement - - - -embedded_statement - - - -statement_list - - - -switch_section - - - -statement_expression - - - -property_body - - - -Test - - - -id - - - -regular_interpolation - - - -[ - - - -* - - - -= - - - -contextual_keyword - - - -type - - - -explicitly_typed_local_variable_declarators - - - -identifier - - - -pointer_type - - - -statement - - - -MyObject - - - -Move - - - -local_variable_declaration - - - -accessor_body - - - -post_increment_expression - - - -{ - - - -identifier - - - -type_arguments - - - -identifier - - - -local_variable_initializer - - - -namespace_or_type_name - - - -embedded_statement - - - -= - - - -attribute_list - - - -m - - - -explicitly_typed_local_variable_declarators - - - -local_variable_declaration - - - -parameter_array - - - -0 - - - -= - - - -Add - - - -e2 - - - -method_modifier - - - -local_variable_declaration - - - -statement - - - -null_literal - - - -{ - - - -} - - - -initializer_value - - - -identifier - - - -field_modifier - - - -= - - - -attribute_arguments - - - -> - - - -> - - - -declaration_statement - - - -variable_initializer - - - -integral_type - - - -statement - - - -) - - - -expression - - - -literal - - - -identifier - - - -interpolated_regular_string_expression - - - -statement - - - -method_header - - - -statement_expression - - - -p - - - -integral_type - - - -minInt64Value - - - -p - - - -where - - - -identifier - - - -; - - - -char - - - -; - - - -local_variable_initializer - - - -class_member_declaration - - - -1.44F - - - -identifier - - - -class_body - - - -primary_expression - - - -select_or_group_clause - - - -] - - - -ref_method_modifier - - - -argument_list - - - -= - - - -local_variable_initializer - - - -return_type - - - -class_declaration - - - -expression - - - -type - - - -( - - - -assignment_operator - - - -* - - - -e - - - -statement - - - -identifier - - - -; - - - -} - - - -declaration_statement - - - -) - - - -identifier - - - -statement - - - -void - - - -literal - - - -IList - - - -local_variable_declaration - - - -statement - - - -int - - - -0 - - - -operator_modifier - - - -declaration_statement - - - -? - - - -expression - - - -rank_specifier - - - -local5 - - - -br - - - -; - - - -+ - - - -attribute_arguments - - - -throw_statement - - - -) - - - -} - - - -addressof_expression - - - -declaration_statement - - - -yield_statement - - - -class_member_declaration - - - -accessor_declarations - - - -variable_reference - - - -statement - - - -override - - - -element_access - - - -@string - - - -additive_expression - - - -i - - - -d - - - -type - - - -local_variable_initializer - - - -implicitly_typed_local_variable_declaration - - - -class - - - -local_variable_declaration - - - -{ - - - -p - - - -First - - - -int - - - -{ - - - -literal - - - -== - - - -primary_expression - - - -( - - - -expression_statement - - - -from - - - -( - - - -identifier - - - -statement - - - -let - - - -using_statement - - - -static - - - -block - - - -return - - - -c - - - -; - - - -=> - - - -literal - - - -type_argument_list - - - -invocation_expression - - - -await_expression - - - -operator_modifier - - - -} - - - -method_modifier - - - -type - - - -statement - - - -identifier - - - -literal - - - -true - - - -type_argument_list - - - -; - - - -statement - - - -local_variable_initializer - - - -block - - - -0 - - - -type_argument - - - -i - - - -explicitly_typed_local_variable_declaration - - - -anonymous_function_body - - - -equality_expression - - - -] - - - -statement_expression - - - -expression - - - -variable_initializer - - - -conditional_or_expression - - - -- - - - -variant_type_parameter_list - - - -) - - - -struct_member_declaration - - - -declaration_statement - - - -from - - - -var - - - -expression - - - -property_body - - - -local_variable_initializer - - - -void - - - -. - - - -return_statement - - - -expression_statement - - - -operator_declarator - - - -string - - - -method_modifiers - - - -explicitly_typed_local_variable_declaration - - - -=> - - - -{ - - - -. - - - -class_member_declaration - - - -identifier - - - -explicitly_typed_local_variable_declarator - - - -statement - - - -attribute_target - - - -attribute_list - - - -First - - - -) - - - -explicitly_typed_local_variable_declaration - - - -identifier - - - -; - - - -relational_expression - - - -local_variable_declaration - - - -indexer_declaration - - - -int - - - -> - - - -declaration_statement - - - -&& - - - -; - - - -) - - - -x - - - -identifier - - - -operator_body - - - -query - - - -statement - - - -String - - - -identifier - - - -, - - - -statement_list - - - -identifier - - - -variable_declarators - - - -public - - - -struct - - - -object_creation_expression - - - -var - - - -b - - - -} - - - -) - - - -( - - - -qualified_alias_member - - - -〔,·B=〕 - - - -local_variable_initializer - - - -identifier - - - -goto_statement - - - -ordering - - - -integral_type - - - -method_header - - - -explicitly_typed_local_variable_declaration - - - -declaration_statement - - - -namespace_or_type_name - - - -= - - - -) - - - -E - - - -; - - - -literal - - - -operator_declaration - - - -literal - - - -T - - - -A - - - -; - - - -method_declaration - - - -statement - - - -; - - - -: - - - -non_nullable_reference_type - - - -null - - - -} - - - -T - - - -integral_type - - - -local_variable_initializer - - - -using - - - -partial - - - -attribute_target_specifier - - - -local_variable_declaration - - - -identifier - - - -primary_expression - - - -identifier - - - -expression - - - -( - - - -member_name - - - -identifier - - - -implicitly_typed_local_variable_declarator - - - -identifier - - - -{ - - - -namespace_or_type_name - - - -statement - - - -declaration_statement - - - -local_variable_initializer - - - -block - - - -) - - - -< - - - -parameter_list - - - -literal - - - -identifier - - - -local_variable_declaration - - - -unsafe - - - -contextual_keyword - - - -true - - - -type - - - -identifier - - - -literal - - - -identifier - - - -operator_body - - - -identifier - - - -argument_list - - - -( - - - -literal - - - -namespace_member_declaration - - - -Add - - - -explicitly_typed_local_variable_declarator - - - -'\u0066' - - - -expression - - - -hex - - - -long - - - -unary_expression - - - -identifier - - - -block - - - -invocation_expression - - - -, - - - -int - - - -parameter_list - - - -multiplicative_expression - - - -statement_expression - - - -; - - - -b - - - -identifier - - - -type - - - -expression - - - -statement - - - -local_variable_initializer - - - -return - - - -fixed_pointer_initializer - - - -identifier - - - -namespace_or_type_name - - - -] - - - -{ - - - -argument_list - - - -boolean_expression - - - -point - - - -: - - - -a - - - -} - - - -class_type - - - -descending - - - -expression - - - -block - - - -non_array_type - - - -namespace_or_type_name - - - -XmlComments - - - -statement - - - -statement - - - -verbatim_interpolation - - - -shift_expression - - - -identifier - - - -type - - - -unary_expression - - - -literal - - - -unary_expression - - - -int - - - -class_type - - - -identifier - - - -type_parameter - - - -namespace_or_type_name - - - -throw_statement - - - -namespace_or_type_name - - - -namespace_or_type_name - - - -identifier - - - -explicitly_typed_local_variable_declarators - - - -B - - - -inclusive_or_expression - - - -method_header - - - -accessor_body - - - -literal - - - -parameter_list - - - -void - - - -unary_expression - - - -literal - - - -null_literal - - - -group_clause - - - -explicitly_typed_local_variable_declarators - - - -identifier - - - -struct - - - -identifier - - - -implicitly_typed_local_variable_declaration - - - -. - - - -foreach - - - -explicit_anonymous_function_signature - - - -identifier - - - -expression - - - -floating_point_type - - - -identifier - - - -explicitly_typed_local_variable_declaration - - - -〔:d〕 - - - -1 - - - -block - - - -A - - - -false - - - -expression - - - -collection_initializer - - - -class_type - - - -} - - - -{ - - - -implicitly_typed_local_variable_declaration - - - -local_variable_declaration - - - -? - - - -; - - - -, - - - -ref_method_modifier - - - -) - - - -type_arguments - - - -variable_initializer - - - -. - - - -unsafe_modifier - - - -identifier - - - -Obsolete - - - -int - - - -identifier - - - -A - - - -. - - - -identifier - - - -+ - - - -enum_declaration - - - -statement_list - - - -identifier - - - -identifier - - - -implicitly_typed_local_variable_declarator - - - -identifier - - - -local_variable_declaration - - - -using_alias_directive - - - -statement - - - -T2 - - - -} - - - -argument_list - - - -array_type - - - -NonExisting - - - -identifier - - - -} - - - -block - - - -local_variable_declaration - - - -Список - - - -public - - - -A - - - -additive_expression - - - -element_initializer - - - -identifier - - - -0 - - - -ToString - - - -dynamic - - - -2 - - - -using_directive - - - -identifier - - - -; - - - -method_header - - - -accessor_declarations - - - -public - - - -. - - - -identifier - - - -statement_expression - - - -) - - - -interface_modifier - - - -protected - - - -literal - - - -> - - - -new - - - -enum_member_declarations - - - -statement_expression - - - -primary_constraint - - - -non_nullable_value_type - - - -0XDEADBEEF - - - -literal - - - -explicitly_typed_local_variable_declarators - - - -explicitly_typed_local_variable_declarators - - - -member_name - - - -switch_statement - - - -; - - - -0 - - - -local_variable_declaration - - - -additive_expression - - - -return_type - - - -class_base - - - -5 - - - -literal - - - -if - - - -exception_specifier - - - -inclusive_or_expression - - - -, - - - -new - - - -; - - - -〔:#0.##〕 - - - -3 - - - -integral_type - - - -, - - - -} - - - -equality_expression - - - -accessor_body - - - -literal - - - -namespace - - - -statement_expression - - - -expression - - - -expression_statement - - - -literal - - - -statement - - - -. - - - -accessor_declarations - - - -fixed_size_buffer_declaration - - - -declaration_statement - - - -attribute_list - - - -string - - - -[ - - - -customers - - - -identifier - - - -namespace_member_declaration - - - -declaration_statement - - - -expression - - - -} - - - -0 - - - -f2 - - - -block - - - -] - - - -indexer_modifier - - - -type_argument_list - - - -public - - - -[ - - - -local_variable_initializer - - - -} - - - -unary_expression - - - -0 - - - -identifier - - - -A - - - -) - - - -{ - - - -else - - - -contextual_keyword - - - -identifier - - - -i - - - -local_variable_initializer - - - -identifier - - - -type_arguments - - - -local_variable_declaration - - - -stackalloc_expression - - - -Test - - - -statement - - - -identifier - - - -literal - - - -identifier - - - -: - - - -local5 - - - -( - - - -explicitly_typed_local_variable_declarator - - - -: - - - -relational_expression - - - -class_type - - - -7 - - - -, - - - -explicitly_typed_local_variable_declarator - - - -ref - - - -b - - - -public - - - -relational_expression - - - -identifier - - - -identifier - - - -identifier - - - -bool - - - -local_variable_initializer - - - -explicitly_typed_local_variable_declarator - - - -positional_argument - - - -, - - - -A - - - -attribute_target_specifier - - - -"\U00000065" - - - -block - - - -} - - - -operator_declarator - - - -integral_type - - - -> - - - -implicitly_typed_local_variable_declaration - - - -= - - - -identifier - - - -myfilter - - - -new - - - -argument - - - -explicitly_typed_local_variable_declarator - - - -invocation_expression - - - -statement_list - - - -literal - - - -. - - - -primary_expression - - - -< - - - -method_modifiers - - - -Dispose - - - -unary_expression - - - -) - - - -( - - - -method - - - -CustCount - - - -identifier - - - -explicitly_typed_local_variable_declarator - - - -true - - - -; - - - -var - - - -identifier - - - -; - - - -; - - - -; - - - -int - - - -type_parameter_list - - - -{ - - - -argument_list - - - -, - - - -using_statement - - - -p - - - -class_modifier - - - -local_variable_declaration - - - -, - - - -} - - - -identifier - - - -= - - - -class_member_declaration - - - -6 - - - -[ - - - -using - - - -assignment - - - -static - - - -interface_accessors - - - -1 - - - -literal - - - -identifier - - - -this - - - -{ - - - -declaration_statement - - - -contextual_keyword - - - -i - - - -namespace_member_declaration - - - -: - - - -anonymous_function_body - - - -literal - - - -explicitly_typed_local_variable_declaration - - - -3 - - - -identifier - - - -get_accessor_declaration - - - -positional_argument_list - - - -{ - - - -= - - - -type - - - -Write - - - -statement - - - -( - - - -pre_decrement_expression - - - -object_creation_expression - - - -identifier - - - -constant_declarator - - - -, - - - -non_nullable_value_type - - - -field_declaration - - - -statement - - - -integral_type - - - -void - - - -unary_expression - - - -literal - - - -statement - - - -x - - - -identifier - - - -literal - - - -statement_list - - - -primary_expression - - - -implicitly_typed_local_variable_declaration - - - -integral_type - - - -{ - - - -explicitly_typed_local_variable_declaration - - - -identifier - - - -; - - - -object_or_collection_initializer - - - -uint - - - -primary_no_array_creation_expression - - - -expression - - - -switch_block - - - -c - - - -operator_declaration - - - -integral_type - - - -method_body - - - -and_expression - - - -attribute_target_specifier - - - -; - - - -2 - - - -expression_statement - - - -= - - - -assignment - - - -Guid - - - -B - - - -primary_expression - - - -implicitly_typed_local_variable_declaration - - - -keyword - - - -= - - - -argument - - - -statement - - - -ref_method_modifier - - - -identifier - - - -query_body - - - -@sbyte - - - -implicitly_typed_local_variable_declarator - - - -string - - - -> - - - -property_modifier - - - -Action - - - -1 - - - -null_literal - - - -, - - - -argument_list - - - -} - - - -s - - - -query_expression - - - -identifier - - - -dynamic - - - -identifier - - - -= - - - -array_initializer - - - -literal - - - -statement - - - -statement - - - -implicitly_typed_local_variable_declaration - - - -〔x·〕 - - - -ul - - - -. - - - -implicit_anonymous_function_signature - - - -f - - - -implicitly_typed_local_variable_declarator - - - -assignment - - - -overloadable_unary_operator - - - -method_modifiers - - - -identifier - - - -, - - - -} - - - -= - - - -global - - - -literal - - - -type_parameter - - - -expression_statement - - - -operator_modifier - - - -. - - - -declaration_statement - - - -class_member_declaration - - - -true - - - -} - - - -{ - - - -attribute - - - -T - - - -statement_list - - - -primary_expression - - - -integral_type - - - -type - - - -r - - - -numeric_type - - - -) - - - -using_namespace_directive - - - -type_argument - - - -( - - - -range - - - -< - - - -non_array_type - - - -lock - - - -{ - - - -namespace - - - -nullable_value_type - - - -0 - - - -local_variable_initializer - - - -method_modifier - - - -argument_list - - - -identifier - - - -p - - - -lambda_expression - - - -type_argument_list - - - -statement - - - -new - - - -; - - - -j - - - -explicitly_typed_local_variable_declarators - - - -; - - - -identifier - - - -&= - - - -literal - - - -type - - - -block - - - -Expressions - - - -122 - - - -> - - - -{ - - - -f - - - -relational_expression - - - -} - - - -A - - - -Bar - - - -statement - - - -identifier - - - -generic_dimension_specifier - - - -implicitly_typed_local_variable_declarator - - - -identifier - - - -class_member_declaration - - - -class - - - -( - - - -integral_type - - - -o4 - - - -q - - - -orderings - - - -t - - - -constructor_modifier - - - -statement - - - -integral_type - - - -long - - - -Country - - - -> - - - -identifier - - - -shift_expression - - - -9223372036854775808L - - - -o5 - - - -null - - - -explicitly_typed_local_variable_declarators - - - -statement_expression - - - -expression_statement - - - -!= - - - -= - - - -{ - - - -0 - - - -literal - - - -namespace_or_type_name - - - -primary_expression - - - -identifier - - - -regular_interpolation - - - -attributes - - - -nameof - - - -assignment_operator - - - -where - - - -class_body - - - -explicitly_typed_local_variable_declaration - - - -null_coalescing_expression - - - -if_statement - - - -indexer_declarator - - - -; - - - -literal - - - -type - - - -= - - - -WebClient - - - -dx - - - -multiplicative_expression - - - -integral_type - - - -; - - - -volatile - - - -internal - - - -{ - - - -) - - - -explicitly_typed_local_variable_declarators - - - -identifier - - - -statement_expression - - - -Person - - - -0 - - - -unary_expression - - - -expression_statement - - - -c - - - -indexer_declaration - - - -( - - - -block - - - -unary_expression - - - -expression - - - -null_coalescing_expression - - - -identifier - - - -} - - - -statement_expression - - - -intref - - - -{ - - - -identifier - - - -field_declaration - - - -type - - - -M - - - -variable_declarators - - - -return_type - - - -local - - - -type - - - -. - - - -fixed_parameter - - - -invocation_expression - - - -property_declaration - - - -statement_list - - - -method_header - - - -local_variable_initializer - - - -initializer_target - - - -( - - - -counter - - - -= - - - -. - - - -return_type - - - -explicitly_typed_local_variable_declarator - - - -method_declaration - - - -return - - - -primary_expression - - - -class_member_declaration - - - -struct_member_declaration - - - -type_argument - - - -out - - - -; - - - -literal - - - -parameter_list - - - -shift_expression - - - -where - - - -type_arguments - - - -expression_statement - - - -identifier - - - -explicitly_typed_local_variable_declarator - - - -literal - - - -statement_list - - - -{ - - - -contextual_keyword - - - -( - - - -public - - - -expression - - - -; - - - -〔·year〕 - - - -declaration_statement - - - -primary_expression - - - -method_declaration - - - -> - - - -assignment - - - -goto_statement - - - -method_body - - - -additive_expression - - - -member_access - - - -parenthesized_expression - - - -string - - - -) - - - -statement_list - - - -] - - - -method_modifiers - - - -? - - - -using - - - -identifier - - - -return - - - -expression - - - -descending - - - -0 - - - -} - - - -local_variable_declaration - - - -assignment - - - -implicitly_typed_local_variable_declaration - - - -{ - - - -true - - - -type - - - -namespace_or_type_name - - - -bool - - - -] - - - -i - - - -N - - - -] - - - -identifier - - - -identifier - - - -expression_list - - - -. - - - -return - - - -unary_expression - - - -identifier - - - -identifier - - - -identifier - - - -i - - - -implicitly_typed_local_variable_declaration - - - -assignment_operator - - - -local3 - - - -yield - - - -〔$"〕 - - - -explicitly_typed_local_variable_declarators - - - -embedded_statement - - - -statement_expression - - - -goto - - - -. - - - -System - - - -explicitly_typed_local_variable_declarator - - - -c - - - -member_access - - - -empty_statement - - - -element_access - - - -object - - - -Value - - - -; - - - -simple_type - - - -attributes - - - -member_name - - - -i - - - -this - - - -; - - - -Test - - - -} - - - -initializer_target - - - -class_member_declaration - - - -rank_specifier - - - -System - - - -type - - - -; - - - -type_arguments - - - -identifier - - - -statement - - - -= - - - -; - - - -invocation_expression - - - -multiplicative_expression - - - -b - - - -static - - - -implicitly_typed_local_variable_declaration - - - -; - - - -expression_statement - - - -argument_list - - - -{ - - - -literal - - - -return_type - - - -expression_statement - - - -secondary_constraint - - - -local_variable_declaration - - - -= - - - -T - - - -member_access - - - -{ - - - -explicitly_typed_local_variable_declarator - - - -explicitly_typed_local_variable_declarator - - - -. - - - -const - - - -[ - - - -invocation_expression - - - -112 - - - -= - - - -) - - - -. - - - -expression - - - -; - - - -else - - - -{ - - - -boolean_literal - - - -namespace_or_type_name - - - -numbers - - - -explicitly_typed_local_variable_declarator - - - -identifier - - - -attribute_section - - - -fixed_pointer_declarators - - - -anonymous_function_body - - - -local_variable_declaration - - - -= - - - -multiplicative_expression - - - -initializer_value - - - -, - - - -= - - - -class_body - - - -literal - - - -= - - - -) - - - -; - - - -dynamic - - - -expression - - - -literal - - - -e - - - -minInt32Value - - - -{ - - - -) - - - -method_modifier - - - -type_parameter - - - -secondary_constraint - - - -< - - - -method_modifier - - - -identifier - - - -expression - - - -query_body - - - -} - - - -type - - - -label2 - - - -block - - - -; - - - --- - - - -identifier - - - -type - - - -non_array_type - - - -block - - - -< - - - -catch - - - -x - - - -method_modifier - - - -local_variable_declaration - - - -public - - - -invocation_expression - - - -( - - - -identifier - - - -statement_list - - - -dynamic - - - -ABC - - - -; - - - -explicit_anonymous_function_parameter - - - -statement - - - -identifier - - - -positional_argument_list - - - -dy - - - -literal - - - -identifier - - - -identifier - - - -new - - - -literal - - - -0 - - - -namespace_name - - - -element_access - - - -string - - - -] - - - -@"\\\\" - - - -block - - - -get_accessor_declaration - - - -and_expression - - - -argument_list - - - -identifier - - - -return_statement - - - -{ - - - -= - - - -f1 - - - -resource_acquisition - - - -; - - - -namespace_declaration - - - -statement - - - -= - - - -} - - - -var - - - -namespace_name - - - -0xBADC0DE - - - -invocation_expression - - - -statement - - - -class - - - -B - - - -member_name - - - -c - - - -[ - - - -> - - - -; - - - -expression - - - -( - - - -local_variable_initializer - - - -attribute_argument_expression - - - -anonymous_function_signature - - - -identifier - - - -indexer_declarator - - - -= - - - -overloadable_binary_operator - - - -field_modifier - - - -array_initializer - - - -local_variable_initializer - - - -identifier - - - -Foo - - - -[ - - - -0 - - - -explicitly_typed_local_variable_declarators - - - -method_modifiers - - - -identifier - - - -, - - - -unary_expression - - - -try_statement - - - -System - - - -identifier - - - -} - - - -literal - - - -identifier - - - -AsyncAnonymous - - - -1lu - - - -; - - - -=> - - - -, - - - -namespace_or_type_name - - - -identifier - - - -using_alias_directive - - - -} - - - -expression - - - -attribute_list - - - -local_variable_declaration - - - -identifier - - - -identifier - - - -identifier - - - -identifier - - - -. - - - -= - - - -where - - - -expression - - - -d - - - -local_variable_declaration - - - -type_argument - - - -identifier - - - -declaration_statement - - - -type - - - -; - - - -explicitly_typed_local_variable_declarators - - - -5 - - - -export - - - -implicitly_typed_local_variable_declaration - - - -block - - - -expression - - - -argument - - - -integral_type - - - -identifier - - - -stackalloc_expression - - - -literal - - - -method_modifiers - - - -type - - - -post_decrement_expression - - - -explicitly_typed_local_variable_declarators - - - -declaration_statement - - - -( - - - -local_variable_declaration - - - -member_name - - - -; - - - -integral_type - - - -identifier - - - -0 - - - -identifier - - - -( - - - -using_namespace_directive - - - -implicitly_typed_local_variable_declaration - - - -) - - - -type_parameters - - - -parameter_list - - - -i - - - -; - - - -identifier - - - -return_type - - - -. - - - -0 - - - -where - - - -< - - - -class_declaration - - - -local_variable_initializer - - - -{ - - - -=> - - - -type_argument_list - - - -; - - - -equality_expression - - - -variance_annotation - - - -explicitly_typed_local_variable_declarator - - - -variable_initializer - - - -Test - - - -async - - - -namespace_or_type_name - - - -5.0 - - - -] - - - -explicitly_typed_local_variable_declarator - - - -; - - - -expression_list - - - -Test - - - -class - - - -for_condition - - - -variable_initializer_list - - - -variable_initializer - - - -x - - - -type - - - -explicitly_typed_local_variable_declarators - - - -implicitly_typed_local_variable_declarator - - - -implicitly_typed_local_variable_declaration - - - -} - - - -( - - - -identifier - - - -? - - - -identifier - - - -1 - - - -dynamic - - - -integral_type - - - -member_name - - - -= - - - -{ - - - -Complex - - - -attribute_name - - - -statement - - - -namespace_or_type_name - - - -. - - - -unary_expression - - - -namespace_declaration - - - -explicitly_typed_local_variable_declarators - - - -integral_type - - - -int - - - -property_initializer - - - -} - - - -( - - - -class_type - - - -parameter_mode_modifier - - - -catch_clauses - - - -i - - - -2l - - - -declaration_statement - - - -identifier - - - -ref_method_modifier - - - -local_variable_declaration - - - -sync - - - -explicitly_typed_local_variable_declaration - - - -statement_expression - - - -statement - - - -new - - - -{ - - - -local_variable_declaration - - - -Name - - - -identifier - - - -identifier - - - -literal - - - -} - - - -〔"〕 - - - -object_or_collection_initializer - - - -] - - - -identifier - - - -let_clause - - - -= - - - -{ - - - -( - - - -identifier - - - -literal - - - -unary_operator_declarator - - - -) - - - -primary_expression - - - -block - - - -integral_type - - - -identifier - - - -argument_list - - - -) - - - -&& - - - -explicitly_typed_local_variable_declaration - - - -statement - - - -operator_body - - - -additive_expression - - - -accessor_body - - - -expression_statement - - - -local_variable_initializer - - - -= - - - -type - - - -Task - - - -= - - - -class_type - - - -anonymous_function_body - - - -identifier - - - -statement_list - - - -var - - - -boolean_expression - - - -primary_expression - - - -and_expression - - - -explicitly_typed_local_variable_declarators - - - -identifier - - - -= - - - -literal - - - -identifier - - - -statement_expression - - - -+ - - - -> - - - -@bool - - - -type - - - -switch - - - -namespace_or_type_name - - - -= - - - -A - - - -identifier - - - -class_type - - - -identifier - - - -additive_expression - - - -first - - - -= - - - -; - - - -namespace_name - - - -operator - - - -rank_specifier - - - -qualified_alias_member - - - -contextual_keyword - - - -type - - - -var - - - -identifier - - - -type - - - -expression - - - -foreach - - - -variable_initializer - - - -keyword - - - -( - - - -} - - - -; - - - -length - - - -query_expression - - - -assignment - - - -. - - - -expression_statement - - - -set - - - -parenthesized_expression - - - -public - - - -expression_statement - - - -identifier - - - -enum_member_declaration - - - -, - - - -override - - - -identifier - - - -using_namespace_directive - - - -identifier - - - -literal - - - -@decimal - - - -= - - - -double - - - -) - - - -< - - - -member_declarator - - - -declaration_statement - - - -new - - - -5 - - - -; - - - -lambda_expression - - - -explicitly_typed_local_variable_declarators - - - -Collections - - - -implicitly_typed_local_variable_declaration - - - -decimal - - - -float - - - -, - - - -equality_expression - - - -) - - - -) - - - -expression_statement - - - -o2 - - - -= - - - -. - - - -Blah - - - -explicitly_typed_local_variable_declarator - - - -public - - - -{ - - - -return_type - - - -boolean_expression - - - -argument_list - - - -select_or_group_clause - - - -argument_list - - - -regular_interpolation - - - -explicitly_typed_local_variable_declarator - - - -equality_expression - - - -parameter_list - - - -; - - - -nullable_type_annotation - - - -identifier - - - -identifier - - - -"A" - - - -: - - - -explicit_anonymous_function_signature - - - -; - - - -object_creation_expression - - - -type - - - -identifier - - - -. - - - -identifier - - - -local_variable_declaration - - - -class_member_declaration - - - -regular_interpolation - - - -statement_expression - - - -declaration_statement - - - -additive_expression - - - -declaration_statement - - - -initializer_target - - - -} - - - -embedded_statement - - - -identifier - - - -conditional_and_expression - - - -identifier - - - -identifier - - - -variable_initializer - - - -identifier - - - -accessor_body - - - -contextual_keyword - - - -fixed_parameter - - - -type - - - -( - - - -boolean_literal - - - -type_arguments - - - -and_expression - - - -module - - - -( - - - -i - - - -argument_list - - - -MyEvent - - - -declaration_statement - - - -method_header - - - -literal - - - -< - - - -boolean_literal - - - -identifier - - - -contextual_keyword - - - -literal - - - -( - - - -[ - - - -primary_expression - - - -statement - - - -from_clause - - - -contextual_keyword - - - -Complex - - - -Math - - - -< - - - -identifier - - - -object_or_collection_initializer - - - -expression - - - -assignment - - - -literal - - - -variable_initializer - - - -. - - - -assignment - - - -0 - - - -identifier - - - -explicitly_typed_local_variable_declaration - - - -s - - - -+ - - - -) - - - -block - - - -this - - - -interpolation_minimum_width - - - -int - - - -assignment_operator - - - -expression - - - -boolean_literal - - - -} - - - -Y - - - -expression - - - -0 - - - -expression - - - -; - - - -s - - - -statement - - - -{ - - - -A - - - -; - - - -method_declaration - - - -select_clause - - - -interface_type_list - - - -await - - - -= - - - -8 - - - -struct_member_declaration - - - -identifier - - - -on - - - -literal - - - -delegate_header - - - -3 - - - -expression - - - -( - - - -true - - - -{ - - - -identifier - - - -a - - - -y - - - -attribute_list - - - -method_modifiers - - - -> - - - -; - - - -2 - - - -buffer_element_type - - - -type_argument - - - -identifier - - - -identifier - - - -2 - - - -; - - - -identifier - - - -orderby - - - -protected - - - -U - - - -argument_list - - - -C - - - -type_argument_list - - - -identifier - - - -statement - - - -abstract - - - -declaration_statement - - - -interpolated_regular_string_expression - - - -field_modifier - - - -} - - - -attribute_section - - - -block - - - -explicitly_typed_local_variable_declarators - - - -&& - - - -public - - - -declaration_statement - - - -double - - - -Customer - - - -identifier - - - -t - - - -; - - - -++ - - - -type - - - -pre_increment_expression - - - -literal - - - -constant_declarators - - - -expression - - - -type_argument_list - - - -) - - - -literal - - - -explicitly_typed_local_variable_declarator - - - -identifier - - - -; - - - -1 - - - -class_member_declaration - - - -var - - - -1 - - - -primary_expression - - - -block - - - -expression - - - -expression_statement - - - -statement_expression - - - -null - - - -( - - - -identifier - - - -variable_initializer - - - -statement - - - -, - - - -struct_body - - - -= - - - -assignment - - - -regular_interpolation - - - -foreach_statement - - - -query_continuation - - - -explicitly_typed_local_variable_declaration - - - -type - - - -anonymous_function_signature - - - -identifier - - - -expression - - - -3 - - - -integral_type - - - -partial - - - -integral_type - - - -statement - - - -embedded_statement - - - -b - - - -identifier - - - -, - - - -declaration_statement - - - -( - - - -var - - - -post_increment_expression - - - -G - - - -new - - - -assignment - - - -expression - - - -local_variable_initializer - - - -local_variable_declaration - - - -join_into_clause - - - -int - - - -namespace_name - - - -attribute_list - - - -statement - - - -expression - - - -A - - - -method_modifier - - - -IList - - - -i - - - -integral_type - - - -boolean_expression - - - -< - - - -> - - - -statement - - - -declaration_statement - - - -member_access - - - -relational_expression - - - -property_body - - - -unary_expression - - - -expression - - - -} - - - -implicitly_typed_local_variable_declarator - - - -) - - - -class_member_declaration - - - -parameter_list - - - -var - - - -identifier - - - -property_body - - - -parameter_list - - - -anonymous_function_signature - - - -integral_type - - - -struct_member_declaration - - - -; - - - -A - - - -argument - - - -invocation_expression - - - -using_directive - - - -expression_list - - - -explicitly_typed_local_variable_declarator - - - -explicitly_typed_local_variable_declarator - - - -] - - - -int - - - -; - - - -argument_value - - - -invocation_expression - - - -if_statement - - - -identifier - - - -method_header - - - -identifier - - - -member_access - - - -variable_initializer - - - -T - - - -public - - - -var - - - -A - - - -identifier - - - -class_body - - - -multiplicative_expression - - - -invocation_expression - - - -statement - - - -explicitly_typed_local_variable_declaration - - - -identifier - - - -identifier - - - -null_coalescing_expression - - - -declaration_statement - - - -method_declaration - - - -< - - - -resource_acquisition - - - -} - - - -pointer_member_access - - - -identifier - - - -operator - - - -primary_expression - - - -type - - - -abstract - - - -sealed - - - -( - - - -i - - - -explicitly_typed_local_variable_declaration - - - -argument - - - -type_arguments - - - -out - - - -expression - - - -{ - - - -"" - - - -type - - - -identifier - - - -( - - - -constant_expression - - - -member_name - - - -identifier - - - -Tasks - - - -. - - - -embedded_statement - - - -identifier - - - -declaration_statement - - - -pattern - - - -statement - - - -type - - - -int - - - -method_modifiers - - - -( - - - -statement_expression - - - -variable_initializer_list - - - -expression - - - -id - - - -= - - - -identifier - - - -explicitly_typed_local_variable_declarator - - - -; - - - -explicitly_typed_local_variable_declarators - - - -) - - - -statement - - - -class_member_declaration - - - -return - - - -identifier - - - -[ - - - -explicitly_typed_local_variable_declarator - - - -+ - - - -struct_member_declaration - - - -First - - - -primary_expression - - - -explicitly_typed_local_variable_declarators - - - -< - - - -. - - - -identifier - - - -type - - - -method_declaration - - - -local_variable_declaration - - - -{ - - - -identifier - - - -local_variable_initializer - - - -type - - - -base - - - -] - - - -identifier - - - -named_argument - - - -p - - - -T - - - -. - - - -statement - - - -additive_expression - - - -initializer_target - - - -operator_modifier - - - -method_header - - - -= - - - -( - - - -expression - - - -> - - - -c1 - - - -< - - - -мир - - - -type_argument_list - - - -statement_list - - - -dynamic - - - -literal - - - -identifier - - - -boolean_literal - - - -local_variable_declaration - - - -boolean_expression - - - -T - - - -customers - - - -+ - - - -int - - - -literal - - - -member_access - - - -@dynamic - - - -=> - - - -property_modifier - - - -member_access - - - -explicitly_typed_local_variable_declarator - - - -explicitly_typed_local_variable_declarator - - - -0 - - - -await_expression - - - -conditional_or_expression - - - -type - - - -array_initializer - - - -accessor_modifier - - - -) - - - -contextual_keyword - - - -B - - - -( - - - -; - - - -= - - - -integral_type - - - -= - - - -int - - - -explicitly_typed_local_variable_declarator - - - -[ - - - -integral_type - - - -explicitly_typed_local_variable_declarator - - - -switch_label - - - -expression_statement - - - -Linq - - - -; - - - -} - - - -; - - - -expression_statement - - - -+= - - - -: - - - -explicitly_typed_local_variable_declaration - - - -explicitly_typed_local_variable_declaration - - - -ref_method_modifier - - - -second - - - -local_variable_declaration - - - -int - - - -class_base - - - -i - - - -this_access - - - -b - - - -class_type - - - -, - - - -private - - - -] - - - -〔$@"〕 - - - -unary_expression - - - -fixed_parameters - - - -using - - - -explicitly_typed_local_variable_declarator - - - -identifier - - - -type_parameters - - - -local_variable_initializer - - - -struct_body - - - -type - - - -literal - - - -contextual_keyword - - - -( - - - -ref_method_modifier - - - -primary_no_array_creation_expression - - - -{ - - - -1d - - - -local_variable_declaration - - - -( - - - -string - - - -identifier - - - -argument - - - -ref_method_modifier - - - -0 - - - -embedded_statement - - - -? - - - -member_access - - - -identifier - - - -class_base - - - -catch_clauses - - - -c - - - -fixed_parameter - - - -operator - - - -== - - - -== - - - -identifier - - - -interface_member_declaration - - - -method_declaration - - - -member_name - - - -using_directive - - - -declaration_statement - - - -element_access - - - -class_body - - - -) - - - -expression_statement - - - -) - - - -object_creation_expression - - - -A - - - -[ - - - -i - - - -Obsolete - - - -I - - - -relational_expression - - - -identifier - - - -type_arguments - - - -statement - - - -argument_list - - - -{ - - - -attribute_section - - - -@uint - - - -Delegate - - - -literal - - - -do - - - -orderby - - - -non_nullable_value_type - - - -, - - - -identifier - - - -expression - - - -] - - - -false - - - -contextual_keyword - - - -initializer_target - - - -p - - - -} - - - -declaration_statement - - - -g - - - -declaration_statement - - - -unary_expression - - - -@short - - - -{ - - - -member_access - - - -class_type - - - -expression - - - -fixed_parameter - - - -1LU - - - -; - - - -3 - - - -explicitly_typed_local_variable_declarators - - - -operator - - - -local_variable_declaration - - - -{ - - - -variant_type_parameter_list - - - -literal - - - -2 - - - -nullable_value_type - - - -public - - - -throw - - - -accessor_body - - - -argument_list - - - -literal - - - -( - - - -simple_name - - - -= - - - -type - - - -identifier - - - -attribute_target_specifier - - - -method_declaration - - - -literal - - - -identifier - - - -local_variable_declaration - - - -ref_method_modifier - - - -assignment_operator - - - -return_statement - - - -+ - - - -+ - - - -= - - - -identifier - - - -1 - - - -} - - - -object_creation_expression - - - -i - - - -local_variable_declaration - - - -argument_list - - - -class_member_declaration - - - -expression - - - -explicitly_typed_local_variable_declarator - - - -member_access - - - -identifier - - - -statement - - - -property_declaration - - - -array_initializer - - - -property_modifier - - - -method_modifier - - - -return - - - -class - - - -primary_expression - - - -explicitly_typed_local_variable_declarators - - - -literal - - - -identifier - - - -= - - - -identifier - - - -identifier - - - -literal - - - -argument_list - - - -100 - - - -identifier - - - -res - - - -; - - - -identifier - - - -local_variable_declaration - - - -literal - - - -identifier - - - -statement_list - - - -type - - - -, - - - -b - - - -statement - - - -explicit_anonymous_function_parameter_list - - - -accessor_declarations - - - -method_body - - - -; - - - -; - - - -= - - - -property_modifier - - - -embedded_statement - - - -contextual_keyword - - - -statement_expression - - - -identifier - - - -event_modifier - - - -return_type - - - -++ - - - -implicitly_typed_local_variable_declarator - - - -[ - - - -class_type - - - -alias - - - -short - - - -< - - - -non_nullable_value_type - - - -explicitly_typed_local_variable_declarator - - - -method_body - - - -member_name - - - -t - - - -= - - - -} - - - -remove - - - -StartNew - - - -orderby - - - -i - - - -regular_interpolation - - - -statement_expression - - - -global_attribute_target - - - -integral_type - - - -identifier - - - -{ - - - -p - - - -) - - - -variable_initializer - - - -argument_value - - - -block - - - -identifier - - - -A - - - -global_attribute_target - - - -contextual_keyword - - - -identifier - - - -attributes - - - -statement_expression - - - -{ - - - -explicitly_typed_local_variable_declaration - - - -contextual_keyword - - - -> - - - -ref_method_modifier - - - -inclusive_or_expression - - - -fixed_parameter - - - -i - - - -explicitly_typed_local_variable_declaration - - - -expression - - - -identifier - - - -; - - - -public - - - -( - - - -equality_expression - - - -int - - - -type_argument - - - -unary_expression - - - -var - - - -select_clause - - - -index - - - -implicit_anonymous_function_parameter_list - - - -declaration_statement - - - -explicitly_typed_local_variable_declarator - - - -ref_method_modifier - - - -= - - - -identifier - - - -f - - - -block - - - -primary_expression - - - -method_modifiers - - - -identifier - - - -type_arguments - - - -explicitly_typed_local_variable_declarators - - - -"Jane" - - - -declaration_statement - - - -statement_expression - - - -method_body - - - -from_clause - - - -object - - - -identifier - - - -) - - - -remove_accessor_declaration - - - -= - - - -[ - - - -invocation_expression - - - -return - - - -expression - - - -finally_clause - - - -member_name - - - -identifier - - - -implicitly_typed_local_variable_declarator - - - -constant_declarator - - - -identifier - - - -local_variable_declaration - - - -identifier - - - -get - - - -. - - - -identifier - - - -pattern - - - -identifier - - - -method_modifiers - - - -declaration_statement - - - -var - - - -identifier - - - -ArgumentNullException - - - -2 - - - -X - - - -{ - - - -expression - - - -} - - - -T - - - -ref_method_modifier - - - -namespace_or_type_name - - - -invocation_expression - - - -) - - - -( - - - -== - - - -namespace_or_type_name - - - -identifier - - - -attribute_section - - - -; - - - -boolean_literal - - - -string - - - -int - - - -type - - - -] - - - -? - - - -post_increment_expression - - - -implicitly_typed_local_variable_declarator - - - -block - - - -type - - - -0 - - - -arrayTypeInference - - - -ref_method_modifier - - - -simple_type - - - -statement_expression - - - -attribute_target - - - -type - - - -range - - - -] - - - -TestClassXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - - - -type - - - -identifier - - - -expression_statement - - - -explicitly_typed_local_variable_declarators - - - -) - - - -explicitly_typed_local_variable_declarators - - - -i - - - -1uL - - - -operator_declarator - - - -void - - - -set_accessor_declaration - - - -1 - - - -identifier - - - -shift_expression - - - -5 - - - -explicitly_typed_local_variable_declarators - - - -identifier - - - -implicitly_typed_local_variable_declarator - - - -expression - - - -additive_expression - - - -continue_statement - - - -. - - - -> - - - -) - - - -declaration_statement - - - -new - - - -~ - - - -identifier - - - -} - - - -statement_expression - - - -explicitly_typed_local_variable_declaration - - - -int - - - -= - - - -statement_expression - - - -element_access - - - -type_argument - - - -expression - - - -type_parameter - - - -in - - - -identifier - - - -) - - - -= - - - -bool - - - -implicitly_typed_local_variable_declaration - - - -type - - - -> - - - -simple_type - - - -identifier - - - -} - - - -"·" - - - -argument_list - - - -; - - - -: - - - -Exception - - - -positional_argument - - - -> - - - -using - - - -operator_declaration - - - -struct_member_declaration - - - -query_body_clauses - - - -<<= - - - -{ - - - -interface_type_list - - - -unary_expression - - - -identifier - - - -explicitly_typed_local_variable_declaration - - - -] - - - -T - - - -relational_expression - - - -〔"〕 - - - -assignment_operator - - - -equality_expression - - - -var - - - -identifier - - - -=> - - - -1lU - - - -class_member_declaration - - - -identifier - - - -class_member_declaration - - - -; - - - -assignment - - - -Foo - - - -5 - - - -= - - - -local_variable_initializer - - - -floating_point_type - - - -Func - - - -} - - - -0 - - - -accessor_body - - - -contextual_keyword - - - -identifier - - - -positional_argument_list - - - -} - - - -: - - - -identifier - - - -member_initializer_list - - - -method_body - - - -member_name - - - -literal - - - -block - - - -x - - - -return - - - -class_member_declaration - - - -rank_specifier - - - -. - - - -return - - - -primary_expression - - - -declaration_statement - - - -; - - - -class_body - - - -void - - - -< - - - -rank_specifier - - - -relational_expression - - - -assignment_operator - - - -block - - - -is - - - -"A" - - - -member_name - - - -namespace_member_declaration - - - -case - - - -int - - - -implicitly_typed_local_variable_declarator - - - -explicitly_typed_local_variable_declaration - - - -member_access - - - -; - - - -identifier - - - -i - - - -i - - - -block - - - -local_variable_initializer - - - -local_variable_declaration - - - -SetLastError - - - -{ - - - -namespace_member_declaration - - - -identifier - - - -string - - - -. - - - -primary_expression - - - -[ - - - -declaration_statement - - - -var - - - -0 - - - -Count - - - -regular_interpolation - - - -operator_body - - - -assignment_operator - - - -literal - - - -int - - - -= - - - -literal - - - -declaration_statement - - - -while - - - -[ - - - -yield - - - -array_type - - - -return - - - -; - - - -primary_expression - - - -. - - - -A - - - -rank_specifier - - - -identifier - - - -type_parameter_constraints - - - -Foo - - - -c1 - - - -, - - - -nullable_value_type - - - -{ - - - -; - - - -; - - - -ref_method_modifier - - - -additive_expression - - - -implicit - - - -identifier - - - -identifier - - - -unmanaged_type - - - -field_modifier - - - -primary_expression - - - -method_modifiers - - - -using - - - -by - - - -} - - - -string - - - -i - - - -. - - - -relational_expression - - - -* - - - -overloadable_binary_operator - - - -? - - - -. - - - -variable_initializer_list - - - -unary_expression - - - -declaration_statement - - - -; - - - -var - - - -=> - - - -sealed - - - -variant_type_parameters - - - -enum_modifier - - - -method_declaration - - - -primary_expression - - - -] - - - -explicitly_typed_local_variable_declaration - - - -argument_list - - - -local_variable_declaration - - - -additive_expression - - - -argument - - - -identifier - - - -local_variable_initializer - - - -private - - - -literal - - - -member_access - - - -) - - - -statement - - - -operator_modifier - - - -class - - - -explicitly_typed_local_variable_declarator - - - -type_parameter_list - - - -= - - - -identifier - - - -= - - - -integral_type - - - -member_name - - - -Recursive - - - -P - - - -assignment - - - -expression - - - -; - - - -+= - - - -new - - - -[ - - - -statement - - - -local_variable_declaration - - - -attribute_list - - - -; - - - -invocation_expression - - - -type - - - -params - - - -assignment - - - -boolean_literal - - - -; - - - -a - - - -indexer_body - - - -/= - - - --- - - - -integral_type - - - -struct_interfaces - - - -type - - - -= - - - -< - - - -equality_expression - - - -, - - - -= - - - -argument_name - - - -implicitly_typed_local_variable_declaration - - - -operator_body - - - -literal - - - -unary_expression - - - -command - - - -fixed_parameter - - - -identifier - - - -: - - - -( - - - -static - - - -argument_list - - - -member_access - - - -base - - - -invocation_expression - - - -attribute_section - - - -literal - - - -BeginScope - - - -expression - - - -invocation_expression - - - -operator_modifier - - - -; - - - -statement_list - - - -variable_initializer - - - -argument - - - -assignment - - - -operator_declaration - - - -parameter_mode_modifier - - - -method_modifier - - - -explicitly_typed_local_variable_declarators - - - -identifier - - - -identifier - - - -literal - - - -explicitly_typed_local_variable_declaration - - - -; - - - -fixed_parameter - - - -get - - - -local_variable_initializer - - - -Boo - - - -{ - - - -+ - - - -invocation_expression - - - -, - - - -unary_expression - - - -identifier - - - -, - - - -explicitly_typed_local_variable_declaration - - - -type_argument_list - - - -type_argument_list - - - -10 - - - -resource_acquisition - - - -type - - - -using_directive - - - -person - - - -identifier - - - -non_array_type - - - -, - - - -attribute_list - - - -static - - - -type_argument_list - - - -statement - - - -Recursive - - - -. - - - -? - - - -query_body_clause - - - -attribute_section - - - -c - - - -argument - - - -literal - - - -d - - - -= - - - -3 - - - -identifier - - - -Bar3 - - - -public - - - -type - - - -fixed_parameter - - - -5 - - - -additive_expression - - - -; - - - -property_declaration - - - -Point - - - -MyException - - - -; - - - -] - - - -identifier - - - -'\x0130' - - - -method_modifier - - - -5 - - - -identifier - - - -( - - - -; - - - -+ - - - -set - - - -= - - - -nullable_type_annotation - - - -; - - - -; - - - -enum_member_declaration - - - -simple_type - - - -expression - - - -namespace_or_type_name - - - -} - - - -C - - - -literal - - - -declaration_statement - - - -additive_expression - - - -=> - - - -identifier - - - -using - - - -public - - - -relational_expression - - - -identifier - - - -unary_expression - - - -array_initializer - - - -; - - - -Invoke - - - -Recursive - - - -r - - - -UndocumentedKeywords - - - -1ul - - - -statement - - - -literal - - - -argument_list - - - -y - - - -primary_expression - - - -and_expression - - - -identifier - - - -contextual_keyword - - - -local_variable_initializer - - - -integral_type - - - -identifier - - - -explicitly_typed_local_variable_declaration - - - -@"(C)""·\n\n2009" - - - -explicitly_typed_local_variable_declaration - - - -expression - - - -namespace_member_declaration - - - -identifier - - - -type_argument - - - -local_variable_initializer - - - -using_directive - - - -using - - - -identifier - - - -public - - - -type_parameter - - - -object - - - -type - - - -〔Color·[·R=〕 - - - -identifier - - - -namespace_or_type_name - - - -nullable_value_type - - - -unsafe - - - -type_argument_list - - - -set - - - -Last - - - -S - - - -unary_expression - - - -[ - - - -) - - - -[ - - - -null_literal - - - -; - - - -event - - - -initializer_target - - - -fixed_parameter - - - -T - - - -local_variable_declaration - - - -boolean_literal - - - -identifier - - - -[ - - - -) - - - -rank_specifier - - - -identifier - - - -Factory - - - -statement - - - -; - - - -= - - - -local_variable_declaration - - - -identifier - - - -} - - - -< - - - -) - - - -〔"〕 - - - -expression - - - -System - - - -positional_argument_list - - - -} - - - -implicit - - - -namespace_or_type_name - - - -4 - - - -statement_expression - - - -local_variable_declaration - - - -P - - - -] - - - -contextual_keyword - - - -} - - - -identifier - - - -explicitly_typed_local_variable_declaration - - - -identifier - - - -) - - - -equality_expression - - - -contextual_keyword - - - -identifier - - - -primary_expression - - - -namespace_member_declaration - - - -A - - - -; - - - -; - - - -local_variable_declaration - - - -( - - - -Power - - - -public - - - -2 - - - -{ - - - -ConsoleApplication1 - - - -( - - - -sbyte - - - -identifier - - - -attribute_name - - - -statement - - - -. - - - -anonymous_function_signature - - - -void - - - -floating_point_type - - - -5 - - - -identifier - - - -return_statement - - - -привет - - - -partial - - - -integral_type - - - -relational_expression - - - -int - - - -literal - - - -: - - - -shift_expression - - - -identifier - - - -T - - - -> - - - -literal - - - -explicitly_typed_local_variable_declarator - - - -fixed_parameter - - - -Handler - - - -; - - - -set_accessor_declaration - - - -local_variable_initializer - - - -exception_filter - - - -non_array_type - - - -( - - - -M - - - -anonymous_function_signature - - - -declaration_statement - - - -unary_expression - - - -invocation_expression - - - -identifier - - - -unary_expression - - - -identifier - - - -lambda_expression - - - -U - - - -type - - - -conditional_and_expression - - - -statement_expression - - - -block - - - -type - - - -primary_expression - - - -) - - - -exclusive_or_expression - - - -) - - - -string - - - -statement_expression_list - - - -} - - - -literal - - - -class_modifier - - - -namespace_or_type_name - - - -identifier - - - -{ - - - -statement - - - -relational_expression - - - -P - - - -conversion_operator_declarator - - - -identifier - - - -argument_list - - - -unary_expression - - - -< - - - -assignment_operator - - - -identifier - - - -nullable_type_annotation - - - -"a" - - - -type - - - -method_body - - - -i - - - -= - - - -implicitly_typed_local_variable_declaration - - - -statement - - - -+ - - - -, - - - -statement - - - -expression_statement - - - -statement - - - -identifier - - - -; - - - -return_type - - - -expression_statement - - - -fixed - - - -namespace_declaration - - - -0 - - - -non_array_type - - - -public - - - -namespace_or_type_name - - - -identifier - - - -expression - - - -identifier - - - -= - - - -constant_modifier - - - -identifier - - - -member_declarator_list - - - -local_variable_initializer - - - -= - - - -conditional_and_expression - - - -method_modifiers - - - -identifier - - - -type_parameters - - - -identifier - - - -items - - - -finally - - - -block - - - -non_array_type - - - -literal - - - -multiplicative_expression - - - -element_initializer - - - -= - - - -type_parameter_constraints - - - -statement - - - -( - - - -} - - - -M - - - -expression_statement - - - -expression - - - -identifier - - - -int - - - -= - - - -statement - - - -block - - - -method - - - -type_argument - - - -declaration_statement - - - -value - - - -using_namespace_directive - - - -< - - - -statement_list - - - -declaration_statement - - - -identifier - - - -= - - - -= - - - -abstract - - - -[ - - - -statement - - - -identifier - - - -var - - - -explicitly_typed_local_variable_declaration - - - -primary_expression - - - -if - - - -type - - - -boolean_literal - - - -return_type - - - -public - - - -identifier - - - -= - - - -dynamic - - - -explicitly_typed_local_variable_declarator - - - -interface_type - - - -u - - - -explicitly_typed_local_variable_declarator - - - -equality_expression - - - -Handler - - - -A - - - -== - - - -attributes - - - -return_type - - - -= - - - -expression - - - -T - - - -, - - - -unary_expression - - - -type_arguments - - - -literal - - - -== - - - -local_variable_declaration - - - -explicitly_typed_local_variable_declaration - - - -{ - - - -binary_operator_declarator - - - -return_type - - - -integral_type - - - -interface_type - - - -array_type - - - -if_statement - - - -logical_negation_operator - - - -; - - - -0 - - - -= - - - -statement - - - -int - - - -implicitly_typed_local_variable_declarator - - - -initializer_value - - - -explicitly_typed_local_variable_declarators - - - -) - - - -attribute_arguments - - - -; - - - -identifier - - - -class_type - - - -argument - - - -explicitly_typed_local_variable_declarators - - - -identifier - - - -> - - - -integral_type - - - -block - - - -simple_type - - - -member_access - - - -identifier - - - -property_initializer - - - -get_accessor_declaration - - - -parameter_list - - - -statement - - - -integral_type - - - -implicitly_typed_local_variable_declarator - - - -) - - - -[ - - - -fixed_parameter - - - -, - - - -identifier - - - -unary_expression - - - -k - - - -constant_declarators - - - -5 - - - -assignment - - - -var - - - -identifier - - - -member_access - - - -} - - - -; - - - -= - - - -integral_type - - - -) - - - -int1 - - - -local_variable_declaration - - - -, - - - -expression - - - -member_access - - - -object_creation_expression - - - -local_variable_declaration - - - -} - - - -explicit_anonymous_function_parameter - - - -private - - - -type - - - -i - - - -identifier - - - -protected - - - -statement - - - -equality_expression - - - -= - - - -await - - - -using - - - -public - - - -__ - - - -fixed_size_buffer_declarator - - - -primary_no_array_creation_expression - - - -identifier - - - -statement - - - -assignment_operator - - - -^= - - - -int - - - -A - - - -identifier - - - -literal - - - -} - - - -i - - - -assignment_operator - - - -identifier - - - -= - - - -identifier - - - -break_statement - - - -i - - - -local_variable_declaration - - - -member_name - - - -number - - - -multiplicative_expression - - - -attribute - - - -element_initializer - - - -GetHashCode - - - -identifier - - - -= - - - -statement - - - -string - - - -i - - - -invocation_expression - - - -literal - - - -identifier - - - -object_creation_expression - - - -declaration_statement - - - -var - - - -return_type - - - -@double - - - -Список - - - -query_expression - - - -literal - - - -namespace_or_type_name - - - -identifier - - - -1Ul - - - -( - - - -literal - - - -identifier - - - -assignment_operator - - - -{ - - - -, - - - -statement - - - -declaration_statement - - - -catch_clauses - - - -〔"〕 - - - -declaration_statement - - - -] - - - -assignment - - - -contextual_keyword - - - -identifier - - - -expression - - - -method_body - - - -identifier - - - -i - - - -literal - - - -statement - - - -statement - - - -t - - - -namespace_or_type_name - - - -literal - - - -member_name - - - -; - - - -X - - - -ascending - - - -expression - - - -explicitly_typed_local_variable_declarators - - - -shift_expression - - - -argument_list - - - -local_variable_initializer - - - -identifier - - - -} - - - -implicitly_typed_local_variable_declarator - - - -var - - - -identifier - - - -assignment - - - -operator_body - - - -; - - - -relational_expression - - - -into - - - -member_access - - - -literal - - - -for_statement - - - -type_argument_list - - - -namespace_or_type_name - - - -while_statement - - - -statement - - - -type_argument - - - -, - - - -- - - - -〔$@"〕 - - - -identifier - - - -literal - - - -= - - - -{ - - - -return_statement - - - -type_argument_list - - - -conditional_and_expression - - - -"\n\t\u0123(C)·\"2009" - - - -continue_statement - - - -object_creation_expression - - - -E - - - -identifier - - - -class_body - - - -IEnumerable - - - -namespace_or_type_name - - - -attribute_argument_expression - - - -static_constructor_declaration - - - -fixed_parameter - - - -Obsolete - - - -Point - - - -identifier - - - -integral_type - - - -) - - - -relational_expression - - - -) - - - -type_argument_list - - - -T - - - -embedded_statement - - - -block - - - -; - - - -overloadable_binary_operator - - - -A - - - -} - - - -statement - - - -argument_list - - - -identifier - - - -{ - - - -Country - - - -literal - - - -statement - - - -] - - - -statement_list - - - -local_variable_declaration - - - -expression - - - -++ - - - -in - - - -variable_initializer - - - -even - - - -identifier - - - -@float - - - -null_literal - - - -pointer_indirection_expression - - - -identifier - - - -variable_initializer - - - -) - - - -catch - - - -} - - - -type_argument_list - - - -var - - - -0 - - - -null_coalescing_expression - - - -local_variable_initializer - - - -declaration_statement - - - -statement - - - -operator_modifier - - - -local_variable_initializer - - - -attribute_list - - - -rank_specifier - - - -namespace_or_type_name - - - -identifier - - - -local_variable_declaration - - - -statement - - - -invocation_expression - - - -System - - - -int - - - -} - - - -implicitly_typed_local_variable_declaration - - - -MyObject - - - -expression_statement - - - -this - - - -method_declaration - - - -anonymous_method_expression - - - -: - - - -explicitly_typed_local_variable_declarator - - - -member_access - - - -< - - - -statement - - - -identifier - - - -out - - - -block - - - -return_statement - - - -& - - - -f2 - - - -) - - - -namespace_body - - - -floating_point_type - - - -assignment - - - -statement - - - -. - - - -[ - - - -f - - - -= - - - -namespace_name - - - -) - - - -type - - - -; - - - -; - - - -ref_method_modifier - - - -; - - - -struct_member_declaration - - - -literal - - - -if_statement - - - -identifier - - - -) - - - -statement - - - -rank_specifier - - - -statement - - - -property_body - - - -WriteLine - - - -object_initializer - - - -Blah - - - -, - - - -identifier - - - -using - - - -identifier - - - -additive_expression - - - -identifier - - - -named_argument_list - - - -namespace - - - -attribute_list - - - -{ - - - -integral_type - - - -= - - - -] - - - -foo - - - -= - - - -type - - - -} - - - -long - - - -block - - - -Third - - - -statement_expression - - - -identifier - - - -local_variable_initializer - - - -( - - - -primary_no_array_creation_expression - - - -] - - - -public - - - -identifier - - - -{ - - - -statement - - - -( - - - -identifier - - - -var - - - -intref - - - -named_argument - - - -) - - - -expression_statement - - - -false - - - -multiplicative_expression - - - -primary_expression - - - -( - - - -declaration_statement - - - -select - - - -literal - - - -break - - - -, - - - -using_directive - - - -literal - - - -local_variable_declaration - - - -- - - - -method_modifiers - - - -element_access - - - -statement_list - - - -namespace_or_type_name - - - -identifier - - - -null_conditional_invocation_expression - - - -explicitly_typed_local_variable_declarator - - - -identifier - - - -i - - - -local - - - -member_access - - - -implicitly_typed_local_variable_declarator - - - -declaration_statement - - - -statement - - - -member_name - - - -identifier - - - -block - - - -method_declaration - - - -if - - - -object_initializer - - - -namespace_member_declaration - - - -unary_expression - - - -implicitly_typed_local_variable_declaration - - - -goto - - - -statement_list - - - -"a" - - - -class_member_declaration - - - -class_member_declaration - - - -; - - - -< - - - -fixed_parameter - - - -contextual_keyword - - - -local_variable_initializer - - - -identifier - - - -declaration_statement - - - -string - - - -object - - - -primary_expression - - - -local_variable_declaration - - - -identifier - - - -identifier - - - -int - - - -= - - - -expression - - - -{ - - - -type - - - -} - - - -using - - - -t - - - -explicitly_typed_local_variable_declarator - - - -; - - - -primary_expression - - - -* - - - -variable_initializer - - - -invocation_expression - - - -identifier - - - -variable_declarators - - - -i - - - -where - - - -expression - - - -; - - - -b - - - -regular_interpolation - - - -; - - - -positional_argument - - - -identifier - - - -identifier - - - -ref_method_modifier - - - -variable_declarators - - - -( - - - -identifier - - - -< - - - -expression - - - -ref_method_modifier - - - -type - - - -, - - - -) - - - -identifier - - - -assignment_operator - - - -return_type - - - -expression_statement - - - -anonymous_object_creation_expression - - - -attribute_section - - - -non_array_type - - - -primary_expression - - - -identifier - - - -identifier - - - -class_member_declaration - - - -local_variable_declaration - - - -Range - - - -fixed_parameter - - - -attribute_arguments - - - -literal - - - -identifier - - - -statement - - - -type - - - -identifier - - - -local_variable_declaration - - - -keyword - - - -{ - - - -literal - - - -identifier - - - -identifier - - - -) - - - -identifier - - - -statement - - - -return_type - - - -CoContra - - - -ref_method_modifier - - - -; - - - -< - - - -unary_expression - - - -@float - - - -type_arguments - - - -= - - - -local_variable_initializer - - - -member_access - - - -Method - - - -type - - - -. - - - -; - - - -int - - - -= - - - -a - - - -member_name - - - -length - - - -explicitly_typed_local_variable_declarators - - - -explicitly_typed_local_variable_declarators - - - -type_arguments - - - -statement - - - -block - - - -implicitly_typed_local_variable_declaration - - - -) - - - -expression - - - -goto_statement - - - -identifier - - - -integral_type - - - -operator_modifier - - - -assignment - - - -Sqrt - - - -identifier - - - -argument - - - -event_modifier - - - -block - - - -expression - - - -unary_expression - - - -type - - - -where_clause - - - -query_body_clauses - - - -identifier - - - -PI - - - -} - - - -non_array_type - - - -= - - - -argument_value - - - -constructor_initializer - - - -Test - - - -unary_expression - - - -type - - - -expression - - - -unary_expression - - - -{ - - - -float - - - -identifier - - - -( - - - -class_declaration - - - -1 - - - -121 - - - -argument_list - - - -Obsolete - - - -{ - - - -{ - - - -, - - - -unary_expression - - - -identifier - - - -type_parameter_list - - - -shift_expression - - - -qualified_alias_member - - - -identifier - - - -conditional_expression - - - -argument - - - -; - - - -identifier - - - -literal - - - -WriteLine - - - -literal - - - -type_argument - - - -explicitly_typed_local_variable_declarator - - - -boolean_expression - - - -explicitly_typed_local_variable_declarator - - - -; - - - -method - - - -throw - - - -method_declaration - - - -fixed_parameter - - - -member_access - - - -boolean_literal - - - -class - - - -block - - - --> - - - -relational_expression - - - -assignment - - - -; - - - -} - - - -} - - - -enum_member_declaration - - - -Recursive - - - -identifier - - - -implicitly_typed_local_variable_declaration - - - -identifier - - - -primary_expression - - - -literal - - - -local - - - -int - - - -identifier - - - -constructor_declaration - - - -; - - - -type - - - -primary_no_array_creation_expression - - - -integral_type - - - -block - - - -i - - - -namespace - - - -second - - - -method_body - - - -identifier - - - -public - - - -statement - - - -integral_type - - - -: - - - -; - - - -method_modifiers - - - -{ - - - -} - - - -stackalloc - - - -; - - - -expression - - - -+ - - - -field_declaration - - - -T - - - -statement_list - - - -Params - - - -this_access - - - -; - - - -method_declaration - - - -block - - - -identifier - - - -binary_operator_declarator - - - -< - - - -= - - - -LogAsync - - - -if_statement - - - -attribute - - - -Constants - - - -identifier - - - -Exception - - - -member_access - - - -] - - - -) - - - -} - - - -member_name - - - -explicitly_typed_local_variable_declarators - - - -class_member_declaration - - - -= - - - -statement_list - - - -) - - - -accessor_body - - - -; - - - -s - - - -@double - - - -= - - - -explicit - - - -event - - - -identifier - - - -identifier - - - -identifier - - - -namespace_or_type_name - - - -System - - - -; - - - -implicitly_typed_local_variable_declarator - - - -C - - - -fixed_parameter - - - -b - - - -rank_specifier - - - -null_conditional_member_access - - - -contextual_keyword - - - -element_initializer - - - -=> - - - -〔"〕 - - - -initializer_value - - - -query_body_clauses - - - -: - - - -{ - - - -statement_expression - - - -expression - - - -statement - - - -return_type - - - -assignment_operator - - - -; - - - -; - - - -explicitly_typed_local_variable_declarators - - - -type - - - -literal - - - -; - - - -expression_statement - - - -identifier - - - -interface_declaration - - - -literal - - - -{ - - - -i - - - -expression - - - -. - - - -try - - - -variable_initializer - - - -expression - - - -{ - - - -( - - - -expression_statement - - - -namespace_or_type_name - - - -argument_list - - - -integral_type - - - -namespace_or_type_name - - - -new - - - -null - - - -multiplicative_expression - - - -type_argument_list - - - -identifier - - - -. - - - -positional_argument_list - - - -literal - - - -identifier - - - -object_creation_expression - - - -using_statement - - - -= - - - -} - - - -implicitly_typed_local_variable_declarator - - - -literal - - - -( - - - -= - - - -type - - - -++ - - - -class_member_declaration - - - -null_coalescing_expression - - - -literal - - - -element_initializer - - - -expression - - - -p - - - -i - - - -Length - - - -method_body - - - -method_header - - - -statement - - - -type_parameter_constraints - - - -local_variable_declaration - - - -{ - - - -integral_type - - - -type - - - -literal - - - -fixed_size_buffer_declarators - - - -2 - - - -nullable_reference_type - - - -assignment - - - -( - - - -equality_expression - - - -x - - - -operator_modifier - - - -int - - - -primary_expression - - - -identifier - - - -f2 - - - -fixed_parameter - - - -null_literal - - - -statement_list - - - -statement_list - - - -) - - - -namespace_name - - - -1u - - - -embedded_statement - - - -Expression - - - -block - - - -( - - - -Resource - - - -Recursive - - - -implicitly_typed_local_variable_declarator - - - -1UL - - - -identifier - - - -identifier - - - -j - - - -[ - - - -explicitly_typed_local_variable_declaration - - - -; - - - -= - - - -statement - - - -identifier - - - -; - - - -explicit_anonymous_function_parameter - - - -member_name - - - -( - - - -public - - - -unary_expression - - - -1 - - - -) - - - -explicitly_typed_local_variable_declarators - - - -; - - - -statement_expression - - - -) - - - -0 - - - -literal - - - -explicitly_typed_local_variable_declarators - - - -foo - - - -i - - - -= - - - -method_modifiers - - - -explicitly_typed_local_variable_declaration - - - -( - - - -type_arguments - - - -accessor_body - - - -statement_expression - - - -= - - - -primary_no_array_creation_expression - - - -interpolated_regular_string_expression - - - -break - - - -method_declaration - - - -declaration_statement - - - -identifier - - - -i - - - -) - - - -( - - - -index - - - -local_variable_declaration - - - -"·" - - - -embedded_statement - - - -constant_expression - - - -contextual_keyword - - - -identifier - - - -field_modifier - - - -member_access - - - -primary_expression - - - -case - - - -string - - - -; - - - -type_argument - - - -statement - - - -s - - - -< - - - -expression - - - -member_access - - - -primary_expression - - - -"kernel32" - - - -identifier - - - -type_argument_list - - - -initializer_value - - - -method_header - - - -local_variable_declaration - - - -} - - - -identifier - - - -identifier - - - -statement - - - -rank_specifier - - - -NonExisting - - - -additive_expression - - - -expression - - - -T - - - -identifier - - - -, - - - -type_argument - - - -% - - - -== - - - -additive_expression - - - -multiplicative_expression - - - -; - - - -class_member_declaration - - - -} - - - -identifier - - - -assignment_operator - - - -expression_statement - - - -〔x·〕 - - - -fixed_parameters - - - -identifier - - - -ZipCode - - - -second - - - -( - - - -0 - - - -identifier - - - -] - - - -static - - - -{ - - - -primary_expression - - - -: - - - -> - - - -in - - - -( - - - -, - - - -; - - - -get - - - -inclusive_or_expression - - - -IDisposable - - - -field_modifier - - - -expression_statement - - - -unary_expression - - - -assignment - - - -new - - - -unary_expression - - - -argument_list - - - -identifier - - - -) - - - -throw - - - -int - - - -type_argument - - - -event_declaration - - - -simple_type - - - -object_initializer - - - -int - - - -211 - - - -= - - - -identifier - - - -statement_expression - - - -explicitly_typed_local_variable_declarator - - - -) - - - -integral_type - - - -statement - - - -[ - - - -explicitly_typed_local_variable_declarators - - - -identifier - - - -integral_type - - - -local0 - - - -func - - - -identifier - - - -b - - - -expression - - - -; - - - -public - - - -identifier - - - -primary_expression - - - -indexer_modifier - - - -statement - - - -0 - - - -int - - - -{ - - - -method_modifiers - - - -identifier - - - -non_nullable_value_type - - - -, - - - -literal - - - -identifier - - - -literal - - - -type_parameter_constraints - - - -} - - - -, - - - -statement_list - - - -; - - - -type_argument - - - -. - - - -( - - - -identifier - - - -( - - - -customers - - - -exception_specifier - - - -literal - - - -] - - - -primary_expression - - - -{ - - - -identifier - - - -set_accessor_declaration - - - -) - - - -primary_expression - - - -L - - - -identifier - - - -block - - - -explicitly_typed_local_variable_declarator - - - -identifier - - - -qualified_identifier - - - -; - - - -statement_expression - - - -{ - - - -( - - - -( - - - -literal - - - -for_iterator - - - -argument_list - - - -identifier - - - -literal - - - -P - - - -statement_list - - - -positional_argument_list - - - -expression - - - -identifier - - - -object_creation_expression - - - -identifier - - - -} - - - -operator_declaration - - - -attribute_target_specifier - - - -local_variable_initializer - - - -identifier - - - -type_arguments - - - -identifier - - - -variable_initializer - - - -argument_list - - - -[ - - - -local_variable_declaration - - - -method_modifiers - - - -local_variable_declaration - - - -] - - - -relational_expression - - - -{ - - - -= - - - -var - - - -variance_annotation - - - -class_member_declaration - - - -void - - - -interpolated_verbatim_string_expression - - - -boolean_literal - - - -type - - - -= - - - -additive_expression - - - -integral_type - - - -explicitly_typed_local_variable_declarator - - - -assignment - - - -method_header - - - -embedded_statement - - - -implicitly_typed_local_variable_declaration - - - -continue - - - -int - - - -identifier - - - -( - - - -method_declaration - - - -explicitly_typed_local_variable_declarators - - - -identifier - - - -argument_list - - - -operator_declarator - - - -null_coalescing_expression - - - -using_directive - - - -explicitly_typed_local_variable_declarator - - - -attribute_list - - - -; - - - -string - - - -res - - - -) - - - -return_type - - - -implicitly_typed_local_variable_declaration - - - -when - - - -statement - - - -additive_expression - - - -contextual_keyword - - - -identifier - - - -expression_statement - - - -expression - - - -( - - - -explicitly_typed_local_variable_declarator - - - -( - - - -] - - - -identifier - - - -identifier - - - -= - - - -; - - - -expression_statement - - - -return_statement - - - -String - - - -statement_expression - - - -identifier - - - -public - - - -[ - - - -declaration_statement - - - -? - - - -using - - - -switch_statement - - - -( - - - -implicitly_typed_local_variable_declarator - - - -identifier - - - -; - - - -interface_property_declaration - - - -= - - - -default - - - -expression - - - -statement - - - -R - - - -primary_expression - - - -identifier - - - -statement - - - -type_name - - - -attribute_list - - - -identifier - - - -primary_expression - - - -implicitly_typed_local_variable_declarator - - - -array_type - - - -method_declaration - - - -; - - - -identifier - - - -method_modifiers - - - -identifier - - - -expression - - - -identifier - - - -; - - - -case - - - -( - - - -identifier - - - -} - - - -invocation_expression - - - -primary_expression - - - -explicitly_typed_local_variable_declaration - - - -A - - - -object_creation_expression - - - -primary_expression - - - -; - - - -for_condition - - - -identifier - - - -= - - - -=> - - - -namespace_or_type_name - - - -> - - - -parameter_mode_modifier - - - -type_argument - - - -assignment_operator - - - -) - - - -explicitly_typed_local_variable_declaration - - - -, - - - -global_attributes - - - -nullable_value_type - - - -UL - - - -identifier - - - -method_header - - - -explicitly_typed_local_variable_declarator - - - -| - - - -declaration_statement - - - -) - - - -; - - - -null_conditional_member_access - - - -do_statement - - - -identifier - - - -identifier - - - -1D - - - -statement_expression - - - -expression - - - -statement_expression - - - -{ - - - -type - - - -identifier - - - -method_header - - - -; - - - -identifier - - - -, - - - -expression - - - -. - - - -expression - - - -block - - - -accessor_declarations - - - -return_statement - - - -variable_initializer - - - -T - - - -local_variable_initializer - - - -type_parameter_constraints - - - -< - - - -member_name - - - -) - - - -; - - - -> - - - -] - - - -identifier - - - -return_type - - - -statement - - - -expression_statement - - - -{ - - - -class_type - - - -identifier - - - -await_expression - - - -identifier - - - -S - - - -expression - - - -exclusive_or_expression - - - -statement - - - -method_header - - - -identifier - - - -+ - - - -identifier - - - -query_body_clauses - - - -declaration_statement - - - -B - - - -type - - - -local_variable_initializer - - - -identifier - - - -statement - - - -type - - - -statement_expression - - - -. - - - -interface_type - - - -block - - - -literal - - - -{ - - - -statement - - - -identifier - - - -1 - - - -block - - - -variable_initializer - - - -A - - - -= - - - -local_variable_initializer - - - -, - - - -statement - - - -variance_annotation - - - -) - - - -primary_expression - - - -var - - - -property_initializer - - - -* - - - -expression_statement - - - -l2 - - - -object_creation_expression - - - -= - - - -statement - - - -non_array_type - - - -[ - - - -type_argument_list - - - -e - - - -primary_expression - - - -true - - - -implicitly_typed_local_variable_declaration - - - -namespace_or_type_name - - - -type - - - -assembly - - - -operator_body - - - -literal - - - -identifier - - - -explicitly_typed_local_variable_declarator - - - -if_statement - - - -identifier - - - -local3 - - - -: - - - -A - - - -> - - - -statement - - - -this - - - -local_variable_initializer - - - -array_type - - - -identifier - - - -struct_member_declaration - - - -^ - - - -statement - - - -Point - - - -, - - - -type - - - -uL - - - -select_clause - - - -implicitly_typed_local_variable_declarator - - - -identifier - - - -System - - - -= - - - -local_variable_declaration - - - -case - - - -, - - - -( - - - -) - - - -attribute_section - - - -method_modifier - - - -Recursive - - - -literal - - - -i - - - -statement - - - -a - - - -accessor_modifier - - - -new - - - -identifier - - - -class_type - - - -( - - - -int - - - -primary_expression - - - -local_variable_initializer - - - -=> - - - -"" - - - -contextual_keyword - - - -invocation_expression - - - -identifier - - - -; - - - -primary_expression - - - -implicitly_typed_local_variable_declarator - - - -; - - - -f2 - - - -argument_list - - - -expression_statement - - - -"hello" - - - -throw_statement - - - -class_declaration - - - -new - - - -object_creation_expression - - - -( - - - -CLSCompliant - - - -unary_expression - - - -attribute - - - -first - - - -array_creation_expression - - - -statement_expression - - - -primary_expression - - - -1 - - - -event_accessor_declarations - - - -literal - - - -event_declaration - - - -identifier - - - -explicitly_typed_local_variable_declaration - - - -block - - - -local_variable_initializer - - - -return - - - -statement - - - -type - - - -identifier - - - -Test - - - -statement - - - -local_variable_initializer - - - -keyword - - - -identifier - - - -identifier - - - -"sss" - - - -type_argument_list - - - -pointer_indirection_expression - - - -0 - - - -NonSerialized - - - -method_body - - - -dynamic - - - -, - - - -multiplicative_expression - - - -invocation_expression - - - -namespace_or_type_name - - - -identifier - - - -identifier - - - -statement - - - -declaration_statement - - - -; - - - -explicitly_typed_local_variable_declaration - - - -byte - - - -switch_section - - - -foreach_statement - - - -identifier - - - -type_arguments - - - -statement - - - -; - - - -literal - - - -try - - - -null_literal - - - -local_variable_initializer - - - -statement - - - -async - - - -statement - - - -method_modifier - - - -= - - - -additive_expression - - - -invocation_expression - - - -assignment - - - -= - - - -literal - - - -namespace_member_declaration - - - -+ - - - -named_argument_list - - - -( - - - -i - - - -identifier - - - -member_name - - - -〔$"〕 - - - -identifier - - - -( - - - -b - - - -= - - - -variable_initializer - - - -type - - - -assignment_operator - - - -expression - - - -; - - - -explicitly_typed_local_variable_declaration - - - -> - - - -literal - - - -array_initializer - - - -{ - - - -explicitly_typed_local_variable_declarators - - - -i - - - -statement - - - -; - - - -3 - - - -; - - - -statement - - - -; - - - -assignment - - - -identifier - - - -implicitly_typed_local_variable_declarator - - - -{ - - - -identifier - - - -invocation_expression - - - -local_variable_declaration - - - -. - - - -, - - - -operator_declarator - - - -{ - - - -new - - - -statement - - - -identifier - - - -explicitly_typed_local_variable_declarators - - - -( - - - -inclusive_or_expression - - - -} - - - -) - - - -= - - - -type - - - -type_arguments - - - -method - - - -statement - - - -~ - - - -0 - - - -integral_type - - - -type_parameter_list - - - -statement_list - - - -0 - - - -ref_method_modifier - - - -get - - - -) - - - -assignment_operator - - - -{ - - - -identifier - - - -; - - - -local_variable_declaration - - - -, - - - -indexer_body - - - -relational_expression - - - -return - - - -; - - - -, - - - -class_modifier - - - -set - - - -type - - - -identifier - - - -unsafe - - - -identifier - - - -= - - - -Obsolete - - - -assignment_operator - - - -declaration_statement - - - -literal - - - -attribute_name - - - -local_constant_declaration - - - -type_arguments - - - -) - - - -[ - - - -identifier - - - -assignment_operator - - - -identifier - - - -, - - - -multiplicative_expression - - - -. - - - -expression - - - -:: - - - -, - - - -identifier - - - -expression_statement - - - -Handler - - - -identifier - - - -identifier - - - -assignment_operator - - - -121 - - - -Count - - - -var - - - -statement - - - -{ - - - -declaration_expression - - - -object_creation_expression - - - -type_argument_list - - - -in - - - -new - - - -identifier - - - -++ - - - -attribute_list - - - -local_variable_initializer - - - -type - - - -class_declaration - - - -property_modifier - - - -〔\n···································""\〕 - - - -method_modifiers - - - -identifier - - - -method_modifiers - - - -identifier - - - -label - - - -} - - - -type - - - -join - - - -statement_list - - - -type_argument_list - - - -identifier - - - -variant_type_parameters - - - -string - - - -identifier - - - -2 - - - -identifier - - - -= - - - -} - - - -local_variable_declaration - - - -dictionaryInitializer - - - -Params - - - -type_parameter_constraints - - - -= - - - -delegate_declaration - - - -i - - - -inclusive_or_expression - - - -identifier - - - -expression - - - -member_name - - - -identifier - - - -constant_expression - - - -primary_expression - - - -a - - - -namespace_or_type_name - - - -in - - - -select - - - -prog - - - -} - - - -unary_expression - - - -block - - - -* - - - -identifier - - - -pattern - - - -property_body - - - -assignment - - - -result - - - -> - - - -select_or_group_clause - - - -local_variable_initializer - - - -lambda_expression - - - -null - - - -member_access - - - -> - - - -type - - - -Length - - - -) - - - -anonymous_function_signature - - - -expression - - - -assignment - - - -literal - - - -identifier - - - -member_name - - - -boolean_literal - - - -identifier - - - -identifier - - - -class_member_declaration - - - -) - - - -additive_expression - - - -res - - - -identifier - - - -} - - - -invocation_expression - - - -, - - - -) - - - -expression - - - -initializer_target - - - -statement_list - - - -namespace_member_declaration - - - -type - - - -invocation_expression - - - -( - - - -; - - - -} - - - -integral_type - - - -member_access - - - -3 - - - -> - - - -identifier - - - -new - - - -identifier - - - -, - - - -get_accessor_declaration - - - -implicitly_typed_local_variable_declaration - - - -ref_method_modifier - - - -explicitly_typed_local_variable_declarators - - - -class_member_declaration - - - -expression - - - -assignment_operator - - - -nullable_type_annotation - - - -type_arguments - - - -〔$"〕 - - - -identifier - - - -return_type - - - -; - - - -post_increment_expression - - - -, - - - -statement - - - -local_variable_declaration - - - -= - - - -identifier - - - -statement_list - - - -type_arguments - - - -additive_expression - - - -literal - - - -statement - - - -literal - - - -parameter_mode_modifier - - - -explicitly_typed_local_variable_declaration - - - -identifier - - - -post_increment_expression - - - -identifier - - - -statement - - - -partial - - - -class_member_declaration - - - -expression - - - -identifier - - - -explicitly_typed_local_variable_declaration - - - -identifier - - - -args - - - -identifier - - - -> - - - -〔$"〕 - - - -literal - - - -type_arguments - - - -. - - - -〔:d〕 - - - -type - - - -namespace_or_type_name - - - -implicitly_typed_local_variable_declarator - - - -abstract - - - -int - - - -type - - - -attribute_list - - - -yield - - - -literal - - - -ConstructedType - - - -identifier - - - -value - - - -void - - - -statement - - - -return_type - - - -public - - - -type - - - -operator_declaration - - - -primary_expression - - - -statement - - - -attributes - - - -identifier - - - -implicitly_typed_local_variable_declaration - - - -literal - - - -parenthesized_expression - - - -unary_expression - - - -for_statement - - - -=> - - - -accessor_declarations - - - -local_variable_declaration - - - -. - - - -{ - - - -local_variable_declaration - - - -class_member_declaration - - - -non_array_type - - - -finally - - - -break - - - -unary_expression - - - -explicitly_typed_local_variable_declaration - - - -identifier - - - -= - - - -Comments - - - -method_modifiers - - - -( - - - -= - - - -identifier - - - -fixed_parameter - - - -} - - - -C - - - -= - - - -iefSupplied - - - -statement - - - -( - - - -statement - - - -@decimal - - - -additive_expression - - - -customers - - - -declaration_statement - - - -identifier - - - -member_initializer - - - -type_parameter_constraints_clause - - - -expression_statement - - - -statement_expression - - - -variable_initializer - - - -local_variable_type - - - -namespace - - - -equality_expression - - - -assignment - - - -namespace_body - - - -simple_type - - - -expression - - - -join_clause - - - -statement_list - - - -return_statement - - - -literal - - - -method_body - - - -primary_expression - - - -%= - - - -Age - - - -i - - - -implicitly_typed_local_variable_declaration - - - -statement - - - -literal - - - -using - - - -arr - - - -true - - - -class_declaration - - - -method_modifiers - - - -statement_list - - - -compilation_unit - - - -statement_expression - - - -literal - - - -] - - - -expression_statement - - - -statement_list - - - -type - - - -invocation_expression - - - -identifier - - - -void - - - -type_name - - - -non_nullable_value_type - - - -event - - - -declaration_statement - - - -declaration_statement - - - -element_initializer_list - - - -t - - - -set - - - -identifier - - - -Point - - - -declaration_statement - - - -namespace_declaration - - - -assignment - - - -statement_list - - - -< - - - -type - - - -statement - - - -( - - - -] - - - -"Jane" - - - -statement_expression - - - -counter - - - -ref_method_modifier - - - -identifier - - - -statement - - - -type - - - -verbatimStr - - - -( - - - -i - - - -fixed_parameter - - - -int - - - -type_arguments - - - -; - - - -statement - - - -using_directive - - - -) - - - -local_variable_declaration - - - -identifier - - - -block - - - -type - - - -( - - - -return - - - -expression - - - -expression_statement - - - -res - - - -void - - - -break_statement - - - -unmanaged_type - - - -attribute_name - - - -attribute_section - - - -< - - - -local_constant_declaration - - - -MyClass - - - -method_body - - - -= - - - -interface - - - -var - - - -fixed - - - -4 - - - -expression_list - - - -type_parameter_list - - - -method_modifiers - - - -[ - - - -class_member_declaration - - - -: - - - -anonymous_function_body - - - -MyObject - - - -method_body - - - -} - - - -return_type - - - -; - - - -explicitly_typed_local_variable_declaration - - - -expression - - - -0 - - - -( - - - -contextual_keyword - - - -type - - - -block - - - -type - - - -: - - - -statement - - - -i - - - -"Use·Script·instead" - - - -class_type - - - -query_body_clause - - - -statement - - - -Items - - - -A - - - -var - - - -collection_initializer - - - -Console - - - -primary_expression - - - -〔$"〕 - - - -> - - - -ToString - - - -get - - - -type_parameter_list - - - -dependent_access - - - -x - - - -public - - - -static - - - -member_access - - - -literal - - - -attribute_name - - - -, - - - -operator - - - -accessor_declarations - - - -; - - - -expression - - - -primary_expression - - - -[ - - - -. - - - -Where - - - -; - - - -K - - - -EventHandler - - - -> - - - -implicitly_typed_local_variable_declaration - - - -multiplicative_expression - - - -member_name - - - -namespace_or_type_name - - - -"{0}·" - - - -explicitly_typed_local_variable_declarator - - - -^ - - - -primary_expression - - - -Obsolete - - - -number - - - -< - - - -member_access - - - -; - - - -( - - - -: - - - -using_statement - - - -hexchar2 - - - -= - - - -additive_expression - - - -implicitly_typed_local_variable_declaration - - - -type_arguments - - - -static - - - -initializer_value - - - -ref_method_modifier - - - -= - - - -var - - - -and_expression - - - -class_member_declaration - - - -block - - - -int - - - -av - - - -null - - - -attribute_list - - - -explicitly_typed_local_variable_declarators - - - -literal - - - -integral_type - - - -type - - - -+ - - - -identifier - - - -expression_statement - - - -< - - - -declaration_statement - - - -0 - - - -anonymous_object_initializer - - - -using_static_directive - - - -explicitly_typed_local_variable_declarators - - - -IComparable - - - -namespace_member_declaration - - - -implicitly_typed_local_variable_declarator - - - -identifier - - - -type - - - -unary_expression - - - -object_creation_expression - - - -primary_expression - - - -identifier - - - -static - - - -contextual_keyword - - - -expression_statement - - - -} - - - -Foo - - - -local_variable_initializer - - - -i - - - -= - - - -P - - - -System - - - -local_variable_declaration - - - -relational_expression - - - -operator_declaration - - - -statement - - - -; - - - -unary_expression - - - -expression - - - -namespace_or_type_name - - - -for - - - -attribute - - - -operator_declarator - - - -u - - - -identifier - - - -int - - - -identifier - - - -type - - - -Enumerable - - - -unary_expression - - - -identifier - - - -statement - - - -identifier - - - -local_variable_declaration - - - -( - - - -= - - - -method_body - - - -identifier - - - -break - - - -explicitly_typed_local_variable_declarator - - - -method_modifiers - - - -〔,·G=〕 - - - -return_type - - - -implicitly_typed_local_variable_declarator - - - -"str" - - - -member_access - - - -var - - - -expression_statement - - - -identifier - - - -statement_expression - - - -exception_specifier - - - -= - - - -explicitly_typed_local_variable_declarators - - - -unary_expression - - - -declaration_statement - - - -statement - - - -Obsolete - - - -1U - - - -statement - - - -additive_expression - - - -T - - - -delegate_modifier - - - -] - - - -= - - - -:: - - - -local_variable_declaration - - - -; - - - -identifier - - - -} - - - -) - - - -{ - - - -} - - - -type - - - -} - - - -remove - - - -argument_list - - - -identifier - - - -invocation_expression - - - -primary_expression - - - -) - - - -) - - - -. - - - -identifier - - - -literal - - - -explicitly_typed_local_variable_declarator - - - -expression - - - -= - - - -identifier - - - -object - - - -. - - - -public - - - -null_literal - - - -expression - - - -multiplicative_expression - - - -typeof - - - -〔"〕 - - - -using - - - -explicitly_typed_local_variable_declarator - - - -b - - - -statement - - - -; - - - -x - - - -; - - - -variable_initializer - - - -identifier - - - -{ - - - -attribute - - - -explicitly_typed_local_variable_declarator - - - -identifier - - - -> - - - -using_directive - - - -variable_initializer - - - -Dictionary - - - -System - - - -accessor_body - - - -boolean_expression - - - -point - - - -Main - - - -BinaryReader - - - -object_creation_expression - - - -multiplicative_expression - - - -null - - - -virtual - - - -. - - - -field_declaration - - - -i - - - -explicitly_typed_local_variable_declarators - - - -argument - - - -conditional_and_expression - - - -; - - - -attribute_target_specifier - - - -identifier - - - -shift_expression - - - -type_arguments - - - -multiplicative_expression - - - -< - - - -, - - - -contextual_keyword - - - -} - - - -> - - - -; - - - -identifier - - - -0 - - - -= - - - -second - - - -collection_initializer - - - -First - - - -jagged - - - -identifier - - - -d - - - -inclusive_or_expression - - - -0 - - - -identifier - - - -( - - - -local_variable_declaration - - - -5 - - - -property_modifier - - - -++ - - - -local_variable_declaration - - - -block - - - -) - - - -local_variable_initializer - - - -identifier - - - -method_header - - - -{ - - - -if_statement - - - -identifier - - - -} - - - -class_member_declaration - - - -= - - - -( - - - -contextual_keyword - - - -B - - - -; - - - -2 - - - -identifier - - - -struct_modifier - - - -} - - - -variable_initializer_list - - - -literal - - - -identifier - - - -A - - - -return_statement - - - -contextual_keyword - - - -Add - - - -implicitly_typed_local_variable_declaration - - - -p - - - -equality_expression - - - -OpenAsync - - - -namespace_or_type_name - - - -111 - - - -variable_initializer_list - - - -literal - - - -identifier - - - -local_variable_declaration - - - -expression - - - -identifier - - - -〔,·A=〕 - - - -false - - - -@double - - - -explicitly_typed_local_variable_declaration - - - -namespace_or_type_name - - - -Obsolete - - - -attributes - - - -query - - - -identifier - - - -= - - - -identifier - - - -constant_expression - - - -[ - - - -literal - - - -operator_modifier - - - -integral_type - - - -expression - - - -100 - - - -literal - - - -; - - - -method_body - - - -= - - - -variant_type_parameters - - - -{ - - - -assignment_operator - - - -attributes - - - -first - - - -anonymous_function_signature - - - -"a" - - - -local_variable_declaration - - - -Nullable - - - -identifier - - - -block - - - -strValue - - - -class - - - -explicitly_typed_local_variable_declarators - - - -override - - - -Count - - - -return_type - - - -integral_type - - - -identifier - - - -Orders - - - -DownloadStringTaskAsync - - - -int - - - -identifier - - - -assignment - - - -expression - - - -anonymous_function_body - - - -type - - - -identifier - - - -specific_catch_clause - - - -( - - - -contextual_keyword - - - -statement_list - - - -class_body - - - -multiplicative_expression - - - -attributes - - - -( - - - -R - - - -explicitly_typed_local_variable_declaration - - - -argument_list - - - -13 - - - -type - - - -class_type - - - -specific_catch_clause - - - -multiplicative_expression - - - -expression - - - -method_declaration - - - -false - - - -type - - - -> - - - -contextual_keyword - - - -identifier - - - -int - - - -"Name" - - - -local_variable_declaration - - - -class_base - - - -null_coalescing_expression - - - -assignment_operator - - - -< - - - -int - - - -for - - - -relational_expression - - - -var - - - -attribute_section - - - -type - - - -unary_expression - - - -type - - - -Expression - - - -) - - - -; - - - -bool - - - -explicitly_typed_local_variable_declarators - - - -identifier - - - -void - - - -conversion_operator_declarator - - - -identifier - - - -identifier - - - -multiplicative_expression - - - -identifier - - - -attribute_section - - - -block - - - -namespace_body - - - -} - - - -; - - - -array_initializer - - - -event - - - -g - - - -identifier - - - -method_header - - - -? - - - -lambda_expression - - - -primary_expression - - - -implicitly_typed_local_variable_declarator - - - -, - - - -finalizer_declaration - - - -< - - - -if - - - -block - - - -: - - - -p - - - -regular_interpolation - - - -using_namespace_directive - - - -throw - - - -integral_type - - - -expression_statement - - - -local_variable_declaration - - - -identifier - - - -right_shift_assignment - - - -invocation_expression - - - -struct_member_declaration - - - -declaration_statement - - - -System - - - -protected - - - -explicitly_typed_local_variable_declaration - - - -object_creation_expression - - - -statement - - - -constructor_declarator - - - -element_access - - - -multiplicative_expression - - - -literal - - - -; - - - -A - - - -public - - - -; - - - -expression_statement - - - -declaration_statement - - - -( - - - -GetHashCode - - - -fixed_parameters - - - -set_accessor_declaration - - - -) - - - -lu - - - -method_modifier - - - -expression - - - -=> - - - -assignment - - - -statement - - - -} - - - -} - - - -fixed_pointer_declarator - - - -identifier - - - -unary_expression - - - -) - - - -declaration_statement - - - -identifier - - - -, - - - -expression_list - - - -Action - - - -multiplicative_expression - - - -int - - - -contextual_keyword - - - -dynamic - - - -; - - - -identifier - - - -identifier - - - -multiplicative_expression - - - -= - - - -invocation_expression - - - -i - - - -) - - - -1 - - - -explicitly_typed_local_variable_declaration - - - -integral_type - - - -2 - - - -Threading - - - -accessor_declarations - - - -member_initializer - - - -local_variable_declaration - - - -value - - - -literal - - - -=> - - - -primary_expression - - - -{ - - - -; - - - -variable_initializer - - - -, - - - -statement_expression - - - -( - - - -parameter_modifier - - - -null_literal - - - -namespace_declaration - - - -internal - - - -; - - - -int - - - -Age - - - -primary_expression - - - -identifier - - - -} - - - -local_variable_initializer - - - -var - - - -; - - - -primary_expression - - - -equality_expression - - - -{ - - - -class_member_declaration - - - -) - - - -delegate_declaration - - - -b - - - -9 - - - -specific_catch_clause - - - -this - - - -explicitly_typed_local_variable_declarators - - - -{ - - - -( - - - -type_argument - - - -namespace_or_type_name - - - -explicitly_typed_local_variable_declaration - - - -lambda_expression - - - -expression_statement - - - -additive_expression - - - -type - - - -array_initializer - - - -= - - - -equals - - - -A - - - -identifier - - - -type - - - -( - - - -) - - - -conditional_or_expression - - - -[ - - - -statement - - - -method_body - - - -attribute_target_specifier - - - -] - - - -= - - - -statement - - - -identifier - - - -conversion_operator_declarator - - - -block - - - -identifier - - - -statement - - - -identifier - - - -statement_list - - - -multiplicative_expression - - - -declaration_statement - - - -; - - - -} - - - -identifier - - - -statement - - - -literal - - - -Ul - - - -equality_expression - - - -using_static_directive - - - -identifier - - - -; - - - -class_member_declaration - - - -< - - - -> - - - -) - - - -method_body - - - -get_accessor_declaration - - - -ref_method_modifier - - - -; - - - -expression_statement - - - -type_argument_list - - - -multiplicative_expression - - - -declaration_statement - - - -literal - - - -> - - - -declaration_statement - - - -literal - - - -. - - - -System - - - -for_iterator - - - -Method - - - -i - - - -i - - - -set - - - -method_header - - - -= - - - -handler - - - -CoContra2 - - - -identifier - - - -identifier - - - -* - - - -argument - - - -, - - - -event_declaration - - - -identifier - - - -; - - - -operator_modifier - - - -typeof_expression - - - -namespace_or_type_name - - - -unary_expression - - - -relational_expression - - - -variable_declarators - - - -protected - - - -* - - - -contextual_keyword - - - -primary_expression - - - -literal - - - -WriteLine - - - -exclusive_or_expression - - - -; - - - -a - - - -literal - - - -identifier - - - -void - - - -default_argument - - - -, - - - -explicitly_typed_local_variable_declarators - - - -expression - - - -argument_list - - - -type - - - -await_expression - - - -constant_expression - - - -statement - - - -get_accessor_declaration - - - -identifier - - - -embedded_statement - - - -) - - - -implicitly_typed_local_variable_declarator - - - -A - - - -. - - - -; - - - -expression - - - -identifier - - - -member_access - - - -'c' - - - -statement_expression - - - -implicitly_typed_local_variable_declarator - - - -accessor_body - - - -u - - - -literal - - - -method_declaration - - - -void - - - -fixed_parameter - - - -type_arguments - - - -additive_expression - - - -( - - - -: - - - -parameter_list - - - -assignment_operator - - - -s - - - -M - - - -( - - - -( - - - -contextual_keyword - - - -= - - - -boolean_expression - - - -e - - - -literal - - - -identifier - - - -additive_expression - - - -( - - - -unary_expression - - - -} - - - -local_variable_initializer - - - -var - - - -primary_expression - - - -= - - - -assignment - - - -) - - - -B - - - -operator - - - -type_argument_list - - - -( - - - -yield_statement - - - -relational_expression - - - -) - - - -identifier - - - -T - - - -( - - - -variant_type_parameters - - - -. - - - -expression - - - -MaxValue - - - -attribute - - - -contextual_keyword - - - -array_initializer - - - -type - - - -7 - - - -v - - - -type - - - -identifier - - - -statement_expression - - - -[ - - - -identifier - - - -identifier - - - -identifier - - - -implicitly_typed_local_variable_declaration - - - -intValue - - - -literal - - - -0 - - - -cube - - - -set - - - -class_type - - - -explicitly_typed_local_variable_declaration - - - -} - - - -interface_member_declaration - - - -= - - - -return_type - - - -statement_expression - - - -volatile - - - -expression - - - -primary_expression - - - -] - - - -declaration_statement - - - -array_type - - - -0 - - - -statement_expression - - - -namespace_or_type_name - - - -int - - - -inclusive_or_expression - - - -using - - - -non_array_type - - - -"Doe" - - - -namespace_body - - - -type - - - -. - - - -{ - - - -} - - - -assignment - - - -type_argument_list - - - -local_variable_declaration - - - -} - - - -block - - - -statement - - - -continue - - - -type_arguments - - - -literal - - - -statement - - - -namespace_or_type_name - - - -class_member_declaration - - - -method_declaration - - - -= - - - -local_variable_declaration - - - -attribute_section - - - -; - - - -20 - - - -namespace_declaration - - - -identifier - - - -var - - - -contextual_keyword - - - -bool - - - -X - - - -literal - - - -int - - - -; - - - -primary_expression - - - -argument - - - -identifier - - - -conditional_expression - - - -method_declaration - - - -primary_expression - - - -boolean_expression - - - -= - - - -var - - - -in - - - -try_statement - - - -identifier - - - -array_initializer - - - -type_argument - - - -A - - - -identifier - - - -var - - - -statement_list - - - -unary_expression - - - -) - - - -{ - - - -attribute_arguments - - - -var - - - -/ - - - -local_variable_declaration - - - -type_parameters - - - -char - - - -string - - - -yield - - - -; - - - -class_member_declaration - - - -null_conditional_member_access - - - -B - - - -identifier - - - -pointer_type - - - -false - - - -customers - - - -explicitly_typed_local_variable_declarators - - - -method_modifier - - - -implicitly_typed_local_variable_declaration - - - -{ - - - -p - - - -( - - - -int - - - -additive_expression - - - -contextual_keyword - - - -interpolated_verbatim_string_expression - - - -interface_method_declaration - - - -identifier - - - -type - - - -cast_expression - - - -fixed_pointer_initializer - - - -class_type - - - -identifier - - - -j - - - -literal - - - -literal - - - -implicitly_typed_local_variable_declarator - - - -, - - - -value - - - -identifier - - - -B - - - -attribute_arguments - - - -identifier - - - -My - - - -E - - - -10 - - - -statement - - - -statement - - - -constructor_body - - - -class_body - - - -literal - - - -expression_statement - - - -argument_name - - - -, - - - -local_variable_declaration - - - -statement - - - -literal - - - -constant_declarators - - - -additive_expression - - - -= - - - -boolean_literal - - - -expression_statement - - - -explicitly_typed_local_variable_declarator - - - -identifier - - - -( - - - -, - - - -class_type - - - -identifier - - - -assignment_operator - - - -identifier - - - -local_variable_declaration - - - -= - - - -unary_expression - - - -= - - - -identifier - - - -into - - - -variable_initializer_list - - - -type - - - -local4 - - - -@long - - - -assignment - - - -declaration_statement - - - -additive_expression - - - -expression - - - -{ - - - -attribute_arguments - - - -exclusive_or_expression - - - -class_declaration - - - -float - - - -identifier - - - -type - - - -identifier - - - -) - - - -class_member_declaration - - - -= - - - -implicitly_typed_local_variable_declaration - - - -identifier - - - -identifier - - - -declaration_statement - - - -. - - - -( - - - -0 - - - -; - - - -type_arguments - - - -rank_specifier - - - -type - - - -type - - - -Bar2 - - - -literal - - - -ulong - - - -explicitly_typed_local_variable_declaration - - - -multiplicative_expression - - - -{ - - - -identifier - - - -local_variable_initializer - - - -variable_declarators - - - -type_parameters - - - -) - - - -type_argument_list - - - -additive_expression - - - -value_type - - - -relational_expression - - - -local_variable_declaration - - - -( - - - -identifier - - - -type_parameter - - - -for_initializer - - - -identifier - - - -attribute_section - - - -< - - - -Список - - - -[ - - - -expression - - - -protected - - - -integral_type - - - -{ - - - -statement_list - - - -boolean_literal - - - -identifier - - - -nullable_value_type - - - -new - - - -( - - - -assignment - - - -first - - - -primary_expression - - - -T - - - -constant_declarator - - - -anonymous_object_initializer - - - -local_variable_initializer - - - -ref_method_modifier - - - -( - - - -class_member_declaration - - - -identifier - - - -accessor_body - - - -WriteLine - - - -?? - - - -type - - - -identifier - - - -; - - - -assignment - - - -type - - - -struct_member_declaration - - - -void - - - -expression_statement - - - -empty_statement - - - -literal - - - -literal - - - -i - - - -member_access - - - -- - - - -new - - - -namespace_member_declaration - - - -ref_method_modifier - - - -boolean_expression - - - -a - - - -return - - - -indexer_modifier - - - -statement - - - -type_argument - - - -attribute_list - - - -[ - - - -identifier - - - -assignment - - - -relational_expression - - - -local_variable_initializer - - - -identifier - - - -identifier - - - -method_header - - - -false - - - -type - - - -3 - - - -implicitly_typed_local_variable_declaration - - - -local_variable_type - - \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/_Disable_Sample.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/_Disable_Sample.txt deleted file mode 100644 index 8c0c6d9f1..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/_Disable_Sample.txt +++ /dev/null @@ -1,8 +0,0 @@ -This file disables the sample – it is not reported in the skip count -but will be reported as disabled if verbose is on. - -The file does not need to contain anything. -==================================================================== -This particular sample is disabled as it has been split into twenty -parts for ease of maintenance. The sample files are valid and sample -may be un manually or by removing this file (locally). \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/_Sample_Options.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/_Sample_Options.txt deleted file mode 100644 index e5715448f..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6/_Sample_Options.txt +++ /dev/null @@ -1 +0,0 @@ --ms Base -rt \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.red.txt deleted file mode 100644 index 8ea666ca8..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.red.txt +++ /dev/null @@ -1 +0,0 @@ -(prog (compilation_unit (namespace_member_declaration (class_declaration class (identifier CSharp70) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier PatternMatching)) ( (parameter_list (fixed_parameters (fixed_parameter (type (class_type string)) (identifier arg)) , (fixed_parameter (type (integral_type int)) (identifier b)))) )) (method_body (block { (statement_list (statement (switch_statement switch ( (expression (identifier arg)) ) (switch_block { (switch_section (switch_label case (pattern (literal "A")) (case_guard when (expression (relational_expression (relational_expression (identifier b)) > (shift_expression (literal 50))))) :) (switch_label case (pattern (literal "B")) (case_guard when (expression (relational_expression (relational_expression (identifier b)) < (shift_expression (literal 50))))) :) (switch_label default :) (statement_list (break_statement break ;))) }))) (statement (expression_statement (statement_expression (assignment (unary_expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) (identifier D))) , (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier E) (type_argument_list < (type_arguments (type_argument (identifier F)) , (type_argument (identifier G))) >))) (identifier H))) ))) (assignment_operator =) (expression (identifier e)))) ;)) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (null_conditional_member_access (primary_expression (null_conditional_member_access (primary_expression (identifier x)) ? . (identifier y))) ? . (identifier z))) is (pattern (declaration_pattern (type (identifier Type)) (simple_designation (identifier value2)))))) ) (embedded_statement (block { })))) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier expr)) is (pattern (declaration_pattern (type (identifier Type)) (simple_designation (identifier v)))))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (invocation_expression (primary_expression (identifier Hello)) ( ))) ;)) }))))) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier static)) (method_modifier async)) (return_type (identifier Task)) (method_header (member_name (identifier LocalFunctions)) ( (parameter_list (fixed_parameter (type (array_type (non_array_type (class_type string)) (rank_specifier [ ]))) (identifier args))) )) (method_body (block { (statement_list (statement (local_function_declaration (return_type (class_type string)) (local_function_header (identifier Hello2) ( (parameter_list (fixed_parameter (type (integral_type int)) (identifier i))) )) (local_function_body (block { (statement_list (return_statement return (expression (element_access (primary_no_array_creation_expression (identifier args)) [ (argument_list (identifier i)) ])) ;)) })))) (statement (local_function_declaration (local_function_modifier async) (return_type (namespace_or_type_name (identifier Task) (type_argument_list < (type_arguments (class_type string)) >))) (local_function_header (identifier Hello) (type_parameter_list < (decorated_type_parameter (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier i))) )) (local_function_body => (expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Task)) . (identifier FromResult))) ( (argument_list (element_access (primary_no_array_creation_expression (identifier args)) [ (argument_list (identifier i)) ])) ))))) ;))) (statement (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (identifier Hello)) ( (argument_list (literal 1)) ))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier static))) (return_type void) (method_header (member_name (identifier OutVar)) ( (parameter_list (fixed_parameter (type (array_type (non_array_type (class_type string)) (rank_specifier [ ]))) (identifier args))) )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (predefined_type int) . (identifier TryParse))) ( (argument_list (argument (invocation_expression (primary_expression (identifier Hello)) ( (argument_list (literal 1)) ))) , (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (contextual_keyword var)) (identifier item)))))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (predefined_type int) . (identifier TryParse))) ( (argument_list (argument (invocation_expression (primary_expression (identifier Hello)) ( (argument_list (literal 1)) ))) , (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (integral_type int)) (identifier item)))))) ))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ThrowExpression)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier result) = (expression (null_coalescing_expression (conditional_or_expression (identifier nullableResult)) ?? (null_coalescing_expression (throw_expression throw (null_coalescing_expression (object_creation_expression new (type (identifier NullReferenceException)) ( )))))))))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier BinaryLiterals)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier nineteen) = (local_variable_initializer (literal 0b10011)))))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier DigitSeparators)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier bin) = (local_variable_initializer (literal 0b1001_1010_0001_0100)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier hex) = (local_variable_initializer (literal 0x1b_a0_44_fe)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier dec) = (local_variable_initializer (literal 33_554_432)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier weird) = (local_variable_initializer (literal 1_2__3___4____5_____6______7_______8________9)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type double)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier real) = (local_variable_initializer (literal 1_000.111_1e-1_000)))))) ;))) })))) }))) (namespace_member_declaration (class_declaration class (identifier CSharp71) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier DefaultWithoutTypeName)) ( (parameter_list (fixed_parameter (type (class_type string)) (identifier content) (default_argument = (expression (default_literal default))))) )) (method_body (block { (statement_list (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DefaultWithoutTypeName)) ( (argument_list (default_literal default)) ))) ;)) })))) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier TupleRecognize)) ( (parameter_list (fixed_parameters (fixed_parameter (type (integral_type int)) (identifier a)) , (fixed_parameter (type (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) ))) (identifier b)) , (fixed_parameter (type (nullable_value_type (non_nullable_value_type (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) ))) (nullable_type_annotation ?))) (identifier c)))) )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier result) = (expression (invocation_expression (primary_expression (member_access (primary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier list)) . (identifier Select))) ( (argument_list (lambda_expression (anonymous_function_signature (identifier c)) => (anonymous_function_body (tuple_expression ( (tuple_element (member_access (primary_expression (identifier c)) . (identifier f1))) , (tuple_element (identifier f3) : (expression (member_access (primary_expression (identifier c)) . (identifier f2)))) ))))) ))) . (identifier Where))) ( (argument_list (lambda_expression (anonymous_function_signature (identifier t)) => (anonymous_function_body (equality_expression (equality_expression (member_access (primary_expression (identifier t)) . (identifier f2))) == (relational_expression (literal 1)))))) )))))) ;)) })))) }))) (namespace_member_declaration (class_declaration class (identifier CSharp72) (class_body { (class_member_declaration (struct_declaration (struct_modifier readonly) struct (identifier ReadonlyRef1) (struct_body { (struct_member_declaration (field_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_arguments (type_argument (integral_type int)) , (type_argument (integral_type int))) >))) (variable_declarators (variable_declarator (identifier s) = (variable_initializer (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (anonymous_function_parameter_modifier in) (type (integral_type int)) (identifier x))) ))) => (anonymous_function_body (identifier x)))))) ;)) (struct_member_declaration (indexer_declaration (ref_kind ref) (indexer_declarator (type (identifier TValue)) this [ (parameter_list (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier TKey)) (identifier index))) ]) (ref_indexer_body => ref (variable_reference (null_literal null)) ;))) (struct_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (binary_operator_declarator (type (identifier Vector3)) operator (overloadable_binary_operator +) ( (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier x)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier y)) ))) (operator_body => (expression (null_literal null)) ;))) (struct_member_declaration (method_declaration (ref_method_modifiers (ref_method_modifier static)) (ref_kind ref readonly) (ref_return_type (identifier Vector3)) (method_header (member_name (identifier M1_Trace)) ( )) (ref_method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration (ref_kind ref readonly) var (ref_local_variable_declarator (identifier r1) = ref (variable_reference (invocation_expression (primary_expression (identifier M1)) ( )))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_ref_local_variable_declaration (ref_kind ref readonly) (type (identifier Vector3)) (ref_local_variable_declarators (ref_local_variable_declarator (identifier r2) = ref (variable_reference (explictly_typed_default default ( (type (identifier Vector3)) ))))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier Mutate)) ( (argument_list (argument_value ref (variable_reference (identifier r1)))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier Print)) ( (argument_list (argument_value in (variable_reference (identifier r1)))) ))) ;)) (statement (return_statement return ref (variable_reference (identifier r1)) ;))) })))) }))) (class_member_declaration (struct_declaration ref struct (identifier ReadonlyRef2) (struct_body { (struct_member_declaration (method_declaration ref_method_modifiers (ref_kind ref readonly) (ref_return_type (identifier Guid)) (method_header (member_name (identifier Test)) ( (parameter_list (fixed_parameters (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier v1)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier v2)))) )) (ref_method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier v1)) (assignment_operator =) (expression (explictly_typed_default default ( (type (identifier Vector3)) ))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (member_access (primary_expression (identifier v1)) . (identifier X))) (assignment_operator =) (expression (literal 0)))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier foo)) ( (argument_list (argument_value ref (variable_reference (member_access (primary_expression (identifier v1)) . (identifier X))))) ))) ;)) (statement (return_statement return ref (variable_reference (parenthesized_expression ( (expression (conditional_expression (null_coalescing_expression (equality_expression (equality_expression (identifier arr)) != (relational_expression (null_literal null)))) ? ref (variable_reference (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) : ref (variable_reference (element_access (primary_no_array_creation_expression (identifier otherArr)) [ (argument_list (literal 0)) ])))) ))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier span) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 1)) ])))))) ;)) (statement (return_statement return (expression (object_creation_expression new (type (identifier Vector3)) ( (argument_list (argument (additive_expression (additive_expression (member_access (primary_expression (identifier v1)) . (identifier X))) + (multiplicative_expression (member_access (primary_expression (identifier v2)) . (identifier X))))) , (argument (additive_expression (additive_expression (member_access (primary_expression (identifier v1)) . (identifier Y))) + (multiplicative_expression (member_access (primary_expression (identifier v2)) . (identifier Y))))) , (argument (additive_expression (additive_expression (member_access (primary_expression (identifier v1)) . (identifier Z))) + (multiplicative_expression (member_access (primary_expression (identifier v2)) . (identifier Z)))))) ))) ;))) })))) (struct_member_declaration (method_declaration ref_method_modifiers (ref_kind ref) (ref_return_type (identifier T)) (method_header (member_name (identifier Choice)) ( (parameter_list (fixed_parameters (fixed_parameter (type (simple_type bool)) (identifier condition)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (identifier T)) (identifier consequence)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (identifier T)) (identifier alternative)))) )) (ref_method_body (block { (statement_list (if_statement if ( (boolean_expression (identifier condition)) ) (embedded_statement (block { (statement_list (return_statement return ref (variable_reference (identifier consequence)) ;)) })) else (embedded_statement (block { (statement_list (return_statement return ref (variable_reference (identifier alternative)) ;)) })))) })))) }))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier DoSomething)) ( (parameter_list (fixed_parameters (fixed_parameter (type (simple_type bool)) (identifier isEmployed)) , (fixed_parameter (type (class_type string)) (identifier personName)) , (fixed_parameter (type (integral_type int)) (identifier personAge)))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier NonTrailingNamedArguments)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (argument_name (identifier isEmployed) :) (argument_value (boolean_literal true))) , (argument (identifier name)) , (argument (identifier age))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (boolean_literal true)) , (argument (argument_name (identifier personName) :) (argument_value (identifier name))) , (argument (identifier age))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (identifier name)) , (argument (argument_name (identifier isEmployed) :) (argument_value (boolean_literal true))) , (argument (identifier age))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (identifier name)) , (argument (identifier age)) , (argument (argument_name (identifier isEmployed) :) (argument_value (boolean_literal true)))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (boolean_literal true)) , (argument (argument_name (identifier personAge) :) (argument_value (identifier age))) , (argument (argument_name (identifier personName) :) (argument_value (identifier name)))) ))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ConditionalRef)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration (ref_kind ref) var (ref_local_variable_declarator (identifier r) = ref (variable_reference (parenthesized_expression ( (expression (conditional_expression (null_coalescing_expression (equality_expression (equality_expression (identifier arr)) != (relational_expression (null_literal null)))) ? ref (variable_reference (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) : ref (variable_reference (element_access (primary_no_array_creation_expression (identifier otherArr)) [ (argument_list (literal 0)) ])))) )))))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier LeadingSeparator)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier res) = (expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (literal 0)) + (multiplicative_expression (literal 123))) + (multiplicative_expression (literal 1_2_3))) + (multiplicative_expression (literal 0x1_2_3))) + (multiplicative_expression (literal 0b101))) + (multiplicative_expression (literal 0b1_0_1))) + (multiplicative_expression (literal 0x_1_2))) + (multiplicative_expression (literal 0b_1_0_1))))))) ;)) })))) }))) (namespace_member_declaration (class_declaration class (identifier CSharp73) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Blittable)) (type_parameter_list < (decorated_type_parameter (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier (contextual_keyword value)))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (contextual_keyword unmanaged)))) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword unmanaged)) = (expression (literal 666))))) ;)) })))) (class_member_declaration (struct_declaration (struct_modifier (unsafe_modifier unsafe)) struct (identifier IndexingMovableFixed) (struct_body { (struct_member_declaration (fixed_size_buffer_declaration (fixed_size_buffer_modifier public) fixed (buffer_element_type (integral_type int)) (fixed_size_buffer_declarators (fixed_size_buffer_declarator (identifier myFixedField) [ (constant_expression (literal 10)) ])) ;)) }))) (class_member_declaration (field_declaration (field_modifier static) (type (identifier IndexingMovableFixed)) (variable_declarators (identifier s)) ;)) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (unsafe_modifier unsafe))) (return_type void) (method_header (member_name (identifier IndexingMovableFixedFields)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (pointer_type (value_type (integral_type int)) *)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier ptr) = (local_variable_initializer (member_access (primary_expression (identifier s)) . (identifier myFixedField))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier t) = (local_variable_initializer (element_access (primary_no_array_creation_expression (member_access (primary_expression (identifier s)) . (identifier myFixedField))) [ (argument_list (literal 5)) ])))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier PatternBasedFixed)) ( )) (method_body (block { (statement_list (fixed_statement fixed ( (pointer_type (value_type (integral_type byte)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier ptr) = (fixed_pointer_initializer (identifier byteArray)))) ) (embedded_statement (block { })))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier StackallocArrayInitializer)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 3)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (constant_expression (literal 3)) ] (stackalloc_initializer { (stackalloc_initializer_element_list (stackalloc_element_initializer (literal 1)) , (stackalloc_element_initializer (literal 2)) , (stackalloc_element_initializer (literal 3))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ ] (stackalloc_initializer { (stackalloc_initializer_element_list (stackalloc_element_initializer (literal 1)) , (stackalloc_element_initializer (literal 2)) , (stackalloc_element_initializer (literal 3))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_arguments (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc [ ] (stackalloc_initializer { (stackalloc_initializer_element_list (stackalloc_element_initializer (literal 1)) , (stackalloc_element_initializer (literal 2)) , (stackalloc_element_initializer (literal 3))) }))))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier TupleEquality)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) ))) ))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier t1)) , (explicitly_typed_local_variable_declarator (identifier t2))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier res) = (expression (equality_expression (equality_expression (identifier t1)) == (relational_expression (tuple_expression ( (tuple_element (literal 1)) , (tuple_element (tuple_expression ( (tuple_element (literal 2)) , (tuple_element (literal 3)) ))) )))))))) ;))) })))) }))))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.svg deleted file mode 100644 index 8c6b4a8e6..000000000 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tree.svg +++ /dev/null @@ -1,11065 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -statement_expression - - - -local_variable_type - - - -( - - - -argument_list - - - -+ - - - -identifier - - - -statement_list - - - -int - - - -case_guard - - - -ref - - - -r1 - - - -block - - - -PatternBasedFixed - - - -member_access - - - -identifier - - - -local_variable_type - - - -2 - - - -literal - - - -case - - - -type_argument_list - - - -method_declaration - - - -invocation_expression - - - -( - - - -} - - - -, - - - -: - - - -value2 - - - -) - - - -z - - - -Type - - - -fixed_parameter - - - -boolean_literal - - - -age - - - -switch_label - - - -type - - - -statement_list - - - -tuple_element - - - -. - - - -int - - - -statement - - - -null - - - -identifier - - - -integral_type - - - -Hello2 - - - -X - - - -identifier - - - -primary_expression - - - -ref - - - -? - - - -Hello - - - -; - - - -namespace_or_type_name - - - -pattern - - - -fixed_size_buffer_declaration - - - -null_coalescing_expression - - - -statement_list - - - -primary_expression - - - -identifier - - - -invocation_expression - - - -bin - - - -type - - - -type - - - -statement_list - - - -expression - - - -identifier - - - -literal - - - -unmanaged - - - -int - - - -predefined_type - - - -Vector3 - - - -DoSomething - - - -null - - - -personName - - - -stackalloc_expression - - - -( - - - -class_member_declaration - - - -t - - - -D - - - -) - - - -a - - - -s - - - -primary_expression - - - -ref_local_variable_declarator - - - -identifier - - - -s - - - -> - - - -int - - - -Task - - - -member_access - - - -out - - - -statement_list - - - -static - - - -, - - - -pattern - - - -identifier - - - -integral_type - - - -method_modifier - - - -argument_list - - - -argument_value - - - -block - - - -statement_list - - - -, - - - -LeadingSeparator - - - -parameter_modifier - - - -explicitly_typed_local_variable_declaration - - - -type - - - -statement - - - -member_name - - - -identifier - - - -method_header - - - -operator_declaration - - - -identifier - - - -method_declaration - - - -] - - - -type - - - -identifier - - - -> - - - -fixed_statement - - - -struct_body - - - -equality_expression - - - -member_access - - - -CSharp70 - - - -y - - - -identifier - - - -parameter_list - - - -? - - - -local_variable_initializer - - - -? - - - -identifier - - - -struct_modifier - - - -simple_type - - - -identifier - - - -declaration_statement - - - -declaration_statement - - - -explicitly_typed_local_variable_declarators - - - -type - - - -identifier - - - -variable_reference - - - -[ - - - -identifier - - - -) - - - -) - - - -assignment_operator - - - -] - - - -type - - - -identifier - - - -invocation_expression - - - -( - - - -bool - - - -{ - - - -tuple_type_element - - - -statement - - - -tuple_type - - - -ref_method_modifier - - - -tuple_type_element - - - -contextual_keyword - - - -( - - - -ref - - - -break - - - -method_body - - - -identifier - - - -local_variable_declaration - - - -type - - - -integral_type - - - -void - - - -class_declaration - - - -+ - - - -explicitly_typed_local_variable_declarator - - - -literal - - - -int - - - -primary_no_array_creation_expression - - - -buffer_element_type - - - -int - - - -args - - - -integral_type - - - -{ - - - -struct_member_declaration - - - -ref_method_modifiers - - - -c - - - -{ - - - -void - - - -identifier - - - -multiplicative_expression - - - -identifier - - - -int - - - -explicitly_typed_local_variable_declaration - - - -identifier - - - -assignment - - - -Hello - - - -public - - - -statement - - - -member_access - - - -tuple_type_element - - - -primary_expression - - - -{ - - - -} - - - -parameter_mode_modifier - - - -local_variable_initializer - - - -) - - - -) - - - -stackalloc_expression - - - -overloadable_binary_operator - - - -explicitly_typed_local_variable_declarator - - - -stackalloc_element_initializer - - - -void - - - -int - - - -int - - - -arg - - - -Z - - - -literal - - - -argument_value - - - -Span - - - -argument_list - - - -member_access - - - -: - - - -member_name - - - -, - - - -element_access - - - -method_declaration - - - -int - - - -primary_expression - - - -explicitly_typed_local_variable_declarators - - - -fixed_size_buffer_modifier - - - -myFixedField - - - -method_header - - - -literal - - - -identifier - - - -stackalloc_initializer_element_list - - - -string - - - -{ - - - -+ - - - -. - - - -identifier - - - -type_arguments - - - -method_modifiers - - - -identifier - - - -expression_statement - - - -span - - - -1 - - - -return - - - -) - - - -embedded_statement - - - -Type - - - -statement_list - - - -identifier - - - -identifier - - - -c - - - -ref_method_modifier - - - -void - - - -{ - - - -member_name - - - -personName - - - -primary_no_array_creation_expression - - - -identifier - - - -return_type - - - -( - - - -statement_list - - - -identifier - - - -relational_expression - - - -argument_value - - - -class_member_declaration - - - -identifier - - - -boolean_expression - - - -; - - - -} - - - -statement_list - - - -variable_reference - - - -local_variable_declaration - - - -< - - - -method_body - - - -{ - - - -< - - - -integral_type - - - -parameter_mode_modifier - - - -explicitly_typed_local_variable_declarators - - - -Vector3 - - - -fixed_parameter - - - -( - - - -+ - - - -class_type - - - -} - - - -= - - - -identifier - - - -identifier - - - -, - - - -X - - - -int - - - -literal - - - -class_body - - - -void - - - -identifier - - - -f1 - - - -type_argument_list - - - -, - - - -) - - - -return_statement - - - -parameter_list - - - -explicitly_typed_local_variable_declarator - - - -type_argument - - - -"B" - - - -explicitly_typed_local_variable_declaration - - - -identifier - - - -primary_expression - - - -{ - - - -integral_type - - - -pattern - - - -) - - - -static - - - -method_header - - - -local_function_header - - - -class - - - -lambda_expression - - - -statement_expression - - - -literal - - - -additive_expression - - - -literal - - - -struct - - - -int - - - -identifier - - - -50 - - - -; - - - -ref - - - -DefaultWithoutTypeName - - - -identifier - - - -explicitly_typed_local_variable_declarators - - - -1 - - - -] - - - -type - - - -ref - - - -) - - - -local_variable_declaration - - - -= - - - -variable_declarator - - - -) - - - -local_function_header - - - -primary_no_array_creation_expression - - - -+ - - - -explicitly_typed_local_variable_declaration - - - -method_header - - - -primary_expression - - - -anonymous_function_signature - - - -argument_list - - - -member_name - - - -void - - - -method_declaration - - - -block - - - -identifier - - - -Mutate - - - -method_header - - - -method_declaration - - - -[ - - - -; - - - -; - - - -; - - - -; - - - -) - - - -struct_body - - - -literal - - - -( - - - -. - - - -) - - - -, - - - -element_access - - - -identifier - - - -, - - - -, - - - -identifier - - - -in - - - -) - - - -equality_expression - - - -ref_kind - - - -ref_method_modifier - - - -v2 - - - -] - - - -. - - - -declaration_pattern - - - -argument_value - - - -argument - - - -!= - - - -non_array_type - - - -identifier - - - -{ - - - -e - - - -return_type - - - -when - - - -fixed_parameter - - - -?? - - - -Print - - - -identifier - - - -identifier - - - -argument - - - -tuple_expression - - - -} - - - -invocation_expression - - - -member_name - - - -struct - - - -identifier - - - -expression_statement - - - -< - - - -( - - - -integral_type - - - -) - - - -identifier - - - -literal - - - -declaration_statement - - - -explicitly_typed_local_variable_declarator - - - -; - - - -; - - - -declaration_statement - - - -} - - - -stackalloc_expression - - - -fixed_parameter - - - -( - - - -class_body - - - -2 - - - -local_function_body - - - -expression - - - -expression_statement - - - -identifier - - - -void - - - -statement_expression - - - -) - - - -otherArr - - - -member_name - - - -identifier - - - -a - - - -type_argument - - - -v - - - -unmanaged_type - - - -declaration_statement - - - -) - - - -struct - - - -return_type - - - -X - - - -primary_expression - - - -string - - - -var - - - -: - - - -argument_value - - - -ptr - - - -primary_expression - - - -implicitly_typed_local_variable_declaration - - - -element_access - - - -local_variable_declaration - - - -ref_method_modifier - - - -primary_expression - - - -1 - - - -) - - - -type - - - -statement - - - -M1_Trace - - - -tuple_type_element - - - -class_declaration - - - -method_body - - - -0x1_2_3 - - - -} - - - -2 - - - -identifier - - - -tuple_type_element - - - -) - - - -tuple_element - - - -1 - - - -invocation_expression - - - -type - - - -( - - - -literal - - - -null_coalescing_expression - - - -unmanaged - - - -identifier - - - -local_variable_declaration - - - -literal - - - -argument_value - - - -( - - - -struct_body - - - -expression_statement - - - -identifier - - - -field_declaration - - - -identifier - - - -declaration_statement - - - -] - - - -integral_type - - - -explicitly_typed_local_variable_declarators - - - -argument - - - -identifier - - - -member_name - - - -* - - - -statement - - - -member_name - - - -Vector3 - - - -identifier - - - -statement - - - -implicitly_typed_local_variable_declarator - - - -method_declaration - - - -parameter_mode_modifier - - - -s - - - -ref_kind - - - -class_body - - - -stackalloc - - - -= - - - -non_nullable_value_type - - - -variable_declarators - - - -expression_statement - - - -Func - - - -identifier - - - -binary_operator_declarator - - - -TKey - - - -null_conditional_member_access - - - -identifier - - - -method_modifiers - - - -member_access - - - -literal - - - -block - - - -[ - - - -3 - - - -integral_type - - - -< - - - -int - - - -) - - - -t - - - -member_access - - - -boolean_literal - - - -= - - - -TupleRecognize - - - -argument - - - -( - - - -NullReferenceException - - - -< - - - -[ - - - -literal - - - -isEmployed - - - -type_argument - - - -pattern - - - -int - - - -== - - - -5 - - - -argument_list - - - -relational_expression - - - -; - - - -} - - - -identifier - - - -multiplicative_expression - - - -null_literal - - - -identifier - - - -Y - - - -int - - - -nullableResult - - - -local_variable_initializer - - - -expression_statement - - - -) - - - -primary_expression - - - -DoSomething - - - -statement_expression - - - -local_variable_declaration - - - -int - - - -int - - - -( - - - -namespace_or_type_name - - - -list - - - -identifier - - - -class_type - - - -) - - - -ref - - - -identifier - - - -identifier - - - -identifier - - - -item - - - -var - - - -class_type - - - -statement_list - - - -argument_list - - - -1_000.111_1e-1_000 - - - -class_member_declaration - - - -byteArray - - - -additive_expression - - - -integral_type - - - -0b1001_1010_0001_0100 - - - -declaration_pattern - - - -default_literal - - - -identifier - - - -. - - - -explicitly_typed_local_variable_declaration - - - -identifier - - - -element_access - - - -T - - - -method_header - - - -argument - - - -argument - - - -isEmployed - - - -identifier - - - -method_header - - - -public - - - -identifier - - - -block - - - -identifier - - - -parameter_mode_modifier - - - -Hello - - - -declaration_statement - - - -fixed_pointer_declarators - - - -local_function_declaration - - - -tuple_element - - - -non_array_type - - - -integral_type - - - -( - - - -return_statement - - - -member_access - - - -= - - - -method_body - - - -=> - - - -method_body - - - -] - - - -additive_expression - - - -primary_expression - - - -return - - - -} - - - -expr - - - -class_type - - - -[ - - - -10 - - - -unsafe - - - -b - - - -tuple_element - - - -member_name - - - -) - - - -c - - - -struct_declaration - - - -( - - - -true - - - -declaration_statement - - - -return_statement - - - -identifier - - - -stackalloc_element_initializer - - - -readonly - - - -expression_statement - - - -type_arguments - - - -> - - - -public - - - -additive_expression - - - -{ - - - -parameter_list - - - -public - - - -( - - - -class - - - -ref_indexer_body - - - -identifier - - - -"A" - - - -} - - - -statement - - - -block - - - -local_variable_declaration - - - -local_variable_initializer - - - -declaration_statement - - - -, - - - -member_access - - - -; - - - -type_arguments - - - -{ - - - -identifier - - - -null_literal - - - -method_body - - - -expression - - - -method_declaration - - - -expression - - - -method_modifiers - - - -r1 - - - -} - - - -, - - - -identifier - - - -3 - - - -string - - - -) - - - -fixed_parameter - - - -rank_specifier - - - -T - - - -statement_expression - - - -v1 - - - -literal - - - -IndexingMovableFixed - - - -[ - - - -method_declaration - - - -local_variable_initializer - - - -struct_member_declaration - - - -; - - - -identifier - - - -explicitly_typed_local_variable_declarator - - - -ref_method_body - - - -result - - - -identifier - - - -explicitly_typed_local_variable_declarator - - - -[ - - - -; - - - -tuple_type_element - - - -] - - - -lambda_expression - - - -. - - - -type - - - -0b101 - - - -unsafe - - - -identifier - - - -0b_1_0_1 - - - -type - - - -declaration_statement - - - -method_header - - - -prog - - - -{ - - - -invocation_expression - - - -{ - - - -relational_expression - - - -; - - - -identifier - - - -identifier - - - -T - - - -block - - - -argument_list - - - -= - - - -method_body - - - -r - - - -variable_initializer - - - -) - - - -, - - - -int - - - -method_modifiers - - - -member_name - - - -explicitly_typed_local_variable_declaration - - - -age - - - -statement_expression - - - -, - - - -struct_modifier - - - -1 - - - -stackalloc - - - -method_modifiers - - - -ref_method_body - - - -r2 - - - -type - - - -CSharp72 - - - -. - - - -statement_expression - - - -public - - - -var - - - -literal - - - -argument_list - - - -) - - - -operator_modifier - - - -stackalloc_initializer_element_list - - - -identifier - - - -unmanaged_type - - - -[ - - - -declaration_expression - - - -type - - - -identifier - - - -: - - - -expression - - - -parameter_modifier - - - -class_body - - - -> - - - -argument_list - - - -type - - - -public - - - -tuple_type_element - - - -declaration_statement - - - -identifier - - - -variable_reference - - - -argument_value - - - -age - - - -identifier - - - -identifier - - - -= - - - -await - - - -identifier - - - -simple_type - - - -identifier - - - -= - - - -parameter_mode_modifier - - - -[ - - - -namespace_member_declaration - - - -public - - - -; - - - -identifier - - - -struct_member_declaration - - - -void - - - -null_coalescing_expression - - - -identifier - - - -= - - - -method_header - - - -block - - - -class_member_declaration - - - -ref - - - -method_modifier - - - -identifier - - - -> - - - -identifier - - - -, - - - -argument_name - - - -int - - - -type_argument_list - - - -identifier - - - -? - - - -equality_expression - - - -weird - - - -identifier - - - -int - - - -when - - - -identifier - - - -int - - - -literal - - - -, - - - -personAge - - - -static - - - -namespace_or_type_name - - - -invocation_expression - - - -) - - - -integral_type - - - -local_variable_declaration - - - -expression - - - -invocation_expression - - - -switch_section - - - -explicitly_typed_local_variable_declarator - - - -; - - - -) - - - -: - - - -method_modifier - - - -explicitly_typed_local_variable_declarators - - - -Vector3 - - - -B - - - -0 - - - -object_creation_expression - - - -constant_expression - - - -0x1b_a0_44_fe - - - -expression - - - -identifier - - - -args - - - -argument - - - -identifier - - - -) - - - -invocation_expression - - - -ReadonlyRef2 - - - -switch - - - -declaration_statement - - - -nullable_type_annotation - - - -in - - - -class_member_declaration - - - -= - - - -primary_expression - - - -declaration_statement - - - -ref_local_variable_declarators - - - -b - - - -X - - - -statement_list - - - -identifier - - - -identifier - - - -t - - - -primary_expression - - - -declaration_expression - - - -argument - - - -parameter_modifier - - - -explicitly_typed_ref_local_variable_declaration - - - -) - - - -integral_type - - - -BinaryLiterals - - - -bool - - - -r1 - - - -) - - - -0 - - - -public - - - -Vector3 - - - -identifier - - - -statement_expression - - - -argument - - - -identifier - - - -; - - - -type_arguments - - - -type - - - -v1 - - - -local_variable_declaration - - - -statement - - - -{ - - - -literal - - - -expression - - - -method_body - - - -ref_kind - - - -new - - - -invocation_expression - - - -argument_name - - - -identifier - - - -} - - - -identifier - - - -name - - - -parameter_list - - - -v2 - - - -member_access - - - -C - - - -ref_method_modifier - - - -1_2__3___4____5_____6______7_______8________9 - - - -if - - - -primary_expression - - - -method_declaration - - - -expression_statement - - - -implicitly_typed_local_variable_declarator - - - -return - - - -relational_expression - - - -identifier - - - -identifier - - - -type - - - -( - - - -: - - - -res - - - -pointer_type - - - -identifier - - - -public - - - -identifier - - - -namespace_member_declaration - - - -invocation_expression - - - -stackalloc - - - -= - - - -parameter_list - - - -{ - - - -method_declaration - - - -type - - - -local_variable_type - - - -void - - - -H - - - -identifier - - - -identifier - - - -identifier - - - -explicitly_typed_local_variable_declarators - - - -method_declaration - - - -nullable_value_type - - - -additive_expression - - - -declaration_expression - - - -) - - - -method_modifiers - - - -method_header - - - -) - - - -tuple_expression - - - -statement - - - -identifier - - - -literal - - - -floating_point_type - - - -return_type - - - -=> - - - -; - - - -declaration_statement - - - -explicitly_typed_local_variable_declarators - - - -stackalloc_element_initializer - - - -fixed_parameter - - - -statement - - - -block - - - -( - - - -expression - - - -declaration_statement - - - -expression_statement - - - -v2 - - - -block - - - -0b10011 - - - -parameter_mode_modifier - - - -type_argument_list - - - -implicitly_typed_local_variable_declaration - - - -member_access - - - -( - - - -0x_1_2 - - - -local_variable_declaration - - - -type_arguments - - - -identifier - - - -integral_type - - - -statement - - - -2 - - - -argument_list - - - -= - - - -additive_expression - - - -static - - - -f2 - - - -( - - - -relational_expression - - - -method_modifier - - - -integral_type - - - -res - - - -identifier - - - -literal - - - -unsafe_modifier - - - -; - - - -arg - - - -) - - - -parameter_modifier - - - -explicitly_typed_local_variable_declarator - - - -ref - - - -method_declaration - - - -primary_expression - - - -method_modifier - - - -= - - - -null_conditional_member_access - - - -statement_expression - - - -( - - - -identifier - - - -method_modifiers - - - -unmanaged_type - - - -argument_list - - - -=> - - - -{ - - - -type - - - -tuple_expression - - - -statement_list - - - -( - - - -member_name - - - -argument - - - -anonymous_function_parameter_modifier - - - -shift_expression - - - -; - - - -parameter_list - - - -method_body - - - -explicitly_typed_local_variable_declaration - - - -) - - - -} - - - -explicitly_typed_local_variable_declarators - - - -contextual_keyword - - - -anonymous_function_signature - - - -expression - - - -void - - - -identifier - - - -i - - - -( - - - -expression - - - -relational_expression - - - -identifier - - - -class_member_declaration - - - -{ - - - -if_statement - - - -simple_designation - - - -default_argument - - - -index - - - -field_modifier - - - -identifier - - - -implicitly_typed_local_variable_declarator - - - -int - - - -argument - - - -, - - - -, - - - -explicitly_typed_local_variable_declaration - - - -ref_method_modifiers - - - -identifier - - - -argument_list - - - -; - - - -method_header - - - -1 - - - -return_type - - - -. - - - -) - - - -return_type - - - -} - - - -) - - - -ref - - - -identifier - - - -method_modifiers - - - -int - - - -; - - - -var - - - -T - - - -fixed_parameters - - - -implicitly_typed_local_variable_declarator - - - -( - - - -primary_expression - - - -} - - - -( - - - -ref_method_modifier - - - -identifier - - - -async - - - -return_type - - - -type_parameter - - - -block - - - -x - - - -statement_expression - - - -static - - - -readonly - - - -; - - - -tuple_type - - - -[ - - - -integral_type - - - -; - - - -type_parameter_list - - - -in - - - -expression - - - -) - - - -( - - - -method_body - - - -equality_expression - - - -[ - - - -literal - - - -) - - - -statement_list - - - -parameter_modifier - - - -identifier - - - -class_declaration - - - -local_variable_initializer - - - -, - - - -primary_expression - - - -type - - - -. - - - -} - - - -+ - - - -stackalloc_element_initializer - - - -parameter_mode_modifier - - - -} - - - -r1 - - - -primary_expression - - - -identifier - - - -statement_list - - - -public - - - -class - - - -identifier - - - -fixed_parameter - - - -{ - - - -3 - - - -literal - - - -identifier - - - -method_header - - - -local_variable_declaration - - - -tuple_type_element - - - -argument_list - - - -type_argument - - - -identifier - - - -) - - - -ref_local_variable_declarator - - - -namespace_member_declaration - - - -operator_body - - - -local_variable_declaration - - - -( - - - -33_554_432 - - - -item - - - -x - - - -< - - - -3 - - - -, - - - -) - - - -member_access - - - -statement_expression - - - -Vector3 - - - -block - - - -statement_expression - - - -argument_list - - - -ref_method_modifier - - - -integral_type - - - -unary_expression - - - -a - - - -statement_list - - - -embedded_statement - - - -int - - - -primary_expression - - - -argument - - - -fixed_parameter - - - -equality_expression - - - -member_name - - - -) - - - -return_type - - - -argument - - - -implicitly_typed_local_variable_declaration - - - -fixed_parameters - - - -member_access - - - -stackalloc_initializer - - - -identifier - - - -identifier - - - -) - - - -identifier - - - -= - - - -boolean_expression - - - -, - - - -identifier - - - -namespace_or_type_name - - - -identifier - - - -; - - - -argument_list - - - -; - - - -( - - - -type - - - -> - - - -var - - - -statement - - - -ref_kind - - - -struct_member_declaration - - - -block - - - -identifier - - - -class_type - - - -default_literal - - - -method_body - - - -ref_method_modifier - - - -argument_value - - - -local_variable_initializer - - - -explicitly_typed_local_variable_declarator - - - -local_variable_declaration - - - -} - - - -identifier - - - -true - - - -} - - - -argument - - - -default - - - -=> - - - -true - - - -statement_expression - - - -IndexingMovableFixed - - - -literal - - - -throw - - - -( - - - -c - - - -invocation_expression - - - -additive_expression - - - -class_member_declaration - - - -< - - - -, - - - -ptr - - - -unsafe_modifier - - - -local_variable_declaration - - - -( - - - -member_name - - - -i - - - -implicitly_typed_local_variable_declaration - - - -TValue - - - -) - - - -argument_value - - - -relational_expression - - - -array_type - - - -await - - - -local_variable_initializer - - - -identifier - - - -additive_expression - - - -implicitly_typed_local_variable_declaration - - - -multiplicative_expression - - - -( - - - -type - - - -type_argument - - - -boolean_literal - - - -fixed - - - -local_variable_declaration - - - -block - - - -literal - - - -argument_name - - - -explicitly_typed_local_variable_declarators - - - -ref_method_modifier - - - -method_declaration - - - -declaration_statement - - - -local_variable_declaration - - - -= - - - -variable_reference - - - -isEmployed - - - -integral_type - - - -stackalloc_element_initializer - - - -method_declaration - - - -variable_reference - - - -case - - - -identifier - - - -case_guard - - - -argument_list - - - -identifier - - - -identifier - - - -type_argument_list - - - -identifier - - - -type - - - -ref - - - -a - - - -fixed - - - -( - - - -expression - - - -identifier - - - -variable_reference - - - -public - - - -method_header - - - -statement - - - -variable_reference - - - -fixed_pointer_declarator - - - -nineteen - - - -int - - - -block - - - -) - - - -block - - - -identifier - - - -argument_list - - - -statement - - - -( - - - -* - - - -local_variable_declaration - - - -, - - - -argument_list - - - -literal - - - -invocation_expression - - - -identifier - - - -identifier - - - -argument_name - - - -decorated_type_parameter - - - -class_member_declaration - - - -f2 - - - -stackalloc_initializer - - - -name - - - -equality_expression - - - -declaration_statement - - - -fixed_size_buffer_declarator - - - -b - - - -member_name - - - -; - - - -identifier - - - -readonly - - - -return - - - -unary_expression - - - -where - - - -boolean_literal - - - -relational_expression - - - -block - - - -local_variable_initializer - - - -type_parameter_constraints_clause - - - -type - - - -primary_expression - - - -. - - - -> - - - -Vector3 - - - -identifier - - - -expression - - - -assignment - - - -0 - - - -null_literal - - - -T - - - -ref - - - -personAge - - - -) - - - -explicitly_typed_local_variable_declarators - - - -identifier - - - -identifier - - - -additive_expression - - - -primary_expression - - - -integral_type - - - -identifier - - - -( - - - -return_type - - - -age - - - -} - - - -= - - - -identifier - - - -method_modifiers - - - -unary_expression - - - -: - - - -unmanaged_type - - - -statement_list - - - -expression_statement - - - -embedded_statement - - - -identifier - - - -class_member_declaration - - - -block - - - -invocation_expression - - - -declaration_expression - - - -element_access - - - -identifier - - - -DoSomething - - - -stackalloc_expression - - - -lambda_expression - - - -identifier - - - -parameter_modifier - - - -> - - - -member_name - - - -) - - - -anonymous_function_body - - - -return_type - - - -identifier - - - -primary_expression - - - -statement_list - - - -integral_type - - - -struct_declaration - - - -identifier - - - -integral_type - - - -ref_method_modifier - - - -int - - - -class_member_declaration - - - -expression - - - -primary_expression - - - -< - - - -( - - - -return_statement - - - -explicitly_typed_local_variable_declarator - - - -) - - - -type_arguments - - - -pointer_type - - - -identifier - - - -( - - - -Hello - - - -identifier - - - -constant_expression - - - -literal - - - -CSharp71 - - - -in - - - -anonymous_function_body - - - -ref_return_type - - - -t2 - - - -; - - - -v1 - - - -identifier - - - -decorated_type_parameter - - - -byte - - - -ref - - - -expression - - - -fixed_size_buffer_declarators - - - -argument_name - - - -literal - - - -void - - - -identifier - - - -fixed_parameter - - - -element_access - - - -variable_declarators - - - -; - - - -struct_member_declaration - - - -invocation_expression - - - -i - - - -parameter_list - - - -variable_reference - - - -variable_reference - - - -> - - - -statement - - - -Vector3 - - - -method_body - - - -t1 - - - -name - - - -identifier - - - -stackalloc_initializer_element_list - - - -return - - - -real - - - -ref_kind - - - -, - - - -statement - - - -statement - - - -fixed_parameter - - - -expression_statement - - - -argument - - - -identifier - - - -ReadonlyRef1 - - - -expression_statement - - - -. - - - -method_modifier - - - -ref - - - -identifier - - - -stackalloc_element_initializer - - - -primary_expression - - - -literal - - - -x - - - -= - - - -variable_reference - - - -identifier - - - -{ - - - -primary_expression - - - -{ - - - -conditional_expression - - - -declaration_statement - - - -; - - - -type_arguments - - - -operator_declarator - - - -identifier - - - -explicitly_typed_local_variable_declarators - - - -identifier - - - -simple_designation - - - -is - - - -fixed_parameter - - - -throw_expression - - - -{ - - - -method_header - - - -explicit_anonymous_function_parameter_list - - - -explictly_typed_default - - - -ref_method_body - - - -Vector3 - - - -ref - - - -( - - - -declaration_statement - - - -literal - - - -type - - - -{ - - - -tuple_type - - - -ref_kind - - - -argument_list - - - -< - - - -integral_type - - - -tuple_type_element - - - -. - - - -fixed_parameter - - - -( - - - -( - - - -} - - - -type - - - -field_declaration - - - -type - - - -namespace_or_type_name - - - -{ - - - -statement - - - -content - - - -implicitly_typed_local_variable_declarator - - - -=> - - - -default - - - -, - - - -method_declaration - - - -1 - - - -stackalloc_expression - - - -< - - - -) - - - -StackallocArrayInitializer - - - -anonymous_function_signature - - - -ref - - - -identifier - - - -method_modifiers - - - -local_function_body - - - -Task - - - -] - - - -relational_expression - - - -local_variable_declaration - - - -explicitly_typed_local_variable_declarator - - - -= - - - -method_modifiers - - - -local_function_modifier - - - -conditional_or_expression - - - -block - - - -arr - - - -ref_method_modifier - - - -await_expression - - - -identifier - - - -equality_expression - - - -type_arguments - - - -alternative - - - -member_access - - - -) - - - -public - - - -tuple_element - - - -relational_expression - - - -type - - - -, - - - -statement_expression - - - -contextual_keyword - - - -primary_expression - - - -in - - - -class_type - - - -else - - - -parameter_list - - - -int - - - -; - - - -identifier - - - -IndexingMovableFixedFields - - - -, - - - -ref - - - -identifier - - - -dec - - - -readonly - - - -( - - - -} - - - -T - - - -declaration_statement - - - -null - - - -identifier - - - -unary_expression - - - -invocation_expression - - - -value_type - - - -[ - - - -) - - - -statement - - - -ref_local_variable_declarator - - - -identifier - - - -explicitly_typed_local_variable_declaration - - - -namespace_or_type_name - - - -type - - - -[ - - - -class_member_declaration - - - -OutVar - - - -fixed_parameter - - - -local_variable_initializer - - - -{ - - - -stackalloc_element_initializer - - - -consequence - - - -class_member_declaration - - - -literal - - - -switch_label - - - -; - - - -identifier - - - -statement - - - -argument - - - -0 - - - -class_declaration - - - -int - - - -, - - - -ref_return_type - - - -fixed_parameters - - - -value_type - - - -parameter_list - - - -method_header - - - -: - - - -primary_no_array_creation_expression - - - -ref - - - -> - - - -operator - - - -expression - - - -, - - - -this - - - -namespace_member_declaration - - - -A - - - -literal - - - -literal - - - -variable_reference - - - -multiplicative_expression - - - -method_header - - - -( - - - -< - - - -default - - - -block - - - -readonly - - - -, - - - -integral_type - - - -Select - - - -assignment_operator - - - -, - - - -} - - - -Where - - - -literal - - - -member_access - - - -LocalFunctions - - - -name - - - -, - - - -member_name - - - -( - - - -multiplicative_expression - - - -namespace_or_type_name - - - -= - - - -statement - - - -block - - - -local_variable_initializer - - - -statement_list - - - -argument - - - -literal - - - -method_declaration - - - -, - - - -expression_statement - - - -additive_expression - - - -= - - - -literal - - - -block - - - -if - - - -integral_type - - - -statement - - - -explicitly_typed_local_variable_declarators - - - -: - - - -additive_expression - - - -public - - - -primary_expression - - - -identifier - - - -integral_type - - - -identifier - - - -public - - - -method_body - - - -return_type - - - -identifier - - - -literal - - - -return_type - - - -) - - - -argument - - - -myFixedField - - - -. - - - -member_name - - - -indexer_declarator - - - -( - - - -block - - - -primary_no_array_creation_expression - - - -v1 - - - -} - - - -identifier - - - -identifier - - - -literal - - - -return_type - - - -arr - - - -stackalloc_initializer - - - -type - - - -identifier - - - -, - - - -; - - - -) - - - -ref - - - -additive_expression - - - -statement - - - -namespace_or_type_name - - - -args - - - -1 - - - -50 - - - -} - - - -local_variable_type - - - -compilation_unit - - - -} - - - -identifier - - - -] - - - -type_parameter_constraints - - - -} - - - -double - - - -s - - - -class_member_declaration - - - -argument_value - - - -1_2_3 - - - -Blittable - - - -integral_type - - - -type_argument_list - - - -method_header - - - -statement - - - -type - - - -] - - - -) - - - -identifier - - - -Guid - - - -{ - - - -block - - - -member_access - - - -switch_label - - - -) - - - -class_member_declaration - - - -stackalloc_element_initializer - - - -foo - - - -type - - - -identifier - - - -args - - - -ref_method_modifier - - - -tuple_element - - - -method_declaration - - - -return_statement - - - -: - - - -statement - - - -} - - - -result - - - -int - - - -( - - - -T - - - -implicitly_typed_local_variable_declaration - - - -DoSomething - - - -( - - - -= - - - -, - - - -{ - - - -( - - - -method_modifiers - - - -primary_expression - - - -= - - - -multiplicative_expression - - - -expression_statement - - - -expression - - - -v1 - - - -TryParse - - - -primary_expression - - - -T - - - -method_header - - - -expression - - - -} - - - -; - - - -statement - - - -variable_reference - - - -relational_expression - - - -method_modifiers - - - -method_body - - - -Span - - - -type - - - -] - - - -DoSomething - - - -primary_expression - - - -Span - - - -class_member_declaration - - - -identifier - - - -; - - - -argument_name - - - -personName - - - -int - - - -isEmployed - - - -{ - - - -arr - - - -null_coalescing_expression - - - -arr - - - -in - - - -statement - - - -fixed_parameters - - - -local_variable_declaration - - - -void - - - -argument_list - - - -rank_specifier - - - -; - - - -explicitly_typed_local_variable_declarator - - - -default - - - -= - - - -integral_type - - - -) - - - -identifier - - - -method_declaration - - - -literal - - - -ref - - - -if_statement - - - -assignment_operator - - - -0 - - - -return_type - - - -explicitly_typed_local_variable_declaration - - - -array_type - - - -argument_list - - - -return_type - - - -identifier - - - -fixed_pointer_initializer - - - -declaration_statement - - - -identifier - - - -Test - - - -statement - - - -literal - - - -expression - - - -switch_block - - - -, - - - -class_member_declaration - - - -expression_statement - - - -statement - - - -embedded_statement - - - -} - - - -+ - - - -type - - - -123 - - - -DoSomething - - - -ref_return_type - - - -expression_statement - - - -CSharp73 - - - -boolean_expression - - - -explicitly_typed_local_variable_declaration - - - -( - - - -identifier - - - -+ - - - -Hello - - - -block - - - -G - - - -variable_reference - - - -( - - - -hex - - - -otherArr - - - -member_name - - - -( - - - -parameter_list - - - -. - - - -variable_reference - - - -v1 - - - -invocation_expression - - - -method_header - - - -( - - - -TupleEquality - - - -identifier - - - -, - - - -type_parameter_list - - - -t1 - - - -( - - - -break_statement - - - -{ - - - -{ - - - -method_modifiers - - - -parameter_list - - - -ref_method_modifier - - - -identifier - - - -( - - - -is - - - -additive_expression - - - -statement - - - -argument_list - - - -( - - - -myFixedField - - - -parameter_list - - - -integral_type - - - -out - - - -method_body - - - -invocation_expression - - - -argument - - - -identifier - - - -( - - - -explicitly_typed_local_variable_declaration - - - -default - - - -alternative - - - -argument_value - - - -void - - - -declaration_statement - - - -statement_list - - - -statement_expression - - - -true - - - -type_argument_list - - - -identifier - - - -} - - - -assignment - - - -statement - - - -class_member_declaration - - - -Z - - - -namespace_or_type_name - - - -string - - - -member_name - - - -fixed_parameter - - - -method_body - - - -type - - - -ThrowExpression - - - -identifier - - - -integral_type - - - -explicitly_typed_local_variable_declarator - - - -operator_modifier - - - -explictly_typed_default - - - -object_creation_expression - - - -} - - - -} - - - -primary_no_array_creation_expression - - - -literal - - - -null_literal - - - -M1 - - - -[ - - - -? - - - -< - - - -type - - - -relational_expression - - - -local_variable_declaration - - - -ref_method_modifier - - - -parenthesized_expression - - - -{ - - - -fixed_parameters - - - -identifier - - - -shift_expression - - - -{ - - - -NonTrailingNamedArguments - - - -return_type - - - -identifier - - - -literal - - - -new - - - -struct_member_declaration - - - -, - - - -; - - - -primary_expression - - - -[ - - - -; - - - -identifier - - - -multiplicative_expression - - - -stackalloc - - - -unary_expression - - - -class_member_declaration - - - -if - - - -condition - - - -, - - - -void - - - -invocation_expression - - - -contextual_keyword - - - -: - - - -a - - - -multiplicative_expression - - - -= - - - -identifier - - - -fixed_parameter - - - -multiplicative_expression - - - -tuple_element - - - -int - - - -[ - - - -, - - - -local_function_declaration - - - -F - - - -await_expression - - - -identifier - - - -( - - - -TryParse - - - -type - - - -} - - - -return - - - -identifier - - - -explicitly_typed_local_variable_declaration - - - -{ - - - -ref_method_modifier - - - -; - - - -statement_list - - - -ConditionalRef - - - -consequence - - - -in - - - -; - - - -= - - - -identifier - - - -identifier - - - -} - - - -type_argument_list - - - -local_variable_declaration - - - -666 - - - -int - - - -( - - - -explicitly_typed_local_variable_declarator - - - -ref_kind - - - -integral_type - - - -ref - - - -additive_expression - - - -identifier - - - -{ - - - -Task - - - -. - - - -fixed_parameter - - - -block - - - -] - - - -) - - - -integral_type - - - -f3 - - - -3 - - - -identifier - - - -. - - - -var - - - -true - - - -statement_list - - - -method_modifier - - - -identifier - - - -class_member_declaration - - - -identifier - - - -age - - - -method_declaration - - - -type - - - -type_argument_list - - - -{ - - - -literal - - - -; - - - -identifier - - - -type_argument - - - -type - - - -identifier - - - -; - - - -= - - - -primary_no_array_creation_expression - - - -fixed_parameter - - - -identifier - - - -; - - - -identifier - - - -. - - - -literal - - - -identifier - - - -identifier - - - -; - - - -= - - - -string - - - -type - - - -Choice - - - -explicitly_typed_local_variable_declarator - - - -type - - - -1 - - - -ref_method_modifiers - - - -class_member_declaration - - - -ref - - - -member_access - - - -method_modifiers - - - -method_declaration - - - -return_statement - - - -identifier - - - -) - - - -statement_list - - - -predefined_type - - - -( - - - -identifier - - - -] - - - -identifier - - - -identifier - - - -string - - - -ref - - - -=> - - - -switch_statement - - - -literal - - - -+ - - - -primary_expression - - - -literal - - - -tuple_element - - - -ref - - - -statement - - - -] - - - -statement - - - -Y - - - -identifier - - - -type - - - -, - - - -: - - - -type - - - -implicitly_typed_local_variable_declaration - - - -primary_expression - - - -multiplicative_expression - - - -0b1_0_1 - - - -; - - - -explicit_anonymous_function_parameter - - - -argument - - - -struct_declaration - - - -{ - - - -identifier - - - -: - - - -local_variable_declaration - - - -identifier - - - -) - - - -argument_list - - - -identifier - - - -!= - - - -identifier - - - -value - - - -identifier - - - -fixed_parameter - - - -type_arguments - - - -primary_expression - - - -; - - - -DigitSeparators - - - -public - - - -} - - - -int - - - -Span - - - -parameter_modifier - - - -3 - - - -return_type - - - -parenthesized_expression - - - -) - - - -argument_list - - - -. - - - -Vector3 - - - -( - - - -variable_reference - - - -{ - - - -variable_reference - - - -identifier - - - -type - - - -class_member_declaration - - - -void - - - -stackalloc - - - -statement - - - -struct_member_declaration - - - -identifier - - - -argument - - - -fixed_parameter - - - -statement_list - - - -x - - - -; - - - -+ - - - -int - - - -identifier - - - -explicitly_typed_local_variable_declarators - - - -condition - - - -fixed_parameter - - - -stackalloc_element_initializer - - - -null_coalescing_expression - - - -statement_list - - - -; - - - -( - - - -identifier - - - -return_type - - - -] - - - -primary_expression - - - -conditional_expression - - - -if_statement - - - -primary_expression - - - -equality_expression - - - -v1 - - - -identifier - - - -integral_type - - - -member_name - - - -indexer_declaration - - - -string - - - -. - - - -var - - - -name - - - -> - - - -int - - - -member_access - - - -{ - - - -type - - - -statement - - - -PatternMatching - - - -fixed_parameter - - - -integral_type - - - -identifier - - - -method_header - - - -) - - - -identifier - - - -identifier - - - -FromResult - - - -statement_expression - - - -type - - - -anonymous_function_body - - - -class - - - -local_variable_initializer - - - -; - - - -) - - - -identifier - - - -0 - - - -statement - - - -+ - - - -argument_list - - - -variable_reference - - - -> - - - -y - - - -identifier - - - -argument - - - -b - - - -integral_type - - - -Span - - - -method_modifiers - - - -async - - - -; - - - -class_type - - - -] - - - -tuple_type - - - -boolean_literal - - - -identifier - - - -fixed_parameter - - - -statement - - - -, - - - -method_modifiers - - - -explicit_anonymous_function_signature - - - -( - - - -var - - - -expression - - - -null - - - -explicitly_typed_local_variable_declaration - - - -E - - - -type - - - -ref_method_modifier - - - -return_type - - - -ref - - - -local_variable_initializer - - - -} - - - -void - - - -== - - - -method_body - - - -v2 - - - -DefaultWithoutTypeName - - - -, - - - -( - - - -i - - - -element_access - - - -; - - - -embedded_statement - - - -tuple_expression - - - -. - - \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/sample.gruntree.red.txt similarity index 99% rename from tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.gruntree.red.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/sample.gruntree.red.txt index 7765f37f5..537bfac41 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/sample.gruntree.red.txt @@ -217,21 +217,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > @@ -261,21 +258,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ F -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ F ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > @@ -637,7 +631,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ class_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ string @@ -1891,21 +1885,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > @@ -2693,7 +2684,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int @@ -4326,7 +4317,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int @@ -4395,7 +4386,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int @@ -4495,7 +4486,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int @@ -4588,7 +4579,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/sample.stderr.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/sample.stderr.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/sample.tokens.txt similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/AllInOneNoPreprocessor-v7.tokens.txt rename to tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/sample.tokens.txt diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/sample.tree.red.txt new file mode 100644 index 000000000..2e459d72e --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/sample.tree.red.txt @@ -0,0 +1 @@ +(prog (compilation_unit (namespace_member_declaration (class_declaration class (identifier CSharp70) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier PatternMatching)) ( (parameter_list (fixed_parameters (fixed_parameter (type (class_type string)) (identifier arg)) , (fixed_parameter (type (integral_type int)) (identifier b)))) )) (method_body (block { (statement_list (statement (switch_statement switch ( (expression (identifier arg)) ) (switch_block { (switch_section (switch_label case (pattern (literal "A")) (case_guard when (expression (relational_expression (relational_expression (identifier b)) > (shift_expression (literal 50))))) :) (switch_label case (pattern (literal "B")) (case_guard when (expression (relational_expression (relational_expression (identifier b)) < (shift_expression (literal 50))))) :) (switch_label default :) (statement_list (break_statement break ;))) }))) (statement (expression_statement (statement_expression (assignment (unary_expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier B)) , (type_argument (identifier C)) >))) (identifier D))) , (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier E) (type_argument_list < (type_argument (identifier F)) , (type_argument (identifier G)) >))) (identifier H))) ))) (assignment_operator =) (expression (identifier e)))) ;)) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (null_conditional_member_access (primary_expression (null_conditional_member_access (primary_expression (identifier x)) ? . (identifier y))) ? . (identifier z))) is (pattern (declaration_pattern (type (identifier Type)) (simple_designation (identifier value2)))))) ) (embedded_statement (block { })))) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier expr)) is (pattern (declaration_pattern (type (identifier Type)) (simple_designation (identifier v)))))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (invocation_expression (primary_expression (identifier Hello)) ( ))) ;)) }))))) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier static)) (method_modifier async)) (return_type (identifier Task)) (method_header (member_name (identifier LocalFunctions)) ( (parameter_list (fixed_parameter (type (array_type (non_array_type (class_type string)) (rank_specifier [ ]))) (identifier args))) )) (method_body (block { (statement_list (statement (local_function_declaration (return_type (class_type string)) (local_function_header (identifier Hello2) ( (parameter_list (fixed_parameter (type (integral_type int)) (identifier i))) )) (local_function_body (block { (statement_list (return_statement return (expression (element_access (primary_no_array_creation_expression (identifier args)) [ (argument_list (identifier i)) ])) ;)) })))) (statement (local_function_declaration (local_function_modifier async) (return_type (namespace_or_type_name (identifier Task) (type_argument_list < (type_argument (class_type string)) >))) (local_function_header (identifier Hello) (type_parameter_list < (decorated_type_parameter (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier i))) )) (local_function_body => (expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Task)) . (identifier FromResult))) ( (argument_list (element_access (primary_no_array_creation_expression (identifier args)) [ (argument_list (identifier i)) ])) ))))) ;))) (statement (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (identifier Hello)) ( (argument_list (literal 1)) ))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier static))) (return_type void) (method_header (member_name (identifier OutVar)) ( (parameter_list (fixed_parameter (type (array_type (non_array_type (class_type string)) (rank_specifier [ ]))) (identifier args))) )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (predefined_type int) . (identifier TryParse))) ( (argument_list (argument (invocation_expression (primary_expression (identifier Hello)) ( (argument_list (literal 1)) ))) , (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (contextual_keyword var)) (identifier item)))))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (predefined_type int) . (identifier TryParse))) ( (argument_list (argument (invocation_expression (primary_expression (identifier Hello)) ( (argument_list (literal 1)) ))) , (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (integral_type int)) (identifier item)))))) ))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ThrowExpression)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier result) = (expression (null_coalescing_expression (conditional_or_expression (identifier nullableResult)) ?? (null_coalescing_expression (throw_expression throw (null_coalescing_expression (object_creation_expression new (type (identifier NullReferenceException)) ( )))))))))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier BinaryLiterals)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier nineteen) = (local_variable_initializer (literal 0b10011)))))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier DigitSeparators)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier bin) = (local_variable_initializer (literal 0b1001_1010_0001_0100)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier hex) = (local_variable_initializer (literal 0x1b_a0_44_fe)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier dec) = (local_variable_initializer (literal 33_554_432)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier weird) = (local_variable_initializer (literal 1_2__3___4____5_____6______7_______8________9)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type double)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier real) = (local_variable_initializer (literal 1_000.111_1e-1_000)))))) ;))) })))) }))) (namespace_member_declaration (class_declaration class (identifier CSharp71) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier DefaultWithoutTypeName)) ( (parameter_list (fixed_parameter (type (class_type string)) (identifier content) (default_argument = (expression (default_literal default))))) )) (method_body (block { (statement_list (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DefaultWithoutTypeName)) ( (argument_list (default_literal default)) ))) ;)) })))) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier TupleRecognize)) ( (parameter_list (fixed_parameters (fixed_parameter (type (integral_type int)) (identifier a)) , (fixed_parameter (type (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) ))) (identifier b)) , (fixed_parameter (type (nullable_value_type (non_nullable_value_type (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) ))) (nullable_type_annotation ?))) (identifier c)))) )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier result) = (expression (invocation_expression (primary_expression (member_access (primary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier list)) . (identifier Select))) ( (argument_list (lambda_expression (anonymous_function_signature (identifier c)) => (anonymous_function_body (tuple_expression ( (tuple_element (member_access (primary_expression (identifier c)) . (identifier f1))) , (tuple_element (identifier f3) : (expression (member_access (primary_expression (identifier c)) . (identifier f2)))) ))))) ))) . (identifier Where))) ( (argument_list (lambda_expression (anonymous_function_signature (identifier t)) => (anonymous_function_body (equality_expression (equality_expression (member_access (primary_expression (identifier t)) . (identifier f2))) == (relational_expression (literal 1)))))) )))))) ;)) })))) }))) (namespace_member_declaration (class_declaration class (identifier CSharp72) (class_body { (class_member_declaration (struct_declaration (struct_modifier readonly) struct (identifier ReadonlyRef1) (struct_body { (struct_member_declaration (field_declaration (type (namespace_or_type_name (identifier Func) (type_argument_list < (type_argument (integral_type int)) , (type_argument (integral_type int)) >))) (variable_declarators (variable_declarator (identifier s) = (variable_initializer (lambda_expression (anonymous_function_signature (explicit_anonymous_function_signature ( (explicit_anonymous_function_parameter_list (explicit_anonymous_function_parameter (anonymous_function_parameter_modifier in) (type (integral_type int)) (identifier x))) ))) => (anonymous_function_body (identifier x)))))) ;)) (struct_member_declaration (indexer_declaration (ref_kind ref) (indexer_declarator (type (identifier TValue)) this [ (parameter_list (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier TKey)) (identifier index))) ]) (ref_indexer_body => ref (variable_reference (null_literal null)) ;))) (struct_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (binary_operator_declarator (type (identifier Vector3)) operator (overloadable_binary_operator +) ( (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier x)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier y)) ))) (operator_body => (expression (null_literal null)) ;))) (struct_member_declaration (method_declaration (ref_method_modifiers (ref_method_modifier static)) (ref_kind ref readonly) (ref_return_type (identifier Vector3)) (method_header (member_name (identifier M1_Trace)) ( )) (ref_method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration (ref_kind ref readonly) var (ref_local_variable_declarator (identifier r1) = ref (variable_reference (invocation_expression (primary_expression (identifier M1)) ( )))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_ref_local_variable_declaration (ref_kind ref readonly) (type (identifier Vector3)) (ref_local_variable_declarators (ref_local_variable_declarator (identifier r2) = ref (variable_reference (explictly_typed_default default ( (type (identifier Vector3)) ))))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier Mutate)) ( (argument_list (argument_value ref (variable_reference (identifier r1)))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier Print)) ( (argument_list (argument_value in (variable_reference (identifier r1)))) ))) ;)) (statement (return_statement return ref (variable_reference (identifier r1)) ;))) })))) }))) (class_member_declaration (struct_declaration ref struct (identifier ReadonlyRef2) (struct_body { (struct_member_declaration (method_declaration ref_method_modifiers (ref_kind ref readonly) (ref_return_type (identifier Guid)) (method_header (member_name (identifier Test)) ( (parameter_list (fixed_parameters (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier v1)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier in)) (type (identifier Vector3)) (identifier v2)))) )) (ref_method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier v1)) (assignment_operator =) (expression (explictly_typed_default default ( (type (identifier Vector3)) ))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (member_access (primary_expression (identifier v1)) . (identifier X))) (assignment_operator =) (expression (literal 0)))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier foo)) ( (argument_list (argument_value ref (variable_reference (member_access (primary_expression (identifier v1)) . (identifier X))))) ))) ;)) (statement (return_statement return ref (variable_reference (parenthesized_expression ( (expression (conditional_expression (null_coalescing_expression (equality_expression (equality_expression (identifier arr)) != (relational_expression (null_literal null)))) ? ref (variable_reference (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) : ref (variable_reference (element_access (primary_no_array_creation_expression (identifier otherArr)) [ (argument_list (literal 0)) ])))) ))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_argument (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier span) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 1)) ])))))) ;)) (statement (return_statement return (expression (object_creation_expression new (type (identifier Vector3)) ( (argument_list (argument (additive_expression (additive_expression (member_access (primary_expression (identifier v1)) . (identifier X))) + (multiplicative_expression (member_access (primary_expression (identifier v2)) . (identifier X))))) , (argument (additive_expression (additive_expression (member_access (primary_expression (identifier v1)) . (identifier Y))) + (multiplicative_expression (member_access (primary_expression (identifier v2)) . (identifier Y))))) , (argument (additive_expression (additive_expression (member_access (primary_expression (identifier v1)) . (identifier Z))) + (multiplicative_expression (member_access (primary_expression (identifier v2)) . (identifier Z)))))) ))) ;))) })))) (struct_member_declaration (method_declaration ref_method_modifiers (ref_kind ref) (ref_return_type (identifier T)) (method_header (member_name (identifier Choice)) ( (parameter_list (fixed_parameters (fixed_parameter (type (simple_type bool)) (identifier condition)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (identifier T)) (identifier consequence)) , (fixed_parameter (parameter_modifier (parameter_mode_modifier ref)) (type (identifier T)) (identifier alternative)))) )) (ref_method_body (block { (statement_list (if_statement if ( (boolean_expression (identifier condition)) ) (embedded_statement (block { (statement_list (return_statement return ref (variable_reference (identifier consequence)) ;)) })) else (embedded_statement (block { (statement_list (return_statement return ref (variable_reference (identifier alternative)) ;)) })))) })))) }))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier DoSomething)) ( (parameter_list (fixed_parameters (fixed_parameter (type (simple_type bool)) (identifier isEmployed)) , (fixed_parameter (type (class_type string)) (identifier personName)) , (fixed_parameter (type (integral_type int)) (identifier personAge)))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier NonTrailingNamedArguments)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (argument_name (identifier isEmployed) :) (argument_value (boolean_literal true))) , (argument (identifier name)) , (argument (identifier age))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (boolean_literal true)) , (argument (argument_name (identifier personName) :) (argument_value (identifier name))) , (argument (identifier age))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (identifier name)) , (argument (argument_name (identifier isEmployed) :) (argument_value (boolean_literal true))) , (argument (identifier age))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (identifier name)) , (argument (identifier age)) , (argument (argument_name (identifier isEmployed) :) (argument_value (boolean_literal true)))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier DoSomething)) ( (argument_list (argument (boolean_literal true)) , (argument (argument_name (identifier personAge) :) (argument_value (identifier age))) , (argument (argument_name (identifier personName) :) (argument_value (identifier name)))) ))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ConditionalRef)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration (ref_kind ref) var (ref_local_variable_declarator (identifier r) = ref (variable_reference (parenthesized_expression ( (expression (conditional_expression (null_coalescing_expression (equality_expression (equality_expression (identifier arr)) != (relational_expression (null_literal null)))) ? ref (variable_reference (element_access (primary_no_array_creation_expression (identifier arr)) [ (argument_list (literal 0)) ])) : ref (variable_reference (element_access (primary_no_array_creation_expression (identifier otherArr)) [ (argument_list (literal 0)) ])))) )))))) ;)) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier LeadingSeparator)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier res) = (expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (literal 0)) + (multiplicative_expression (literal 123))) + (multiplicative_expression (literal 1_2_3))) + (multiplicative_expression (literal 0x1_2_3))) + (multiplicative_expression (literal 0b101))) + (multiplicative_expression (literal 0b1_0_1))) + (multiplicative_expression (literal 0x_1_2))) + (multiplicative_expression (literal 0b_1_0_1))))))) ;)) })))) }))) (namespace_member_declaration (class_declaration class (identifier CSharp73) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Blittable)) (type_parameter_list < (decorated_type_parameter (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier (contextual_keyword value)))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (contextual_keyword unmanaged)))) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword unmanaged)) = (expression (literal 666))))) ;)) })))) (class_member_declaration (struct_declaration (struct_modifier (unsafe_modifier unsafe)) struct (identifier IndexingMovableFixed) (struct_body { (struct_member_declaration (fixed_size_buffer_declaration (fixed_size_buffer_modifier public) fixed (buffer_element_type (integral_type int)) (fixed_size_buffer_declarators (fixed_size_buffer_declarator (identifier myFixedField) [ (constant_expression (literal 10)) ])) ;)) }))) (class_member_declaration (field_declaration (field_modifier static) (type (identifier IndexingMovableFixed)) (variable_declarators (identifier s)) ;)) (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (unsafe_modifier unsafe))) (return_type void) (method_header (member_name (identifier IndexingMovableFixedFields)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (pointer_type (value_type (integral_type int)) *)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier ptr) = (local_variable_initializer (member_access (primary_expression (identifier s)) . (identifier myFixedField))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier t) = (local_variable_initializer (element_access (primary_no_array_creation_expression (member_access (primary_expression (identifier s)) . (identifier myFixedField))) [ (argument_list (literal 5)) ])))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier PatternBasedFixed)) ( )) (method_body (block { (statement_list (fixed_statement fixed ( (pointer_type (value_type (integral_type byte)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier ptr) = (fixed_pointer_initializer (identifier byteArray)))) ) (embedded_statement (block { })))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier StackallocArrayInitializer)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_argument (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 3)) ])))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_argument (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (constant_expression (literal 3)) ] (stackalloc_initializer { (stackalloc_initializer_element_list (stackalloc_element_initializer (literal 1)) , (stackalloc_element_initializer (literal 2)) , (stackalloc_element_initializer (literal 3))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_argument (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ ] (stackalloc_initializer { (stackalloc_initializer_element_list (stackalloc_element_initializer (literal 1)) , (stackalloc_element_initializer (literal 2)) , (stackalloc_element_initializer (literal 3))) }))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier Span) (type_argument_list < (type_argument (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (stackalloc_expression stackalloc [ ] (stackalloc_initializer { (stackalloc_initializer_element_list (stackalloc_element_initializer (literal 1)) , (stackalloc_element_initializer (literal 2)) , (stackalloc_element_initializer (literal 3))) }))))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier TupleEquality)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (tuple_type ( (tuple_type_element (integral_type int)) , (tuple_type_element (integral_type int)) ))) ))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier t1)) , (explicitly_typed_local_variable_declarator (identifier t2))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier res) = (expression (equality_expression (equality_expression (identifier t1)) == (relational_expression (tuple_expression ( (tuple_element (literal 1)) , (tuple_element (tuple_expression ( (tuple_element (literal 2)) , (tuple_element (literal 3)) ))) )))))))) ;))) })))) }))))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/sample.tree.svg new file mode 100644 index 000000000..fac9619a6 --- /dev/null +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/Reference/sample.tree.svg @@ -0,0 +1,11050 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +namespace_or_type_name + + + +relational_expression + + + +literal + + + +c + + + +type_argument + + + +T + + + +int + + + +, + + + +myFixedField + + + +identifier + + + +; + + + +consequence + + + +explicitly_typed_local_variable_declarators + + + +, + + + +TupleRecognize + + + +boolean_literal + + + +identifier + + + +element_access + + + +variable_reference + + + +true + + + +. + + + +ref + + + +invocation_expression + + + +method_declaration + + + +block + + + +X + + + +void + + + +string + + + +statement_list + + + +ref_method_modifier + + + +[ + + + ++ + + + +identifier + + + +floating_point_type + + + +} + + + +0b1001_1010_0001_0100 + + + +statement + + + +0 + + + +stackalloc + + + +primary_expression + + + +variable_reference + + + +argument_value + + + += + + + +[ + + + +identifier + + + +0 + + + +arr + + + +member_name + + + +( + + + +anonymous_function_signature + + + +return + + + +explicitly_typed_local_variable_declarators + + + +f1 + + + +( + + + +; + + + +expression_statement + + + +fixed_parameter + + + +member_access + + + +age + + + +void + + + +literal + + + +local_variable_type + + + +fixed_parameter + + + +identifier + + + +local_variable_declaration + + + += + + + +=> + + + +decorated_type_parameter + + + +identifier + + + +expression_statement + + + +type_argument + + + +assignment + + + +string + + + +invocation_expression + + + +unary_expression + + + +identifier + + + +: + + + +identifier + + + +type + + + +identifier + + + +contextual_keyword + + + +block + + + +Vector3 + + + +null + + + +tuple_element + + + +primary_expression + + + +, + + + +primary_expression + + + +ref_return_type + + + +member_name + + + +unary_expression + + + +type_argument_list + + + +int + + + +int + + + +ReadonlyRef2 + + + +> + + + +return_statement + + + +name + + + +member_name + + + +byte + + + +integral_type + + + +; + + + += + + + +struct_body + + + +argument_list + + + +identifier + + + +identifier + + + +primary_no_array_creation_expression + + + +Span + + + += + + + +? + + + +identifier + + + +f3 + + + +local_variable_initializer + + + +double + + + +default + + + +explicitly_typed_local_variable_declarators + + + +1 + + + +integral_type + + + +readonly + + + +unmanaged_type + + + +> + + + +switch_label + + + +in + + + +identifier + + + +type + + + +; + + + +2 + + + +{ + + + +( + + + +unmanaged + + + +Mutate + + + +namespace_or_type_name + + + +} + + + +stackalloc_expression + + + +statement_list + + + +3 + + + += + + + +invocation_expression + + + +method_body + + + +method_header + + + +argument + + + +) + + + +static + + + +literal + + + +method_body + + + +statement + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +< + + + +) + + + +declaration_statement + + + +local_function_body + + + +] + + + +{ + + + +declaration_statement + + + +anonymous_function_body + + + +1 + + + +identifier + + + +parameter_list + + + +argument_list + + + +identifier + + + +literal + + + +tuple_expression + + + +integral_type + + + +identifier + + + +operator_declaration + + + +literal + + + +block + + + +{ + + + +member_name + + + +1_2_3 + + + +identifier + + + +namespace_or_type_name + + + +type + + + +pattern + + + +identifier + + + +T + + + +identifier + + + +class_type + + + +argument + + + +multiplicative_expression + + + +invocation_expression + + + +explicitly_typed_local_variable_declarator + + + +rank_specifier + + + +} + + + +TryParse + + + +return_type + + + +fixed_parameter + + + +identifier + + + +, + + + +} + + + +parameter_mode_modifier + + + +parameter_mode_modifier + + + +local_variable_declaration + + + += + + + +H + + + +identifier + + + +member_name + + + +method_modifier + + + +DoSomething + + + +> + + + +( + + + +fixed_size_buffer_declaration + + + +ref + + + +parameter_list + + + +nullableResult + + + +2 + + + +method_modifiers + + + +default + + + +argument + + + +readonly + + + +. + + + +ref_method_modifier + + + +ref_kind + + + +primary_no_array_creation_expression + + + +x + + + +local_variable_declaration + + + +class_member_declaration + + + +return_type + + + +array_type + + + +) + + + +struct_declaration + + + +argument_list + + + +explicitly_typed_local_variable_declarators + + + +method_declaration + + + +identifier + + + +namespace_member_declaration + + + +variable_declarators + + + +identifier + + + +{ + + + +, + + + +decorated_type_parameter + + + +identifier + + + +int + + + +variable_reference + + + +identifier + + + +Type + + + +element_access + + + +expression_statement + + + +argument + + + +identifier + + + +return_statement + + + +statement + + + +var + + + +, + + + +simple_designation + + + +ref_method_modifier + + + +unsafe_modifier + + + +int + + + +( + + + +) + + + +tuple_type_element + + + +literal + + + +ref + + + +{ + + + +argument_name + + + +embedded_statement + + + +< + + + +( + + + +stackalloc_initializer_element_list + + + +y + + + +literal + + + +method_header + + + +struct_member_declaration + + + +integral_type + + + +statement_list + + + +int + + + +member_name + + + +, + + + +tuple_type + + + +ref + + + +) + + + +; + + + +stackalloc_element_initializer + + + +statement + + + +( + + + +field_declaration + + + +t2 + + + +] + + + +argument + + + +. + + + +fixed_parameter + + + +int + + + +} + + + +r1 + + + +method_header + + + +type + + + +; + + + +block + + + +int + + + +fixed_pointer_declarators + + + +public + + + +ref_kind + + + +* + + + +return_type + + + +additive_expression + + + += + + + +; + + + +: + + + +primary_expression + + + +1 + + + +x + + + +explicitly_typed_local_variable_declaration + + + +invocation_expression + + + +primary_expression + + + +Print + + + +declaration_statement + + + +implicitly_typed_local_variable_declaration + + + +identifier + + + +? + + + +) + + + +) + + + +] + + + +method_modifier + + + +member_name + + + +{ + + + +} + + + +otherArr + + + +integral_type + + + +case_guard + + + +expr + + + +identifier + + + +( + + + +object_creation_expression + + + +invocation_expression + + + +class_member_declaration + + + +) + + + +local_variable_declaration + + + +explicitly_typed_local_variable_declarators + + + +666 + + + +; + + + +f2 + + + +fixed_parameter + + + +return_statement + + + +return + + + +lambda_expression + + + +block + + + +statement_expression + + + +ref_method_modifier + + + +method_modifiers + + + +( + + + +type + + + +nullable_value_type + + + +) + + + +fixed_parameters + + + +type + + + +IndexingMovableFixed + + + +integral_type + + + +, + + + +( + + + +ref + + + +i + + + +element_access + + + +( + + + +local_variable_declaration + + + +multiplicative_expression + + + +argument + + + +primary_expression + + + +, + + + +tuple_element + + + +int + + + +string + + + +argument_name + + + +v2 + + + +type + + + +explicitly_typed_local_variable_declaration + + + +break + + + +identifier + + + +; + + + +implicitly_typed_local_variable_declaration + + + +pattern + + + +explicitly_typed_local_variable_declarators + + + +block + + + +value_type + + + +struct + + + +type_parameter_constraints_clause + + + +block + + + +member_access + + + +identifier + + + +integral_type + + + +type + + + +identifier + + + +class_member_declaration + + + +method_header + + + +? + + + +primary_no_array_creation_expression + + + += + + + +method_header + + + +{ + + + +namespace_or_type_name + + + +member_access + + + +} + + + +Type + + + +assignment + + + +local_variable_declaration + + + +local_variable_initializer + + + +primary_expression + + + +ref + + + +) + + + +this + + + +int + + + +identifier + + + +identifier + + + +identifier + + + +] + + + +static + + + +parenthesized_expression + + + +expression + + + +int + + + +argument_list + + + +local_variable_declaration + + + +method_modifier + + + +) + + + +[ + + + +stackalloc_initializer + + + +< + + + +identifier + + + +member_access + + + +. + + + +additive_expression + + + +block + + + +explicitly_typed_local_variable_declarator + + + +( + + + +identifier + + + +primary_expression + + + +declaration_statement + + + +identifier + + + +embedded_statement + + + +statement + + + +equality_expression + + + +operator_declarator + + + +; + + + +statement + + + +method_declaration + + + +argument_value + + + +declaration_statement + + + +declaration_expression + + + +method_body + + + +statement + + + +local_variable_type + + + +statement_list + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +var + + + +variable_declarator + + + +member_name + + + +r1 + + + +argument + + + +statement + + + +implicitly_typed_local_variable_declaration + + + +* + + + +class_member_declaration + + + +member_access + + + +; + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +identifier + + + +identifier + + + +declaration_statement + + + +argument_list + + + +return_type + + + +identifier + + + +when + + + +. + + + +var + + + +expression + + + +( + + + +in + + + +identifier + + + +relational_expression + + + +LeadingSeparator + + + +void + + + +identifier + + + +< + + + +} + + + +x + + + +identifier + + + +literal + + + +int + + + +( + + + +statement_expression + + + +i + + + +struct_modifier + + + +int + + + += + + + +myFixedField + + + +stackalloc_element_initializer + + + +> + + + +assignment_operator + + + +result + + + +return + + + +5 + + + +relational_expression + + + +: + + + +declaration_expression + + + +conditional_expression + + + +literal + + + +int + + + +expression_statement + + + +t1 + + + +statement_list + + + +Blittable + + + +method_header + + + +statement_list + + + +struct_modifier + + + +in + + + +ref_kind + + + ++ + + + +CSharp73 + + + +Y + + + +declaration_pattern + + + +; + + + +identifier + + + +int + + + +] + + + +statement_list + + + +additive_expression + + + +primary_expression + + + +identifier + + + +async + + + +. + + + +Test + + + +parameter_modifier + + + +member_access + + + +[ + + + +( + + + +prog + + + +10 + + + +public + + + +index + + + +method_declaration + + + +argument_list + + + +namespace_member_declaration + + + +ref + + + +, + + + +a + + + +[ + + + +class + + + +literal + + + +namespace_member_declaration + + + +void + + + +class_type + + + +DoSomething + + + +v + + + +int + + + +"B" + + + +identifier + + + +{ + + + +explicitly_typed_local_variable_declarator + + + +> + + + +, + + + +D + + + +item + + + +identifier + + + +int + + + +identifier + + + +identifier + + + +v1 + + + +local_variable_declaration + + + +=> + + + +assignment_operator + + + +binary_operator_declarator + + + +parameter_list + + + +void + + + +statement_expression + + + +expression_statement + + + +. + + + +t + + + +declaration_statement + + + +dec + + + +identifier + + + +struct_member_declaration + + + +identifier + + + +identifier + + + +type + + + +identifier + + + +Task + + + +] + + + +; + + + +fixed_parameter + + + +type + + + +b + + + +return_type + + + +member_access + + + +C + + + +primary_expression + + + +; + + + +unsafe + + + +member_name + + + +type + + + +identifier + + + +literal + + + +stackalloc + + + +true + + + +ref + + + +lambda_expression + + + +parameter_modifier + + + +type + + + += + + + +isEmployed + + + +) + + + +identifier + + + +( + + + +) + + + +ref_indexer_body + + + +ref_kind + + + +; + + + +identifier + + + +bool + + + +ref_kind + + + +null_literal + + + +namespace_or_type_name + + + +span + + + +1_2__3___4____5_____6______7_______8________9 + + + +local_variable_declaration + + + +. + + + +) + + + +public + + + +, + + + +CSharp71 + + + +stackalloc + + + +primary_expression + + + +out + + + +argument_value + + + +switch_label + + + +variable_reference + + + +123 + + + +method_modifier + + + +statement + + + +int + + + +identifier + + + +Task + + + +method_header + + + +primary_expression + + + +switch_block + + + +33_554_432 + + + +string + + + +additive_expression + + + +identifier + + + += + + + +type + + + +ref_local_variable_declarator + + + +: + + + +return_statement + + + +statement + + + +[ + + + +identifier + + + +identifier + + + +declaration_statement + + + +? + + + +fixed_pointer_initializer + + + +return_type + + + +identifier + + + +fixed_pointer_declarator + + + +[ + + + +method_declaration + + + +identifier + + + +argument_list + + + +literal + + + += + + + +) + + + +statement_list + + + += + + + +variable_reference + + + +parameter_list + + + +member_name + + + +name + + + +statement + + + +return_type + + + +statement_expression + + + +literal + + + +method_header + + + +explicitly_typed_local_variable_declaration + + + +variable_reference + + + +member_access + + + +null + + + +stackalloc_element_initializer + + + +explictly_typed_default + + + +== + + + ++ + + + +statement_expression + + + +class_type + + + +( + + + +stackalloc_initializer + + + +( + + + +argument_list + + + +integral_type + + + +ref_method_modifier + + + +simple_type + + + +if_statement + + + +class_member_declaration + + + +identifier + + + +int + + + +identifier + + + +v2 + + + +parameter_modifier + + + +literal + + + +conditional_or_expression + + + +value_type + + + +Hello + + + +type + + + +ref_method_body + + + +void + + + +identifier + + + +myFixedField + + + +literal + + + +identifier + + + +fixed_parameter + + + +boolean_literal + + + +method_declaration + + + +block + + + +explicitly_typed_local_variable_declarators + + + +ref_method_modifier + + + +v1 + + + +TKey + + + +variable_reference + + + +( + + + +local_variable_declaration + + + +contextual_keyword + + + +s + + + +invocation_expression + + + +Y + + + +integral_type + + + +) + + + +method_declaration + + + += + + + +argument_value + + + += + + + +stackalloc_expression + + + +identifier + + + +unary_expression + + + +explicitly_typed_local_variable_declarator + + + +await + + + +Span + + + +method_declaration + + + +readonly + + + +declaration_statement + + + +local_variable_initializer + + + +identifier + + + +namespace_or_type_name + + + +) + + + +multiplicative_expression + + + +Span + + + +{ + + + ++ + + + +boolean_literal + + + +declaration_pattern + + + +statement_expression + + + +1_000.111_1e-1_000 + + + += + + + +identifier + + + +integral_type + + + +assignment + + + +expression_statement + + + +explicitly_typed_local_variable_declarators + + + +ptr + + + +; + + + +stackalloc_initializer + + + +ref_local_variable_declarator + + + +local_variable_type + + + +} + + + +type + + + +explicitly_typed_local_variable_declaration + + + +method_header + + + +return_type + + + +type_parameter_constraints + + + +) + + + +tuple_element + + + +return + + + +identifier + + + +void + + + +namespace_member_declaration + + + +( + + + +Vector3 + + + +method_modifiers + + + +type + + + +identifier + + + +literal + + + +OutVar + + + +> + + + +member_access + + + +switch_label + + + +parenthesized_expression + + + +void + + + +class_member_declaration + + + +] + + + +where + + + +ReadonlyRef1 + + + +statement + + + +block + + + +statement_expression + + + +declaration_statement + + + +fixed_parameter + + + +type + + + +class_declaration + + + +anonymous_function_body + + + +identifier + + + +out + + + +identifier + + + +member_name + + + +> + + + +contextual_keyword + + + +local_function_modifier + + + +T + + + +{ + + + +explicitly_typed_ref_local_variable_declaration + + + +member_name + + + +statement_expression + + + +{ + + + +explicitly_typed_local_variable_declarators + + + +0 + + + +Vector3 + + + +argument_list + + + +argument + + + +{ + + + +identifier + + + +ref + + + +, + + + +) + + + +default_literal + + + +identifier + + + +> + + + +implicitly_typed_local_variable_declarator + + + +: + + + +, + + + +identifier + + + +public + + + +null_coalescing_expression + + + +expression_statement + + + +type + + + +; + + + +M1 + + + +arg + + + +additive_expression + + + +} + + + +primary_expression + + + +type + + + +identifier + + + +; + + + +( + + + +( + + + +method_header + + + +local_variable_initializer + + + +identifier + + + +boolean_expression + + + +explicitly_typed_local_variable_declaration + + + +type + + + +] + + + +fixed_parameters + + + +stackalloc_expression + + + +argument_list + + + +) + + + +A + + + +identifier + + + +3 + + + +; + + + +invocation_expression + + + +return_type + + + +primary_expression + + + +) + + + +implicitly_typed_local_variable_declaration + + + +1 + + + +literal + + + +additive_expression + + + +method_modifier + + + +return_type + + + +ref + + + +( + + + +local_variable_declaration + + + +statement + + + +shift_expression + + + +?? + + + +identifier + + + +type + + + +) + + + +argument_list + + + +argument_list + + + +string + + + +; + + + +a + + + +args + + + +parameter_mode_modifier + + + +literal + + + +, + + + +identifier + + + +[ + + + +: + + + +z + + + +class_body + + + +type_argument + + + +ref + + + +switch_section + + + +literal + + + +X + + + +literal + + + +[ + + + +( + + + +class_member_declaration + + + +explicitly_typed_local_variable_declarator + + + +c + + + +identifier + + + +parameter_list + + + ++ + + + +: + + + +method_modifiers + + + +class_member_declaration + + + +ref_method_modifier + + + +) + + + +{ + + + +identifier + + + +member_access + + + +identifier + + + +block + + + +explicitly_typed_local_variable_declaration + + + +( + + + +primary_no_array_creation_expression + + + +} + + + +anonymous_function_signature + + + +identifier + + + += + + + +primary_expression + + + +} + + + +invocation_expression + + + +} + + + +unsafe_modifier + + + +identifier + + + +r2 + + + +relational_expression + + + +identifier + + + +) + + + +identifier + + + +unmanaged_type + + + +isEmployed + + + +a + + + +identifier + + + +: + + + +fixed_parameter + + + +local_variable_declaration + + + +] + + + +type_parameter_list + + + +0x1b_a0_44_fe + + + +literal + + + +) + + + +) + + + +assignment_operator + + + +) + + + +args + + + +statement + + + +struct_member_declaration + + + +primary_expression + + + +statement + + + +multiplicative_expression + + + +statement_list + + + +method_declaration + + + +identifier + + + +local_variable_initializer + + + +return_type + + + +identifier + + + +primary_no_array_creation_expression + + + +declaration_statement + + + +identifier + + + +=> + + + +T + + + +statement_list + + + +( + + + +; + + + +boolean_expression + + + +} + + + +declaration_statement + + + +statement_list + + + +identifier + + + +void + + + +class_type + + + += + + + +; + + + +constant_expression + + + +invocation_expression + + + +; + + + +ref_method_modifiers + + + +} + + + +{ + + + +void + + + +method_header + + + +result + + + +parameter_modifier + + + +statement + + + +type_argument_list + + + +personAge + + + +identifier + + + +identifier + + + +identifier + + + +v2 + + + +50 + + + +equality_expression + + + +args + + + +LocalFunctions + + + +parameter_mode_modifier + + + +contextual_keyword + + + +void + + + +member_access + + + +, + + + +tuple_element + + + +local_variable_initializer + + + +ref + + + +c + + + +foo + + + +( + + + +identifier + + + +[ + + + +var + + + +) + + + +variable_reference + + + +namespace_or_type_name + + + +member_name + + + +ref_local_variable_declarator + + + +!= + + + +integral_type + + + +ref_return_type + + + +y + + + +statement_expression + + + +=> + + + +ref + + + +{ + + + +integral_type + + + +personAge + + + +parameter_modifier + + + +invocation_expression + + + +local_variable_declaration + + + +2 + + + +; + + + +; + + + +statement_list + + + +member_access + + + +TryParse + + + +operator_body + + + +ref + + + +identifier + + + +identifier + + + +statement_list + + + +rank_specifier + + + +struct_body + + + +} + + + +invocation_expression + + + +method_header + + + +declaration_statement + + + +identifier + + + +parameter_mode_modifier + + + +null_literal + + + +member_access + + + +identifier + + + +literal + + + +statement + + + +explicitly_typed_local_variable_declarator + + + +invocation_expression + + + +identifier + + + +argument + + + +expression_statement + + + +type_parameter_list + + + +T + + + +tuple_type_element + + + +explicitly_typed_local_variable_declarators + + + +method_modifiers + + + +DefaultWithoutTypeName + + + +) + + + +literal + + + +method_body + + + +( + + + +identifier + + + +expression + + + +statement_list + + + +( + + + +class_member_declaration + + + +B + + + +v1 + + + +, + + + +block + + + +explicitly_typed_local_variable_declarators + + + +ref_method_modifier + + + +Hello + + + +primary_expression + + + +struct + + + +expression + + + +integral_type + + + +: + + + +c + + + +fixed + + + +method_modifiers + + + +additive_expression + + + +X + + + +. + + + +explicitly_typed_local_variable_declaration + + + +class + + + +tuple_type_element + + + +class + + + +ptr + + + +struct_member_declaration + + + +( + + + +literal + + + +) + + + +< + + + +[ + + + +method_header + + + +declaration_statement + + + +return_statement + + + +tuple_type_element + + + +identifier + + + +variable_reference + + + +method_modifiers + + + +integral_type + + + +( + + + +Span + + + +method_modifiers + + + +element_access + + + +, + + + +tuple_type + + + +declaration_statement + + + +expression_statement + + + +declaration_statement + + + +default + + + += + + + +pattern + + + +identifier + + + +tuple_element + + + +fixed_parameter + + + +type_argument + + + +int + + + +stackalloc_initializer_element_list + + + +i + + + +statement_list + + + +class_declaration + + + +} + + + +explicitly_typed_local_variable_declaration + + + +identifier + + + +identifier + + + +argument + + + +explicitly_typed_local_variable_declaration + + + +. + + + +type_argument + + + +identifier + + + +type + + + +expression + + + +relational_expression + + + +name + + + +parameter_mode_modifier + + + +T + + + +struct_member_declaration + + + +; + + + +statement_list + + + +identifier + + + +t + + + +expression + + + +null + + + +identifier + + + +Z + + + +type + + + +simple_designation + + + +parameter_list + + + +argument_value + + + +) + + + +method_body + + + +var + + + +) + + + += + + + +< + + + +[ + + + +block + + + +Vector3 + + + +statement + + + +identifier + + + +primary_expression + + + +type_parameter + + + +primary_expression + + + +statement + + + +identifier + + + +return + + + +stackalloc_element_initializer + + + +identifier + + + +fixed_size_buffer_declarators + + + +3 + + + +r1 + + + +class_member_declaration + + + +method_declaration + + + +int + + + +type_argument_list + + + +argument + + + +multiplicative_expression + + + +member_name + + + +) + + + +[ + + + +a + + + +. + + + +a + + + +additive_expression + + + +identifier + + + +method_body + + + +return_type + + + +, + + + +equality_expression + + + +pattern + + + +) + + + +identifier + + + +) + + + +null + + + +statement + + + +argument + + + +identifier + + + +( + + + +compilation_unit + + + +integral_type + + + +{ + + + +fixed_parameter + + + +weird + + + +: + + + +method_body + + + +=> + + + +struct_declaration + + + +v1 + + + +method_body + + + +; + + + +; + + + +T + + + +integral_type + + + +tuple_type_element + + + +identifier + + + +DoSomething + + + +public + + + +stackalloc + + + +lambda_expression + + + +Vector3 + + + +} + + + +. + + + +expression + + + +static + + + +identifier + + + +statement + + + +identifier + + + +return_type + + + +argument_list + + + +local_variable_type + + + +; + + + +; + + + +identifier + + + +( + + + +integral_type + + + +StackallocArrayInitializer + + + +identifier + + + +age + + + +) + + + +Z + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +method_header + + + +; + + + +identifier + + + +condition + + + +( + + + +fixed_parameter + + + +ref_local_variable_declarators + + + +Hello + + + +argument_list + + + +statement_expression + + + +primary_expression + + + +( + + + +block + + + +implicitly_typed_local_variable_declarator + + + +additive_expression + + + +} + + + +array_type + + + +type + + + +relational_expression + + + +} + + + +member_access + + + +variable_reference + + + +tuple_type_element + + + +identifier + + + +default_literal + + + +variable_reference + + + +arr + + + +null_coalescing_expression + + + +; + + + +return_type + + + +ref + + + +type + + + +identifier + + + +int + + + +. + + + +fixed_parameters + + + +primary_expression + + + +stackalloc_initializer_element_list + + + +] + + + +method_declaration + + + +integral_type + + + +( + + + +ThrowExpression + + + +statement_expression + + + +explicit_anonymous_function_parameter_list + + + +0b1_0_1 + + + +{ + + + +primary_expression + + + +class_member_declaration + + + +statement + + + +shift_expression + + + +) + + + +identifier + + + +if_statement + + + +block + + + +identifier + + + +identifier + + + +equality_expression + + + +expression + + + +] + + + +; + + + +is + + + +type + + + +} + + + +void + + + +type + + + +argument_list + + + +identifier + + + +case_guard + + + +identifier + + + +, + + + +stackalloc_element_initializer + + + +identifier + + + +ConditionalRef + + + +int + + + +if_statement + + + +relational_expression + + + +identifier + + + +explicitly_typed_local_variable_declaration + + + +tuple_element + + + +parameter_list + + + +identifier + + + +public + + + +int + + + +member_access + + + +class_member_declaration + + + +statement_expression + + + +, + + + +ref + + + +identifier + + + +ref_method_modifier + + + +local_variable_declaration + + + +primary_no_array_creation_expression + + + +invocation_expression + + + +) + + + +class_type + + + +: + + + +new + + + +class + + + +0x_1_2 + + + +additive_expression + + + += + + + +public + + + +literal + + + +nullable_type_annotation + + + +argument_value + + + +. + + + +class_member_declaration + + + +class_member_declaration + + + +v1 + + + +method_body + + + +> + + + +consequence + + + +) + + + +true + + + +literal + + + +local_function_body + + + +integral_type + + + +( + + + +embedded_statement + + + +. + + + +statement_list + + + +( + + + +statement_expression + + + +expression + + + +literal + + + +int + + + +literal + + + +in + + + +explicitly_typed_local_variable_declarators + + + +argument_value + + + +literal + + + +case + + + +[ + + + +Where + + + +literal + + + +invocation_expression + + + +method_modifiers + + + +statement + + + +) + + + +v1 + + + +identifier + + + +{ + + + +identifier + + + +fixed_parameter + + + +identifier + + + +( + + + +< + + + ++ + + + +literal + + + +literal + + + +method_body + + + +; + + + +argument_value + + + +statement + + + +{ + + + +statement + + + +new + + + +literal + + + +relational_expression + + + +async + + + +class_member_declaration + + + +declaration_statement + + + +identifier + + + +type_argument + + + +, + + + +primary_no_array_creation_expression + + + +local_variable_declaration + + + +] + + + +F + + + +stackalloc_expression + + + +statement_list + + + +, + + + +method_modifiers + + + +argument + + + +< + + + +await_expression + + + +integral_type + + + +identifier + + + +DoSomething + + + +value2 + + + +simple_type + + + +NonTrailingNamedArguments + + + +explicitly_typed_local_variable_declaration + + + +( + + + +conditional_expression + + + +ref + + + +type_argument + + + +{ + + + +operator_modifier + + + +) + + + +[ + + + +} + + + +method_body + + + +PatternBasedFixed + + + +identifier + + + +stackalloc + + + +field_modifier + + + +content + + + +explicitly_typed_local_variable_declarator + + + +otherArr + + + +class_type + + + +statement + + + +statement + + + +variable_reference + + + +) + + + +primary_expression + + + +local_function_header + + + +declaration_statement + + + +"A" + + + +t + + + += + + + +element_access + + + +method_header + + + +integral_type + + + +{ + + + +identifier + + + +, + + + +return_type + + + +argument + + + +identifier + + + +3 + + + +identifier + + + +expression_statement + + + +0b10011 + + + +implicitly_typed_local_variable_declaration + + + +identifier + + + +method_declaration + + + +{ + + + +int + + + +fixed_parameter + + + +} + + + +integral_type + + + +< + + + +integral_type + + + +0b_1_0_1 + + + +; + + + +IndexingMovableFixedFields + + + +3 + + + +identifier + + + +identifier + + + +) + + + +integral_type + + + +operator + + + +, + + + +identifier + + + +declaration_statement + + + +type_argument_list + + + +statement_expression + + + +statement + + + ++ + + + +method_header + + + +statement + + + +multiplicative_expression + + + +explicitly_typed_local_variable_declarators + + + +} + + + +int + + + +method_modifiers + + + +: + + + +return_statement + + + +method_body + + + +boolean_expression + + + +method_modifiers + + + +identifier + + + +primary_expression + + + +invocation_expression + + + +argument_name + + + +relational_expression + + + +) + + + +( + + + +predefined_type + + + +Choice + + + +FromResult + + + +DoSomething + + + +list + + + +; + + + +type_argument_list + + + +local_variable_initializer + + + +struct_member_declaration + + + +. + + + +r1 + + + +int + + + +if + + + +argument_name + + + +arr + + + +identifier + + + +, + + + +expression_statement + + + +; + + + +type + + + +integral_type + + + +b + + + +integral_type + + + +explicitly_typed_local_variable_declarator + + + +( + + + +Select + + + +fixed_statement + + + +tuple_type + + + +void + + + +} + + + +name + + + +statement + + + +age + + + +expression_statement + + + +identifier + + + +member_name + + + +50 + + + +multiplicative_expression + + + +identifier + + + +; + + + +int + + + +block + + + +type + + + +CSharp70 + + + +, + + + +( + + + +{ + + + +literal + + + +variable_declarators + + + +member_name + + + +unmanaged + + + +identifier + + + +PatternMatching + + + +method_header + + + +1 + + + +expression + + + +method_declaration + + + +identifier + + + +method_body + + + +type + + + +ref_method_modifier + + + +null_coalescing_expression + + + +] + + + +. + + + +} + + + +int + + + +argument_list + + + +namespace_or_type_name + + + +explicitly_typed_local_variable_declarator + + + +method_modifier + + + +local_function_declaration + + + +{ + + + +anonymous_function_body + + + +identifier + + + +variable_reference + + + +argument_name + + + +when + + + +: + + + +( + + + +( + + + +explicitly_typed_local_variable_declarator + + + ++ + + + +local_function_header + + + +primary_expression + + + +static + + + +type + + + +type + + + +} + + + +int + + + +ref + + + +default_argument + + + +void + + + +default + + + +; + + + +identifier + + + +0 + + + +stackalloc_element_initializer + + + +, + + + +member_access + + + +( + + + +identifier + + + +constant_expression + + + +public + + + +null_coalescing_expression + + + +argument + + + +args + + + +primary_expression + + + +argument + + + +declaration_statement + + + +value + + + +{ + + + +namespace_or_type_name + + + +variable_reference + + + +int + + + +parameter_list + + + +identifier + + + +ref + + + +argument + + + +, + + + +, + + + +parameter_list + + + +, + + + +variable_initializer + + + +, + + + +argument_list + + + +block + + + +identifier + + + +embedded_statement + + + +class_member_declaration + + + +tuple_type_element + + + +relational_expression + + + +ref + + + +method_body + + + +readonly + + + +( + + + +class_member_declaration + + + +< + + + +class_body + + + +expression + + + +1 + + + +block + + + += + + + +int + + + +( + + + +literal + + + +, + + + +return_type + + + +> + + + +ref + + + +class_declaration + + + +identifier + + + +local_variable_initializer + + + +{ + + + +name + + + +identifier + + + +identifier + + + +personName + + + += + + + +explicit_anonymous_function_signature + + + +alternative + + + +!= + + + +method_header + + + +hex + + + +identifier + + + +integral_type + + + +literal + + + +predefined_type + + + +statement + + + +declaration_statement + + + +Guid + + + +r + + + +local_variable_declaration + + + +argument_value + + + +( + + + +operator_modifier + + + +local_function_declaration + + + +type_argument_list + + + +in + + + +argument_list + + + +Vector3 + + + +) + + + +identifier + + + +identifier + + + +ref_method_modifiers + + + +multiplicative_expression + + + += + + + +type_argument + + + +identifier + + + +( + + + +stackalloc_expression + + + +; + + + +local_variable_initializer + + + +argument_list + + + +; + + + +< + + + +method_declaration + + + +literal + + + +struct_declaration + + + +) + + + +equality_expression + + + +parameter_modifier + + + +; + + + +type_argument_list + + + +non_array_type + + + +bool + + + +local_variable_declaration + + + +NullReferenceException + + + ++ + + + +await_expression + + + +fixed_size_buffer_declarator + + + +primary_expression + + + +type + + + +X + + + +( + + + +local_variable_initializer + + + +fixed_parameter + + + +block + + + +anonymous_function_parameter_modifier + + + ++ + + + +tuple_type_element + + + +identifier + + + +argument_list + + + +tuple_expression + + + +argument_value + + + +block + + + +Vector3 + + + +Hello + + + +additive_expression + + + +primary_expression + + + +{ + + + +Task + + + +primary_expression + + + +< + + + +identifier + + + +argument + + + +statement_list + + + +method_declaration + + + +variable_reference + + + +primary_expression + + + +integral_type + + + +method_declaration + + + +2 + + + +default + + + +} + + + +variable_reference + + + +identifier + + + +) + + + +integral_type + + + +expression + + + +local_variable_initializer + + + +struct_body + + + +fixed_parameter + + + +G + + + +b + + + +identifier + + + +, + + + +member_access + + + +; + + + +statement + + + +stackalloc_element_initializer + + + +tuple_expression + + + +var + + + +nineteen + + + +type_argument + + + +tuple_expression + + + +ref_method_body + + + +member_name + + + +} + + + +personName + + + +) + + + +; + + + +) + + + +{ + + + +argument_list + + + +method_declaration + + + +in + + + +Span + + + +additive_expression + + + +identifier + + + +( + + + +integral_type + + + +true + + + +ref_method_modifiers + + + +field_declaration + + + +primary_expression + + + +f2 + + + +tuple_type_element + + + +null_literal + + + +> + + + +method_body + + + +explictly_typed_default + + + +identifier + + + +ref_kind + + + +unmanaged_type + + + +fixed_parameter + + + +integral_type + + + +] + + + +identifier + + + += + + + +relational_expression + + + +ref + + + +member_name + + + +expression + + + +=> + + + +equality_expression + + + +] + + + +expression_statement + + + +BinaryLiterals + + + +t1 + + + +argument + + + +statement + + + +, + + + +identifier + + + +return_type + + + +identifier + + + +var + + + +identifier + + + +primary_expression + + + +class_body + + + +class_member_declaration + + + +identifier + + + +} + + + +identifier + + + +unary_expression + + + +stackalloc_element_initializer + + + +implicitly_typed_local_variable_declarator + + + +expression + + + +parameter_modifier + + + +expression + + + +boolean_literal + + + +method_declaration + + + +public + + + +TupleEquality + + + +DefaultWithoutTypeName + + + +; + + + +) + + + +type_argument + + + +type_argument_list + + + +i + + + +tuple_element + + + +1 + + + +block + + + +multiplicative_expression + + + +statement_expression + + + +literal + + + +true + + + +type + + + +isEmployed + + + +identifier + + + +identifier + + + +1 + + + +3 + + + +Vector3 + + + +) + + + +) + + + +literal + + + +primary_expression + + + +identifier + + + +primary_expression + + + +element_access + + + +b + + + +personName + + + +identifier + + + +parameter_list + + + +local_variable_declaration + + + +element_access + + + +unmanaged_type + + + +local_variable_declaration + + + +ref_method_modifier + + + +invocation_expression + + + +{ + + + +additive_expression + + + +1 + + + +method_declaration + + + +) + + + +expression + + + +type + + + +DoSomething + + + +type + + + +local_variable_declaration + + + +public + + + +type + + + +type + + + +DigitSeparators + + + +declaration_statement + + + +struct_member_declaration + + + +fixed_parameter + + + +relational_expression + + + +public + + + +identifier + + + +age + + + +fixed_parameter + + + +method_modifiers + + + +type + + + +statement + + + +{ + + + +public + + + +fixed_parameters + + + +res + + + +{ + + + +null_conditional_member_access + + + +; + + + +multiplicative_expression + + + +} + + + +readonly + + + +block + + + +ref_method_modifier + + + +if + + + +member_access + + + +( + + + +( + + + +expression + + + +{ + + + +switch_statement + + + +member_name + + + +argument_name + + + +statement_list + + + +tuple_element + + + +int + + + +explicitly_typed_local_variable_declarator + + + +equality_expression + + + +class_type + + + +0x1_2_3 + + + +null_coalescing_expression + + + +identifier + + + +var + + + +E + + + +non_nullable_value_type + + + +0b101 + + + +identifier + + + +identifier + + + +type + + + +identifier + + + +, + + + +identifier + + + +type + + + +fixed + + + +v2 + + + +identifier + + + +method_modifiers + + + +expression + + + +( + + + +parameter_list + + + +buffer_element_type + + + +literal + + + +; + + + +await + + + +ref_kind + + + +type_argument + + + +} + + + +implicitly_typed_local_variable_declaration + + + +method_modifier + + + +class_member_declaration + + + +public + + + +fixed_size_buffer_modifier + + + +identifier + + + +explicitly_typed_local_variable_declarators + + + +string + + + +identifier + + + +} + + + +method_body + + + +void + + + +== + + + +CSharp72 + + + +block + + + +block + + + +ref_method_modifier + + + +explicit_anonymous_function_parameter + + + +} + + + +unsafe + + + +if + + + +declaration_expression + + + +) + + + +method_header + + + +} + + + +class_member_declaration + + + +identifier + + + += + + + +block + + + +identifier + + + +. + + + +. + + + +Vector3 + + + +class_body + + + +local_variable_initializer + + + +implicitly_typed_local_variable_declarator + + + +ref + + + +, + + + +identifier + + + +Hello2 + + + +( + + + +0 + + + +ref + + + +block + + + +; + + + +parameter_list + + + +statement_list + + + +is + + + +method_modifiers + + + +( + + + +static + + + +( + + + +( + + + +, + + + +isEmployed + + + +s + + + +type_argument_list + + + +; + + + +break_statement + + + +) + + + +( + + + +, + + + +invocation_expression + + + +{ + + + +Func + + + +embedded_statement + + + +in + + + +type + + + +. + + + +integral_type + + + +case + + + +null_conditional_member_access + + + +local_variable_initializer + + + +bin + + + +ref_return_type + + + +expression + + + +identifier + + + +identifier + + + +statement + + + +literal + + + +( + + + +literal + + + +argument_list + + + +) + + + +statement_list + + + +method_body + + + +] + + + +identifier + + + +s + + + +stackalloc_element_initializer + + + +{ + + + +statement_list + + + +argument + + + +{ + + + +equality_expression + + + +return_type + + + +additive_expression + + + +identifier + + + +literal + + + +identifier + + + +expression + + + +identifier + + + +identifier + + + +identifier + + + +argument_list + + + +identifier + + + +explicitly_typed_local_variable_declarator + + + +return + + + +null_literal + + + +type + + + +IndexingMovableFixed + + + +identifier + + + +return_type + + + +identifier + + + +condition + + + +pointer_type + + + +ref_method_modifier + + + +TValue + + + +public + + + +fixed_parameter + + + +e + + + +> + + + +tuple_type + + + +identifier + + + +class_member_declaration + + + +arr + + + +argument + + + +0 + + + +else + + + +argument_list + + + +method_header + + + +pointer_type + + + +; + + + +throw_expression + + + +{ + + + +Hello + + + +primary_expression + + + +, + + + +type + + + +{ + + + +public + + + +indexer_declaration + + + +, + + + +local_variable_declaration + + + +integral_type + + + +s + + + +type_argument + + + +parameter_mode_modifier + + + +expression_statement + + + +? + + + +expression_statement + + + +) + + + +statement_expression + + + +implicitly_typed_local_variable_declarator + + + +ref_method_body + + + +identifier + + + +byteArray + + + +void + + + +literal + + + +primary_expression + + + +alternative + + + +M1_Trace + + + +) + + + +} + + + +explicitly_typed_local_variable_declaration + + + +argument + + + +} + + + +fixed_parameter + + + +fixed_parameters + + + +identifier + + + +throw + + + +fixed_parameter + + + +declaration_expression + + + +age + + + +type + + + +method_modifiers + + + +variable_reference + + + +non_array_type + + + +item + + + +identifier + + + +object_creation_expression + + + +) + + + +local_variable_declaration + + + +expression_statement + + + +indexer_declarator + + + +identifier + + + +) + + + +method_modifiers + + + +; + + + +integral_type + + + +statement + + + +arg + + + +anonymous_function_signature + + + +int + + + +boolean_literal + + + +argument_value + + + +T + + + +argument_list + + + +ref_method_modifier + + + +struct + + + +type + + + +v1 + + + +x + + + +identifier + + + +string + + + +expression + + + +class_declaration + + + +type + + + +) + + + +( + + + +Vector3 + + + +implicitly_typed_local_variable_declaration + + + +switch + + + +real + + + +invocation_expression + + + +statement + + + +method_declaration + + + +explicitly_typed_local_variable_declarator + + + +literal + + + +, + + + ++ + + + +identifier + + + +type + + + +statement_list + + + +member_name + + + +identifier + + + +identifier + + + +[ + + + +overloadable_binary_operator + + + +identifier + + + +unary_expression + + + +identifier + + + +) + + + +res + + + +primary_expression + + + +statement + + + +ref_method_modifier + + \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/AllInOneNoPreprocessor-v7.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/sample.cs similarity index 100% rename from tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/AllInOneNoPreprocessor-v7.cs rename to tools/GrammarTesting/Tests/Parsing/Samples/v7/AllInOneNoPreprocessor-v7/sample.cs diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.gruntree.red.txt index ccbd97fd6..42dbb0c1c 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.gruntree.red.txt @@ -27,7 +27,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DeclarationExpressions +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DeclarationExpressions_1 ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( @@ -218,6 +218,79 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ _ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ z +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -294,7 +367,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Q ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( @@ -367,90 +440,126 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ } +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ class_member_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_modifiers +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ return_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ void +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_header +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ member_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ DeclarationExpressions_2 +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ method_body +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ block +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ { +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ X -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ invocation_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ primary_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ R ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ x ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ @@ -471,7 +580,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ y ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -482,43 +591,43 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ @@ -542,121 +651,197 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_declaration +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declaration -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ var +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ implicitly_typed_local_variable_declarator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ y +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ; +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression_statement +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ statement_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ unary_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_expression -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ( +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ F +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ F +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ H -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ H ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ I -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ I ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ) +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ assignment_operator +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ = +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ y ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tokens.txt index b15735e31..6f49f6cdb 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tokens.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tokens.txt @@ -2,124 +2,155 @@ [@1,6:27='DeclarationExpressions',,1:6] [@2,29:29='{',<'{'>,2:0] [@3,34:37='void',<'void'>,3:3] -[@4,39:60='DeclarationExpressions',,3:8] -[@5,61:61='(',<'('>,3:30] -[@6,62:62=')',<')'>,3:31] -[@7,67:67='{',<'{'>,4:3] -[@8,80:80='(',<'('>,5:6] -[@9,81:83='int',<'int'>,5:7] -[@10,85:86='i1',,5:11] -[@11,87:87=',',<','>,5:13] -[@12,89:91='int',<'int'>,5:15] -[@13,93:93='_',,5:19] -[@14,94:94=',',<','>,5:20] -[@15,96:96='(',<'('>,5:22] -[@16,97:99='var',<'var'>,5:23] -[@17,101:102='i2',,5:27] -[@18,103:103=',',<','>,5:29] -[@19,105:107='var',<'var'>,5:31] -[@20,109:109='_',,5:35] -[@21,110:110=')',<')'>,5:36] -[@22,111:111=',',<','>,5:37] -[@23,113:113='_',,5:39] -[@24,114:114=')',<')'>,5:40] -[@25,116:116='=',<'='>,5:42] -[@26,118:118='(',<'('>,5:44] -[@27,119:119='1',,5:45] -[@28,120:120=',',<','>,5:46] -[@29,122:122='2',,5:48] -[@30,123:123=',',<','>,5:49] -[@31,125:125='(',<'('>,5:51] -[@32,126:126='3',,5:52] -[@33,127:127=',',<','>,5:53] -[@34,129:129='4',,5:55] -[@35,130:130=')',<')'>,5:56] -[@36,131:131=',',<','>,5:57] -[@37,133:133='5',,5:59] -[@38,134:134=')',<')'>,5:60] -[@39,135:135=';',<';'>,5:61] -[@40,144:144='(',<'('>,7:6] -[@41,145:145='_',,7:7] -[@42,146:146=',',<','>,7:8] -[@43,148:148='w',,7:10] -[@44,149:149=')',<')'>,7:11] -[@45,151:151='=',<'='>,7:13] -[@46,153:153='(',<'('>,7:15] -[@47,154:155='42',,7:16] -[@48,156:156=',',<','>,7:18] -[@49,158:160=''x'',,7:20] -[@50,161:161=')',<')'>,7:23] -[@51,162:162=';',<';'>,7:24] -[@52,171:173='var',<'var'>,9:6] -[@53,175:176='s3',,9:10] -[@54,178:178='=',<'='>,9:13] -[@55,180:180='M',,9:15] -[@56,181:181='(',<'('>,9:16] -[@57,182:184='out',<'out'>,9:17] -[@58,186:188='int',<'int'>,9:21] -[@59,190:190='_',,9:25] -[@60,191:191=',',<','>,9:26] -[@61,193:199='"Three"',,9:28] -[@62,200:200=',',<','>,9:35] -[@63,202:204='out',<'out'>,9:37] -[@64,206:208='var',<'var'>,9:41] -[@65,210:210='_',,9:45] -[@66,211:211=')',<')'>,9:46] -[@67,212:212=';',<';'>,9:47] -[@68,227:229='var',<'var'>,11:6] -[@69,231:231='X',,11:10] -[@70,233:233='=',<'='>,11:12] -[@71,235:235='M',,11:14] -[@72,236:236='(',<'('>,11:15] -[@73,237:237='A',,11:16] -[@74,239:239='<',<'<'>,11:18] -[@75,241:241='B',,11:20] -[@76,242:242=',',<','>,11:21] -[@77,244:244='C',,11:23] -[@78,246:246='>',<'>'>,11:25] -[@79,248:248='D',,11:27] -[@80,249:249=',',<','>,11:28] -[@81,251:251='E',,11:30] -[@82,252:252=')',<')'>,11:31] -[@83,253:253=';',<';'>,11:32] -[@84,261:263='var',<'var'>,12:6] -[@85,265:265='Y',,12:10] -[@86,267:267='=',<'='>,12:12] -[@87,269:269='(',<'('>,12:14] -[@88,270:270='A',,12:15] -[@89,272:272='<',<'<'>,12:17] -[@90,274:274='B',,12:19] -[@91,275:275=',',<','>,12:20] -[@92,277:277='C',,12:22] -[@93,279:279='>',<'>'>,12:24] -[@94,281:281='D',,12:26] -[@95,282:282=',',<','>,12:27] -[@96,284:284='E',,12:29] -[@97,285:285=')',<')'>,12:30] -[@98,286:286=';',<';'>,12:31] -[@99,294:296='var',<'var'>,13:6] -[@100,298:298='Y',,13:10] -[@101,300:300='=',<'='>,13:12] -[@102,302:302='(',<'('>,13:14] -[@103,303:303='A',,13:15] -[@104,305:305='<',<'<'>,13:17] -[@105,307:307='B',,13:19] -[@106,308:308=',',<','>,13:20] -[@107,310:310='C',,13:22] -[@108,312:312='>',<'>'>,13:24] -[@109,314:314='D',,13:26] -[@110,315:315=',',<','>,13:27] -[@111,317:317='E',,13:29] -[@112,318:318=',',<','>,13:30] -[@113,320:320='F',,13:32] -[@114,322:322='<',<'<'>,13:34] -[@115,324:324='G',,13:36] -[@116,325:325=',',<','>,13:37] -[@117,327:327='H',,13:39] -[@118,329:329='>',<'>'>,13:41] -[@119,331:331='I',,13:43] -[@120,332:332=')',<')'>,13:44] -[@121,333:333=';',<';'>,13:45] -[@122,338:338='}',<'}'>,14:3] -[@123,340:340='}',<'}'>,15:0] -[@124,341:340='',,15:1] +[@4,39:62='DeclarationExpressions_1',,3:8] +[@5,63:63='(',<'('>,3:32] +[@6,64:64=')',<')'>,3:33] +[@7,69:69='{',<'{'>,4:3] +[@8,77:77='(',<'('>,5:6] +[@9,78:80='int',<'int'>,5:7] +[@10,82:83='i1',,5:11] +[@11,84:84=',',<','>,5:13] +[@12,86:88='int',<'int'>,5:15] +[@13,90:90='_',,5:19] +[@14,91:91=',',<','>,5:20] +[@15,93:93='(',<'('>,5:22] +[@16,94:96='var',<'var'>,5:23] +[@17,98:99='i2',,5:27] +[@18,100:100=',',<','>,5:29] +[@19,102:104='var',<'var'>,5:31] +[@20,106:106='_',,5:35] +[@21,107:107=')',<')'>,5:36] +[@22,108:108=',',<','>,5:37] +[@23,110:110='_',,5:39] +[@24,111:111=')',<')'>,5:40] +[@25,113:113='=',<'='>,5:42] +[@26,115:115='(',<'('>,5:44] +[@27,116:116='1',,5:45] +[@28,117:117=',',<','>,5:46] +[@29,119:119='2',,5:48] +[@30,120:120=',',<','>,5:49] +[@31,122:122='(',<'('>,5:51] +[@32,123:123='3',,5:52] +[@33,124:124=',',<','>,5:53] +[@34,126:126='4',,5:55] +[@35,127:127=')',<')'>,5:56] +[@36,128:128=',',<','>,5:57] +[@37,130:130='5',,5:59] +[@38,131:131=')',<')'>,5:60] +[@39,132:132=';',<';'>,5:61] +[@40,159:159='_',,7:6] +[@41,161:161='=',<'='>,7:8] +[@42,163:163='P',,7:10] +[@43,164:164='(',<'('>,7:11] +[@44,165:165='x',,7:12] +[@45,166:166=',',<','>,7:13] +[@46,167:167='(',<'('>,7:14] +[@47,168:168='y',,7:15] +[@48,169:169=',',<','>,7:16] +[@49,170:170='z',,7:17] +[@50,171:171=')',<')'>,7:18] +[@51,172:172=')',<')'>,7:19] +[@52,173:173=';',<';'>,7:20] +[@53,250:250='(',<'('>,9:6] +[@54,251:251='_',,9:7] +[@55,252:252=',',<','>,9:8] +[@56,254:254='w',,9:10] +[@57,255:255=')',<')'>,9:11] +[@58,257:257='=',<'='>,9:13] +[@59,259:259='(',<'('>,9:15] +[@60,260:261='42',,9:16] +[@61,262:262=',',<','>,9:18] +[@62,264:266=''x'',,9:20] +[@63,267:267=')',<')'>,9:23] +[@64,268:268=';',<';'>,9:24] +[@65,372:374='var',<'var'>,11:6] +[@66,376:377='s3',,11:10] +[@67,379:379='=',<'='>,11:13] +[@68,381:381='Q',,11:15] +[@69,382:382='(',<'('>,11:16] +[@70,383:385='out',<'out'>,11:17] +[@71,387:389='int',<'int'>,11:21] +[@72,391:391='_',,11:25] +[@73,392:392=',',<','>,11:26] +[@74,394:400='"Three"',,11:28] +[@75,401:401=',',<','>,11:35] +[@76,403:405='out',<'out'>,11:37] +[@77,407:409='var',<'var'>,11:41] +[@78,411:411='_',,11:45] +[@79,412:412=')',<')'>,11:46] +[@80,413:413=';',<';'>,11:47] +[@81,461:461='}',<'}'>,12:3] +[@82,467:470='void',<'void'>,14:3] +[@83,472:495='DeclarationExpressions_2',,14:8] +[@84,496:496='(',<'('>,14:32] +[@85,497:497=')',<')'>,14:33] +[@86,502:502='{',<'{'>,15:3] +[@87,510:510='R',,16:6] +[@88,511:511='(',<'('>,16:7] +[@89,512:512='A',,16:8] +[@90,514:514='<',<'<'>,16:10] +[@91,516:516='B',,16:12] +[@92,517:517=',',<','>,16:13] +[@93,519:519='C',,16:15] +[@94,521:521='>',<'>'>,16:17] +[@95,523:523='D',,16:19] +[@96,524:524=',',<','>,16:20] +[@97,526:526='E',,16:22] +[@98,527:527=')',<')'>,16:23] +[@99,529:529='=',<'='>,16:25] +[@100,531:531='x',,16:27] +[@101,532:532=';',<';'>,16:28] +[@102,589:591='var',<'var'>,17:6] +[@103,593:593='y',,17:10] +[@104,595:595='=',<'='>,17:12] +[@105,597:597='(',<'('>,17:14] +[@106,598:598='A',,17:15] +[@107,600:600='<',<'<'>,17:17] +[@108,602:602='B',,17:19] +[@109,603:603=',',<','>,17:20] +[@110,605:605='C',,17:22] +[@111,607:607='>',<'>'>,17:24] +[@112,609:609='D',,17:26] +[@113,610:610=',',<','>,17:27] +[@114,612:612='E',,17:29] +[@115,613:613=')',<')'>,17:30] +[@116,614:614=';',<';'>,17:31] +[@117,681:681='(',<'('>,18:6] +[@118,682:682='A',,18:7] +[@119,684:684='<',<'<'>,18:9] +[@120,686:686='B',,18:11] +[@121,687:687=',',<','>,18:12] +[@122,689:689='C',,18:14] +[@123,691:691='>',<'>'>,18:16] +[@124,693:693='D',,18:18] +[@125,694:694=',',<','>,18:19] +[@126,696:696='E',,18:21] +[@127,697:697=')',<')'>,18:22] +[@128,699:699='=',<'='>,18:24] +[@129,701:701='y',,18:26] +[@130,702:702=';',<';'>,18:27] +[@131,804:804='(',<'('>,20:6] +[@132,805:805='A',,20:7] +[@133,807:807='<',<'<'>,20:9] +[@134,809:809='B',,20:11] +[@135,810:810=',',<','>,20:12] +[@136,812:812='C',,20:14] +[@137,814:814='>',<'>'>,20:16] +[@138,816:816='D',,20:18] +[@139,817:817=',',<','>,20:19] +[@140,819:819='E',,20:21] +[@141,820:820=',',<','>,20:22] +[@142,822:822='F',,20:24] +[@143,824:824='<',<'<'>,20:26] +[@144,826:826='G',,20:28] +[@145,827:827=',',<','>,20:29] +[@146,829:829='H',,20:31] +[@147,831:831='>',<'>'>,20:33] +[@148,833:833='I',,20:35] +[@149,834:834=')',<')'>,20:36] +[@150,836:836='=',<'='>,20:38] +[@151,838:838='y',,20:40] +[@152,839:839=';',<';'>,20:41] +[@153,896:896='}',<'}'>,21:3] +[@154,898:898='}',<'}'>,22:0] +[@155,899:898='',,22:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tree.red.txt index bd298ec9c..ce02be24a 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (class_declaration class (identifier DeclarationExpressions) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier DeclarationExpressions)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (integral_type int)) (identifier i1))) , (tuple_element (declaration_expression (local_variable_type (integral_type int)) (identifier _))) , (tuple_element (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (contextual_keyword var)) (identifier i2))) , (tuple_element (declaration_expression (local_variable_type (contextual_keyword var)) (identifier _))) ))) , (tuple_element (identifier _)) ))) (assignment_operator =) (expression (tuple_expression ( (tuple_element (literal 1)) , (tuple_element (literal 2)) , (tuple_element (tuple_expression ( (tuple_element (literal 3)) , (tuple_element (literal 4)) ))) , (tuple_element (literal 5)) ))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (tuple_expression ( (tuple_element (identifier _)) , (tuple_element (identifier w)) ))) (assignment_operator =) (expression (tuple_expression ( (tuple_element (literal 42)) , (tuple_element (literal 'x')) ))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s3) = (expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (integral_type int)) (identifier _))))) , (argument (literal "Three")) , (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (contextual_keyword var)) (identifier _)))))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier X) = (expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (argument (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (argument (relational_expression (relational_expression (identifier C)) > (shift_expression (identifier D)))) , (argument (identifier E))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier Y) = (expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) (identifier D))) , (tuple_element (identifier E)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier Y) = (expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) (identifier D))) , (tuple_element (identifier E)) , (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier F) (type_argument_list < (type_arguments (type_argument (identifier G)) , (type_argument (identifier H))) >))) (identifier I))) )))))) ;))) })))) })))) +(prog (compilation_unit (class_declaration class (identifier DeclarationExpressions) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier DeclarationExpressions_1)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (integral_type int)) (identifier i1))) , (tuple_element (declaration_expression (local_variable_type (integral_type int)) (identifier _))) , (tuple_element (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (contextual_keyword var)) (identifier i2))) , (tuple_element (declaration_expression (local_variable_type (contextual_keyword var)) (identifier _))) ))) , (tuple_element (identifier _)) ))) (assignment_operator =) (expression (tuple_expression ( (tuple_element (literal 1)) , (tuple_element (literal 2)) , (tuple_element (tuple_expression ( (tuple_element (literal 3)) , (tuple_element (literal 4)) ))) , (tuple_element (literal 5)) ))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier _)) (assignment_operator =) (expression (invocation_expression (primary_expression (identifier P)) ( (argument_list (argument (identifier x)) , (argument (tuple_expression ( (tuple_element (identifier y)) , (tuple_element (identifier z)) )))) ))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (tuple_expression ( (tuple_element (identifier _)) , (tuple_element (identifier w)) ))) (assignment_operator =) (expression (tuple_expression ( (tuple_element (literal 42)) , (tuple_element (literal 'x')) ))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s3) = (expression (invocation_expression (primary_expression (identifier Q)) ( (argument_list (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (integral_type int)) (identifier _))))) , (argument (literal "Three")) , (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (contextual_keyword var)) (identifier _)))))) )))))) ;))) })))) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier DeclarationExpressions_2)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (invocation_expression (primary_expression (identifier R)) ( (argument_list (argument (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (argument (relational_expression (relational_expression (identifier C)) > (shift_expression (identifier D)))) , (argument (identifier E))) ))) (assignment_operator =) (expression (identifier x)))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier y) = (expression (tuple_expression ( (tuple_element (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (tuple_element (relational_expression (relational_expression (identifier C)) > (shift_expression (identifier D)))) , (tuple_element (identifier E)) )))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier B)) , (type_argument (identifier C)) >))) (identifier D))) , (tuple_element (identifier E)) ))) (assignment_operator =) (expression (identifier y)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier B)) , (type_argument (identifier C)) >))) (identifier D))) , (tuple_element (identifier E)) , (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier F) (type_argument_list < (type_argument (identifier G)) , (type_argument (identifier H)) >))) (identifier I))) ))) (assignment_operator =) (expression (identifier y)))) ;))) })))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tree.svg index 80c87d11c..b24aebef8 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/Reference/sample.tree.svg @@ -1,26 +1,26 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -97,1449 +97,1864 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , - - -) + + +( - - -, + + +{ - - -type_argument + + +( - - -literal + + +declaration_statement - - -class + + +local_variable_declaration - - + + expression declaration_expression - - + + +argument_value + + + +statement + + + +method_body + + + +int + + + +_ + + + , - - -'x' + + +; - - + + +tuple_expression + + + assignment - - -identifier + + +var - - -, + + +assignment_operator - - -local_variable_declaration + + +unary_expression - - -block + + +literal - - -method_declaration + + +argument_value - - -identifier + + +implicitly_typed_local_variable_declarator - - -; + + +tuple_expression - - -method_header + + +method_modifiers + + + +E + + + +tuple_expression + + + +, - - + + +) + + + +} + + + identifier - - + + +identifier + + + +declaration_expression + + + +2 + + + tuple_element - - + + argument - - -statement_list + + +out - - -assignment_operator + + +var + + + +method_header + + + +expression - + + +declaration_expression + + + +invocation_expression + + -42 +tuple_expression - - -variable_reference + + +tuple_element - - -type_argument_list + + +literal - - + + tuple_element - - + + +return_type + + + +4 + + + +R + + + +assignment + + + +statement_expression + + + +5 + + + +, + + + +expression + + + +namespace_or_type_name + + + +; + + + identifier - - -F + + +B - - -tuple_element + + +statement - - -tuple_element + + +identifier - - + + ) - - -tuple_element + + +local_variable_type - - -int + + +tuple_element - - -M + + +E - - -namespace_or_type_name + + +y - - + + relational_expression - - -_ - - - -I + + +D - - + + identifier - - + + +expression_statement + + + +, + + + +y + + + identifier - - + + +local_variable_type + + + +argument + + + identifier - - + + identifier - - -declaration_expression + + += - - + + +, + + + identifier - - -method_modifiers + + +type_argument - - -E + + +tuple_element - - + + C - - -( + + +contextual_keyword - - -( + + +_ - - -local_variable_declaration + + +A - - + + statement - - -tuple_expression + + +} + + + +shift_expression + + + +integral_type + + + +argument - - + + ) - - -( + + +statement_expression - - -var + + +primary_expression - - + + +expression_statement + + + +integral_type + + + += + + + +identifier + + + ( - - -var + + +( - - -< + + +expression - - -var + + +unary_expression - - -type_argument + + +expression - - -H + + +, - - -statement + + +assignment_operator - - + + identifier - - -, + + +statement - - -( + + +assignment_operator - - + + tuple_element - - -var + + +identifier + + + +A + + + +B - - + + identifier - - -E + + += + + + +) + + + +assignment + + + +unary_expression + + + +) + + + +prog + + + +) + + + +identifier + + + +argument_list + + + +void + + + +3 + + + +block + + + +shift_expression + + + +variable_reference + + + +literal + + + +D + + + +identifier + + + +i1 + + + +assignment_operator + + + +literal + + + +statement_expression - - -Y + + +( - - + + tuple_element - - + + +identifier + + + +identifier + + + +unary_expression + + + +block + + + ( - - + + +s3 + + + +integral_type + + + +assignment + + + +identifier + + + +relational_expression + + + +relational_expression + + + +identifier + + + +) + + + +contextual_keyword + + + , - - + + +argument + + + +< + + + tuple_element - - -} + + +namespace_or_type_name - - -literal + + +class_member_declaration - - -int + + +x + + + +Q + + + +implicitly_typed_local_variable_declarator + + + +identifier + + + +; - - + + primary_expression - - -invocation_expression + + +z - - -local_variable_type + + +tuple_expression - - -) + + +shift_expression - - -) + + +identifier - - -statement + + +class - - -class_member_declaration + + +tuple_element - - -D + + +'x' + + + +type_argument_list - - + + +, + + + +B + + + type_argument - - -expression_statement + + +identifier - - -; + + +_ - - -var + + +class_body - - -type_argument_list + + +unary_expression - - -integral_type + + +A + + + +identifier + + + +identifier + + + +invocation_expression + + + +assignment int - - -implicitly_typed_local_variable_declaration + + +identifier - - -declaration_statement + + +declaration_expression - - -argument + + +identifier - - + + var - - + + var - - -_ + + +statement - - -( + + +assignment - - + + , - - -expression + + +tuple_element - - -local_variable_declaration + + +argument_list + + + +DeclarationExpressions_2 - - + + +; + + + +statement + + + +P + + + +statement_expression + + + +E + + + +statement_expression + + + +local_variable_type + + + +tuple_element + + + +, + + + tuple_expression - - -i2 + + +unary_expression - - -) + + +B + + + +namespace_or_type_name - - + + identifier - - -literal + + +expression_statement - - -literal + + +) - - + + = - - -type_argument - - - -) + + +G - - -identifier + + +> - - -namespace_or_type_name + + +> - - + + , - - -, + + +tuple_element - - -DeclarationExpressions + + +A - - + + +; + + + identifier - - -implicitly_typed_local_variable_declarator + + +method_declaration - - -( + + +identifier - - -D + + +local_variable_type - - -tuple_element + + +argument - - -tuple_element + + +> - - -member_name + + +_ - - -( + + +literal - - -expression + + +relational_expression - - -local_variable_type + + +method_header - - -unary_expression + + +type_argument_list - - -, + + +< - - -G + + +identifier - - + + identifier - - -contextual_keyword + + +tuple_element - - -> + + +} - - -argument + + +F - - -; + + +( - - -out + + +expression - - -implicitly_typed_local_variable_declarator + + +argument - - -tuple_element + + +method_modifiers - - + + = - - -identifier + + +42 - - -expression + + +C - - -, + + +return_type - - -out + + +< - - -type_argument + + +argument_list - - -relational_expression + + +identifier - - + + declaration_expression - - -statement + + +statement_list - - -primary_expression + + +"Three" - - -identifier + + +declaration_expression - - -identifier + + +var + + + +assignment_operator - - + + identifier - - -) + + +, + + + +tuple_element - - -X + + +( - - + + , - - -tuple_expression - - - -namespace_or_type_name + + +_ - - -identifier + + +type_argument - - -A + + +local_variable_type - - -{ + + +; - - -contextual_keyword + + +, - - -literal + + +local_variable_type - - -argument + + +) - - -implicitly_typed_local_variable_declaration + + +tuple_expression - - -identifier + + +; - - -local_variable_type + + +_ - - -identifier + + +i2 - - -= + + +relational_expression - - -unary_expression + + +statement_expression - - + + tuple_element - - + + identifier - - -identifier - - - -declaration_statement + + +tuple_element - - -expression + + +( - - -type_argument + + +) - - -type_arguments + + +tuple_element - - + + identifier - - -argument_value + + +D - - -tuple_expression + + +, - - -implicitly_typed_local_variable_declaration + + +argument - - -implicitly_typed_local_variable_declarator + + +literal - - -class_body + + +type_argument - - -< + + +declaration_expression - - -E + + +identifier - - -type_arguments + + +DeclarationExpressions_1 - - -tuple_expression + + +tuple_element - - -i1 + + +) - - -{ + + +, - - -DeclarationExpressions + + +method_declaration - - -_ + + +) - - -tuple_element + + +shift_expression - - -local_variable_type + + += - - -Y + + +w - - -relational_expression + + +variable_reference - - -s3 + + +member_name - - -argument + + +DeclarationExpressions - - -local_variable_type + + +( - - -_ + + +statement - - -expression + + +identifier - - -assignment_operator + + +, + + + +, - - + + C - - -identifier + + +expression_statement - - -implicitly_typed_local_variable_declaration + + +, - - + + tuple_element - - -integral_type - - - -D + + +identifier - - -tuple_expression + + +expression_statement - - -compilation_unit + + +( - - -2 + + +identifier - - -A + + +identifier - - -prog + + +relational_expression - - -statement_expression + + +identifier - - -B + + +declaration_statement - - + + identifier - - -< - - - -declaration_expression + + +method_body - - -return_type + + +{ - - -identifier + + +local_variable_type - - -4 + + +( - - -w + + +x 1 - - -argument_value + + +declaration_expression - - -statement + + +y - - + + identifier - - -; + + +{ - - + + , - - -= + + +local_variable_type - - -declaration_expression + + +> - - -, + + +identifier - - -class_declaration + + +local_variable_declaration - - -local_variable_type + + +identifier - - -invocation_expression + + +primary_expression + + + +declaration_expression + + + +local_variable_type - - + + C - - -declaration_expression + + +member_name - - + + ( - - -_ - - - -> + + +< - - -implicitly_typed_local_variable_declarator + + +tuple_element - - -, + + +tuple_element - - -method_body + + +invocation_expression - - -local_variable_type + + +literal - - -void + + +tuple_expression - - -shift_expression + + +identifier - - -expression_statement + + +D - - -argument_list + + +y - - -tuple_element + + +relational_expression - - -declaration_expression + + +out - - -3 + + +; - - -M + + +_ - - -declaration_statement + + +E - - -relational_expression + + +> tuple_expression - - -declaration_statement + + +implicitly_typed_local_variable_declaration - - -local_variable_type + + +int - - -assignment + + +, - - -variable_reference + + +identifier - - + + ) - - -tuple_element - - - -5 + + +statement_list - - -= + + +assignment_operator - - + + tuple_element - - -> + + += - - -statement_expression + + +H - - + + tuple_element - - + + identifier - - -B - - - -) - - - + + ( - - -"Three" - - - -type_arguments - - - -identifier + + +) - - -identifier + + += - - -_ + + +I - - -contextual_keyword + + +tuple_element - - -= + + +type_argument - - -declaration_expression + + +tuple_element - - -identifier + + +) - - -identifier + + +tuple_expression - - -; + + +tuple_element - - -local_variable_declaration + + +class_member_declaration - - + + , - - -statement - - - -identifier - - - -literal + + +implicitly_typed_local_variable_declaration - - -argument_list + + +expression_statement - - -literal + + +expression - - -shift_expression + + +( - - + + , - - -> - - - -declaration_expression + + +void - - -tuple_element + + +argument - - -local_variable_type + + +relational_expression - - -identifier + + +statement - - -type_argument_list + + +type_argument - - + + < - - -A + + +compilation_unit - - -argument + + +contextual_keyword - - -; + + +expression - - -, + + +type_argument_list - - -tuple_element + + +class_declaration - - + + literal - - -tuple_element - - - -integral_type - - - -tuple_expression - - - -, - - - -, - - - -} - - - -) - - - -B - \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/sample.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/sample.cs index 7f8f88947..bd942c96e 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/sample.cs +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Declaration expressions/sample.cs @@ -1,15 +1,22 @@ class DeclarationExpressions { - void DeclarationExpressions() - { + void DeclarationExpressions_1() + { (int i1, int _, (var i2, var _), _) = (1, 2, (3, 4), 5); // nest in tuples + _ = P(x,(y,z)); // simple discard or simple assignment + (_, w) = (42, 'x'); // not a declaration expression, in real code `w` would need to exist - var s3 = M(out int _, "Three", out var _); // declaration expression in method call - - var X = M(A < B, C > D, E); // method call, 3 arguments - var Y = (A < B, C > D, E); // similar tuple is 2-tuple – declaration expression & E - var Y = (A < B, C > D, E, F < G, H > I); // 3-tuple – decl expr, E, decl expr + var s3 = Q(out int _, "Three", out var _); // declaration expression in method call + } + + void DeclarationExpressions_2() + { + R(A < B, C > D, E) = x; // method call, 3 arguments + var y = (A < B, C > D, E); // 3-tuple – no decl expr allowed on RHS + (A < B, C > D, E) = y; // similar tuple is 2-tuple on LHS – declaration expression & E (C#10) + + (A < B, C > D, E, F < G, H > I) = y; // 3-tuple – decl expr, E, decl expr (C#10) } } \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.gruntree.red.txt index 86bca3d15..a621226ed 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.gruntree.red.txt @@ -78,7 +78,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A @@ -113,7 +113,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B @@ -168,21 +168,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > @@ -215,7 +212,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ E @@ -269,7 +266,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ G @@ -325,7 +322,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ H @@ -434,7 +431,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ K @@ -465,7 +462,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ M @@ -534,7 +531,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ P diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tokens.txt index 34bc10a64..0ba195097 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tokens.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tokens.txt @@ -132,4 +132,4 @@ [@131,1651:1651=';',<';'>,34:75] [@132,1657:1657='}',<'}'>,36:3] [@133,1659:1659='}',<'}'>,37:0] -[@134,1660:1659='',,37:1] +[@134,1661:1660='',,38:0] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.red.txt index 112387fa6..50ef27675 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (class_declaration class (identifier TypeArgumentListChecks) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier TypeArgumentListChecks)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier query) = (expression (query_expression (from_clause from (identifier c) in (expression (simple_name (identifier customers) (type_argument_list < (type_arguments (identifier A)) >)))) (query_body (query_body_clause (let_clause let (identifier d) = (expression (simple_name (identifier c) (type_argument_list < (type_arguments (identifier B)) >))))) (query_body_clause (where_clause where (boolean_expression (conditional_and_expression (conditional_and_expression (equality_expression (equality_expression (identifier d)) != (relational_expression (null_literal null)))) && (inclusive_or_expression (simple_name (identifier d) (type_argument_list < (type_arguments (type_argument (identifier C)) , (type_argument (identifier D))) >))))))) (query_body_clause (join_clause join (identifier c1) in (expression (simple_name (identifier customers) (type_argument_list < (type_arguments (identifier E)) >))) on (expression (conditional_and_expression (conditional_and_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) && (inclusive_or_expression (simple_name (identifier c1) (type_argument_list < (type_arguments (identifier G)) >))))) equals (expression (conditional_and_expression (conditional_and_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))) && (inclusive_or_expression (simple_name (identifier c) (type_argument_list < (type_arguments (identifier H)) >))))))) (query_body_clause (join_into_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))) into (identifier e))) (select_or_group_clause (group_clause group (expression (simple_name (identifier c) (type_argument_list < (type_arguments (identifier K)) >))) by (expression (member_access (primary_expression (identifier c)) . (identifier Country) (type_argument_list < (type_arguments (identifier M)) >))))) (query_continuation into (identifier g) (query_body (query_body_clause (orderby_clause orderby (orderings (ordering (expression (member_access (primary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))) . (identifier O) (type_argument_list < (type_arguments (identifier P)) >))) (ordering_direction ascending))))) (query_body_clause (orderby_clause orderby (orderings (ordering (expression (member_access (primary_expression (identifier g)) . (identifier Key))) (ordering_direction descending))))) (select_or_group_clause (select_clause select (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier Country) = (expression (member_access (primary_expression (identifier g)) . (identifier Key)))) , (member_declarator (identifier CustCount) = (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))))) }))))))))))))) ;)) })))) })))) +(prog (compilation_unit (class_declaration class (identifier TypeArgumentListChecks) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier TypeArgumentListChecks)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier query) = (expression (query_expression (from_clause from (identifier c) in (expression (simple_name (identifier customers) (type_argument_list < (type_argument (identifier A)) >)))) (query_body (query_body_clause (let_clause let (identifier d) = (expression (simple_name (identifier c) (type_argument_list < (type_argument (identifier B)) >))))) (query_body_clause (where_clause where (boolean_expression (conditional_and_expression (conditional_and_expression (equality_expression (equality_expression (identifier d)) != (relational_expression (null_literal null)))) && (inclusive_or_expression (simple_name (identifier d) (type_argument_list < (type_argument (identifier C)) , (type_argument (identifier D)) >))))))) (query_body_clause (join_clause join (identifier c1) in (expression (simple_name (identifier customers) (type_argument_list < (type_argument (identifier E)) >))) on (expression (conditional_and_expression (conditional_and_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) && (inclusive_or_expression (simple_name (identifier c1) (type_argument_list < (type_argument (identifier G)) >))))) equals (expression (conditional_and_expression (conditional_and_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))) && (inclusive_or_expression (simple_name (identifier c) (type_argument_list < (type_argument (identifier H)) >))))))) (query_body_clause (join_into_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))) into (identifier e))) (select_or_group_clause (group_clause group (expression (simple_name (identifier c) (type_argument_list < (type_argument (identifier K)) >))) by (expression (member_access (primary_expression (identifier c)) . (identifier Country) (type_argument_list < (type_argument (identifier M)) >))))) (query_continuation into (identifier g) (query_body (query_body_clause (orderby_clause orderby (orderings (ordering (expression (member_access (primary_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))) . (identifier O) (type_argument_list < (type_argument (identifier P)) >))) (ordering_direction ascending))))) (query_body_clause (orderby_clause orderby (orderings (ordering (expression (member_access (primary_expression (identifier g)) . (identifier Key))) (ordering_direction descending))))) (select_or_group_clause (select_clause select (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier Country) = (expression (member_access (primary_expression (identifier g)) . (identifier Key)))) , (member_declarator (identifier CustCount) = (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))))) }))))))))))))) ;)) })))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.svg index c63c37afd..40d13f4a9 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/TAL Query expressions/Reference/sample.tree.svg @@ -1,1605 +1,1600 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -conditional_and_expression - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + identifier - - -GetHashCode - - - -) - - - -where + + +c - - + + c - - -c1 + + +identifier - - -&& + + +expression - - + + +primary_expression + + + identifier - - -< + + +in - - -query_body_clause + + +, - - -by + + +join - - -group + + +c - - -identifier + + +primary_expression - - -invocation_expression + + +group - - -P + + +Count - - -orderby_clause + + +customers - - -orderby + + +expression - - -. + + +) - - -. + + +select_or_group_clause - - + + primary_expression - - -{ + + +conditional_and_expression - - -select_or_group_clause + + +type_argument_list - - -( + + +identifier - - -simple_name + + +identifier - - + + +equals + + + identifier - - -. + + +orderby - - + + identifier - - -null + + +conditional_and_expression - - -. + + +g - - -identifier + + +type_argument + + + +orderings - - + + expression - - -identifier + + +. - - + + +< + + + identifier - - -( + + +query_expression - - -> + + +join_into_clause - - -identifier + + +implicitly_typed_local_variable_declaration - - -identifier + + +declaration_statement - - -type_argument_list + + +. + + + +null_literal + + + +primary_expression - - + + invocation_expression - - -member_access + + +O - - -type_argument_list + + +select - - -implicitly_typed_local_variable_declaration + + +member_access - - -) + + +D + + + +TypeArgumentListChecks - - + + invocation_expression - - -type_arguments + + +expression - - -. + + +group_clause - - -expression + + +member_declarator_list - - -identifier + + +> - - + + identifier - - -member_name + + +g - - -member_access + + +identifier - - -select_or_group_clause + + +orderings - - -> + + +identifier - - -implicitly_typed_local_variable_declarator + + +( - - -simple_name + + +M - - -< + + +identifier - - + + identifier - - -g + + +identifier - - -expression + + +c - - + + expression - - -type_argument_list + + +primary_expression - - -> + + +Country - - -expression + + +inclusive_or_expression - - -type_argument_list + + +new - - -ordering + + +prog - - -c + + +primary_expression - - -= + + +type_argument - - -primary_expression + + +type_argument_list - - -identifier + + +ordering_direction - - -type_arguments + + +Count - - -) + + +A - - -new + + +g - - -} + + +) - - -query_body_clause + + +in - - -customers + + +expression - - -query_body_clause + + +) - - -identifier + + +> - - -{ + + +. - - -identifier + + +member_access - - -null_literal + + +let_clause - - -c + + +query_continuation - - -c1 + + += - - + + && - - -type_arguments - - - + + identifier - - -primary_expression + + +from - - -) + + +join_clause - - -expression + + +( - - -simple_name + + += - - -primary_expression + + +type_argument_list - - -< + + +( - - + + identifier - - -statement_list + + +expression - - -identifier + + +on - - -> + + +} - - -&& + + +. - - -M + + +g - - -B + + +identifier - - -E + + +) - - -orderings + + +simple_name - - -orderings + + +c1 - - -identifier + + +ordering - - -query_body_clause + + += - - -identifier + + +E - - -, + + +join - - -type_arguments + + +TypeArgumentListChecks - - -boolean_expression + + +into - - + + identifier - - -class_body + + +primary_expression - - -identifier + + +conditional_and_expression - - + + d - - -expression + + +method_declaration - - -GetHashCode + + +null - - -identifier + + +anonymous_object_creation_expression - - -identifier + + +member_access - - -void + + +( - - -in + + +( - - -d + + +member_declarator - - -) + + +( - - -. + + +expression - - -equals + + +identifier - - -relational_expression + + +let - - -c + + +K - - -Key + + +method_header - - -primary_expression + + +identifier - - -CustCount + + +} - - -, + + +identifier - - -in + + +member_access - - -local_variable_declaration + + +from_clause - - -simple_name + + +member_access - - -identifier + + +query_body - - -g + + +implicitly_typed_local_variable_declarator - - -inclusive_or_expression + + +void - - -anonymous_object_initializer + + +{ - - -O + + +type_argument - - -expression + + +H - - -c + + +select_or_group_clause - - -Country + + +identifier - - -class_declaration + + +type_argument_list + + + +method_modifiers + + + +c - - + + primary_expression - - + + identifier - - -invocation_expression - - - -member_declarator_list + + +Key - - -type_arguments + + +equality_expression - - + + expression - - -> + + +GetHashCode - - -} + + +identifier - - -< + + +invocation_expression - - -join + + +. + + + +equality_expression + + + +simple_name - - + + > - - -member_access + + +primary_expression - - -let + + +boolean_expression - - -) + + +query_body_clause - - -< + + +anonymous_object_initializer - - -simple_name + + +c - - -descending + + +identifier + + + +member_access - - -type_arguments + + +GetHashCode - - -simple_name + + +inclusive_or_expression - - -Count + + +c1 - - + + conditional_and_expression - - -type_argument_list - - - -var + + +local_variable_declaration - - -expression + + +simple_name - - -type_arguments + + +GetHashCode - - -method_modifiers + + +ascending - - -block + + +} - - -g + + +in - - -= + + +class_body - - -( + + +member_access - - -c1 + + +G - - + + ( - - -primary_expression + + +identifier - - -expression + + +identifier - - -let_clause + + +equals - - -primary_expression + + +inclusive_or_expression - - -primary_expression + + +c1 - - -c + + +type_argument_list - - -g + + +. - - -identifier + + +< - - -{ + + +invocation_expression - - -K + + +P - - + + > - - -conditional_and_expression - - - + + identifier - - -identifier + + +expression - - -. + + +method_body - - -into + + +B - - -equality_expression + + +identifier - - -query + + +query_body_clause - - -( + + +c1 - - -member_access + + +primary_expression - - -A + + +descending - - -on + + +member_declarator - - -conditional_and_expression + + +identifier - - -orderby_clause + + +where - - -ordering + + +< - - -member_access + + +type_argument_list - - -declaration_statement + + +primary_expression - - -from + + += - - -identifier + + +compilation_unit - - -( + + +identifier - - -G + + +select_clause - - -invocation_expression + + +conditional_and_expression - - -primary_expression + + +C - - -in + + +< - - -c + + +{ - - -d + + +orderby_clause - - -compilation_unit + + +return_type - - -member_access + + +. - - -TypeArgumentListChecks + + +primary_expression - - -query_body_clause + + +class_declaration - - -class + + +type_argument - - -member_access + + +identifier - - -( + + +type_argument - - -> + + +identifier - - -Key + + +identifier - - + + identifier - - + + . - - -expression + + +type_argument_list - - -join_into_clause + + +type_argument_list - - -join + + +CustCount - - -method_body + + +c1 + + + +query_body_clause + + + +expression - - + + identifier - - -inclusive_or_expression + + +type_argument - - -orderby + + +&& - - -= + + +identifier - - -type_argument_list + + +type_argument - - -conditional_and_expression + + +query_body + + + +class - - + + member_access - - -> + + +expression - - -return_type + + +expression - - -conditional_and_expression + + +identifier - - -GetHashCode + + +customers - - -< + + +!= - - -expression + + +customers - - -identifier + + +type_argument_list - - -member_declarator + + +> - - -} + + +primary_expression - - -method_header + + +> - - + + type_argument - - -identifier + + +ordering - - -< + + +) - - + + identifier - - -C - - - -. - - - -query_body + + +simple_name - - -) + + +type_argument - - -= + + +by - - -primary_expression + + +member_access - - -. + + +d - - -identifier + + +relational_expression - - + + identifier - - -e + + +query_body_clause - - -select + + +block - - -c1 + + +query - - -query_body_clause + + +. - - + + simple_name - - -type_argument_list + + +primary_expression - - -ordering_direction + + +> - - + + identifier - - -type_argument - - - -primary_expression + + +> - - -member_access + + +Country - - -class_member_declaration + + +< - - -D + + +g - - -expression + + +class_member_declaration - - -ascending + + +< - - -equality_expression + + +member_access - - -on + + +. - - -; + + +c - - -identifier + + +Key - - + + identifier - - -type_arguments - - - -expression - - - -method_declaration + + +var - - -where_clause + + +{ - - -ordering_direction + + +type_argument - - -Count + + +GetHashCode - - -select_clause + + +invocation_expression - - -identifier + + +orderby_clause - - -group_clause + + +member_name - - -member_access + + +query_body_clause - - + + into - - -expression - - - -type_arguments + + +d - - + + primary_expression - - -c1 - - - -from_clause + + +simple_name - - -inclusive_or_expression + + +ordering_direction - - -!= + + +identifier - - -customers + + +simple_name - - -identifier + + +query_body_clause - - + + identifier - - -type_argument_list + + +> - - + + identifier - - -query_continuation - - - -primary_expression + + +expression - - -primary_expression + + +conditional_and_expression - - -primary_expression + + +identifier - - -type_argument_list + + +; - - -GetHashCode + + +< - - -g + + +expression - - -invocation_expression + + +statement_list - - -prog + + +) - - -query_body + + +e - - -equals + + +expression - - -join_clause + + +identifier - - + + < - - -TypeArgumentListChecks - - - -H - - - -Country + + +&& - - -anonymous_object_creation_expression + + +< - - + + identifier - - -member_declarator + + +, - - -query_expression + + +) - - -customers + + +invocation_expression - - -identifier + + +on - - + + identifier - - -< + + +where_clause - - -identifier + + +orderby + + + +primary_expression \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.gruntree.red.txt index ff66652bf..7492777fb 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.gruntree.red.txt @@ -72,21 +72,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > @@ -144,21 +141,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > @@ -505,7 +499,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ T @@ -688,43 +682,43 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ declaration_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ local_variable_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ tuple_element +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ relational_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ shift_expression +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ D +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ @@ -887,21 +881,18 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ , +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ C ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > @@ -968,7 +959,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B @@ -1051,7 +1042,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B @@ -1133,7 +1124,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B @@ -1241,7 +1232,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B @@ -1375,7 +1366,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B @@ -1450,7 +1441,7 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_arguments +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ B diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tokens.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tokens.txt index ddafc16d0..2bd0704dc 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tokens.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tokens.txt @@ -129,135 +129,135 @@ [@128,867:867='E',,23:25] [@129,868:868=')',<')'>,23:26] [@130,869:869=';',<';'>,23:27] -[@131,1000:1002='var',<'var'>,26:6] -[@132,1004:1004='v',,26:10] -[@133,1006:1006='=',<'='>,26:12] -[@134,1008:1008='M',,26:14] -[@135,1009:1009='(',<'('>,26:15] -[@136,1010:1010='A',,26:16] -[@137,1012:1012='<',<'<'>,26:18] -[@138,1014:1014='B',,26:20] -[@139,1015:1015=',',<','>,26:21] -[@140,1017:1017='C',,26:23] -[@141,1019:1019='>',<'>'>,26:25] -[@142,1021:1021='D',,26:27] -[@143,1022:1022=',',<','>,26:28] -[@144,1024:1024='E',,26:30] -[@145,1025:1025=')',<')'>,26:31] -[@146,1026:1026=';',<';'>,26:32] -[@147,1067:1069='var',<'var'>,28:6] -[@148,1071:1071='v',,28:10] -[@149,1073:1073='=',<'='>,28:12] -[@150,1075:1075='M',,28:14] -[@151,1076:1076='(',<'('>,28:15] -[@152,1077:1079='out',<'out'>,28:16] -[@153,1081:1081='A',,28:20] -[@154,1082:1082='<',<'<'>,28:21] -[@155,1083:1083='B',,28:22] -[@156,1084:1084=',',<','>,28:23] -[@157,1085:1085='C',,28:24] -[@158,1086:1086='>',<'>'>,28:25] -[@159,1088:1088='D',,28:27] -[@160,1089:1089=',',<','>,28:28] -[@161,1091:1091='E',,28:30] -[@162,1092:1092=')',<')'>,28:31] -[@163,1093:1093=';',<';'>,28:32] -[@164,1213:1214='if',<'if'>,31:6] -[@165,1216:1216='(',<'('>,31:9] -[@166,1217:1217='e',,31:10] -[@167,1219:1220='is',<'is'>,31:12] -[@168,1222:1222='A',,31:15] -[@169,1223:1223='<',<'<'>,31:16] -[@170,1224:1224='B',,31:17] -[@171,1225:1225='>',<'>'>,31:18] -[@172,1227:1227='C',,31:20] -[@173,1228:1228=')',<')'>,31:21] -[@174,1278:1278='W',,32:9] -[@175,1279:1279='(',<'('>,32:10] -[@176,1280:1280='C',,32:11] -[@177,1281:1281=')',<')'>,32:12] -[@178,1282:1282=';',<';'>,32:13] -[@179,1291:1292='if',<'if'>,34:6] -[@180,1294:1294='(',<'('>,34:9] -[@181,1295:1295='e',,34:10] -[@182,1297:1298='is',<'is'>,34:12] -[@183,1300:1300='A',,34:15] -[@184,1301:1301='<',<'<'>,34:16] -[@185,1302:1302='B',,34:17] -[@186,1303:1303='>',<'>'>,34:18] -[@187,1304:1304=')',<')'>,34:19] -[@188,1340:1340='W',,35:9] -[@189,1341:1341='(',<'('>,35:10] -[@190,1342:1342='C',,35:11] -[@191,1343:1343=')',<')'>,35:12] -[@192,1344:1344=';',<';'>,35:13] -[@193,1353:1358='switch',<'switch'>,37:6] -[@194,1360:1360='(',<'('>,37:13] -[@195,1361:1361='x',,37:14] -[@196,1362:1362=')',<')'>,37:15] -[@197,1370:1370='{',<'{'>,38:6] -[@198,1381:1384='case',<'case'>,39:9] -[@199,1386:1386='A',,39:14] -[@200,1387:1387='<',<'<'>,39:15] -[@201,1388:1388='B',,39:16] -[@202,1389:1389='>',<'>'>,39:17] -[@203,1391:1391='C',,39:19] -[@204,1392:1392=':',<':'>,39:20] -[@205,1446:1448='var',<'var'>,40:12] -[@206,1450:1450='z',,40:16] -[@207,1452:1452='=',<'='>,40:18] -[@208,1454:1454='C',,40:20] -[@209,1455:1455=';',<';'>,40:21] -[@210,1469:1473='break',<'break'>,41:12] -[@211,1474:1474=';',<';'>,41:17] -[@212,1482:1482='}',<'}'>,42:6] -[@213,1491:1493='var',<'var'>,44:6] -[@214,1495:1495='p',,44:10] -[@215,1497:1497='=',<'='>,44:12] -[@216,1499:1499='x',,44:14] -[@217,1501:1502='is',<'is'>,44:16] -[@218,1504:1504='A',,44:19] -[@219,1505:1505='<',<'<'>,44:20] -[@220,1506:1506='B',,44:21] -[@221,1507:1507='>',<'>'>,44:22] -[@222,1508:1508='>',<'>'>,44:23] -[@223,1509:1509='C',,44:24] -[@224,1510:1510=';',<';'>,44:25] -[@225,1546:1548='var',<'var'>,45:6] -[@226,1550:1550='q',,45:10] -[@227,1552:1552='=',<'='>,45:12] -[@228,1554:1554='A',,45:14] -[@229,1555:1555='<',<'<'>,45:15] -[@230,1556:1556='B',,45:16] -[@231,1557:1557='>',<'>'>,45:17] -[@232,1558:1558='>',<'>'>,45:18] -[@233,1559:1559='C',,45:19] -[@234,1560:1560=';',<';'>,45:20] -[@235,1598:1600='var',<'var'>,46:6] -[@236,1602:1602='r',,46:10] -[@237,1604:1604='=',<'='>,46:12] -[@238,1606:1606='(',<'('>,46:14] -[@239,1607:1607='x',,46:15] -[@240,1609:1610='is',<'is'>,46:17] -[@241,1612:1612='A',,46:20] -[@242,1613:1613='<',<'<'>,46:21] -[@243,1614:1614='B',,46:22] -[@244,1615:1615='>',<'>'>,46:23] -[@245,1616:1616=')',<')'>,46:24] -[@246,1617:1617='>',<'>'>,46:25] -[@247,1618:1618='C',,46:26] -[@248,1619:1619=';',<';'>,46:27] -[@249,1653:1655='var',<'var'>,47:6] -[@250,1657:1657='s',,47:10] -[@251,1659:1659='=',<'='>,47:12] -[@252,1661:1661='x',,47:14] -[@253,1663:1664='is',<'is'>,47:16] -[@254,1666:1666='A',,47:19] -[@255,1667:1667='<',<'<'>,47:20] -[@256,1668:1668='B',,47:21] -[@257,1669:1669='>',<'>'>,47:22] -[@258,1671:1677='orderby',<'orderby'>,47:24] -[@259,1678:1678=';',<';'>,47:31] -[@260,1728:1728='}',<'}'>,48:3] -[@261,1730:1730='}',<'}'>,49:0] -[@262,1731:1730='',,49:1] +[@131,930:932='var',<'var'>,25:6] +[@132,934:934='v',,25:10] +[@133,936:936='=',<'='>,25:12] +[@134,938:938='M',,25:14] +[@135,939:939='(',<'('>,25:15] +[@136,940:940='A',,25:16] +[@137,942:942='<',<'<'>,25:18] +[@138,944:944='B',,25:20] +[@139,945:945=',',<','>,25:21] +[@140,947:947='C',,25:23] +[@141,949:949='>',<'>'>,25:25] +[@142,951:951='D',,25:27] +[@143,952:952=',',<','>,25:28] +[@144,954:954='E',,25:30] +[@145,955:955=')',<')'>,25:31] +[@146,956:956=';',<';'>,25:32] +[@147,1013:1015='var',<'var'>,27:6] +[@148,1017:1017='v',,27:10] +[@149,1019:1019='=',<'='>,27:12] +[@150,1021:1021='M',,27:14] +[@151,1022:1022='(',<'('>,27:15] +[@152,1023:1025='out',<'out'>,27:16] +[@153,1027:1027='A',,27:20] +[@154,1028:1028='<',<'<'>,27:21] +[@155,1029:1029='B',,27:22] +[@156,1030:1030=',',<','>,27:23] +[@157,1031:1031='C',,27:24] +[@158,1032:1032='>',<'>'>,27:25] +[@159,1034:1034='D',,27:27] +[@160,1035:1035=',',<','>,27:28] +[@161,1037:1037='E',,27:30] +[@162,1038:1038=')',<')'>,27:31] +[@163,1039:1039=';',<';'>,27:32] +[@164,1170:1171='if',<'if'>,30:6] +[@165,1173:1173='(',<'('>,30:9] +[@166,1174:1174='e',,30:10] +[@167,1176:1177='is',<'is'>,30:12] +[@168,1179:1179='A',,30:15] +[@169,1180:1180='<',<'<'>,30:16] +[@170,1181:1181='B',,30:17] +[@171,1182:1182='>',<'>'>,30:18] +[@172,1184:1184='C',,30:20] +[@173,1185:1185=')',<')'>,30:21] +[@174,1235:1235='W',,31:9] +[@175,1236:1236='(',<'('>,31:10] +[@176,1237:1237='C',,31:11] +[@177,1238:1238=')',<')'>,31:12] +[@178,1239:1239=';',<';'>,31:13] +[@179,1248:1249='if',<'if'>,33:6] +[@180,1251:1251='(',<'('>,33:9] +[@181,1252:1252='e',,33:10] +[@182,1254:1255='is',<'is'>,33:12] +[@183,1257:1257='A',,33:15] +[@184,1258:1258='<',<'<'>,33:16] +[@185,1259:1259='B',,33:17] +[@186,1260:1260='>',<'>'>,33:18] +[@187,1261:1261=')',<')'>,33:19] +[@188,1297:1297='W',,34:9] +[@189,1298:1298='(',<'('>,34:10] +[@190,1299:1299='C',,34:11] +[@191,1300:1300=')',<')'>,34:12] +[@192,1301:1301=';',<';'>,34:13] +[@193,1310:1315='switch',<'switch'>,36:6] +[@194,1317:1317='(',<'('>,36:13] +[@195,1318:1318='x',,36:14] +[@196,1319:1319=')',<')'>,36:15] +[@197,1327:1327='{',<'{'>,37:6] +[@198,1338:1341='case',<'case'>,38:9] +[@199,1343:1343='A',,38:14] +[@200,1344:1344='<',<'<'>,38:15] +[@201,1345:1345='B',,38:16] +[@202,1346:1346='>',<'>'>,38:17] +[@203,1348:1348='C',,38:19] +[@204,1349:1349=':',<':'>,38:20] +[@205,1403:1405='var',<'var'>,39:12] +[@206,1407:1407='z',,39:16] +[@207,1409:1409='=',<'='>,39:18] +[@208,1411:1411='C',,39:20] +[@209,1412:1412=';',<';'>,39:21] +[@210,1426:1430='break',<'break'>,40:12] +[@211,1431:1431=';',<';'>,40:17] +[@212,1439:1439='}',<'}'>,41:6] +[@213,1448:1450='var',<'var'>,43:6] +[@214,1452:1452='p',,43:10] +[@215,1454:1454='=',<'='>,43:12] +[@216,1456:1456='x',,43:14] +[@217,1458:1459='is',<'is'>,43:16] +[@218,1461:1461='A',,43:19] +[@219,1462:1462='<',<'<'>,43:20] +[@220,1463:1463='B',,43:21] +[@221,1464:1464='>',<'>'>,43:22] +[@222,1465:1465='>',<'>'>,43:23] +[@223,1466:1466='C',,43:24] +[@224,1467:1467=';',<';'>,43:25] +[@225,1503:1505='var',<'var'>,44:6] +[@226,1507:1507='q',,44:10] +[@227,1509:1509='=',<'='>,44:12] +[@228,1511:1511='A',,44:14] +[@229,1512:1512='<',<'<'>,44:15] +[@230,1513:1513='B',,44:16] +[@231,1514:1514='>',<'>'>,44:17] +[@232,1515:1515='>',<'>'>,44:18] +[@233,1516:1516='C',,44:19] +[@234,1517:1517=';',<';'>,44:20] +[@235,1555:1557='var',<'var'>,45:6] +[@236,1559:1559='r',,45:10] +[@237,1561:1561='=',<'='>,45:12] +[@238,1563:1563='(',<'('>,45:14] +[@239,1564:1564='x',,45:15] +[@240,1566:1567='is',<'is'>,45:17] +[@241,1569:1569='A',,45:20] +[@242,1570:1570='<',<'<'>,45:21] +[@243,1571:1571='B',,45:22] +[@244,1572:1572='>',<'>'>,45:23] +[@245,1573:1573=')',<')'>,45:24] +[@246,1574:1574='>',<'>'>,45:25] +[@247,1575:1575='C',,45:26] +[@248,1576:1576=';',<';'>,45:27] +[@249,1610:1612='var',<'var'>,46:6] +[@250,1614:1614='s',,46:10] +[@251,1616:1616='=',<'='>,46:12] +[@252,1618:1618='x',,46:14] +[@253,1620:1621='is',<'is'>,46:16] +[@254,1623:1623='A',,46:19] +[@255,1624:1624='<',<'<'>,46:20] +[@256,1625:1625='B',,46:21] +[@257,1626:1626='>',<'>'>,46:22] +[@258,1628:1634='orderby',<'orderby'>,46:24] +[@259,1635:1635=';',<';'>,46:31] +[@260,1685:1685='}',<'}'>,47:3] +[@261,1687:1687='}',<'}'>,48:0] +[@262,1688:1687='',,48:1] diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.red.txt index c70454c9a..16fb620ef 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (class_declaration class (identifier TypeArgumentListChecks) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier TypeArgumentListChecks)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (invocation_expression (primary_expression (simple_name (identifier G) (type_argument_list < (type_arguments (type_argument (identifier A)) , (type_argument (identifier B))) >))) ( (argument_list (literal 7)) ))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (invocation_expression (primary_expression (base_access base . (identifier G) (type_argument_list < (type_arguments (type_argument (identifier A)) , (type_argument (identifier B))) >))) ( (argument_list (literal 7)) ))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (argument (relational_expression (relational_expression (identifier G)) < (shift_expression (identifier A)))) , (argument (relational_expression (relational_expression (identifier B)) > (shift_expression (literal 7))))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (argument (relational_expression (relational_expression (base_access base . (identifier G))) < (shift_expression (identifier A)))) , (argument (relational_expression (relational_expression (identifier B)) > (shift_expression (literal 7))))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (argument (relational_expression (relational_expression (identifier G)) < (shift_expression (identifier A)))) , (argument (shift_expression (shift_expression (identifier B)) (right_shift > >) (additive_expression (literal 7))))) ))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier x)) (assignment_operator =) (expression (relational_expression (relational_expression (relational_expression (identifier F)) < (shift_expression (identifier A))) > (shift_expression (unary_expression + (unary_expression (identifier y)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier x)) (assignment_operator =) (expression (conditional_and_expression (conditional_and_expression (relational_expression (relational_expression (identifier y)) is (type (namespace_or_type_name (identifier C) (type_argument_list < (type_arguments (identifier T)) >))))) && (inclusive_or_expression (identifier z)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (tuple_expression ( (tuple_element (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (tuple_element (identifier C)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (tuple_expression ( (tuple_element (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (tuple_element (relational_expression (relational_expression (identifier C)) > (shift_expression (identifier D)))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (tuple_expression ( (tuple_element (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) (identifier D))) , (tuple_element (identifier E)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (argument (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (argument (relational_expression (relational_expression (identifier C)) > (shift_expression (identifier D)))) , (argument (identifier E))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (type_argument (identifier B)) , (type_argument (identifier C))) >))) (identifier D))))) , (argument (identifier E))) )))))) ;)) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier e)) is (pattern (declaration_pattern (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >))) (simple_designation (identifier C)))))) ) (embedded_statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier W)) ( (argument_list (identifier C)) ))) ;)))) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier e)) is (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >))))) ) (embedded_statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier W)) ( (argument_list (identifier C)) ))) ;)))) (statement (switch_statement switch ( (expression (identifier x)) ) (switch_block { (switch_section (switch_label case (pattern (declaration_pattern (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >))) (simple_designation (identifier C)))) :) (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier z) = (expression (identifier C))))) ;)) (statement (break_statement break ;)))) }))) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier p) = (expression (relational_expression (relational_expression (relational_expression (identifier x)) is (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >)))) > (shift_expression (identifier C))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier q) = (expression (relational_expression (relational_expression (identifier A)) < (shift_expression (shift_expression (identifier B)) (right_shift > >) (additive_expression (identifier C)))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier r) = (expression (relational_expression (relational_expression (parenthesized_expression ( (expression (relational_expression (relational_expression (identifier x)) is (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >))))) ))) > (shift_expression (identifier C))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s) = (expression (relational_expression (relational_expression (identifier x)) is (pattern (declaration_pattern (type (namespace_or_type_name (identifier A) (type_argument_list < (type_arguments (identifier B)) >))) (simple_designation (contextual_keyword orderby))))))))) ;))) })))) })))) +(prog (compilation_unit (class_declaration class (identifier TypeArgumentListChecks) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier TypeArgumentListChecks)) ( )) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (invocation_expression (primary_expression (simple_name (identifier G) (type_argument_list < (type_argument (identifier A)) , (type_argument (identifier B)) >))) ( (argument_list (literal 7)) ))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (invocation_expression (primary_expression (base_access base . (identifier G) (type_argument_list < (type_argument (identifier A)) , (type_argument (identifier B)) >))) ( (argument_list (literal 7)) ))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (argument (relational_expression (relational_expression (identifier G)) < (shift_expression (identifier A)))) , (argument (relational_expression (relational_expression (identifier B)) > (shift_expression (literal 7))))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (argument (relational_expression (relational_expression (base_access base . (identifier G))) < (shift_expression (identifier A)))) , (argument (relational_expression (relational_expression (identifier B)) > (shift_expression (literal 7))))) ))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier F)) ( (argument_list (argument (relational_expression (relational_expression (identifier G)) < (shift_expression (identifier A)))) , (argument (shift_expression (shift_expression (identifier B)) (right_shift > >) (additive_expression (literal 7))))) ))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier x)) (assignment_operator =) (expression (relational_expression (relational_expression (relational_expression (identifier F)) < (shift_expression (identifier A))) > (shift_expression (unary_expression + (unary_expression (identifier y)))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier x)) (assignment_operator =) (expression (conditional_and_expression (conditional_and_expression (relational_expression (relational_expression (identifier y)) is (type (namespace_or_type_name (identifier C) (type_argument_list < (type_argument (identifier T)) >))))) && (inclusive_or_expression (identifier z)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (tuple_expression ( (tuple_element (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (tuple_element (identifier C)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (tuple_expression ( (tuple_element (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (tuple_element (relational_expression (relational_expression (identifier C)) > (shift_expression (identifier D)))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (tuple_expression ( (tuple_element (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (tuple_element (relational_expression (relational_expression (identifier C)) > (shift_expression (identifier D)))) , (tuple_element (identifier E)) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (argument (relational_expression (relational_expression (identifier A)) < (shift_expression (identifier B)))) , (argument (relational_expression (relational_expression (identifier C)) > (shift_expression (identifier D)))) , (argument (identifier E))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (invocation_expression (primary_expression (identifier M)) ( (argument_list (argument (argument_value out (variable_reference (declaration_expression (local_variable_type (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier B)) , (type_argument (identifier C)) >))) (identifier D))))) , (argument (identifier E))) )))))) ;)) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier e)) is (pattern (declaration_pattern (type (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier B)) >))) (simple_designation (identifier C)))))) ) (embedded_statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier W)) ( (argument_list (identifier C)) ))) ;)))) (statement (if_statement if ( (boolean_expression (relational_expression (relational_expression (identifier e)) is (type (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier B)) >))))) ) (embedded_statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier W)) ( (argument_list (identifier C)) ))) ;)))) (statement (switch_statement switch ( (expression (identifier x)) ) (switch_block { (switch_section (switch_label case (pattern (declaration_pattern (type (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier B)) >))) (simple_designation (identifier C)))) :) (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier z) = (expression (identifier C))))) ;)) (statement (break_statement break ;)))) }))) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier p) = (expression (relational_expression (relational_expression (relational_expression (identifier x)) is (type (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier B)) >)))) > (shift_expression (identifier C))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier q) = (expression (relational_expression (relational_expression (identifier A)) < (shift_expression (shift_expression (identifier B)) (right_shift > >) (additive_expression (identifier C)))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier r) = (expression (relational_expression (relational_expression (parenthesized_expression ( (expression (relational_expression (relational_expression (identifier x)) is (type (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier B)) >))))) ))) > (shift_expression (identifier C))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s) = (expression (relational_expression (relational_expression (identifier x)) is (pattern (declaration_pattern (type (namespace_or_type_name (identifier A) (type_argument_list < (type_argument (identifier B)) >))) (simple_designation (contextual_keyword orderby))))))))) ;))) })))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.svg index 85e25a729..2ec074932 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/Reference/sample.tree.svg @@ -1,3360 +1,3345 @@ - - - - - - - - - - - + + + + + + + + + + + - + - - - - - + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -base_access + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +type_argument - - -; + + +statement_expression - - -expression + + +identifier - - + + invocation_expression - - -, - - - -inclusive_or_expression + + +( - - -switch_section + + +identifier - - -, + + +identifier - - -var + + +implicitly_typed_local_variable_declaration - - -; + + +relational_expression - - -namespace_or_type_name + + +A - - -identifier + + +primary_expression - - -local_variable_declaration + + +relational_expression - - -( + + +expression - - -assignment + + +identifier - - -B + + +switch_statement - - -D + + +namespace_or_type_name - - -( + + +pattern - - -7 + + += - - -identifier + + +namespace_or_type_name - - -parenthesized_expression + + +if_statement - - -statement_expression + + +type_argument - - -var + + +{ - - -declaration_pattern + + +identifier - - -= + + +implicitly_typed_local_variable_declarator - - -argument + + +namespace_or_type_name - - + + declaration_pattern - - -type_argument_list - - - + + relational_expression - - -< + + +tuple_element - - -type_argument + + +> - - -relational_expression + + +x - - -> + + +identifier - - -C + + +class_member_declaration - - -statement + + +, - - -A + + +v - - -expression_statement + + +identifier - - -statement_expression + + +M - - + + primary_expression - - -implicitly_typed_local_variable_declarator + + +relational_expression - - -= + + +var - - -> + + +expression_statement - - -orderby + + +declaration_statement - - -B + + +declaration_expression - - -= + + +( + + + +var - - + + +A + + + relational_expression - - + + identifier - - -identifier + + +; - - -< + + +method_header - - -C + + +local_variable_declaration - - -) + + +is - - -implicitly_typed_local_variable_declaration + + +> - - -7 + + +expression - - -identifier + + +argument - - -= + + +identifier - - -contextual_keyword + + +statement_expression - - -F + + +statement_expression - - + + identifier - - -primary_expression - - - -) + + +relational_expression - - -identifier + + +G - - -, + + +argument - - -expression_statement + + +) - - + + statement - - -local_variable_declaration + + +relational_expression - - -shift_expression + + += - - -declaration_statement + + +, - - -x + + +statement - - -argument_list + + +implicitly_typed_local_variable_declaration - - + + argument_list - - -} - - - -invocation_expression - - - -B + + +relational_expression - - + + statement - - -M + + +C - - -z + + +relational_expression - - -shift_expression + + +( - - -identifier + + +< - - -identifier + + +local_variable_declaration - - -{ + + +> - - -relational_expression + + +; - - -( + + +> - - -identifier + + +type - - -out + + +identifier - - -( + + +) - - -relational_expression + + +identifier - - + + identifier - - -declaration_statement + + +; - - -v + + +out - - -var + + +type_argument_list - - -invocation_expression + + +identifier - - -unary_expression + + +statement - - -shift_expression + + +< - - -base + + +var - - -identifier + + +F - - -C + + +identifier - - -implicitly_typed_local_variable_declaration + + +; - - -conditional_and_expression + + +relational_expression - - -. + + +identifier - - -switch_label + + +invocation_expression - - -type_arguments + + +argument - - + + identifier - - -shift_expression - - - -identifier + + += - - -declaration_statement + + +void - - -identifier + + +x - - + + statement - - -class_member_declaration - - - -; + + +type - - -type_arguments + + +declaration_statement - - + + invocation_expression - - -statement_expression - - - -< + + +relational_expression - - -literal + + +> - - -assignment_operator + + +simple_designation - - -A + + +> - - -identifier + + += - - -E + + +argument - - -shift_expression + + +D - - -literal + + +identifier - - -statement + + +< - - -base + + +is - - -pattern + + +) - - -type + + +} - - -relational_expression + + +unary_expression - - -identifier + + +( - - -is + + +compilation_unit - - -is + + +v - - -identifier + + +expression - - -identifier + + +implicitly_typed_local_variable_declarator - - -declaration_statement + + +simple_designation - - + + ; - - -) + + +argument - - -< + + +G - - -; + + +statement - - -tuple_element + + +< - - -invocation_expression + + +statement - - -namespace_or_type_name + + +identifier - - -B + + +implicitly_typed_local_variable_declaration - - -&& + + +identifier - - + + identifier - - -namespace_or_type_name + + +; - - -relational_expression + + +( - - -> + + +B - - -) + + +simple_designation - - + + identifier - - -x + + +A - - -M + + +identifier - - -tuple_expression + + +switch - - -prog + + +, - - -argument_list + + +class_body - - -r + + +statement - - -7 + + +} - - -+ + + +member_name - - -identifier + + +TypeArgumentListChecks - - -namespace_or_type_name + + +argument - - -identifier + + +base_access - - -identifier + + +literal + + + +statement_expression - - + + shift_expression - - -C + + +, - - -statement + + +expression - - -; + + +type_argument_list - - -implicitly_typed_local_variable_declarator + + +7 - - -implicitly_typed_local_variable_declarator + + +; - - -= + + +declaration_pattern - - -argument_list + + +identifier - - -type_argument + + +T - - -type_argument_list + + +, - - -expression + + +< - - -type_arguments + + +identifier - - -expression + + +statement_expression - - -; + + +identifier - - -invocation_expression + + +type_argument_list - - -A + + +var - - -> + + +expression_statement - - -B + + +right_shift - - + + identifier - - -primary_expression - - - + + identifier - - -B - - - -identifier + + +statement_list - - -A + + +statement_expression - - -implicitly_typed_local_variable_declarator + + +B - - -method_declaration + + +relational_expression - - -boolean_expression + + +) - - -simple_name + + +identifier - - -declaration_statement + + +shift_expression - - -) + + +identifier - - -T + + +B - - -implicitly_typed_local_variable_declarator + + +relational_expression - - -, + + +relational_expression - - -embedded_statement + + +additive_expression - - + + statement - - -7 + + +&& - - -x + + +shift_expression - - -; + + +var - - -; + + +identifier - - -argument_list + + +boolean_expression - - -( + + += - - -( + + +shift_expression - - -right_shift + + +; - - + + identifier - - -statement - - - -, + + +implicitly_typed_local_variable_declaration - - + + identifier - - + + A - - -implicitly_typed_local_variable_declaration - - - -var + + +identifier - - -primary_expression + + +identifier - - -x + + +) - - -F + + +G - - -relational_expression + + +B - - -, + + +argument_list - - -namespace_or_type_name + + +A - - -identifier + + +type_argument - - + + local_variable_declaration - - -shift_expression - - - -D + + +identifier - - + + identifier - - -7 + + +statement - - + + relational_expression - - -statement + + +identifier - - -local_variable_declaration + + +; - - -C + + +statement - - -A + + +relational_expression + + + +7 - - + + implicitly_typed_local_variable_declaration - - + + relational_expression - - -C - - - -argument - - - -type + + +type_argument - - -case + + +E - - -expression + + +implicitly_typed_local_variable_declaration - - + + identifier - - -pattern + + +tuple_element - - + + +shift_expression + + + primary_expression - - -; + + +) - - -relational_expression + + +expression - - -declaration_expression + + +statement_list - - -primary_expression + + +implicitly_typed_local_variable_declaration - - -class_declaration + + +invocation_expression - - -identifier + + +B - - -expression_statement + + +e - - -implicitly_typed_local_variable_declaration + + +argument_list - - -) + + +implicitly_typed_local_variable_declarator - - -relational_expression + + +switch_section - - -B + + +A - - -v + + +identifier - - -type_arguments + + +; - - -G + + +( - - -expression_statement + + +type_argument_list - - -< + + +statement - - -: + + +type_argument + + + +block - - + + , - - -{ + + +< - - + + relational_expression - - -var - - - -shift_expression - - - -z - - - -declaration_statement + + +statement - - -break + + +) - - -implicitly_typed_local_variable_declaration + + +expression - - -s + + +unary_expression - - + + identifier - - -invocation_expression + + +B - - -assignment_operator + + +statement - - -> + + +argument_value - - -= + + +B - - -G + + +tuple_element - - -implicitly_typed_local_variable_declarator + + +B - - -simple_designation + + +identifier - - -} + + +> - - -relational_expression + + +namespace_or_type_name - - -F + + +, - - -TypeArgumentListChecks + + +tuple_element - - -( + + +type - - -G + + +; - - -e + + +identifier - - -= + + +> - - -F + + +type_argument - - + + declaration_statement - - -implicitly_typed_local_variable_declaration + + +; - - -identifier + + +namespace_or_type_name - - -identifier + + +class_declaration + + + +tuple_expression + + + +A - - + + identifier - - -type_argument_list + + +break_statement - - -method_modifiers + + +shift_expression - - -conditional_and_expression + + +x - - -identifier + + +C - - + + ( - - -< + + +, - - -e + + +( - - -invocation_expression + + +( - - + + namespace_or_type_name - - -statement_expression + + +type_argument - - -identifier + + +expression_statement - - -type_arguments + + +primary_expression - - -, + + +additive_expression - - -local_variable_type + + +) - - -identifier + + +> - - -class_body + + +{ - - -A + + +( - - -literal + + +) - - -> + + +M - - -block + + +relational_expression - - -unary_expression + + +shift_expression - - -expression + + +identifier - - -type_argument_list + + += - - -is + + +declaration_statement - - -literal + + +argument_list + + + +relational_expression - - + + primary_expression - - -argument + + +W - - -identifier + + +invocation_expression - - + + < - - + + identifier - - -G + + +relational_expression - - -tuple_element + + +identifier - - -invocation_expression + + +( - - -A + + +type_argument_list - - -declaration_statement + + +F - - -identifier + + +B - - -implicitly_typed_local_variable_declarator + + +tuple_expression - - -argument + + +) - - -( + + +local_variable_declaration - - -statement_expression + + +parenthesized_expression - - + + , - - -relational_expression + + +) - - -; + + +type - - -identifier + + +< - - -statement_expression + + +{ - - + + identifier - - -relational_expression + + +type_argument - - -var + + +if - - -method_header + + +q - - -expression + + +invocation_expression - - -implicitly_typed_local_variable_declarator + + +identifier - - -primary_expression + + +shift_expression - - -expression_statement + + +) - - -tuple_element + + +C - - -identifier + + +declaration_pattern - - -< + + +var - - -declaration_statement + + +type_argument_list - - -, + + +G - - -identifier + + +v - - -< + + +> - - + + identifier - - -is - - - + + C - - -v + + +primary_expression - - -; + + +implicitly_typed_local_variable_declaration - - -local_variable_declaration + + +is - - -relational_expression + + +base_access - - -) + + +> - - -identifier + + +implicitly_typed_local_variable_declarator - - -tuple_element + + +implicitly_typed_local_variable_declarator - - -shift_expression + + +variable_reference - - -> + + +) - - -statement + + +implicitly_typed_local_variable_declarator - - -relational_expression + + +invocation_expression - - + + declaration_statement - - -relational_expression + + +( - - -) + + +primary_expression + + + +F - - + + var - - -) + + +< - - -method_body + + +B - - -primary_expression + + +is - - -> + + +expression - - -additive_expression + + +; - - -identifier + + +. - - -relational_expression + + +method_modifiers - - -declaration_pattern + + +shift_expression - - -argument_list + + +implicitly_typed_local_variable_declaration - - -relational_expression + + +invocation_expression - - -= + + +type_argument + + + +identifier - - + + argument - - -A + + +> - - -type_argument_list + + +relational_expression - - -C + + +conditional_and_expression - - + + identifier - - -is + + +B - - -A + + +statement + + + +implicitly_typed_local_variable_declarator - - + + relational_expression - - -D + + +identifier - - -invocation_expression + + +shift_expression - - -return_type + + +D - - -implicitly_typed_local_variable_declarator + + +invocation_expression - - -< + + +type_argument_list - - -namespace_or_type_name + + +local_variable_declaration - - -boolean_expression + + +expression_statement - - -. + + +identifier - - -statement + + +expression_statement - - -compilation_unit + + +relational_expression - - -implicitly_typed_local_variable_declaration + + +tuple_element - - -identifier + + +7 - - -> + + +primary_expression - - -if_statement + + +7 - - -( + + +> - - -W + + +identifier - - + + A - - -statement + + +local_variable_type - - -expression + + +argument - - -implicitly_typed_local_variable_declaration + + +D - - -y + + +identifier - - -) + + +G - - -invocation_expression + + +shift_expression - - -identifier + + +argument - - -identifier + + +argument_list - - + + identifier - - -> + + +implicitly_typed_local_variable_declarator - - -( + + +simple_name - - -A + + +identifier - - + + identifier - - + + +relational_expression + + + +B + + + ( - - -type_arguments + + +expression - - + + relational_expression - - -statement - - - -F + + +relational_expression - - -B + + +< - - -identifier + + +pattern - - -> + + +C - - -argument + + +; - - + + relational_expression - - -additive_expression - - - -; + + +( - - -> + + +primary_expression - - + + argument_list - - -C - - - -A + + += - - + + identifier - - -tuple_element + + +B - - -type_argument_list + + +< - - + + +relational_expression + + + < - - -argument + + +type_argument_list - - -identifier + + +) - - -argument_value + + +statement_expression - - -shift_expression + + +A - - -identifier + + +implicitly_typed_local_variable_declarator - - -local_variable_declaration + + +7 - - -identifier + + +A - - -y + + +expression - - -) + + += - - + + +shift_expression + + + identifier - - -statement + + +method_declaration - - + + relational_expression - - -( + + +inclusive_or_expression - - -simple_designation + + +( - - + + identifier - - -( - - - -type_argument + + +relational_expression - - -= + + +namespace_or_type_name - - -class + + +argument_list - - -< + + +expression_statement - - -statement_expression + + +: - - -; + + ++ - - -switch_block + + +) - - + + identifier - - -; + + +statement_expression - - -relational_expression + + +conditional_and_expression - - -} + + +declaration_statement - - -base_access + + +type_argument - - -tuple_expression + + +A - - + + identifier - - + + +x + + + +statement_expression + + + +type_argument + + + ; - - -simple_designation + + +type - - -break_statement + + +relational_expression - - -type_argument_list + + +shift_expression - - -expression_statement + + +tuple_element - - -pattern + + +contextual_keyword - - -identifier + + +C - - -shift_expression + + +orderby - - -type_argument + + +( - - -identifier + + +> - - -B + + +> - - -expression_statement + + +v - - -type_argument_list + + +> - - -identifier + + +argument_list - - -expression_statement + + +A - - -namespace_or_type_name + + +A - - -relational_expression + + +local_variable_declaration - - -statement_list + + +declaration_statement - - + + +z + + + > - - + + +tuple_element + + + identifier - - -( + + +embedded_statement - - -type + + +break - - -type_argument_list + + +implicitly_typed_local_variable_declarator - - -statement_expression + + +TypeArgumentListChecks - - -v + + +identifier - - -< + + +argument_list - - -is + + +expression - - -= + + +declaration_statement - - -declaration_expression + + +local_variable_declaration - - -relational_expression + + +C - - + + shift_expression - - -identifier + + +expression - - -< + + +statement - - -x + + +statement - - -local_variable_declaration + + +C - - -identifier + + +, - - -shift_expression + + +assignment_operator - - -) + + +if_statement + + + +statement - - + + identifier - - -right_shift + + +F - - -type + + +identifier - - -D + + +statement - - + + ; - - -x + + +) - - -implicitly_typed_local_variable_declaration + + +) - - -type_argument + + +relational_expression - - -argument_list + + +return_type - - + + namespace_or_type_name - - -G - - - -relational_expression - - - -var + + +right_shift - - -, + + +> - - + + identifier - - -argument + + +< - - -identifier + + +relational_expression - - -> + + +C - - -type_argument + + +relational_expression - - -( + + +shift_expression - - -) + + +A - - -( + + +pattern - - -identifier + + +E - - -variable_reference + + +x - - -> + + +unary_expression - - + + identifier - - -TypeArgumentListChecks - - - -argument_list - - - -type_arguments + + +C - - -expression + + +shift_expression - - -B + + +statement - - + + identifier - - -statement + + +relational_expression - - -switch_statement + + +literal - - -primary_expression + + +; - - -E + + +literal - - -shift_expression + + +expression - - + + identifier - - -identifier + + +y - - -expression + + +> - - -) + + +relational_expression - - -identifier + + +is - - -> + + +declaration_statement - - -F + + +D - - + + identifier - - + + identifier - - -) - - - -B - - - -) + + +C - - -embedded_statement + + +literal - - -; + + +local_variable_declaration - - -( + + +relational_expression - - -primary_expression + + +identifier - - + + relational_expression - - + + identifier - - -identifier + + +( - - -relational_expression + + +switch_block - - -literal + + +identifier - - + + shift_expression - - -var - - - -statement - - - -unary_expression + + += - - -type_argument_list + + +F - - -) + + +class - - + + < - - -v - - - -relational_expression + + +assignment - - -{ + + +assignment_operator - - + + relational_expression - - -A + + +identifier - - -C + + +identifier - - -< + + +invocation_expression - - -switch + + +identifier - - -relational_expression + + +; - - -type + + +identifier - - -type + + +local_variable_declaration - - -if_statement + + +A - - -type_arguments + + +var - - -) + + +local_variable_declaration - - -C + + +switch_label - - + + identifier - - -type_arguments - - - -; + + +expression - - -; + + +shift_expression - - + + relational_expression - - -( + + +invocation_expression - - -argument + + +relational_expression + + + +argument_list - - + + assignment - - -E + + += - - -identifier + + +F - - -implicitly_typed_local_variable_declarator + + +tuple_expression - - -argument + + +identifier - - -type_argument + + +, - - + + var - - -A - - - -type_argument - - - -, + + +type - - + + expression - - -statement + + +identifier - - -expression_statement + + +> - - -A + + +s - - -C + + +expression_statement - - -identifier + + +embedded_statement - - -if + + +y - - -shift_expression + + +prog - - + + if - - -= - - - -relational_expression - - - -> + + +W - - -shift_expression + + +case - - -local_variable_declaration + + +implicitly_typed_local_variable_declaration - - -void + + +) - - -statement_list + + +identifier - - -< + + +primary_expression - - -expression + + +( - - -argument + + +type_argument_list - - + + identifier - - -> - - - -expression + + +relational_expression - - -type_arguments + + +B - - + + statement - - -tuple_expression + + +type_argument - - -< + + +A - - -statement + + +boolean_expression - - -> + + +; - - + + A - - -B + + +C + + + +identifier + + + +x - - + + unary_expression - - -argument_list + + +; - - -relational_expression + + +e - - -> + + +B - - -local_variable_declaration + + +) - - -> + + +r - - -tuple_element + + +base - - + + identifier - - -B + + +is + + + +expression_statement + + + +. - - -type_arguments + + +, - - + + identifier - - -C + + +declaration_statement - - -B + + +argument - - -B + + +literal + + + +shift_expression + + + +argument_list - - + + identifier - - + + identifier - - -relational_expression + + += - - -> + + +< - - -local_variable_declaration + + +< - - + + identifier - - + + +base + + + B - - -relational_expression + + +} - - -expression + + +C - - -B + + +> - - -argument_list + + +identifier - - -C + + +var - - -type + + +z - - -= + + +, - - -statement_expression + + +v - - -statement + + +argument - - -shift_expression + + += + + + +p + + + +C - - + + identifier - - -member_name + + +type - - -statement + + +E - - -identifier + + +B - - -local_variable_type + + +method_body - - -, + + +type_argument_list - - -expression + + +shift_expression - - -q + + +< - - -W + + +expression_statement + + + +relational_expression + + + +> + + + +primary_expression - - + + A - - + + < - - -p + + +identifier - - -relational_expression + + +( - - -type_argument_list + + +type_argument - - -) + + +< \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/sample.cs b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/sample.cs index aa03d9671..c8ac573ee 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/sample.cs +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v8/Type argument list/sample.cs @@ -20,13 +20,12 @@ void TypeArgumentListChecks() var v = (A < B, C > D); // a tuple with two elements, each a comparison. - var v = (A D, E); // tuple with two elements, the first of which is - // a declaration expression. + var v = (A D, E); // thruple, as above plus E as third element - var v = M(A < B, C > D, E); // call with three arguments. + var v = M(A < B, C > D, E); // call with three arguments same as thruple. var v = M(out A D, E); // call with two arguments, the first of which is - // an out declaration. + // an out declaration expression. if (e is A C) // a declaration pattern. W(C); From ccd03b6f283d9665f8cd134903181282bb2ef653 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 1 May 2025 09:17:14 -0400 Subject: [PATCH 254/259] [create-pull-request] automated change (#1319) Co-authored-by: BillWagner --- standard/grammar.md | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/standard/grammar.md b/standard/grammar.md index 0c46d9679..3a30dad16 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -703,13 +703,9 @@ nullable_value_type // Source: §8.4.2 Type arguments type_argument_list - : '<' type_arguments '>' + : '<' type_argument (',' type_argument)* '>' ; -type_arguments - : type_argument (',' type_argument)* - ; - type_argument : type | type_parameter nullable_type_annotation? @@ -2635,7 +2631,6 @@ global_attributes global_attribute_section : '[' global_attribute_target_specifier attribute_list ']' - | '[' global_attribute_target_specifier attribute_list ',' ']' ; global_attribute_target_specifier @@ -2652,7 +2647,6 @@ attributes attribute_section : '[' attribute_target_specifier? attribute_list ']' - | '[' attribute_target_specifier? attribute_list ',' ']' ; attribute_target_specifier @@ -2665,7 +2659,7 @@ attribute_target ; attribute_list - : attribute (',' attribute)* + : attribute (',' attribute)* ','? ; attribute From f36f8ed172ca9f3949c81b2ee262d9ba5462bb9a Mon Sep 17 00:00:00 2001 From: Nigel-Ecma Date: Fri, 2 May 2025 12:09:00 +1200 Subject: [PATCH 255/259] [DTW.4] - Update namespace_or_type_name & unbound_type_name --- .../dependencies/GrammarTestingEnv.tgz | Bin 53860 -> 53804 bytes standard/basic-concepts.md | 80 +- standard/expressions.md | 25 +- .../part-A/Reference/sample.gruntree.red.txt | 123 +- .../part-A/Reference/sample.tree.red.txt | 2 +- .../part-A/Reference/sample.tree.svg | 1903 ++-- .../part-B/Reference/sample.gruntree.red.txt | 14 +- .../part-B/Reference/sample.stderr.txt | 0 .../part-B/Reference/sample.tree.red.txt | 2 +- .../part-B/Reference/sample.tree.svg | 8964 ++++++++--------- .../part-E/Reference/sample.gruntree.red.txt | 7 +- .../part-E/Reference/sample.stderr.txt | 0 .../part-E/Reference/sample.tree.red.txt | 2 +- .../part-E/Reference/sample.tree.svg | 4939 +++++---- .../part-F/Reference/sample.gruntree.red.txt | 7 +- .../part-F/Reference/sample.tree.red.txt | 2 +- .../part-F/Reference/sample.tree.svg | 2495 +++-- .../part-I/Reference/sample.gruntree.red.txt | 7 +- .../part-I/Reference/sample.stderr.txt | 0 .../part-I/Reference/sample.tree.red.txt | 2 +- .../part-I/Reference/sample.tree.svg | 3917 ++++--- .../part-K/Reference/sample.gruntree.red.txt | 43 +- .../part-K/Reference/sample.tree.red.txt | 2 +- .../part-K/Reference/sample.tree.svg | 1785 ++-- .../part-M/Reference/sample.gruntree.red.txt | 35 +- .../part-M/Reference/sample.tree.red.txt | 2 +- .../part-M/Reference/sample.tree.svg | 2791 +++-- 27 files changed, 13489 insertions(+), 13660 deletions(-) create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.stderr.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.stderr.txt create mode 100644 tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.stderr.txt diff --git a/.github/workflows/dependencies/GrammarTestingEnv.tgz b/.github/workflows/dependencies/GrammarTestingEnv.tgz index eefdcd659c34a267fd3a8b19d35081f45e40854a..a413f514ca12b71bcd2bc85dcfeea0ca5d0b58c0 100644 GIT binary patch literal 53804 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 J!K45<1OVY&wk-ev literal 53860 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 N{~tf#j#2` -- `N.I` -- `N.I` -where `I` is a single identifier, `N` is a *namespace_or_type_name* and `` is an optional *type_argument_list*. When no *type_argument_list* is specified, consider `x` to be zero. +where: + +- `I` is a single identifier; and +- `` is a *type_argument_list*, when no *type_argument_list* is specified consider `x` to be zero. -The meaning of a *namespace_or_type_name* is determined as follows: +`R₀` is determined as follows: -- If the *namespace_or_type_name* is a *qualified_alias_member*, the meaning is as specified in [§14.8.1](namespaces.md#1481-general). -- Otherwise, if the *namespace_or_type_name* is of the form `I` or of the form `I`: - - If `x` is zero and the *namespace_or_type_name* appears within a generic method declaration ([§15.6](classes.md#156-methods)) but outside the *attributes* of its *method-header,* and if that declaration includes a type parameter ([§15.2.3](classes.md#1523-type-parameters)) with name `I`, then the *namespace_or_type_name* refers to that type parameter. - - Otherwise, if the *namespace_or_type_name* appears within a type declaration, then for each instance type `T` ([§15.3.2](classes.md#1532-the-instance-type)), starting with the instance type of that type declaration and continuing with the instance type of each enclosing class or struct declaration (if any): - - If `x` is zero and the declaration of `T` includes a type parameter with name `I`, then the *namespace_or_type_name* refers to that type parameter. - - Otherwise, if the *namespace_or_type_name* appears within the body of the type declaration, and `T` or any of its base types contain a nested accessible type having name `I` and `x` type parameters, then the *namespace_or_type_name* refers to that type constructed with the given type arguments. If there is more than one such type, the type declared within the more derived type is selected. +- If `x` is zero and the *namespace_or_type_name* appears within a generic method declaration ([§15.6](classes.md#156-methods)) but outside the *attributes* of its *method-header,* and if that declaration includes a type parameter ([§15.2.3](classes.md#1523-type-parameters)) with name `I`, then `R₀` refers to that type parameter. +- Otherwise, if the *namespace_or_type_name* appears within a type declaration, then for each instance type `T` ([§15.3.2](classes.md#1532-the-instance-type)), starting with the instance type of that type declaration and continuing with the instance type of each enclosing class or struct declaration (if any): + - If `x` is zero and the declaration of `T` includes a type parameter with name `I`, then `R₀` refers to that type parameter. + - Otherwise, if the *namespace_or_type_name* appears within the body of the type declaration, and `T` or any of its base types contain a nested accessible type having name `I` and `x` type parameters, then `R₀` refers to that type constructed with the given type arguments. If there is more than one such type, the type declared within the more derived type is selected. > *Note*: Non-type members (constants, fields, methods, properties, indexers, operators, instance constructors, finalizers, and static constructors) and type members with a different number of type parameters are ignored when determining the meaning of the *namespace_or_type_name*. *end note* - Otherwise, for each namespace `N`, starting with the namespace in which the *namespace_or_type_name* occurs, continuing with each enclosing namespace (if any), and ending with the global namespace, the following steps are evaluated until an entity is located: - If `x` is zero and `I` is the name of a namespace in `N`, then: - If the location where the *namespace_or_type_name* occurs is enclosed by a namespace declaration for `N` and the namespace declaration contains an *extern_alias_directive* or *using_alias_directive* that associates the name `I` with a namespace or type, then the *namespace_or_type_name* is ambiguous and a compile-time error occurs. - - Otherwise, the *namespace_or_type_name* refers to the namespace named `I` in `N`. + - Otherwise, `R₀` refers to the namespace named `I` in `N`. - Otherwise, if `N` contains an accessible type having name `I` and `x` type parameters, then: - If `x` is zero and the location where the *namespace_or_type_name* occurs is enclosed by a namespace declaration for `N` and the namespace declaration contains an *extern_alias_directive* or *using_alias_directive* that associates the name `I` with a namespace or type, then the *namespace_or_type_name* is ambiguous and a compile-time error occurs. - - Otherwise, the *namespace_or_type_name* refers to the type constructed with the given type arguments. + - Otherwise, `R₀` refers to the type constructed with the given type arguments. - Otherwise, if the location where the *namespace_or_type_name* occurs is enclosed by a namespace declaration for `N`: - - If `x` is zero and the namespace declaration contains an *extern_alias_directive* or *using_alias_directive* that associates the name `I` with an imported namespace or type, then the *namespace_or_type_name* refers to that namespace or type. - - Otherwise, if the namespaces imported by the *using_namespace_directive*s of the namespace declaration contain exactly one type having name `I` and `x` type parameters, then the *namespace_or_type_name* refers to that type constructed with the given type arguments. - - Otherwise, if the namespaces imported by the *using_namespace_directive*s of the namespace declaration contain more than one type having name `I` and `x` type parameters, then the *namespace_or_type_name* is ambiguous and an error occurs. + - If `x` is zero and the namespace declaration contains an *extern_alias_directive* or *using_alias_directive* that associates the name `I` with an imported namespace or type, then `R₀` refers to that namespace or type. + - Otherwise, if the namespaces imported by the *using_namespace_directive*s of the namespace declaration contain exactly one type having name `I` and `x` type parameters, then `R₀` refers to that type constructed with the given type arguments. + - Otherwise, if the namespaces imported by the *using_namespace_directive*s of the namespace declaration contain more than one type having name `I` and `x` type parameters, then the *namespace_or_type_name* is ambiguous and a compile-time error occurs. - Otherwise, the *namespace_or_type_name* is undefined and a compile-time error occurs. -- Otherwise, the *namespace_or_type_name* is of the form `N.I` or of the form `N.I`. `N` is first resolved as a *namespace_or_type_name*. If the resolution of `N` is not successful, a compile-time error occurs. Otherwise, `N.I` or `N.I` is resolved as follows: - - If `x` is zero and `N` refers to a namespace and `N` contains a nested namespace with name `I`, then the *namespace_or_type_name* refers to that nested namespace. - - Otherwise, if `N` refers to a namespace and `N` contains an accessible type having name `I` and `x` type parameters, then the *namespace_or_type_name* refers to that type constructed with the given type arguments. - - Otherwise, if `N` refers to a (possibly constructed) class or struct type and `N` or any of its base classes contain a nested accessible type having name `I` and `x` type parameters, then the *namespace_or_type_name* refers to that type constructed with the given type arguments. If there is more than one such type, the type declared within the more derived type is selected. - > *Note*: If the meaning of `N.I` is being determined as part of resolving the base class specification of `N` then the direct base class of `N` is considered to be `object` ([§15.2.4.2](classes.md#15242-base-classes)). *end note* - - Otherwise, `N.I` is an invalid *namespace_or_type_name*, and a compile-time error occurs. + +If `R₀` has been resolved successfully the trailing part of the *namespace_or_type_name* is resolved. The trailing grammar fragment consists of `k ≥ 0` repetitions, with each repetition further resolving the referenced namespace or type. + +If `k` is zero, i.e. there is no trailing part, then the *namespace_or_type_name* resolves to `R₀`. + +Otherwise each repetition will have one of the forms: + +- `.I` +- `.I` + +where `I`, `A` and `x` are defined as above. + +For each repetition `n`, where `1 ≤ n ≤ k`, its resolution, `Rₙ`; which involves `Rₚ`, where `p = n - 1`, the resolution of the preceding repetition; is determined as follows: + +- If `x` is zero and `Rₚ` refers to a namespace and `Rₚ` contains a nested namespace with name `I`, then `Rₙ` refers to that nested namespace. +- Otherwise, if `Rₚ` refers to a namespace and `Rₚ` contains an accessible type having name `I` and `x` type parameters, then `Rₙ` refers to that type constructed with the given type arguments. +- Otherwise, if `Rₚ` refers to a (possibly constructed) class or struct type and `Rₚ` or any of its base classes contain a nested accessible type having name `I` and `x` type parameters, then `Rₙ` refers to that type constructed with the given type arguments. If there is more than one such type, the type declared within the more derived type is selected. + > *Note*: If the meaning of `T.I`, for some type `T`, is being determined as part of resolving the base class specification of `T` then the direct base class of `T` is considered to be `object` ([§15.2.4.2](classes.md#15242-base-classes)). *end note* +- Otherwise, the *namespace_or_type_name* is invalid and a compile-time error occurs. + +The resolution of the *namespace_or_type_name* is the resolution of the final repetition, `Rₖ`. A *namespace_or_type_name* is permitted to reference a static class ([§15.2.2.4](classes.md#15224-static-classes)) only if diff --git a/standard/expressions.md b/standard/expressions.md index b192a8223..8884715c7 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -3000,9 +3000,12 @@ typeof_expression ; unbound_type_name - : identifier generic_dimension_specifier? - | identifier '::' identifier generic_dimension_specifier? - | unbound_type_name '.' identifier generic_dimension_specifier? + : identifier generic_dimension_specifier? ('.' identifier generic_dimension_specifier?)* + | unbound_qualified_alias_member ('.' identifier generic_dimension_specifier?)* + ; + +unbound_qualified_alias_member + : identifier '::' identifier generic_dimension_specifier? ; generic_dimension_specifier @@ -3019,13 +3022,19 @@ The first form of *typeof_expression* consists of a `typeof` keyword followed by The second form of *typeof_expression* consists of a `typeof` keyword followed by a parenthesized *unbound_type_name*. -> *Note*: An *unbound_type_name* is very similar to a *type_name* ([§7.8](basic-concepts.md#78-namespace-and-type-names)) except that an *unbound_type_name* contains *generic_dimension_specifier*s where a *type_name* contains *type_argument_list*s. *end note* +> *Note*: The grammars of *unbound_type_name* and *unbound_qualified_alias_member* follow those of *type_name* ([§7.8](basic-concepts.md#78-namespace-and-type-names)) and *qualified_alias_member* ([§14.8.1](namespaces.md#1481-general)) except that *generic_dimension_specifier*s are substituted for *type_argument_list*s. *end note* + +When recognising the operand of a *typeof_expression* if both *unbound_type_name* and *type_name* are applicable, namely when it contains neither a *generic_dimension_specifier* nor a *type_argument_list*, then *type_name* shall be chosen. + +> *Note*: ANTLR makes the specified choice automatically due to the ordering of the alternatives of *typeof_expression*. *end note* + +The meaning of an *unbound_type_name* is determined as if: -When the operand of a *typeof_expression* is a sequence of tokens that satisfies the grammars of both *unbound_type_name* and *type_name*, namely when it contains neither a *generic_dimension_specifier* nor a *type_argument_list*, the sequence of tokens is considered to be a *type_name*. The meaning of an *unbound_type_name* is determined as follows: +- The sequence of tokens is converted to a *type_name* by replacing each *generic_dimension_specifier* with a *type_argument_list* having the same number of commas and the keyword `object` as each *type_argument*. +- The resulting *type_name* is resolved to a constructed type ([§7.8](basic-concepts.md#78-namespace-and-type-names)). +- The *unbound_type_name* is then the unbound generic type associated with the resolved constructed type ([§8.4](types.md#84-constructed-types)). -- Convert the sequence of tokens to a *type_name* by replacing each *generic_dimension_specifier* with a *type_argument_list* having the same number of commas and the keyword `object` as each *type_argument*. -- Evaluate the resulting *type_name*, while ignoring all type parameter constraints. -- The *unbound_type_name* resolves to the unbound generic type associated with the resulting constructed type ([§8.4](types.md#84-constructed-types)). +> *Note*: There is no requirement for an implementation to transform the sequence of tokens, or produce the intermediary constructed type, just that the unbound generic type that is determined is “as if” this process was followed. *end note* It is an error for the type name to be a nullable reference type. diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.gruntree.red.txt index f2f8a389a..9001123b7 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.gruntree.red.txt @@ -37,19 +37,13 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Collections -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Collections ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -71,11 +65,8 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -97,19 +88,13 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Linq -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Linq ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -131,11 +116,8 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -160,11 +142,8 @@ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -185,11 +164,8 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ConsoleApplication2 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ConsoleApplication2 ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -234,11 +210,8 @@ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ABC -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ABC ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -272,11 +245,8 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -299,11 +269,8 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -326,19 +293,13 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Linq -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Linq ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -375,11 +336,8 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -429,11 +387,8 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.tree.red.txt index e81a0a8fd..ecf8dddf4 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (extern_alias_directive extern alias (identifier Foo) ;) (using_directive (using_namespace_directive using (namespace_name (identifier System)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Collections)) . (identifier Generic))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq)) . (identifier Expressions))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Text))) ;)) (using_directive (using_alias_directive using (identifier M) = (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Math)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier ConsoleApplication2)) . (identifier Test))) ;)) (using_directive (using_alias_directive using (identifier X) = (namespace_or_type_name (identifier int1)) ;)) (using_directive (using_alias_directive using (identifier Y) = (namespace_or_type_name (namespace_or_type_name (identifier ABC)) . (identifier X) (type_argument_list < (type_argument (integral_type int)) >)) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Math))) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier DayOfWeek))) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Linq)) . (identifier Enumerable))) ;)) (global_attributes (global_attribute_section [ (global_attribute_target_specifier (global_attribute_target (identifier assembly)) :) (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Copyright))) (attribute_arguments ( (positional_argument_list (literal @"(C)"" \n\n2009")) )))) ]) (global_attribute_section [ (global_attribute_target_specifier (global_attribute_target (identifier module)) :) (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Copyright))) (attribute_arguments ( (positional_argument_list (additive_expression (additive_expression (literal "\n\t\u0123(C) \"2009")) + (multiplicative_expression (literal "\u0123")))) )))) ])) (namespace_member_declaration (class_declaration class (identifier TopLevelType) (class_base : (class_type (identifier IDisposable))) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (interface_type (identifier IDisposable)) . (identifier Dispose)) ( )) (method_body (block { })))) }))))) +(prog (compilation_unit (extern_alias_directive extern alias (identifier Foo) ;) (using_directive (using_namespace_directive using (namespace_name (identifier System)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (identifier System) . (identifier Collections) . (identifier Generic))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (identifier System) . (identifier Linq))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (identifier System) . (identifier Linq) . (identifier Expressions))) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (identifier System) . (identifier Text))) ;)) (using_directive (using_alias_directive using (identifier M) = (namespace_or_type_name (identifier System) . (identifier Math)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (identifier ConsoleApplication2) . (identifier Test))) ;)) (using_directive (using_alias_directive using (identifier X) = (namespace_or_type_name (identifier int1)) ;)) (using_directive (using_alias_directive using (identifier Y) = (namespace_or_type_name (identifier ABC) . (identifier X) (type_argument_list < (type_argument (integral_type int)) >)) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (identifier System) . (identifier Math))) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (identifier System) . (identifier DayOfWeek))) ;)) (using_directive (using_static_directive using static (type_name (namespace_or_type_name (identifier System) . (identifier Linq) . (identifier Enumerable))) ;)) (global_attributes (global_attribute_section [ (global_attribute_target_specifier (global_attribute_target (identifier assembly)) :) (attribute_list (attribute (attribute_name (namespace_or_type_name (identifier System) . (identifier Copyright))) (attribute_arguments ( (positional_argument_list (literal @"(C)"" \n\n2009")) )))) ]) (global_attribute_section [ (global_attribute_target_specifier (global_attribute_target (identifier module)) :) (attribute_list (attribute (attribute_name (namespace_or_type_name (identifier System) . (identifier Copyright))) (attribute_arguments ( (positional_argument_list (additive_expression (additive_expression (literal "\n\t\u0123(C) \"2009")) + (multiplicative_expression (literal "\u0123")))) )))) ])) (namespace_member_declaration (class_declaration class (identifier TopLevelType) (class_base : (class_type (identifier IDisposable))) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (interface_type (identifier IDisposable)) . (identifier Dispose)) ( )) (method_body (block { })))) }))))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.tree.svg index ab337bcd8..da77c64ae 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-A/Reference/sample.tree.svg @@ -1,1285 +1,1210 @@ - - + + - + - + - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -positional_argument_list + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +int - - + + using - - -integral_type - - - -namespace_member_declaration - - - -class_declaration - - - -Generic + + +Linq - - -attribute + + +identifier - - -using + + +[ - - -namespace_or_type_name + + += - - -namespace_name + + +using_namespace_directive - - -IDisposable + + +using_static_directive - - -attribute + + +Collections - - + + ] - - -using + + +namespace_or_type_name - - -Linq + + +namespace_or_type_name - - -type_argument_list + + +identifier - - -return_type + + +{ - - -. + + +identifier - - -Text + + +identifier - - -using_alias_directive + + +Expressions - - + + identifier - - -identifier + + +X - - -method_header + + +Math - - -} + + +identifier - - -. + + +compilation_unit - - -using + + +using_namespace_directive - - + + namespace_or_type_name - - -. - - - -attribute_list + + +identifier - - -: + + +"\n\t\u0123(C)·\"2009" - - -namespace_or_type_name + + +. - - + + identifier - - -ABC + + +namespace_name - - -static + + +X - - + + identifier - - -) + + +global_attribute_target_specifier - - -= + + +{ - - + + System - - + + ; - - + + namespace_or_type_name - - -. - - - -identifier - - - -class + + +} - - -identifier + + +System - - + + identifier - - -method_modifiers + + +@"(C)""·\n\n2009" - - -identifier + + +global_attribute_section - - -identifier + + +using_namespace_directive - - -Test + + +using - - -additive_expression + + +. - - -using_directive + + +using - - + + using_directive - - -attribute_list - - - -; + + +DayOfWeek - - -using_alias_directive + + +namespace_or_type_name - - -using_static_directive + + +attribute - - -global_attribute_target_specifier + + +identifier - - -System + + +global_attributes - - -namespace_or_type_name + + +using_namespace_directive - - -identifier + + +attribute_list - - -identifier + + +positional_argument_list - - -using + + +return_type - - + + using_directive - - -global_attributes + + +positional_argument_list - - + + literal - - -System - - - -type_name - - - -namespace_or_type_name + + +) - - -extern_alias_directive + + +; - - -. + + +Linq - - -using_directive + + +static - - -ConsoleApplication2 + + +method_modifiers - - -namespace_or_type_name + + +System - - -. + + +System - - -) + + +module - - -. + + +} - - -namespace_or_type_name + + +member_name - - -namespace_or_type_name + + +( - - -= + + +identifier - - -; + + +identifier - - -System + + +method_header - - -class_body + + +identifier - - -; + + +prog - - -using + + +interface_type - - -namespace_or_type_name + + +using_alias_directive - - -Foo + + +( - - -static + + +< - - + + namespace_or_type_name - - -using_directive + + +method_declaration - - -identifier + + +class_declaration - - -assembly + + +using - - + + . - - + + +using + + + +System + + + identifier - - -X + + +using - - + + ; - - -global_attribute_target_specifier - - - + + using_directive - - -identifier + + +alias - - -identifier + + +. - - -( + + +Y - - -multiplicative_expression + + +class_member_declaration - - -. + + +TopLevelType - - -global_attribute_target + + +using_directive - - -} + + +identifier - - -: + + +Copyright - - -interface_type + + +using - - -identifier + + +attribute - - -method_declaration + + +System + + + +namespace_name + + + +using_alias_directive - - + + +System + + + using_directive - - -namespace_or_type_name + + +attribute_name - - -namespace_or_type_name + + +ConsoleApplication2 - - -block + + +attribute_arguments - - -= + + +IDisposable - - -using_namespace_directive + + +namespace_or_type_name - - + + ; - - -class_base + + +Text - - -namespace_name + + +( - - -namespace_or_type_name + + +Math - - -using + + ++ - - -System + + +global_attribute_section - - -static + + += - - -Copyright + + +identifier - - -M + + +literal - - -namespace_or_type_name + + +. - - -DayOfWeek + + +int1 - - -. + + +; - - -member_name + + +M - - -type_argument + + +multiplicative_expression - - -System + + +Foo - - -namespace_or_type_name + + +extern_alias_directive - - -namespace_name + + +identifier - - -System + + +identifier - - -using + + +. ; - - -Enumerable + + +void - - -identifier + + +additive_expression - - -namespace_or_type_name + + +using_directive - - -"\n\t\u0123(C)·\"2009" + + +Test - - -positional_argument_list + + +: - - -using_directive + + +identifier - - -; + + +class_body - - -using_namespace_directive + + +type_argument + + + +additive_expression - - + + System - - -> + + +; - - -namespace_or_type_name + + +. - - + + +using_namespace_directive + + + namespace_name - - + + +; + + + +. + + + identifier - - -type_name + + +using_static_directive - - -using_namespace_directive + + +using_alias_directive - - + + +identifier + + + using_directive - - -identifier + + +namespace_or_type_name - - -Copyright + + +identifier - - -additive_expression + + +namespace_or_type_name - - -"\u0123" + + +using_directive - - -class_member_declaration + + +System - - -identifier + + +. - - -; + + +attribute_list - - -global_attribute_target + + +. - - + + identifier - - -using - - - -using + + +class_base - - + + using_directive - - + + identifier - - -namespace_or_type_name + + +attribute_arguments - - -attribute_name + + +Dispose - - -namespace_or_type_name + + +; - - -type_name + + +; - - -alias + + +. - - -) + + +identifier - - -namespace_or_type_name + + +. - - -identifier + + +. - - -identifier + + +type_argument_list - - -method_body + + +global_attribute_target_specifier - - -. + + +[ - - + + ; - - -using_alias_directive + + +namespace_or_type_name - - -. + + +identifier - - -( + + +) - - -prog + + += - - -namespace_or_type_name + + +literal - - + + identifier - - -Linq + + +identifier - - + + ; - - -global_attribute_section - - - + + namespace_name - - -void + + +identifier - - -{ + + +static - - -extern + + +using_namespace_directive - - -X + + +using_directive - - -Dispose + + +namespace_name - - + + class_type - - -attribute_arguments - - - -< - - - -int + + +using - - -Math + + +namespace_name - - -TopLevelType + + +Copyright - - -@"(C)""·\n\n2009" + + +IDisposable - - -] + + +System - - -using_static_directive + + +. - - -literal + + +identifier - - -{ + + +: - - -System + + +identifier - - -namespace_or_type_name + + +] - - -Math + + +using - - + + . - - -namespace_or_type_name + + +) - - + + namespace_or_type_name - - -System - - - -; + + +attribute_name - - -. + + +method_body - - -Linq + + +"\u0123" - - + + using - - -identifier - - - -global_attribute_section + + +integral_type - - -literal + + +> - - + + identifier - - -; - - - -+ + + +namespace_member_declaration - - -. + + +identifier - - -[ + + +extern - - -( + + +Generic - - -using_directive + + +type_name - - -namespace_or_type_name + + +. - - -Expressions + + +using_static_directive - - -using_directive + + +static - - -using_namespace_directive + + +global_attribute_target - - + + identifier - - -Y - - - -Collections - - - -using_static_directive - - - -[ + + +type_name - - -identifier + + +ABC - - -attribute_arguments + + +block - - -: + + +Linq - - -namespace_name + + +class - - -identifier + + +using_directive - - -int1 + + +; - - + + identifier - - -using_namespace_directive + + +type_name - - + + namespace_or_type_name - - -identifier + + +using - - + + System - - -. - - - -using_namespace_directive + + +global_attribute_target - - -identifier + + +: - - + + namespace_or_type_name - - -identifier - - - -compilation_unit - - - -IDisposable - - - -identifier + + +assembly - - -identifier + + +using - - + + identifier - - -using + + +Enumerable - - + + identifier - - -module + + +using_directive - - + + identifier - - -attribute_name - \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.gruntree.red.txt index 464e97a56..da72a8c31 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.gruntree.red.txt @@ -25,11 +25,8 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ A ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -125,11 +122,8 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.stderr.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.stderr.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.tree.red.txt index be691db8c..33882b0e0 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier A)) . (identifier B))) ;)) (namespace_member_declaration (interface_declaration interface (identifier CoContra) (variant_type_parameter_list < (variant_type_parameter (variance_annotation out) (type_parameter (identifier T))) , (variant_type_parameter (variance_annotation in) (type_parameter (identifier K))) >) (interface_body { }))) (namespace_member_declaration (delegate_declaration delegate (return_type void) (delegate_header (identifier CoContra2) (variant_type_parameter_list < (variant_type_parameter (attributes (attribute_section [ (attribute_list (attribute (attribute_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Obsolete))) (attribute_arguments ( )))) ])) (variance_annotation out) (type_parameter (identifier T))) , (variant_type_parameter (variance_annotation in) (type_parameter (identifier K))) >) ( ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint struct))) ;))) (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier DllImport)) (attribute_arguments ( (positional_argument_list (literal "kernel32")) , (named_argument_list (named_argument (identifier SetLastError) = (attribute_argument_expression (boolean_literal true)))) )))) ])) (method_modifiers (method_modifier (ref_method_modifier static)) (method_modifier (ref_method_modifier extern))) (return_type (simple_type bool)) (method_header (member_name (identifier CreateDirectory)) ( (parameter_list (fixed_parameters (fixed_parameter (type (class_type string)) (identifier name)) , (fixed_parameter (type (identifier SecurityAttribute)) (identifier sa)))) )) (method_body ;))) (class_member_declaration (constant_declaration (constant_modifier private) const (type (integral_type int)) (constant_declarators (constant_declarator (identifier (contextual_keyword global)) = (constant_expression (additive_expression (additive_expression (member_access (predefined_type int) . (identifier MinValue))) - (multiplicative_expression (literal 1)))))) ;)) (class_member_declaration (static_constructor_declaration (static_constructor_modifiers static) (identifier A) ( ) (static_constructor_body (block { })))) (class_member_declaration (constructor_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (labeled_statement (identifier L) : (statement (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (sizeof_expression sizeof ( (unmanaged_type (integral_type int)) ))))))) ;)) (statement (expression_statement (statement_expression (pre_increment_expression ++ (unary_expression (identifier i)))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s1) = (expression (interpolated_regular_string_expression 〔$"〕 〔x 〕 { (regular_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s2) = (expression (interpolated_verbatim_string_expression 〔$@"〕 〔x 〕 { (verbatim_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;))) })))) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Console)) . (identifier WriteLine))) ( (argument_list (member_access (primary_expression (member_access (primary_expression (identifier export)) . (identifier iefSupplied))) . (identifier command))) ))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local) = (constant_expression (member_access (predefined_type int) . (identifier MaxValue)))))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_reference_type (non_nullable_reference_type (identifier Guid)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local0) = (constant_expression (object_creation_expression new (type (identifier Guid)) ( (argument_list (invocation_expression (primary_expression (member_access (primary_expression (identifier r)) . (identifier ToString))) ( ))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier привет) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier мир) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword var)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier local3) = (local_variable_initializer (literal 0))) , (explicitly_typed_local_variable_declarator (identifier local4) = (local_variable_initializer (literal 1)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier local3)) (assignment_operator =) (expression (assignment (unary_expression (identifier local4)) (assignment_operator =) (expression (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local5) = (expression (null_coalescing_expression (conditional_or_expression (relational_expression (relational_expression (null_literal null)) as (type (identifier Action)))) ?? (null_coalescing_expression (null_literal null))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local6) = (expression (relational_expression (relational_expression (identifier local5)) is (type (identifier Action))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier u) = (expression (literal 1u))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier U) = (expression (literal 1U))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier hex) = (local_variable_initializer (literal 0xBADC0DE))) , (explicitly_typed_local_variable_declarator (identifier Hex) = (local_variable_initializer (literal 0XDEADBEEF))) , (explicitly_typed_local_variable_declarator (identifier l) = (local_variable_initializer (unary_expression - (unary_expression (literal 1L))))) , (explicitly_typed_local_variable_declarator (identifier L) = (local_variable_initializer (literal 1L))) , (explicitly_typed_local_variable_declarator (identifier l2) = (local_variable_initializer (literal 2l)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier ul) = (local_variable_initializer (literal 1ul))) , (explicitly_typed_local_variable_declarator (identifier Ul) = (local_variable_initializer (literal 1Ul))) , (explicitly_typed_local_variable_declarator (identifier uL) = (local_variable_initializer (literal 1uL))) , (explicitly_typed_local_variable_declarator (identifier UL) = (local_variable_initializer (literal 1UL))) , (explicitly_typed_local_variable_declarator (identifier lu) = (local_variable_initializer (literal 1lu))) , (explicitly_typed_local_variable_declarator (identifier Lu) = (local_variable_initializer (literal 1Lu))) , (explicitly_typed_local_variable_declarator (identifier lU) = (local_variable_initializer (literal 1lU))) , (explicitly_typed_local_variable_declarator (identifier LU) = (local_variable_initializer (literal 1LU)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt32Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 2147483648)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt64Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 9223372036854775808L)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (simple_type bool)) (explicitly_typed_local_variable_declarators (identifier @bool)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type byte)) (explicitly_typed_local_variable_declarators (identifier @byte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type char)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @char) = (local_variable_initializer (literal 'c'))) , (explicitly_typed_local_variable_declarator (identifier \u0066) = (local_variable_initializer (literal '\u0066'))) , (explicitly_typed_local_variable_declarator (identifier hexchar) = (local_variable_initializer (literal '\x0130'))) , (explicitly_typed_local_variable_declarator (identifier hexchar2) = (local_variable_initializer (cast_expression ( (type (integral_type char)) ) (unary_expression (literal 0xBAD)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier \U00000065) = (local_variable_initializer (literal "\U00000065")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (numeric_type decimal)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @decimal) = (local_variable_initializer (literal 1.44M)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @decimal)) (assignment_operator =) (expression (literal 1.2m)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (identifier @dynamic)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type double)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @double) = (local_variable_initializer (member_access (primary_expression (identifier M)) . (identifier PI))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1d)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1D)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (unary_expression - (unary_expression (literal 1.2e3)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type float)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @float) = (local_variable_initializer (literal 1.2f)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @float)) (assignment_operator =) (expression (literal 1.44F)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @int) = (local_variable_initializer (null_coalescing_expression (conditional_or_expression (identifier local)) ?? (null_coalescing_expression (unary_expression - (unary_expression (literal 1)))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (identifier @long)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type object)) (explicitly_typed_local_variable_declarators (identifier @object)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type sbyte)) (explicitly_typed_local_variable_declarators (identifier @sbyte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type short)) (explicitly_typed_local_variable_declarators (identifier @short)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @string) = (local_variable_initializer (literal @"""/*")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type uint)) (explicitly_typed_local_variable_declarators (identifier @uint)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (identifier @ulong)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ushort)) (explicitly_typed_local_variable_declarators (identifier @ushort)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (local_variable_initializer (identifier local5)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword add)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword alias)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier arglist) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword ascending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword async)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword await)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword by)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword descending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword equals)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword from)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword get)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword group)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword into)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword join)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword let)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword nameof)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword on)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword orderby)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword partial)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword remove)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword select)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword set)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword var)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword when)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword where)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword yield)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier __) = (expression (literal 0))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (contextual_keyword where)) (assignment_operator =) (expression (assignment (unary_expression (contextual_keyword yield)) (assignment_operator =) (expression (literal 0)))))) ;))) })))) }))) })))) +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (identifier A) . (identifier B))) ;)) (namespace_member_declaration (interface_declaration interface (identifier CoContra) (variant_type_parameter_list < (variant_type_parameter (variance_annotation out) (type_parameter (identifier T))) , (variant_type_parameter (variance_annotation in) (type_parameter (identifier K))) >) (interface_body { }))) (namespace_member_declaration (delegate_declaration delegate (return_type void) (delegate_header (identifier CoContra2) (variant_type_parameter_list < (variant_type_parameter (attributes (attribute_section [ (attribute_list (attribute (attribute_name (namespace_or_type_name (identifier System) . (identifier Obsolete))) (attribute_arguments ( )))) ])) (variance_annotation out) (type_parameter (identifier T))) , (variant_type_parameter (variance_annotation in) (type_parameter (identifier K))) >) ( ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint struct))) ;))) (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier DllImport)) (attribute_arguments ( (positional_argument_list (literal "kernel32")) , (named_argument_list (named_argument (identifier SetLastError) = (attribute_argument_expression (boolean_literal true)))) )))) ])) (method_modifiers (method_modifier (ref_method_modifier static)) (method_modifier (ref_method_modifier extern))) (return_type (simple_type bool)) (method_header (member_name (identifier CreateDirectory)) ( (parameter_list (fixed_parameters (fixed_parameter (type (class_type string)) (identifier name)) , (fixed_parameter (type (identifier SecurityAttribute)) (identifier sa)))) )) (method_body ;))) (class_member_declaration (constant_declaration (constant_modifier private) const (type (integral_type int)) (constant_declarators (constant_declarator (identifier (contextual_keyword global)) = (constant_expression (additive_expression (additive_expression (member_access (predefined_type int) . (identifier MinValue))) - (multiplicative_expression (literal 1)))))) ;)) (class_member_declaration (static_constructor_declaration (static_constructor_modifiers static) (identifier A) ( ) (static_constructor_body (block { })))) (class_member_declaration (constructor_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (labeled_statement (identifier L) : (statement (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (sizeof_expression sizeof ( (unmanaged_type (integral_type int)) ))))))) ;)) (statement (expression_statement (statement_expression (pre_increment_expression ++ (unary_expression (identifier i)))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s1) = (expression (interpolated_regular_string_expression 〔$"〕 〔x 〕 { (regular_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier s2) = (expression (interpolated_verbatim_string_expression 〔$@"〕 〔x 〕 { (verbatim_interpolation (expression (literal 1)) , (interpolation_minimum_width (unary_expression - (unary_expression (literal 2)))) 〔:d〕) } 〔"〕))))) ;))) })))) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Console)) . (identifier WriteLine))) ( (argument_list (member_access (primary_expression (member_access (primary_expression (identifier export)) . (identifier iefSupplied))) . (identifier command))) ))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local) = (constant_expression (member_access (predefined_type int) . (identifier MaxValue)))))) ;)) (statement (declaration_statement (local_constant_declaration const (type (nullable_reference_type (non_nullable_reference_type (identifier Guid)) (nullable_type_annotation ?))) (constant_declarators (constant_declarator (identifier local0) = (constant_expression (object_creation_expression new (type (identifier Guid)) ( (argument_list (invocation_expression (primary_expression (member_access (primary_expression (identifier r)) . (identifier ToString))) ( ))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier привет) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier мир) = (expression (identifier local))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword var)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier local3) = (local_variable_initializer (literal 0))) , (explicitly_typed_local_variable_declarator (identifier local4) = (local_variable_initializer (literal 1)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier local3)) (assignment_operator =) (expression (assignment (unary_expression (identifier local4)) (assignment_operator =) (expression (literal 1)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local5) = (expression (null_coalescing_expression (conditional_or_expression (relational_expression (relational_expression (null_literal null)) as (type (identifier Action)))) ?? (null_coalescing_expression (null_literal null))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier local6) = (expression (relational_expression (relational_expression (identifier local5)) is (type (identifier Action))))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier u) = (expression (literal 1u))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier U) = (expression (literal 1U))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier hex) = (local_variable_initializer (literal 0xBADC0DE))) , (explicitly_typed_local_variable_declarator (identifier Hex) = (local_variable_initializer (literal 0XDEADBEEF))) , (explicitly_typed_local_variable_declarator (identifier l) = (local_variable_initializer (unary_expression - (unary_expression (literal 1L))))) , (explicitly_typed_local_variable_declarator (identifier L) = (local_variable_initializer (literal 1L))) , (explicitly_typed_local_variable_declarator (identifier l2) = (local_variable_initializer (literal 2l)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier ul) = (local_variable_initializer (literal 1ul))) , (explicitly_typed_local_variable_declarator (identifier Ul) = (local_variable_initializer (literal 1Ul))) , (explicitly_typed_local_variable_declarator (identifier uL) = (local_variable_initializer (literal 1uL))) , (explicitly_typed_local_variable_declarator (identifier UL) = (local_variable_initializer (literal 1UL))) , (explicitly_typed_local_variable_declarator (identifier lu) = (local_variable_initializer (literal 1lu))) , (explicitly_typed_local_variable_declarator (identifier Lu) = (local_variable_initializer (literal 1Lu))) , (explicitly_typed_local_variable_declarator (identifier lU) = (local_variable_initializer (literal 1lU))) , (explicitly_typed_local_variable_declarator (identifier LU) = (local_variable_initializer (literal 1LU)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt32Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 2147483648)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier minInt64Value) = (local_variable_initializer (unary_expression - (unary_expression (literal 9223372036854775808L)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (simple_type bool)) (explicitly_typed_local_variable_declarators (identifier @bool)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type byte)) (explicitly_typed_local_variable_declarators (identifier @byte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type char)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @char) = (local_variable_initializer (literal 'c'))) , (explicitly_typed_local_variable_declarator (identifier \u0066) = (local_variable_initializer (literal '\u0066'))) , (explicitly_typed_local_variable_declarator (identifier hexchar) = (local_variable_initializer (literal '\x0130'))) , (explicitly_typed_local_variable_declarator (identifier hexchar2) = (local_variable_initializer (cast_expression ( (type (integral_type char)) ) (unary_expression (literal 0xBAD)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier \U00000065) = (local_variable_initializer (literal "\U00000065")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (numeric_type decimal)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @decimal) = (local_variable_initializer (literal 1.44M)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @decimal)) (assignment_operator =) (expression (literal 1.2m)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (identifier @dynamic)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type double)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @double) = (local_variable_initializer (member_access (primary_expression (identifier M)) . (identifier PI))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1d)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (literal 1D)))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @double)) (assignment_operator =) (expression (unary_expression - (unary_expression (literal 1.2e3)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (floating_point_type float)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @float) = (local_variable_initializer (literal 1.2f)))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier @float)) (assignment_operator =) (expression (literal 1.44F)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @int) = (local_variable_initializer (null_coalescing_expression (conditional_or_expression (identifier local)) ?? (null_coalescing_expression (unary_expression - (unary_expression (literal 1)))))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type long)) (explicitly_typed_local_variable_declarators (identifier @long)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type object)) (explicitly_typed_local_variable_declarators (identifier @object)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type sbyte)) (explicitly_typed_local_variable_declarators (identifier @sbyte)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type short)) (explicitly_typed_local_variable_declarators (identifier @short)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (class_type string)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier @string) = (local_variable_initializer (literal @"""/*")))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type uint)) (explicitly_typed_local_variable_declarators (identifier @uint)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ulong)) (explicitly_typed_local_variable_declarators (identifier @ulong)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type ushort)) (explicitly_typed_local_variable_declarators (identifier @ushort)))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword dynamic)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (local_variable_initializer (identifier local5)))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword add)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword alias)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier arglist) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword ascending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword async)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword await)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword by)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword descending)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword dynamic)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword equals)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword from)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword get)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword group)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword into)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword join)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword let)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword nameof)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword on)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword orderby)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword partial)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword remove)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword select)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword set)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword var)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword when)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword where)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier (contextual_keyword yield)) = (expression (literal 0))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier __) = (expression (literal 0))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (contextual_keyword where)) (assignment_operator =) (expression (assignment (unary_expression (contextual_keyword yield)) (assignment_operator =) (expression (literal 0)))))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.tree.svg index edaba311b..fd9e2e086 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-B/Reference/sample.tree.svg @@ -11,12 +11,11 @@ - - - - - - + + + + + @@ -60,12 +59,11 @@ - - - - - - + + + + + @@ -1522,6104 +1520,6096 @@ - - -) - - - -statement - - - -[ + + +var - - -; + + +identifier - - -; + + +local_variable_declaration - - -2l + + +привет - - -literal + + +constructor_initializer - - -statement + + +identifier - - -expression + + +) - - -implicitly_typed_local_variable_declaration + + +implicitly_typed_local_variable_declarator - - -declaration_statement + + += - - + + identifier - - -( - - - -= - - - -statement + + +; - - -@decimal + + +; - - -declaration_statement + + +0 - - -statement + + += - - -local_variable_declaration + + +positional_argument_list - - -expression + + +identifier - - -local_variable_declaration + + +return_type - - -unary_expression + + +1 - - -statement + + +primary_expression - - -identifier + + +; - - -= + + +explicitly_typed_local_variable_declarator - - -L + + +type - - -unmanaged_type + + +invocation_expression - - -literal + + +implicitly_typed_local_variable_declaration - - -identifier + + +; - - + + = - - -0xBADC0DE - - - -local_variable_declaration - - - -null - - - -local_variable_initializer + + +statement - - -- + + +ulong declaration_statement - - -statement_expression + + +int - - -identifier + + +on - - -= + + +identifier - - -contextual_keyword + + +, - - -type + + +} - - -identifier + + +"\U00000065" - - -0 + + += - - -attribute_section + + +declaration_statement - - + + literal - - -) + + +type - - -identifier + + +s1 - - -0 - - - -expression - - - -= + + +literal - - -class_member_declaration + + +local_variable_declaration - - + + statement - - -implicitly_typed_local_variable_declarator + + +assignment_operator - - -explicitly_typed_local_variable_declarator + + +identifier - - -integral_type + + +? - - + + literal - - -type + + +statement - - -? + + +type - - + + implicitly_typed_local_variable_declaration - - -unary_expression - - - -statement - - - -int - - - -1 + + +; - - -{ + + +0 - - -relational_expression + + +variance_annotation - - -'c' + + +var - - -conditional_or_expression + + +explicitly_typed_local_variable_declaration - - -; + + +var - - -expression + + +method_modifier - - -arglist + + +local6 - - + + = - - -contextual_keyword - - - -local_variable_declaration - - - -implicitly_typed_local_variable_declaration - - - -explicitly_typed_local_variable_declaration + + += - - -constructor_initializer + + +delegate_declaration - - -foo + + +predefined_type - - -statement + + +unary_expression - - -= + + +( - - -@char + + +int - - -explicitly_typed_local_variable_declaration + + +; - - -identifier + + +explicitly_typed_local_variable_declarators - - -i + + +, - - -( + + +local_variable_initializer - - -B + + +0 - - -var + + +; - - -, + + += - - -class_type + + +attribute_arguments - - -literal + + +1.2f - - -implicitly_typed_local_variable_declaration + + += - - -method_body + + +object - - + + type - - -implicitly_typed_local_variable_declaration + + +unary_expression - - + + expression - - -method_modifiers - - - -implicitly_typed_local_variable_declaration + + +contextual_keyword - - -= + + +local_variable_declaration - - -declaration_statement + + +, - - -identifier + + +statement_list - - -contextual_keyword + + +unary_expression - - -L + + +new - - -declaration_statement + + +0 - - -literal + + +interface_type - - -= + + +identifier - - + + local_variable_declaration - - -literal + + +identifier - - -Obsolete + + +K - - + + statement - - -method_modifier + + +identifier - - -; + + +var - - -block + + +type - - -explicitly_typed_local_variable_declaration + + +0 - - -local_variable_initializer + + +var - - -statement + + += - - -; + + +type - - -; + + +expression - - -: + + +explicitly_typed_local_variable_declarators - - -identifier + + +SecurityAttribute - - -statement + + +declaration_statement - - -static_constructor_modifiers + + +void - - -= + + +identifier - - + + +identifier + + + statement - - -expression_statement + + +, - - -local_variable_initializer + + +primary_expression - - -identifier + + +declaration_statement - - -unary_expression + + +declaration_statement - - -local_variable_declaration + + +. - - -local_variable_declaration + + +implicitly_typed_local_variable_declarator - - -identifier + + += - - -delegate + + +type_parameter - - -const + + +; - - -мир + + +dynamic - - -type + + +attributes - - -statement + + +local4 - - -declaration_statement + + +[ identifier - - -identifier + + +unary_expression - - -= + + +local_variable_initializer - - -minInt32Value + + +implicitly_typed_local_variable_declaration - - -T + + +} - - -var + + +argument_list - - -literal + + +invocation_expression - - + + literal - - + + +attribute_argument_expression + + + +CreateDirectory + + + identifier - - -2 + + +explicitly_typed_local_variable_declaration + + + +is + + + +implicitly_typed_local_variable_declaration + + + +method_body + + + +declaration_statement identifier - - -. - - - -] + + +namespace_member_declaration - - -attribute_arguments + + +local_variable_declaration - - -const + + +fixed_parameters - - -. + + +yield - - + + identifier - - -declaration_statement + + +long - - -identifier + + +namespace_or_type_name - - -; + + += - - -identifier + + += - - -contextual_keyword + + +const - - -statement + + +explicitly_typed_local_variable_declaration - - -} + + +1 - - -declaration_statement + + +integral_type - - -type + + +implicitly_typed_local_variable_declaration - - -dynamic + + +local_variable_declaration - - -declaration_statement + + +implicitly_typed_local_variable_declarator - - -explicitly_typed_local_variable_declarator + + +local_variable_declaration - - + + +local_variable_declaration + + + declaration_statement - - -literal + + +implicitly_typed_local_variable_declarator - - -argument_list + + +declaration_statement - - -string + + +nullable_reference_type - - -explicitly_typed_local_variable_declarators + + +local_variable_initializer - - -unary_expression + + +type - - + + +sa + + + ; - - -identifier + + +local_variable_initializer - - -literal + + +constant_declarator - - + + identifier - - -〔"〕 - - - -〔x·〕 + + += - - -unary_expression + + +local_variable_declaration - - -declaration_statement + + +dynamic - - + + ; - - -statement - - - -identifier + + +A - - -; - - - -identifier + + +await - - -var + + +assignment - - + + var - - -1 + + += - - -constructor_declarator + + +declaration_statement - - -1L + + +; - - -integral_type + + +( - - + + = - - -explicitly_typed_local_variable_declarator + + +public - - -identifier + + +) - - + + explicitly_typed_local_variable_declarator - - -expression + + +int - - -implicitly_typed_local_variable_declarator + + +1UL - - -assignment + + +qualified_identifier - - + + +declaration_statement + + + +] + + + +local_variable_declaration + + + +local_variable_declaration + + + +) + + + implicitly_typed_local_variable_declaration - - -unary_expression + + +@object - - -1 + + +implicitly_typed_local_variable_declaration - - -literal + + +var - - -ushort + + +uL - - -〔:d〕 + + +local_variable_declaration - - -contextual_keyword + + +char - - -simple_type + + +expression - - -〔:d〕 + + += - - -type + + +identifier - - + + identifier - - -\u0066 + + +implicitly_typed_local_variable_declarator - - -explicitly_typed_local_variable_declarators + + +〔$"〕 - - -contextual_keyword + + +char - - -identifier + + +u - - -type + + +lu + + + +implicitly_typed_local_variable_declaration + + + +assignment_operator class_base - - -type + + +; - - -) + + +declaration_statement - - -identifier + + +MinValue - - -identifier + + +simple_type - - -primary_constraint + + +local_variable_declaration - - -float + + +expression - - -assignment + + +add - - -explicitly_typed_local_variable_declaration + + +predefined_type - - -explicitly_typed_local_variable_declarators + + +sizeof - - -unary_expression - - - -literal - - - -statement - - - -; - - - + + = - - -declaration_statement - - - -identifier + + +L - - -identifier + + +select - - -declaration_statement + + +implicitly_typed_local_variable_declaration - - -declaration_statement + + +; - - -identifier + + +expression_statement - - -identifier + + +assignment - - -0 + + +literal - - -nullable_value_type + + +expression - - -explicitly_typed_local_variable_declarator + + +; - - -1u + + +descending - - -var + + +integral_type - - -literal + + +implicitly_typed_local_variable_declaration - - + + expression - - + + +declaration_statement + + + ; - - -attribute_list + + +statement - - -interpolated_verbatim_string_expression + + +local_variable_declaration - - -: + + +local_variable_declaration - - + + +local_variable_initializer + + + identifier - - -local_constant_declaration + + +var - - -= + + +equals - - -expression + + +0 - - -implicitly_typed_local_variable_declaration + + +identifier - - -expression_statement + + +implicitly_typed_local_variable_declarator - - -explicitly_typed_local_variable_declaration + + +statement - - -explicitly_typed_local_variable_declaration + + +@decimal - - -literal + + +integral_type - - -implicitly_typed_local_variable_declarator + + +@ushort - - -[ + + +identifier - - -constant_modifier + + +; - - -statement + + +Ul - - + + statement - - -= + + +unary_expression - - -contextual_keyword + + +fixed_parameter - - -, + + +expression - - -identifier + + +< - - + + += + + + int - - -true + + +local0 - - -statement + + +object_creation_expression identifier - - -return_type + + +1Ul - - -SecurityAttribute + + +implicitly_typed_local_variable_declarator - - -assignment + + +1L - - -identifier + + +class_member_declaration - - + + += + + + +literal + + + +unary_expression + + + +Guid + + + expression - - -declaration_statement + + +} - - -1 + + +local_variable_declaration - - -implicitly_typed_local_variable_declaration + + += - - -CreateDirectory + + +contextual_keyword - - -type + + +statement_expression - - -extern + + +i - - -declaration_statement + + +statement - - -local_variable_declaration + + +) - - -implicitly_typed_local_variable_declaration + + += - - -literal + + +return_type - - -; + + +global - - -attribute_name + + +identifier - - -sizeof_expression + + +SetLastError - - -expression + + +explicitly_typed_local_variable_declarators - - -; + + +expression_statement - - -local_variable_declaration + + +statement - - -implicitly_typed_local_variable_declarator + + +ref_method_modifier - - -identifier + + +iefSupplied - - -param + + +member_access local_variable_initializer - - -uL - - - -unary_expression + + +contextual_keyword - - -@double + + +variance_annotation - - -declaration_statement + + +expression - - -implicitly_typed_local_variable_declarator + + +2 - - -short + + +explicitly_typed_local_variable_declarator - - -explicitly_typed_local_variable_declaration + + +identifier - - -literal + + +[ - - -primary_expression + + +explicitly_typed_local_variable_declarators - - -statement + + +member_access - - -local_variable_declaration + + +expression - - -statement + + +hexchar - - -type + + +0 - - -var + + +unary_expression - - -explicitly_typed_local_variable_declaration + + +integral_type - - -declaration_statement + + +assignment - - -; + + += - - -〔"〕 - - - -= - - - -U + + +0 - - -local_variable_declaration + + +__ - - -local_variable_declaration + + +( - - -local_variable_declaration + + +1.2e3 - - -; + + +statement - - -declaration_statement + + +statement - - + + declaration_statement - - -multiplicative_expression - - - -1L + + +local_variable_initializer - - -local_variable_declaration + + +System - - -local_variable_declaration + + +statement - - -var + + +unary_expression - - -implicitly_typed_local_variable_declaration + + +{ - - -member_access + + += - - -type + + +0 - - -local_variable_declaration + + +1.44M - - -1lu + + +local_variable_initializer - - + + literal - - -@"""/*" - - - -{ + + +statement - - -local_variable_declaration + + +; - - -} + + +null_coalescing_expression - - + + unary_expression - - -local_variable_declaration + + +identifier - - -= + + +identifier - - + + literal - - -MaxValue + + +implicitly_typed_local_variable_declarator - - -= + + +expression - - -- + + +constant_modifier - - -local_variable_declaration + + +0 - - -var + + += - - -local_variable_declaration + + +var - - -invocation_expression + + +identifier - - -++ + + +literal - - -local_variable_initializer + + +integral_type - - -implicitly_typed_local_variable_declaration + + +uint - - -( + + +. - - -identifier + + += - - -, + + +1ul - - -declaration_statement + + +implicitly_typed_local_variable_declarator - - -primary_expression + + +assignment - - -statement + + +literal - - + + local_variable_declaration - - -= + + +type - - -remove + + +; - - -equals + + +expression - - -parameter_list + + +1uL - - -local + + +type - - -declaration_statement + + +statement - - -literal + + +interface - - -; + + +identifier - - -additive_expression + + +local_variable_initializer - - -explicitly_typed_local_variable_declarator + + +; - - -1.2e3 + + +literal - - -integral_type + + +local - - -; + + +ul - - -identifier + + +; - - -local_variable_initializer + + +statement_expression - - -block + + +identifier - - -statement_list + + +literal - - -null_literal + + +declaration_statement - - -constant_declarators + + +( - - -attribute_target_specifier + + +var - - -identifier + + +( - - -contextual_keyword + + +const - - -var + + += - - -implicitly_typed_local_variable_declaration + + +] - - -type + + +integral_type - - -. + + +local_variable_declaration - - + + local_variable_declaration - - -statement + + += - - -identifier + + +decimal - - -hexchar2 + + +implicitly_typed_local_variable_declarator - - -0 + + +var - - -implicitly_typed_local_variable_declaration + + +. - - + + expression - - -class_type - - - -in - - - -local_constant_declaration + + +DllImport - - -; + + +local_variable_declaration - - -2 + + +0 - - -literal + + +when - - -statement_list + + +: - - -unary_expression + + +declaration_statement - - -; + + +contextual_keyword - - -implicitly_typed_local_variable_declarator + + +explicitly_typed_local_variable_declarator - - -assignment_operator + + +identifier - - -var + + +identifier - - + + identifier - - -expression - - - -, + + +( - - -1.44F + + +statement - - + + ; - - -unary_expression + + += - - -explicitly_typed_local_variable_declaration + + +statement - - -explicitly_typed_local_variable_declaration + + += - - -interface_type_list + + +identifier - - -declaration_statement + + +@bool - - -; + + +identifier - - -statement + + +identifier - - -local_variable_declaration + + +simple_type - - -implicitly_typed_local_variable_declarator + + +contextual_keyword - - -attribute_list + + +; - - -@byte + + +assignment_operator - - -) + + +local_constant_declaration + + + +〔x·〕 + + + +explicitly_typed_local_variable_declaration cast_expression - - -local_variable_declaration + + +identifier - - -implicitly_typed_local_variable_declaration + + +identifier - - + + expression - - -unary_expression + + +implicitly_typed_local_variable_declarator - - -attribute_target + + +var - - + + +0 + + + identifier - - -( + + +command - - -ulong + + +member_access - - -namespace_member_declaration + + +expression - - -assignment + + +conditional_or_expression - - -; + + +- - - -identifier + + +expression - - -explicitly_typed_local_variable_declaration + + +@char - - -= + + +member_access - - -identifier + + +statement - - -) + + += - - -declaration_statement + + +null_coalescing_expression - - -0xBAD + + +explicitly_typed_local_variable_declarator - - -type_parameter + + +statement - - -System + + +1 - - -literal + + += - - -statement + + +) - - + + identifier - - -assignment + + +} - - -= + + +foo - - -object + + +; - - -class_member_declaration + + +identifier - - -declaration_statement - - - -local_variable_initializer + + +?? - - -literal + + +@uint - - + + { - - -struct - - - -type - - - -"\U00000065" + + +implicitly_typed_local_variable_declaration - - -= + + +where - - -( + + +- - - -additive_expression + + +local_variable_initializer - - -implicitly_typed_local_variable_declarator + + +literal - - -1 + + +name - - -0 + + += - - + + type - - -local_variable_initializer + + +constructor_body - - -integral_type + + +local_variable_declaration - - -attribute_argument_expression + + +declaration_statement - - -null_coalescing_expression + + +explicitly_typed_local_variable_declaration - - -= + + +explicitly_typed_local_variable_declarators - - -local_variable_declaration + + +literal - - -implicitly_typed_local_variable_declarator + + +integral_type - - -as + + +expression_statement - - -implicitly_typed_local_variable_declaration + + +statement_expression - - -expression + + +identifier - - -statement + + +parameter_list - - -identifier + + +explicitly_typed_local_variable_declaration - - -( + + +@double - - -identifier + + +attribute_target_specifier - - -{ + + +( - - + + expression - - -= - - - -; + + +type - - -( + + +declaration_statement - - -. + + +primary_expression expression - - -member_access - - - -int - - - -implicitly_typed_local_variable_declaration + + +literal - - -var + + +explicitly_typed_local_variable_declarator - - + + identifier - - -sbyte + + +declaration_statement - - -= + + +0 - - -; + + +method_modifiers - - -implicitly_typed_local_variable_declarator + + +declaration_statement - - -assignment + + +explicitly_typed_local_variable_declarators - - -primary_expression + + +explicitly_typed_local_variable_declaration - - -interface_type + + +Lu - - -local_variable_initializer - - - -{ - - - -nullable_type_annotation + + +'\x0130' - - + + , - - -sizeof - - - -explicitly_typed_local_variable_declarator + + +UL - - + + ; - - + + +explicitly_typed_local_variable_declaration + + + identifier - - -= + + +var - - -expression + + +explicitly_typed_local_variable_declarators - - -0 + + += - - -member_access + + +literal - - -constant_expression + + +local_variable_declaration - - -set + + +implicitly_typed_local_variable_declaration - - -integral_type + + +var - - -expression + + +identifier - - -0 + + +identifier - - + + ; - - -local_variable_declaration - - - -type_parameter_constraints_clause + + +explicitly_typed_local_variable_declarators - - -?? + + +identifier - - -type + + += - - -let + + +expression - - -declaration_statement + + +expression - - -literal + + +statement - - -bool + + +var - - -static_constructor_declaration + + +statement - - -unary_expression + + +type - - -iefSupplied + + +) - - -, + + +Hex - - -interface_declaration + + +Action - - -literal + + +type_parameter - - + + local_variable_declaration - - -literal - - - -expression_statement - - - -out + + +ulong - - -local_variable_initializer + + +implicitly_typed_local_variable_declarator - - -integral_type + + +string - - -explicitly_typed_local_variable_declaration + + +; - - + + identifier - - -"kernel32" + + +PI - - -Ul + + +explicitly_typed_local_variable_declaration - - -- + + +member_access - - -statement + + +method_declaration - - -0 + + +assignment - - -assignment_operator + + +local_variable_initializer - - -literal + + +integral_type - - -identifier + + +local_variable_declaration - - -] + + +; - - -literal + + +explicitly_typed_local_variable_declarators - - + + +; + + + +integral_type + + + type - - -local_variable_declaration + + +literal - - -statement + + +var - - -identifier + + +) - - -SetLastError + + +; - - -Action + + +implicitly_typed_local_variable_declarator - - -= + + +variant_type_parameter_list - - + + +literal + + + +nullable_value_type + + + identifier - - -var + + +delegate_header - - -ulong + + +1u - - -0 + + +( - - -; + + +null_literal - - -implicitly_typed_local_variable_declaration + + +local_variable_initializer - - + + +literal + + + declaration_statement - - -constructor_declaration + + +local_variable_declaration - - -My + + +expression - - -Lu + + +implicitly_typed_local_variable_declarator - - -explicitly_typed_local_variable_declaration + + +dynamic - - + + , - - -explicitly_typed_local_variable_declarators - - - + + statement - - -explicitly_typed_local_variable_declarator - - - -statement + + +, - - -contextual_keyword + + +delegate - - -UL + + +constant_declarators - - -explicitly_typed_local_variable_declaration + + +local_constant_declaration - - -@ulong + + +literal - - -implicitly_typed_local_variable_declarator + + +integral_type - - -statement + + +identifier - - -statement + + +contextual_keyword - - -= + + +identifier - - -'\x0130' + + +identifier - - -= + + +identifier - - + + ; - - -expression - - - -explicitly_typed_local_variable_declarators - - - -statement_expression + + +implicitly_typed_local_variable_declarator - - + + integral_type - - -explicitly_typed_local_variable_declaration + + +literal - - -implicitly_typed_local_variable_declarator - - - -; - - - -namespace_member_declaration + + +CoContra - - -= + + +explicitly_typed_local_variable_declarators - - -var + + +; - - -attribute_target + + +statement - - -; + + +contextual_keyword - - -compilation_unit + + +attributes - - -var + + +as - - -?? + + +statement - - -assignment_operator + + +identifier - - -declaration_statement + + +implicitly_typed_local_variable_declaration - - + + literal - - -statement + + +Guid - - -0 + + +var - - -contextual_keyword + + +local_variable_initializer - - + + identifier - - -command + + +sbyte - - -statement + + +join - - -void + + +local_variable_declaration - - -0 + + +explicitly_typed_local_variable_declarator - - -implicitly_typed_local_variable_declarator + + +1U - - -literal + + +explicitly_typed_local_variable_declaration - - + + +local_variable_declaration + + + var - - -explicitly_typed_local_variable_declarators + + +r - - -type_parameter + + +〔x·〕 - - -statement + + +set - - -statement + + +attribute_section - - -implicitly_typed_local_variable_declarator + + +1 - - -unary_expression + + +implicitly_typed_local_variable_declaration - - -implicitly_typed_local_variable_declarator + + +, - - -type + + +namespace_name - - -interpolated_regular_string_expression + + +class_type - - -local_variable_declaration + + += - - -explicitly_typed_local_variable_declaration + + +statement - - -identifier + + += - - -@decimal + + +literal - - -type + + +declaration_statement - - -T + + +var - - -= + + +constant_declarator - - -explicitly_typed_local_variable_declarator + + +( - - -explicitly_typed_local_variable_declarators + + +Obsolete - - -; + + +explicitly_typed_local_variable_declaration - - -local_variable_declaration + + +string - - -member_access + + +explicitly_typed_local_variable_declarator - - -PI + + +literal - - -in + + +identifier - - + + +statement + + + +declaration_statement + + + ; - - + + +. + + + identifier - - -global + + +expression - - -namespace_name + + += - - -literal + + +identifier - - -, + + +type - - -statement + + +0 - - -) + + +{ - - + + local_variable_declaration - - -literal - - - -member_access - - - -namespace_declaration + + +local5 - - -0 + + +implicitly_typed_local_variable_declaration - - -fixed_parameter + + +let - - -declaration_statement + + +] - - -, + + +implicitly_typed_local_variable_declaration - - -literal + + +local_variable_declaration - - -declaration_statement + + +var - - -= + + +interface_type - - -[ + + +expression - - -M + + +; - - -local_variable_declaration + + +"kernel32" - - -0 + + +attribute_target - - -type + + +implicitly_typed_local_variable_declaration - - -= + + +K - - -ref_method_modifier + + +identifier - - -@ushort + + +class_body - - -partial + + +sizeof_expression - - -join + + +literal - - -implicitly_typed_local_variable_declaration + + +T - - -explicitly_typed_local_variable_declarators + + +implicitly_typed_local_variable_declarator - - -( + + +identifier - - -attributes + + +identifier - - -implicitly_typed_local_variable_declaration + + +var - - -declaration_statement + + +method - - -local_variable_initializer + + +interface_declaration , - - -fixed_parameters - - - -implicitly_typed_local_variable_declaration - - - + + implicitly_typed_local_variable_declarator - - -declaration_statement - - - -implicitly_typed_local_variable_declarator + + +- - - -MinValue - - - -@dynamic + + +null - - -statement_expression + + +named_argument - - -( + + +local - - -expression_statement + + +var - - + + = - - -declaration_statement - - - -expression + + +identifier - - -implicitly_typed_local_variable_declaration + + +class_type - - -primary_expression + + +1d - - + + literal - - -; + + +> - - -@object + + +relational_expression - - -numeric_type + + +integral_type - - -implicitly_typed_local_variable_declaration + + +local_variable_declaration - - -) + + +into - - -argument_list + + +literal - - -WriteLine + + +nullable_type_annotation - - -verbatim_interpolation + + +local_variable_declaration - - -assignment + + +member_name - - -@sbyte + + +0 - - -DllImport + + +type_parameter - - -expression + + +implicitly_typed_local_variable_declarator - - -var + + +type_parameter_constraints - - + + identifier - - -explicitly_typed_local_variable_declarator - - - -integral_type - - - -group - - - -identifier + + +declaration_statement - - -nameof + + +local_variable_declaration - - -identifier + + +statement - - -namespace_body + + +explicitly_typed_local_variable_declarator - - -= + + +. - - -identifier + + +literal - - -expression_statement + + +type - - -= + + +implicitly_typed_local_variable_declaration - - + + statement - - -public + + +class_member_declaration - - -= + + +assignment_operator - - + + ; - - -unsafe + + +nameof - - -1.44M + + += - - -A + + +out - - -; + + +type_parameter - - -identifier + + +? - - -= + + +) - - -local_variable_declaration - - - -identifier - - - -double + + +explicitly_typed_local_variable_declarators - - -= + + +implicitly_typed_local_variable_declarator - - -type + + +class_type - - -identifier + + +statement - - -parameter_list + + +declaration_statement - - -by + + +; - - -declaration_statement + + +local_variable_initializer - - -identifier + + +explicitly_typed_local_variable_declaration - - -literal + + +hex - - -local_variable_declaration + + +attribute_list - - + + ; - - -explicitly_typed_local_variable_declarators + + +literal - - -into + + += - - -implicitly_typed_local_variable_declarator + + +statement - - -expression + + +CoContra2 - - + + identifier - - -statement + + +{ - - -null_coalescing_expression + + +T - - -1ul + + +class_member_declaration - - -literal + + +@double - - -literal + + +M - - -local_variable_declaration + + +local4 - - -; + + +relational_expression - - -local_variable_declaration + + +unsafe - - -{ + + +explicitly_typed_local_variable_declarator - - + + +implicitly_typed_local_variable_declarator + + + declaration_statement - - -dynamic + + +non_nullable_value_type - - -statement + + +explicitly_typed_local_variable_declarators - - -namespace + + +assignment - - -statement + + +statement_expression - - -= + + +type - - -, + + +constant_expression - - -var + + +interpolation_minimum_width - - -LU + + +statement - - -explicitly_typed_local_variable_declarator + + +contextual_keyword - - -expression + + +integral_type - - -identifier + + +implicitly_typed_local_variable_declaration - - -implicitly_typed_local_variable_declarator + + +] - - -qualified_identifier + + +literal - - -static_constructor_body + + +; - - -< + + +) - - -descending + + +contextual_keyword - - -implicitly_typed_local_variable_declarator + + +in - - -on + + +literal - - -expression + + +. - - -variant_type_parameter + + +statement_expression - - + + +int + + + +unary_expression + + + +struct + + + +static_constructor_body + + + +type + + + declaration_statement - - -statement + + +unary_expression - - + + identifier - - -implicitly_typed_local_variable_declarator + + +identifier - - -local_variable_initializer + + +local5 - - -explicitly_typed_local_variable_declarator + + +statement - - -; + + +static - - -) + + +local3 - - -CoContra2 + + +identifier - - + + +float + + + contextual_keyword - - -literal + + +declaration_statement - - -char + + +0 - - + + literal - - -var - - - -local_variable_initializer + + +identifier - - -0 + + +I - - -0 + + +constructor_modifier - - -Console + + +declaration_statement - - -= + + +identifier - - -namespace_or_type_name + + +identifier - - -〔x·〕 + + +- - - -A + + +contextual_keyword - - -variant_type_parameter + + +implicitly_typed_local_variable_declaration - - -= + + +1D - - -statement_expression + + +; - - -explicitly_typed_local_variable_declarator + + +implicitly_typed_local_variable_declarator - - -= + + +assignment - - -identifier + + +relational_expression - - -local_variable_declaration + + +\U00000065 - - -var + + +, - - + + local_variable_initializer - - -explicitly_typed_local_variable_declarator - - - -local_variable_declaration + + +; - - -} + + +expression - - + + ; - - -literal + + +declaration_statement - - -? + + +Obsolete - - -explicitly_typed_local_variable_declarator + + +literal - - -expression + + +explicitly_typed_local_variable_declarators - - -declaration_statement + + +: - - -type_parameter + + +explicitly_typed_local_variable_declarator - - -local_variable_initializer + + +type - - -) + + +explicitly_typed_local_variable_declaration - - -type + + +statement - - -local_variable_initializer + + +argument_list - - -local5 + + +literal - - -identifier + + +parameter_list - - + + +additive_expression + + + += + + + identifier - - -invocation_expression + + += - - -local5 + + +statement_expression - - -, + + +expression_statement - - -declaration_statement + + +@sbyte - - -) + + +WriteLine - - -identifier + + +variant_type_parameter - - -Guid + + +const - - -declaration_statement + + +orderby - - -local_variable_declaration + + +expression - - -identifier + + +expression - - -class_member_declaration + + +implicitly_typed_local_variable_declarator - - -identifier + + +local_variable_initializer - - -expression_statement + + +literal - - -identifier + + +implicitly_typed_local_variable_declarator - - -local_variable_declaration + + +implicitly_typed_local_variable_declarator - - -explicitly_typed_local_variable_declarator + + +attribute_target - - + + local_variable_declaration - - -long + + +unary_expression - - -0 + + +expression - - -= + + +declaration_statement - - -contextual_keyword + + +var - - + + unary_expression - - -identifier + + +implicitly_typed_local_variable_declarator - - -orderby + + +0 - - -local_variable_declaration + + +identifier - - -0 + + +declaration_statement - - -; + + +nullable_type_annotation - - -, + + +type - - -: + + +declaration_statement - - -; + + +attribute_section - - -implicitly_typed_local_variable_declarator + + +statement - - + + var - - -} - - - -implicitly_typed_local_variable_declaration + + +variance_annotation - - -1uL + + +primary_expression - - + + +declaration_statement + + + literal - - -assignment_operator + + +named_argument_list - - -expression + + +declaration_statement - - -contextual_keyword + + +statement - - -0 + + +explicitly_typed_local_variable_declarators - - -contextual_keyword + + +, - - -local_variable_declaration + + +; - - -statement + + +literal - - -expression + + +explicitly_typed_local_variable_declaration - - -= + + +statement - - -Obsolete + + +explicitly_typed_local_variable_declarators - - -literal + + +; - - -named_argument + + +〔:d〕 - - -labeled_statement + + +local_variable_declaration - - -identifier + + +literal - - -var + + +contextual_keyword - - -int + + +declaration_statement - - -is + + +using - - + + +additive_expression + + + identifier - - -explicitly_typed_local_variable_declarators + + +type - - + + statement - - -. + + +l2 - - -; + + +} - - -; + + += - - -assignment_operator + + +declaration_statement - - -> + + +implicitly_typed_local_variable_declaration - - -expression + + +; - - + + = - - -contextual_keyword - - - -= + + +byte - - -1UL + + +local5 - - -expression + + +local_variable_initializer - - -string + + +implicitly_typed_local_variable_declaration - - -, + + +declaration_statement - - -expression_statement + + +declaration_statement - - -explicitly_typed_local_variable_declaration + + +мир - - -expression_statement + + +type - - -var + + +identifier - - -export + + +integral_type - - -statement + + +local_variable_declaration - - -expression + + += - - -implicitly_typed_local_variable_declarator - - - -local_variable_initializer + + +ToString - - -explicitly_typed_local_variable_declaration + + +; - - -implicitly_typed_local_variable_declaration + + +, - - -0 + + +local_variable_declaration - - -9223372036854775808L + + +local_variable_declaration - - -dynamic + + +assignment_operator - - -identifier + + +contextual_keyword - - -; + + +, - - + + type - - -implicitly_typed_local_variable_declaration - statement - - -variant_type_parameter + + +attribute_section - - -2147483648 + + +identifier - - -local_variable_initializer + + +statement - - -declaration_statement + + +; - - + + +explicitly_typed_local_variable_declarator + + + +〔"〕 + + + +statement + + + local_variable_declaration + + +1 + + + +contextual_keyword + local_variable_declaration - - -class_modifier + + +statement - - -0 + + +public - - + + +by + + + += + + + statement - - -interface_body + + +type_parameter - - -member_name + + +contextual_keyword - - -statement + + +class - - -statement_expression + + +null - - -expression + + +primary_expression - - -delegate_declaration + + +explicitly_typed_local_variable_declarators - - -implicitly_typed_local_variable_declarator + + +explicitly_typed_local_variable_declarators - - -type + + +constructor_declarator - - + + +0 + + + +local_variable_initializer + + + +explicitly_typed_local_variable_declarators + + + +statement_expression + + + +constructor_declaration + + + identifier - - -= + + +statement - - -char + + +statement - - -static + + +primary_expression - - -= + + +; + + + +explicitly_typed_local_variable_declaration literal - - -s1 + + +int - - -ul + + +statement - - -0 + + +unary_expression - - -= + + +0 - - -\U00000065 + + +contextual_keyword - - -using + + +expression - - -local + + +; - - -explicitly_typed_local_variable_declarators + + +type - - -declaration_statement + + +identifier - - -literal + + +verbatim_interpolation - - -contextual_keyword + + +unary_expression - - -object_creation_expression + + +local_variable_initializer - - + + +declaration_statement + + + identifier - - -when + + +s2 - - -attribute_list + + +local_variable_declaration - - -= + + +statement - - -identifier + + +explicitly_typed_local_variable_declaration - - -; + + +identifier - - -explicitly_typed_local_variable_declarators + + +} - - -; + + +explicitly_typed_local_variable_declarator - - -; + + +explicitly_typed_local_variable_declarator - - -local_variable_initializer + + +double - - -0 + + += - - + + expression - - -1D - - - -contextual_keyword - - - -contextual_keyword + + +implicitly_typed_local_variable_declaration - - -contextual_keyword + + +identifier - - -argument_list + + +declaration_statement - - -assignment_operator + + +statement - - -class_body + + +declaration_statement - - -explicitly_typed_local_variable_declarators + + +type_parameter_constraints_clause - - -ToString + + +variance_annotation - - -@bool + + += - - -local_variable_initializer + + += - - -1lU + + +local_variable_declaration - - -variance_annotation + + +identifier - - + + declaration_statement - - -local_variable_initializer + + +literal - - -implicitly_typed_local_variable_declarator + + +identifier - - -declaration_statement + + +param - - -integral_type + + +literal - - -constant_declarator + + +- - - -l + + +attribute_list - - -interpolation_minimum_width + + +declaration_statement - - -expression + + +; - - -local_variable_initializer + + +@"""/*" - - -statement + + +; - - -declaration_statement + + +identifier - - -implicitly_typed_local_variable_declaration + + +member_access - - -, + + +local_variable_initializer - - -identifier + + +expression - - -= + + +static_constructor_declaration - - -@float + + +local_variable_declaration - - -Guid + + +statement - - -= + + +identifier - - -expression + + +< - - -local3 + + +contextual_keyword - - -= + + +statement - - -literal + + +var - - -привет + + +type - - -dynamic + + +0 - - + + literal - - -identifier - - - -predefined_type + + +statement - - -string + + +literal - - -local_variable_declaration + + +using_namespace_directive - - -fixed_parameter + + +@dynamic - - -= + + +unary_expression - - -declaration_statement + + +0 - - -class_type + + +L - - -statement + + +2 - - -explicitly_typed_local_variable_declarators + + +0 - - -identifier + + +literal - - -identifier + + +; - - -literal + + +implicitly_typed_local_variable_declarator - - -class_type + + +ref_method_modifier - - -where + + +identifier - - -integral_type + + +local_variable_declaration - - -statement + + +async - - -@float + + +explicitly_typed_local_variable_declarator - - -expression + + +type - - + + local3 - - -@double - - - -implicitly_typed_local_variable_declarator + + += - - -hexchar + + +explicitly_typed_local_variable_declaration - - -- + + +, - - -member_access + + += - - -implicitly_typed_local_variable_declarator + + +yield - - -constant_expression + + +null_literal - - -implicitly_typed_local_variable_declarator + + +; - - -statement + + +local_variable_initializer - - + + ; - - -constant_declarator + + +contextual_keyword - - + + += + + + +local_variable_initializer + + + identifier - - -expression_statement + + +0 - - + + +implicitly_typed_local_variable_declarator + + + +explicitly_typed_local_variable_declarator + + + +contextual_keyword + + + local_variable_declaration - - -attribute_name + + +statement - - -attribute_section + + +expression - - -non_nullable_reference_type + + +local_variable_declaration - - -declaration_statement + + +partial - - -declaration_statement + + +local_variable_initializer - - -implicitly_typed_local_variable_declaration + + +variant_type_parameter - - + + +@decimal + + + +identifier + + + var - - + + +constant_expression + + + statement - - -constructor_modifier + + +LU - - -var + + +hexchar2 - - -unary_expression + + += - - -contextual_keyword + + +long - - -expression + + +: - - -namespace_or_type_name + + +identifier - - + + identifier - - -explicitly_typed_local_variable_declaration + + +B - - -implicitly_typed_local_variable_declaration + + +identifier - - -= + + +) - - + + local_variable_declaration - - -variance_annotation + + +A - - -local + + +attribute_section - - -; + + +literal - - -= + + +expression + + + +0 + + + +local_variable_declaration + + + +member_access - - -} + + +[ - - -attribute_section + + +; - - -primary_expression + + +dynamic - - -null_coalescing_expression + + +contextual_keyword - - -var + + +literal - - -: + + +explicitly_typed_local_variable_declarators - - -identifier + + +expression implicitly_typed_local_variable_declaration - - -floating_point_type - - - -, - - - -type_parameter + + +{ - - -identifier + + +local_variable_declaration - - -literal + + +local_variable_declaration - - -literal + + +explicitly_typed_local_variable_declarator - - -explicitly_typed_local_variable_declarators + + +identifier - - -= + + +where - - -variant_type_parameter + + +[ - - + + identifier - - -declaration_statement + + +expression_statement - - -null + + +string - - -identifier + + += - - -local_variable_declaration + + +statement - - -delegate_header + + +unmanaged_type - - -local_variable_declaration + + += - - -local_variable_initializer + + +literal - - -statement + + +var - - -K + + +literal - - -1Lu + + +contextual_keyword - - -explicitly_typed_local_variable_declarator + + +identifier - - -var + + +contextual_keyword - - -explicitly_typed_local_variable_declaration + + +attribute_arguments - - -await + + +, - - -var + + +( - - -〔$"〕 + + +local_variable_declaration - - -explicitly_typed_local_variable_declarators + + +declaration_statement - - -var + + +implicitly_typed_local_variable_declarator - - -identifier + + +\u0066 - - -'\u0066' + + +identifier - - -contextual_keyword + + +attributes - - -= + + +type - - -literal + + +interface_body - - -hex + + +identifier - - -implicitly_typed_local_variable_declarator + + +; - - -explicitly_typed_local_variable_declarator + + +literal - - -prog + + +statement_list - - -lU + + +C - - + + literal - - -identifier + + += - - -integral_type + + +var - - -; + + +local_variable_initializer - - -base + + +) - - -expression + + +@short - - -unary_expression + + +declaration_statement - - -explicitly_typed_local_variable_declarator + + +literal - - -declaration_statement + + +explicitly_typed_local_variable_declarator - - -contextual_keyword + + +method_header - - -local4 + + +; - - -assignment_operator + + +var - - -public + + +implicitly_typed_local_variable_declaration - - -integral_type + + +declaration_statement - - -out + + +contextual_keyword - - -: + + +type - - -constructor_body + + +, - - -int + + +statement - - + + declaration_statement - - -1LU + + +namespace_declaration - - -type + + +statement - - -assignment + + +constant_declarators - - -get + + +MaxValue - - -local_variable_declaration + + +identifier - - -int + + +1Lu - - -identifier + + +1 - - -unary_expression + + +implicitly_typed_local_variable_declaration - - -statement_expression + + +identifier - - -explicitly_typed_local_variable_declarator + + +T - - + + ; - - -= + + +declaration_statement - - -implicitly_typed_local_variable_declaration + + +minInt32Value - - -A + + +. - - -where + + +block - - -{ + + +i - - -explicitly_typed_local_variable_declarator + + +argument_list - - -I + + +implicitly_typed_local_variable_declarator - - -contextual_keyword + + += - - -assignment_operator + + +declaration_statement - - -identifier + + +contextual_keyword - - -identifier + + +local_variable_declaration - - -local_variable_initializer + + +type + + + +pre_increment_expression - - -expression + + +fixed_parameter - - -identifier + + +class_declaration - - -literal + + +, - - -attributes + + +integral_type - - -namespace_or_type_name + + +identifier - - + + +alias + + + identifier - - -@int + + +unary_expression - - -} + + +expression - - -null_coalescing_expression + + +from - - + + +unary_expression + + + ; - - -statement + + +implicitly_typed_local_variable_declaration - - + + var - - -type + + +explicitly_typed_local_variable_declaration - - -statement + + +attribute_name - - -interface + + +implicitly_typed_local_variable_declaration - - -relational_expression + + +〔"〕 - - -] + + +identifier - - -Action + + +U - - -s2 + + +literal - - -identifier + + +explicitly_typed_local_variable_declarator - - -= + + +@long - - + + +statement + + + +explicitly_typed_local_variable_declarator + + + identifier - - + + ; - - -assignment_operator - - - -implicitly_typed_local_variable_declarator + + +0 - - -partial + + +; - - -contextual_keyword + + +namespace_body - - -local_variable_declaration + + +implicitly_typed_local_variable_declaration - - -explicitly_typed_local_variable_declaration + + +1lU - - -var + + +integral_type - - -implicitly_typed_local_variable_declaration + + +statement - - -= + + +; - - -using_namespace_directive + + +declaration_statement - - -@string + + += - - -assignment + + +bool - - -0 + + +variant_type_parameter - - -variance_annotation + + +identifier - - -1.2m + + +expression - - -class_member_declaration + + +implicitly_typed_local_variable_declaration - - -declaration_statement + + +export - - -variant_type_parameter_list + + +attribute_list - - -; + + +var - - -unary_expression + + +literal - - -identifier + + +> - - -local_variable_initializer + + +1.2m - - -identifier + + +explicitly_typed_local_variable_declarators - - -type + + +compilation_unit - - -expression + + +identifier statement - - -identifier - - - -constant_declarators - - - -- - - - -- - - - -literal + + +variant_type_parameter - - -} + + +0 - - -literal + + +assignment_operator - - + + identifier - - + + identifier - - -type_parameter_constraints + + +Obsolete - - -interpolation_minimum_width + + +} - - -named_argument_list + + +assignment_operator - - -add + + +private - - -local_variable_initializer + + +identifier - - -statement_expression + + +( - - -contextual_keyword + + +implicitly_typed_local_variable_declaration - - -contextual_keyword + + +var - - -1Ul + + +remove - - -using_directive + + +extern - - -variance_annotation + + +implicitly_typed_local_variable_declarator - - -fixed_parameter + + +statement_expression - - -literal + + +minInt64Value - - -0XDEADBEEF + + +@float - - + + local_variable_declaration - - -statement - - - -; - - - -- + + +namespace_or_type_name - - -statement + + +identifier - - -literal + + +expression - - -statement + + +implicitly_typed_local_variable_declaration - - -var + + +expression_statement - - -attribute + + +: - - -explicitly_typed_local_variable_declarator + + +in - - -type + + +unsafe_modifier - - -namespace_member_declaration + + +statement - - -contextual_keyword + + +get - - -@double + + +static - - -r + + +statement - - -identifier + + +. - - -relational_expression + + +expression - - -0 + + +contextual_keyword - - -namespace_or_type_name + + +contextual_keyword - - -nullable_type_annotation + + +namespace - - -local0 + + +namespace_member_declaration - - -int + + +l - - -statement + + +local_variable_declaration - - -@double + + +unary_expression - - -[ + + +assignment_operator - - -implicitly_typed_local_variable_declaration + + +explicitly_typed_local_variable_declarator - - -} + + += - - -( + + +identifier - - -statement + + +integral_type - - -explicitly_typed_local_variable_declarators + + +int - - -local5 + + +boolean_literal - - -static + + +, - - -identifier + + +〔$@"〕 - - -; + + +type - - -explicitly_typed_local_variable_declarator + + +contextual_keyword - - -local_variable_initializer + + +Action - - -alias + + +type - - -uint + + +class_modifier - - -implicitly_typed_local_variable_declarator + + +contextual_keyword - - -expression + + +int - - -explicitly_typed_local_variable_declarator + + += - - + + identifier - - + + explicitly_typed_local_variable_declarators - - -integral_type + + +literal - - -statement_expression + + +int - - -identifier + + +statement - - -; + + +literal - - + + +assignment + + + +explicitly_typed_local_variable_declarator + + + statement - - -primary_expression + + +; - - -0 + + +identifier - - -type + + +local_variable_initializer - - -declaration_statement + + +literal - - -declaration_statement + + +statement - - -type + + +; - - -integral_type + + +identifier - - -new + + +@float - - -, + + +identifier - - -statement + + +labeled_statement + + + +contextual_keyword + + + +explicitly_typed_local_variable_declarator - - -= + + +local_variable_initializer - - -expression + + +0 - - -implicitly_typed_local_variable_declaration + + +implicitly_typed_local_variable_declarator - - -1 + + +declaration_statement - - -〔$@"〕 + + +identifier - - -bool + + +attribute_name - - -, + + +1L - - -private + + +local_variable_declaration - - -; + + +lU - - -statement + + +group - - -statement_expression + + +literal - - -long + + += - - -contextual_keyword + + +expression_statement - - -< + + +type - - -pre_increment_expression + + +non_nullable_reference_type - - -statement + + +fixed_parameter - - -contextual_keyword + + +identifier - - -expression + + +literal - - -; + + +floating_point_type - - -simple_type + + +literal - - -sa + + +; - - -integral_type + + +assignment - - + + identifier - - -interface_type + + +using_directive - - -identifier + + +type - - -identifier + + +} - - -local6 + + +numeric_type - - -literal + + +interpolated_regular_string_expression - - -= + + +0xBADC0DE - - -explicitly_typed_local_variable_declaration + + += - - -non_nullable_value_type + + +identifier - - -int + + +interface_type_list - - -. + + +method_modifier - - -0 + + +local_variable_declaration - - -declaration_statement + + +; - - -explicitly_typed_local_variable_declarator + + +local - - -__ + + +expression - - -identifier + + += - - -const + + +expression - - -unary_expression + + +statement - - -; + + +identifier - - -; + + +constant_declarators - - -> + + +, - - -null_literal + + +short - - -declaration_statement + + +integral_type - - + + +expression + + + literal - - -implicitly_typed_local_variable_declarator + + +0XDEADBEEF - - -predefined_type + + +local_variable_declaration - - -explicitly_typed_local_variable_declarator + + +var - - -( + + +constant_declarator - - -method_modifier + + +identifier - - -attribute_section + + +unary_expression - - -implicitly_typed_local_variable_declarator + + +block - - -async + + +; - - -expression + + +attributes - - -unary_expression + + +explicitly_typed_local_variable_declarator - - -local_variable_initializer + + +2l - - -literal + + +identifier - - -statement + + +prog - - -contextual_keyword + + +@double - - -identifier + + +declaration_statement - - + + declaration_statement - - -explicitly_typed_local_variable_declaration + + +, - - -explicitly_typed_local_variable_declarator + + +interpolation_minimum_width - - -explicitly_typed_local_variable_declarators + + +var - - -type + + +class_type - - -contextual_keyword + + +declaration_statement - - -{ + + +declaration_statement - - -; + + += - - -yield + + +: - - + + +identifier + + + declaration_statement - - -identifier + + +multiplicative_expression - - -type + + +partial - - -integral_type + + +attribute - - -method + + +Console - - -identifier + + +local_variable_initializer - - -0 + + +expression - - + + = - - -local_variable_declaration - - - -, + + +statement - - -declaration_statement + + +expression - - -- + + +null_coalescing_expression - - -var + + +A - - + + identifier - - -ascending + + +class_modifier - - -conditional_or_expression + + +declaration_statement + + + +{ - - -; + + +statement - - -; + + +contextual_keyword - - -CoContra + + +ushort - - -= + + +attribute_target_specifier - - -; + + +, - - -nullable_reference_type + + +( - - + + statement - - -type_parameter - - - -identifier + + += - - -regular_interpolation + + +var - - -name + + += - - -statement + + +, - - -identifier + + +literal - - + + ; - - -select + + +expression - - -literal + + +local_variable_declaration - - + + identifier - - -var - - - -local4 + + += - - + + identifier - - -explicitly_typed_local_variable_declarators + + +local_variable_initializer - - -@long + + +true - - -= + + +relational_expression - - -byte + + +declaration_statement - - + + +0xBAD + + + statement - - -method_declaration + + +bool - - -literal + + +My - - -return_type + + +conditional_or_expression - - -type + + +class_member_declaration - - + + ; - - -expression + + += - - -attribute_target_specifier + + +primary_constraint - - -; + + +implicitly_typed_local_variable_declarator - - -. + + +explicitly_typed_local_variable_declarator - - -integral_type + + +; - - -identifier + + +literal - - -lu + + +: - - -l2 + + +'\u0066' - - -identifier + + +explicitly_typed_local_variable_declarator - - -contextual_keyword + + +unary_expression - - + + literal - - -explicitly_typed_local_variable_declarators + + +literal - - -local_variable_initializer + + +block - - -minInt64Value + + +unary_expression + + + +- - - -primary_expression + + += - - -statement + + +unary_expression - - -block + + +1 - - -expression + + +; - - + + identifier - - + + integral_type - - -explicitly_typed_local_variable_declarators + + +statement - - -declaration_statement + + +implicitly_typed_local_variable_declaration - - -0 + + +explicitly_typed_local_variable_declaration - - -member_access + + +{ - - -statement + + +unary_expression - - -@uint + + +expression - - -implicitly_typed_local_variable_declaration + + +implicitly_typed_local_variable_declarator - - -; + + +identifier - - -var + + +; - - -literal + + +interpolated_verbatim_string_expression - - -attribute + + +explicitly_typed_local_variable_declaration - - -1 + + +implicitly_typed_local_variable_declaration - - -implicitly_typed_local_variable_declarator + + +; - - -= + + +1lu - - -int + + +type - - -local + + +constant_expression - - -local_variable_declaration + + +?? - - -identifier + + +- - - -literal + + +var - - + + declaration_statement - - -( + + +static_constructor_modifiers - - -local_variable_declaration + + += - - -identifier + + +int - - + + explicitly_typed_local_variable_declarators - - -type + + +identifier - - + + explicitly_typed_local_variable_declaration - - -, - - - -. - - - -from - - - -unsafe_modifier + + +attribute_list - - -constant_expression + + += - - + + literal - - -contextual_keyword - - - -statement + + +expression - - -local_variable_declaration + + +2147483648 - - -Obsolete + + +explicitly_typed_local_variable_declaration - - -constant_declarators + + +null_coalescing_expression - - + + identifier - - -class_declaration - - - -integral_type + + +literal - - -explicitly_typed_local_variable_declarator + + +identifier - - -local_variable_declaration + + +implicitly_typed_local_variable_declaration - - -explicitly_typed_local_variable_declarators + + +ascending - - + + +'c' + + + = - - -declaration_statement + + +++ - - -] + + +explicitly_typed_local_variable_declarators - - -literal + + +0 - - -: + + +var - - -0 + + +A - - -. + + += - - -class_modifier + + +base - - -) + + +expression - - -identifier + + +explicitly_typed_local_variable_declaration - - -yield + + +@int - - -1d + + +attribute - - -; + + +9223372036854775808L - - -identifier + + +0 - - -declaration_statement + + +local_variable_initializer - - -expression + + +implicitly_typed_local_variable_declarator - - + + literal - - -var - - - -positional_argument_list + + +namespace_member_declaration - - -T + + +statement - - -ref_method_modifier + + +) - - -int + + +identifier - - -var + + +@ulong - - -class + + +literal - - -; + + +implicitly_typed_local_variable_declarator - - -= + + +1.44F - - + + local_variable_declaration - - -unary_expression + + +. - - -literal + + +local - - + + = - - -implicitly_typed_local_variable_declarator - - - -expression + + +declaration_statement - - + + implicitly_typed_local_variable_declarator - - -attribute_arguments - - - -) - - - -literal + + +@double - - -attribute_list + + +1LU - - -type + + += - - -attributes + + +implicitly_typed_local_variable_declaration - - -literal + + +local_variable_declaration - - -var + + +explicitly_typed_local_variable_declarator - - -method_header + + +local_variable_declaration - - -u + + +statement - - -@short + + +expression_statement - - -unary_expression + + +; - - -, + + +@byte - - -C + + +floating_point_type - - -identifier + + +explicitly_typed_local_variable_declarators - - -where + + +constant_declaration - - -= + + +declaration_statement - - -, + + +literal - - -= + + +unary_expression - - -local_variable_declaration + + +where - - -floating_point_type + + +identifier - - -0 + + +contextual_keyword - - -var + + +regular_interpolation - - -decimal + + +identifier - - -implicitly_typed_local_variable_declaration + + +arglist - - -attributes + + +statement - - -explicitly_typed_local_variable_declarator + + +〔:d〕 - - -relational_expression + + +out - - -Hex + + +0 - - -; + + +identifier - - -= + + +declaration_statement - - -A + + +identifier - - -boolean_literal + + +expression_statement - - -1.2f + + +explicitly_typed_local_variable_declaration - - -identifier + + +statement_expression - - + + identifier - - -= + + +; - - -identifier + + +literal - - -= + + +explicitly_typed_local_variable_declarator - - -; + + +explicitly_typed_local_variable_declarator - - -identifier + + +contextual_keyword - - -identifier + + +var - - -1U + + +type - - -constant_declarator + + +; - - -= + + +@string - - -i + + +identifier = - - -constant_declaration + + +{ - - -; + + +contextual_keyword + + + += variant_type_parameter_list - - -K + + +- - - -unary_expression + + +; - - -unary_expression + + +statement + + + +identifier + + + +expression + + + +primary_expression + + + +assignment_operator \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.gruntree.red.txt index aef2978de..e95fbdfd6 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.gruntree.red.txt @@ -740,11 +740,8 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.stderr.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.stderr.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.tree.red.txt index f4ceb7ac3..bfca7eca0 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (constructor_declaration (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (lock_statement lock ( (expression (identifier sync)) ) (embedded_statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier process)) ( ))) ;)))) (statement (using_statement using ( (resource_acquisition (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (invocation_expression (primary_expression (identifier BeginScope)) ( )))))) ) (embedded_statement (using_statement using ( (resource_acquisition (explicitly_typed_local_variable_declaration (type (identifier A)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( ))))))) ) (embedded_statement (using_statement using ( (resource_acquisition (explicitly_typed_local_variable_declaration (type (identifier A)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( )))) , (explicitly_typed_local_variable_declarator (identifier b) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( ))))))) ) (embedded_statement (using_statement using ( (resource_acquisition (invocation_expression (primary_expression (identifier BeginScope)) ( ))) ) (embedded_statement (return_statement return ;)))))))))) (statement (yield_statement yield return (expression (element_access (primary_no_array_creation_expression (member_access (primary_expression (this_access this)) . (identifier items))) [ (argument_list (literal 3)) ])) ;)) (statement (yield_statement yield break ;)) (statement (fixed_statement fixed ( (pointer_type (value_type (integral_type int)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier p) = (fixed_pointer_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 100)) ]))) , (fixed_pointer_declarator (identifier q) = (fixed_pointer_initializer & (variable_reference (identifier y))))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (pointer_indirection_expression * (unary_expression (identifier intref)))) (assignment_operator =) (expression (literal 1)))) ;)) })))) (statement (fixed_statement fixed ( (pointer_type (value_type (integral_type int)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier p) = (fixed_pointer_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 100)) ])))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (pointer_indirection_expression * (unary_expression (identifier intref)))) (assignment_operator =) (expression (literal 1)))) ;)) })))) (statement (unsafe_statement unsafe (block { (statement_list (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (pointer_type (value_type (integral_type int)) *)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier p) = (local_variable_initializer (null_literal null)))))) ;)) }))) (statement (try_statement try (block { (statement_list (throw_statement throw (expression (null_literal null)) ;)) }) (catch_clauses (specific_catch_clause catch (exception_specifier ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier AccessViolationException))) (identifier av) )) (block { (statement_list (throw_statement throw (expression (identifier av)) ;)) })) (specific_catch_clause catch (exception_specifier ( (type (identifier Exception)) )) (block { (statement_list (throw_statement throw ;)) }))) (finally_clause finally (block { (statement_list (try_statement try (block { }) (catch_clauses (general_catch_clause catch (block { }))))) })))) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword var)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier anonymous) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (assignment (unary_expression (identifier A)) (assignment_operator =) (expression (literal 1)))) , (variable_initializer (assignment (unary_expression (identifier B)) (assignment_operator =) (expression (literal 2)))) , (variable_initializer (assignment (unary_expression (identifier C)) (assignment_operator =) (expression (literal 3))))) , })))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier query) = (expression (query_expression (from_clause from (identifier c) in (expression (identifier customers))) (query_body (query_body_clause (let_clause let (identifier d) = (expression (identifier c)))) (query_body_clause (where_clause where (boolean_expression (equality_expression (equality_expression (identifier d)) != (relational_expression (null_literal null)))))) (query_body_clause (join_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))))) (query_body_clause (join_into_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))) into (identifier e))) (select_or_group_clause (group_clause group (expression (identifier c)) by (expression (member_access (primary_expression (identifier c)) . (identifier Country))))) (query_continuation into (identifier g) (query_body (query_body_clause (orderby_clause orderby (orderings (ordering (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))) (ordering_direction ascending))))) (query_body_clause (orderby_clause orderby (orderings (ordering (expression (member_access (primary_expression (identifier g)) . (identifier Key))) (ordering_direction descending))))) (select_or_group_clause (select_clause select (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier Country) = (expression (member_access (primary_expression (identifier g)) . (identifier Key)))) , (member_declarator (identifier CustCount) = (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))))) }))))))))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier query)) (assignment_operator =) (expression (query_expression (from_clause from (identifier c) in (expression (identifier customers))) (query_body (select_or_group_clause (select_clause select (expression (identifier c)))) (query_continuation into (identifier d) (query_body (select_clause select (expression (identifier d)))))))))) ;))) })))) }))) })))) +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (constructor_declaration (constructor_modifier public) (constructor_declarator (identifier A) ( (parameter_list (fixed_parameter (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier param)) :) (attribute_list (identifier Obsolete)) ])) (type (integral_type int)) (identifier foo))) ) (constructor_initializer : base ( (argument_list (literal 1)) ))) (constructor_body (block { (statement_list (statement (lock_statement lock ( (expression (identifier sync)) ) (embedded_statement (expression_statement (statement_expression (invocation_expression (primary_expression (identifier process)) ( ))) ;)))) (statement (using_statement using ( (resource_acquisition (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier v) = (expression (invocation_expression (primary_expression (identifier BeginScope)) ( )))))) ) (embedded_statement (using_statement using ( (resource_acquisition (explicitly_typed_local_variable_declaration (type (identifier A)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( ))))))) ) (embedded_statement (using_statement using ( (resource_acquisition (explicitly_typed_local_variable_declaration (type (identifier A)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier a) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( )))) , (explicitly_typed_local_variable_declarator (identifier b) = (local_variable_initializer (object_creation_expression new (type (identifier A)) ( ))))))) ) (embedded_statement (using_statement using ( (resource_acquisition (invocation_expression (primary_expression (identifier BeginScope)) ( ))) ) (embedded_statement (return_statement return ;)))))))))) (statement (yield_statement yield return (expression (element_access (primary_no_array_creation_expression (member_access (primary_expression (this_access this)) . (identifier items))) [ (argument_list (literal 3)) ])) ;)) (statement (yield_statement yield break ;)) (statement (fixed_statement fixed ( (pointer_type (value_type (integral_type int)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier p) = (fixed_pointer_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 100)) ]))) , (fixed_pointer_declarator (identifier q) = (fixed_pointer_initializer & (variable_reference (identifier y))))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (pointer_indirection_expression * (unary_expression (identifier intref)))) (assignment_operator =) (expression (literal 1)))) ;)) })))) (statement (fixed_statement fixed ( (pointer_type (value_type (integral_type int)) *) (fixed_pointer_declarators (fixed_pointer_declarator (identifier p) = (fixed_pointer_initializer (stackalloc_expression stackalloc (unmanaged_type (integral_type int)) [ (expression (literal 100)) ])))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (assignment (unary_expression (pointer_indirection_expression * (unary_expression (identifier intref)))) (assignment_operator =) (expression (literal 1)))) ;)) })))) (statement (unsafe_statement unsafe (block { (statement_list (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (pointer_type (value_type (integral_type int)) *)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier p) = (local_variable_initializer (null_literal null)))))) ;)) }))) (statement (try_statement try (block { (statement_list (throw_statement throw (expression (null_literal null)) ;)) }) (catch_clauses (specific_catch_clause catch (exception_specifier ( (type (namespace_or_type_name (identifier System) . (identifier AccessViolationException))) (identifier av) )) (block { (statement_list (throw_statement throw (expression (identifier av)) ;)) })) (specific_catch_clause catch (exception_specifier ( (type (identifier Exception)) )) (block { (statement_list (throw_statement throw ;)) }))) (finally_clause finally (block { (statement_list (try_statement try (block { }) (catch_clauses (general_catch_clause catch (block { }))))) })))) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (contextual_keyword var)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier anonymous) = (local_variable_initializer (array_initializer { (variable_initializer_list (variable_initializer (assignment (unary_expression (identifier A)) (assignment_operator =) (expression (literal 1)))) , (variable_initializer (assignment (unary_expression (identifier B)) (assignment_operator =) (expression (literal 2)))) , (variable_initializer (assignment (unary_expression (identifier C)) (assignment_operator =) (expression (literal 3))))) , })))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier query) = (expression (query_expression (from_clause from (identifier c) in (expression (identifier customers))) (query_body (query_body_clause (let_clause let (identifier d) = (expression (identifier c)))) (query_body_clause (where_clause where (boolean_expression (equality_expression (equality_expression (identifier d)) != (relational_expression (null_literal null)))))) (query_body_clause (join_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))))) (query_body_clause (join_into_clause join (identifier c1) in (expression (identifier customers)) on (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c1)) . (identifier GetHashCode))) ( ))) equals (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier c)) . (identifier GetHashCode))) ( ))) into (identifier e))) (select_or_group_clause (group_clause group (expression (identifier c)) by (expression (member_access (primary_expression (identifier c)) . (identifier Country))))) (query_continuation into (identifier g) (query_body (query_body_clause (orderby_clause orderby (orderings (ordering (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))) (ordering_direction ascending))))) (query_body_clause (orderby_clause orderby (orderings (ordering (expression (member_access (primary_expression (identifier g)) . (identifier Key))) (ordering_direction descending))))) (select_or_group_clause (select_clause select (expression (anonymous_object_creation_expression new (anonymous_object_initializer { (member_declarator_list (member_declarator (identifier Country) = (expression (member_access (primary_expression (identifier g)) . (identifier Key)))) , (member_declarator (identifier CustCount) = (expression (invocation_expression (primary_expression (member_access (primary_expression (identifier g)) . (identifier Count))) ( ))))) }))))))))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier query)) (assignment_operator =) (expression (query_expression (from_clause from (identifier c) in (expression (identifier customers))) (query_body (select_or_group_clause (select_clause select (expression (identifier c)))) (query_continuation into (identifier d) (query_body (select_clause select (expression (identifier d)))))))))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.tree.svg index e90eafea5..503732c15 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-E/Reference/sample.tree.svg @@ -1,23 +1,23 @@ - - - - - - - - - - - + + + + + + + + + + + - + - - - + + + - + @@ -27,13 +27,13 @@ - - - - - + + + + + - + @@ -65,11 +65,11 @@ - - - - - + + + + + @@ -87,7 +87,7 @@ - + @@ -181,7 +181,7 @@ - + @@ -201,12 +201,12 @@ - + - + @@ -262,7 +262,7 @@ - + @@ -308,7 +308,7 @@ - + @@ -333,10 +333,10 @@ - - - - + + + + @@ -346,3185 +346,3180 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +embedded_statement - - -member_access + + +100 - - -statement + + +[ - - -identifier + + +} - - -attribute_list + + +value_type - - -class + + +I - - -query + + +av - - -statement_list + + +where - - -int + + +expression_statement - - -namespace_body + + +expression - - -literal + + +fixed_pointer_declarator - - -embedded_statement + + +assignment - - -on + + +join_clause - - -embedded_statement + + +namespace_declaration - - -{ + + += - - -integral_type + + +expression - - -identifier + + +primary_expression - - + + ( - - -} - - - -local_variable_declaration - - - -class_declaration - - - -} - - - -, + + +expression - - -integral_type + + +explicitly_typed_local_variable_declarators - - -* + + +statement_list - - -q + + +literal - - + + identifier - - -primary_expression - - - -in - - - -p + + +expression - - -fixed_pointer_declarators + + +where_clause - - -A + + +by - - -anonymous_object_creation_expression + + +c - - -catch + + +return_statement - - -identifier + + +explicitly_typed_local_variable_declaration - - -block + + +intref - - + + . - - -primary_expression + + +query_continuation - - -customers + + +identifier - - -specific_catch_clause + + +resource_acquisition - - -d + + +join - - -) + + +int - - -declaration_statement + + +A - - -catch + + +fixed - - + + { - - -; - - - -identifier - - - -expression - - - -GetHashCode - - - + + c1 - - -let_clause + + += - - -primary_expression + + +statement_expression - - -resource_acquisition + + +invocation_expression - - -} + + +) - - -av + + +statement_expression - - -expression + + +: - - -, + + +declaration_statement - - -Key + + +} - - -expression + + +invocation_expression - - -g + + +fixed_pointer_declarator - - -type + + +( - - -A + + +statement - - -statement_expression + + +int - - -) + + +explicitly_typed_local_variable_declarators - - -identifier + + +fixed_parameter - - -identifier + + +primary_no_array_creation_expression - - -using_statement + + +statement - - -using + + +contextual_keyword - - -explicitly_typed_local_variable_declarators + + +ordering_direction - - -: + + +; - - -interface_type + + +( - - -object_creation_expression + + +catch_clauses - - -namespace_declaration + + +embedded_statement - - -interface_type + + +& - - -identifier + + +exception_specifier - - -statement + + +integral_type - - -identifier + + +integral_type - - -using_statement + + +Country - - -param + + +partial - - -v + + +query_body_clause - - -identifier + + +primary_expression - - -identifier + + +let_clause - - -orderby + + +explicitly_typed_local_variable_declaration - - -qualified_identifier + + +block - - -pointer_indirection_expression + + +assignment - - -C + + +new - - -attribute_target + + +invocation_expression - - -( + + +customers - - -identifier + + +expression - - -invocation_expression + + += - - -100 + + +array_initializer - - -stackalloc + + +yield_statement - - -= + + +pointer_indirection_expression - - -. + + +group - - -statement_list + + +orderings - - -{ + + +finally - - -customers + + +items - - -int + + +statement_list - - -block + + +d - - -{ + + +query_body_clause - - -pointer_type + + += - - -) + + +foo - - -identifier + + +primary_expression - - -identifier + + +) - - -= + + +class_base - - + + statement - - -) + + +{ - - -3 + + +{ - - -identifier + + +( - - -expression + + +new - - + + expression - - -expression_statement + + +qualified_identifier - - -, + + +resource_acquisition - - -identifier + + +g - - -. + + +class_declaration - - -( + + +expression - - -; + + +fixed_pointer_declarators - - -invocation_expression + + +query_body_clause - - -member_access + + +statement_expression - - -query_continuation + + +anonymous_object_creation_expression - - -variable_initializer_list + + +* - - -equality_expression + + +Count - - -} + + +av - - + + += + + + identifier - - -fixed_statement + + +primary_expression - - -let + + +block - - -throw_statement + + +using - - -; + + +local_variable_initializer - - -unsafe + + += - - -identifier + + +block - - -p + + +constructor_initializer - - -descending + + +System - - -( + + +} - - -; + + +type - - + + +. + + + ( - - -assignment + + +resource_acquisition - - -I + + +AccessViolationException - - -unary_expression + + +( - - -finally_clause + + +identifier - - -integral_type + + +in - - -from + + +select_or_group_clause - - -finally + + +identifier - - -block + + +explicitly_typed_local_variable_declarators - - -[ + + +pointer_type - - -statement + + +literal - - -local_variable_initializer + + +param - - -join_into_clause + + +variable_initializer - - -Count + + +statement_list - - -identifier + + +] - - -lock_statement + + +catch - - -invocation_expression + + += - - -member_access + + +throw - - -member_declarator_list + + +explicitly_typed_local_variable_declarator - - -member_access + + +attribute_target - - -explicitly_typed_local_variable_declaration + + +implicitly_typed_local_variable_declaration - - -identifier + + +; - - + + identifier - - -throw - - - -assignment_operator - - - -into + + +query_body_clause - - -1 + + +lock_statement - - -element_access + + +Key - - -. + + +literal - - -; + + +new - - -= + + +) - - -expression + + +select_clause - - -int + + += - - -{ + + +statement - - -: + + +declaration_statement - - -block + + +member_access - - -items + + +primary_expression - - -. + + +assignment - - -: + + +expression_statement - - -( + + +new - - -{ + + +assignment_operator - - + + identifier - - -identifier + + +} - - -CustCount + + +stackalloc_expression - - -select_clause + + +local_variable_declaration - - -select + + +g - - -variable_initializer + + += - - -customers + + +assignment - - -] + + +primary_expression - - -) + + +identifier - - -expression + + +from_clause - - -type + + +using - - -expression + + +descending - - -assignment + + +fixed_pointer_initializer - - + + identifier - - -intref + + +identifier - - -expression + + +a + + + +a - - + + identifier - - -primary_expression + + +) - - -assignment + + +try - - -; + + +identifier - - -{ + + +into - - -) + + +{ - - -100 + + +literal - - -a + + +using_statement - - -local_variable_initializer + + +boolean_expression - - -3 + + +q - - -unary_expression + + +p - - -identifier + + +assignment - - + + on - - -using + + +e - - -member_declarator + + +identifier - - -pointer_type + + +constructor_declarator - - -select_or_group_clause + + +( - - -constructor_declaration + + +local_variable_initializer - - -identifier + + +BeginScope - - -implicitly_typed_local_variable_declaration + + +; - - -query_continuation + + +{ - - -return + + +) - - -namespace_or_type_name + + +class_member_declaration - - + + +Obsolete + + + +identifier + + + A - - -query_body + + +} - - -ascending + + +class_body - - + + var - - -type - - - -new + + +join_into_clause - - -] + + +statement - - -attributes + + +identifier - - -unary_expression + + +member_access - - -} + + +equality_expression - - + + primary_expression - - -assignment - - - -} - - - -local_variable_declaration + + +int - - -p + + +select - - -exception_specifier + + +} - - -identifier + + +( - - -, + + +identifier - - -declaration_statement + + +Count - - -statement + + +invocation_expression - - -query_body_clause + + +object_creation_expression - - -BeginScope + + +identifier - - -GetHashCode + + +primary_expression - - -, + + +var null - - -} - - - -value_type - - - -C - - - -block + + +assignment - - -identifier + + +attribute_section - - -unmanaged_type + + +interface_type - - -invocation_expression + + +try_statement - - -explicitly_typed_local_variable_declarator + + +constructor_body - - -expression_statement + + +int - - -, + + +yield - - -primary_expression + + +statement_list - - + + ) - - -sync - - - -resource_acquisition - - - -, + + +( - - -identifier + + +c - - -ordering_direction + + +argument_list - - -. + + +* - - + + primary_expression - - + + +member_access + + + GetHashCode - - -expression + + +v - - -break + + +identifier - - -BeginScope + + +member_declarator_list - - -try_statement + + +identifier - - -throw + + +explicitly_typed_local_variable_declaration - - -) + + +identifier - - -My + + +explicitly_typed_local_variable_declaration - - -* + + +identifier - - -= + + +; - - -primary_no_array_creation_expression + + +identifier - - -) + + +identifier - - -type + + +) - - -partial + + +intref - - -. + + +explicitly_typed_local_variable_declarator - - -) + + +fixed_pointer_declarator - - -identifier + + +] - - -( + + +interface_type_list - - -( + + +. - - -invocation_expression + + +explicitly_typed_local_variable_declarator - - -expression + + +GetHashCode - - -integral_type + + +primary_expression - - -expression + + +anonymous_object_initializer - - -. + + +variable_initializer - - -( + + +BeginScope - - + + identifier - - -namespace + + +anonymous - - -expression + + +, - - -} + + +identifier + + + +A using - - -argument_list + + +block - - -catch + + +local_variable_declaration - - -expression + + +this_access - - -query_body_clause + + +( - - -compilation_unit + + += - - -statement_expression + + +identifier + + + +( + + + +yield + + + += + + + +) + + + +stackalloc_expression + + + +identifier - - -expression + + +type - - -array_initializer + + +identifier [ - - -orderings - - - -Country + + += - - -} + + +statement_expression - - -anonymous_object_initializer + + +CustCount - - + + ( - - -explicitly_typed_local_variable_declaration - - - -identifier + + +explicitly_typed_local_variable_declarator - - -1 + + +} - - -identifier + + +y - - -object_creation_expression + + +using_statement - - -explicitly_typed_local_variable_declarators + + +class_modifier - - -identifier + + +local_variable_initializer - - + + ) - - -identifier + + +. - - -block + + +catch - - -unary_expression + + +* - - -local_variable_declaration + + +type - - + + +literal + + + +query + + + +yield_statement + + + identifier - - -explicitly_typed_local_variable_declaration + + +A - - -c + + +) - - -constructor_modifier + + +p - - -identifier + + +{ - - -identifier + + +throw - - -} + + +primary_expression + + + +unsafe_statement - - + + identifier - - -yield + + +) - - -attribute_target_specifier + + +literal - - -( + + +throw_statement - - -statement_list + + +finally_clause - - -A + + +implicitly_typed_local_variable_declarator - - + + identifier - - -attribute_section + + +expression - + -select +expression - - -; + + +fixed_statement - - -select_or_group_clause + + +query_expression - - -return_statement + + +identifier - - -; + + +100 - - -member_access + + +A - - -primary_expression + + +type - - -constructor_body + + +attribute_list - - -from + + +] - - -embedded_statement + + +unary_expression - - -av + + +block - - -) + + +; - - -block + + +var - - -pointer_type + + +query_body - - + + expression - - -fixed_pointer_initializer + + +public - - -) + + +} + + + +( + + + +A + + + +primary_expression - - + + identifier - - -member_access + + +statement_list - - -from_clause + + +expression - - + + +d + + + unary_expression - - -new + + +null_literal - - -null + + +into - - -B + + +public - - -identifier + + +this - - -( + + +equals - - -foo + + +) - - -try_statement + + +c + + + +embedded_statement - - -class_member_declaration + + +integral_type - - -catch_clauses + + +1 - - -stackalloc_expression + + +break - - -expression + + +explicitly_typed_local_variable_declarators - - -member_access + + +} - - -( + + +null_literal - - -statement + + +invocation_expression - - -using_statement + + +identifier - - -literal + + +identifier - - -] + + +2 - - -d + + +. - - -Obsolete + + +select_clause - - -block + + +relational_expression - - + + primary_expression - - -literal - - - -{ + + +type - - -equals + + +embedded_statement - - -ordering + + +My - - -throw + + +* - - + + primary_expression - - + + identifier - - -c + + +expression - - -embedded_statement + + +3 - - -int + + += - - -unary_expression + + +* - - -class_body + + +orderings - - -fixed_parameter + + +into - - -= + + +identifier - - -return + + +expression - - -select_clause + + +expression - - + + ( - - -{ - - - -identifier - - - -( + + +specific_catch_clause - - -ordering + + +c - - -in + + +unmanaged_type - - -ordering_direction + + +) - - -orderby_clause + + +{ - - -expression + + +namespace_member_declaration - - -g + + +type - - -primary_expression + + +fixed_statement - - + + identifier - - -class_modifier + + +fixed_pointer_initializer - - -expression + + +} - - + + = - - -assignment + + +assignment_operator - - -identifier + + +{ - - -identifier + + +member_access - - -invocation_expression + + +expression - - -a + + +join - - -; + + +C - - -implicitly_typed_local_variable_declaration + + +identifier - - -using_statement + + +: - - -var + + +{ - - -join + + +query_body - - -GetHashCode + + +identifier - - -Country + + +, - - -= + + +identifier - - -embedded_statement + + +identifier - - -c1 + + +primary_expression - - -local_variable_initializer + + +integral_type - - -statement + + +identifier - - -c1 + + +c - - -equals + + +identifier - - -} + + +argument_list - - -c + + +identifier - - -primary_expression + + +; - - -value_type + + +) - - -] + + +integral_type - - -[ + + +sync - - -equality_expression + + +A - - -new + + +block + + + +) - - -expression + + +namespace - - -local_variable_initializer + + +object_creation_expression - - -declaration_statement + + +local_variable_declaration - - -select_clause + + +null - - -query_body_clause + + +, - - -identifier + + +query - - -yield + + +null_literal - - + + identifier - - -. + + +fixed_pointer_initializer - - -relational_expression + + +expression - - -unary_expression + + +d - - -( + + += - - -where + + +member_access - - -query_body + + +unary_expression - - -expression + + +member_access - - -( + + +query_body_clause - - -2 + + +embedded_statement - - + + invocation_expression - - -customers + + +} - - -integral_type + + +) - - -!= + + +( - - -explicitly_typed_local_variable_declarator + + +unsafe_modifier - - -AccessViolationException + + +expression - - -yield_statement + + +Country - - -member_declarator + + +query_continuation - - + + ) - - -; - - - -. - - - + + identifier - - -fixed_pointer_declarator + + +lock - - -= + + +, - - + + statement_list - - -try - - - -primary_expression - - - -type + + +. - - -int + + +g - - -by + + +expression - - -A + + +embedded_statement - - -using + + +orderby - - -select_or_group_clause + + +identifier - - -= + + +throw_statement - - -} + + +variable_reference - - -explicitly_typed_local_variable_declarator + + +object_creation_expression - - + + primary_expression - - -= - - - -{ - - - -query_expression - - - -identifier - - - -identifier + + +try_statement - - -y + + +1 - - -statement_list + + +ordering - - -= + + +base - - -expression + + +local_variable_initializer - - -1 + + +A - - -expression + + +variable_initializer_list - - -e + + +invocation_expression - - -query_body + + +attributes - - -member_access + + +{ - - -literal + + +block - - -constructor_declarator + + +stackalloc - - -primary_expression + + +. - - -) + + +customers - - -statement_list + + +member_access - - + + statement - - -& - - - -fixed_statement - - - -null_literal - - - -d + + +; - - -= + + +identifier - - -lock + + +( - - -expression + + +literal - - -into + + +general_catch_clause - - -unmanaged_type + + +constructor_modifier - - -constructor_initializer + + +process - - -identifier + + += - - -assignment_operator + + +expression - - -where_clause + + +1 - - -A + + +g - - -type + + +identifier - - -argument_list + + +unary_expression - - -primary_expression + + +query_expression - - -invocation_expression + + +; - - -) + + +; - - -) + + +customers - - -identifier + + +{ - - -identifier + + +null - - -expression + + += - - -) + + +catch_clauses - - -} + + +block - - -object_creation_expression + + +. - - -namespace_or_type_name + + +constructor_declaration - - -) + + +expression - - + + identifier - - -this + + +class_modifier - - -invocation_expression + + +select_or_group_clause - - -group + + +select - - -) + + +catch + + + +namespace_or_type_name pointer_indirection_expression - - + + expression - - -expression_statement - - - -{ + + +type - - -anonymous + + +identifier - - -boolean_expression + + +) - - -prog + + +equality_expression - - -c1 + + +identifier - - + + . - - -( + + +statement - - -explicitly_typed_local_variable_declarators + + +member_declarator - - -A + + +expression - - -) + + +unary_expression - - -select + + +member_access - - -integral_type + + +compilation_unit - - -embedded_statement + + +type - - -in + + +unsafe - - -public + + +; - - -( + + +pointer_type - - -class_modifier + + +orderby_clause - - -assignment + + +primary_expression - - -= + + +identifier - - -assignment_operator + + +return - - -literal + + +identifier - - -fixed + + +query_body - - -c + + +in - - -) + + +pointer_type - - -primary_expression + + +in - - -identifier + + +( - - -implicitly_typed_local_variable_declarator + + +select_or_group_clause - - + + identifier - - -null_literal + + +assignment_operator - - -statement + + +( - - -literal + + +( - - -parameter_list + + +literal - - -block + + +class - - -null_literal + + +identifier - - + + identifier - - -member_access + + +assignment_operator - - -primary_expression + + +. - - -unsafe_modifier + + +B - - -var + + +identifier - - + + +fixed + + + expression - - -public + + +orderby_clause - - -from_clause + + +from - - -member_access + + +[ + + + +identifier - - -value_type + + +try - - -type + + +unary_expression - - + + ; - - -query + + +select_clause - - -stackalloc_expression + + +GetHashCode - - -query_body + + +g - - -identifier + + +( - - -; + + +d - - -into + + +variable_initializer - - -expression + + +identifier - - -resource_acquisition + + +} - - -variable_initializer + + +ordering - - -System + + +b - - -local_variable_initializer + + +expression_statement - - -block + + +invocation_expression - - -variable_initializer + + +prog - - -try + + +specific_catch_clause - - -query_body_clause + + +fixed_pointer_declarators - - -identifier + + +throw_statement - - -; + + +using_statement - - -( + + +: - - -new + + +c - - + + +value_type + + + identifier - - -throw_statement + + +block - - + + c - - + + assignment_operator - - -g - - - -* + + +unmanaged_type - - -g + + +member_access - - -statement_expression + + +type - - -literal + + +int - - + + identifier - - -= + + +return - - + + +group_clause + + + +} + + + +literal + + + +( + + + { - - -1 + + +statement - - -process + + += - - -orderby_clause + + +implicitly_typed_local_variable_declaration - - -base + + +from_clause - - -orderby + + +) - - -catch_clauses + + +) - - -fixed_pointer_declarator + + +c - - -statement_expression + + +member_access - - -Key + + +value_type - - -g + + +primary_expression - - -explicitly_typed_local_variable_declarator + + +1 - - -assignment_operator + + +statement - - -type + + +expression - - + + +; + + + identifier - - -} + + +member_declarator - - -statement + + +( - - -unsafe + + +expression - - -A + + +unary_expression - - -= + + +implicitly_typed_local_variable_declarator - - -explicitly_typed_local_variable_declarator + + +; - - + + +exception_specifier + + + identifier - - -type + + +integral_type - - -this_access + + +identifier - - + + identifier - - -d + + +identifier - - -[ + + +select - - -exception_specifier + + +expression - - -unary_expression + + +{ - - -Exception + + +type - - -general_catch_clause + + +expression_statement - - -query_body_clause + + +primary_expression - - -( + + +c1 - - -fixed_pointer_declarator + + +invocation_expression - - + + identifier - - -explicitly_typed_local_variable_declaration - - - -namespace_member_declaration + + +statement - - -statement_list + + +unary_expression - - -unsafe_statement + + +expression - - -identifier + + +) - - -resource_acquisition + + +. - - -explicitly_typed_local_variable_declarators + + +identifier - - + + ) - - -query_expression + + +query_body_clause - - -join_clause + + +Key - - -* + + +embedded_statement - - -Count + + +attribute_target_specifier - - -= + + +from - - -in + + +customers - - + + +Exception + + + identifier - - -( + + +equals - - -type + + +GetHashCode - - + + identifier - - -literal - - - -fixed_pointer_declarators + + +C - - -implicitly_typed_local_variable_declarator + + +identifier - - -class_base + + +local_variable_initializer - - -intref + + +throw - - -expression_statement + + +orderby - - -literal + + +{ - - -c + + +expression - - -query_body_clause + + +namespace_body - - -interface_type_list + + +[ - - -identifier + + +expression - - -= + + +!= - - -expression + + +assignment_operator - - -expression + + +ascending - - -= + + +resource_acquisition - - -{ + + +query_body - - + + statement_list - - -c + + +let - - -embedded_statement + + +using - - -expression + + +block - - -join + + +( - - -identifier + + +c1 - - -stackalloc + + +on - - -* + + +in - - + + identifier - - -identifier + + +parameter_list - - + + identifier - - -expression - - - -fixed + + +3 - - -specific_catch_clause + + +] - - -orderings + + +expression - - + + identifier - - -throw_statement + + +) - - -= + + +, - - -fixed_pointer_initializer + + +declaration_statement - - -c + + +p - - -assignment_operator + + +unsafe - - -group_clause + + +using_statement - - -contextual_keyword + + +stackalloc - - -( + + +identifier - - -primary_expression + + +expression - - -statement + + +, - - -b + + +c1 - - -yield_statement + + +ordering_direction - - -fixed_pointer_initializer + + +expression - - -{ + + +interface_type int - - -variable_reference + + +, + + + +statement + + + +statement_list + + + +} + + + += + + + +element_access + + + +explicitly_typed_local_variable_declarator \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.gruntree.red.txt index d13bbf6c5..b1a3d45ed 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.gruntree.red.txt @@ -239,11 +239,8 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tree.red.txt index 1ed46751b..956ca0671 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (finalizer_declaration ~ (identifier A) ( ) (finalizer_body (block { })))) (class_member_declaration (field_declaration (field_modifier private) (field_modifier readonly) (type (integral_type int)) (variable_declarators (identifier f1)) ;)) (class_member_declaration (field_declaration (attributes (attribute_section [ (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_list (identifier NonExisting)) ]) (attribute_section [ (attribute_list (attribute (attribute_name (qualified_alias_member (identifier Foo) :: (identifier NonExisting))) (attribute_arguments ( (positional_argument_list (positional_argument (contextual_keyword var)) , (positional_argument (literal 5))) ))) ,) ]) (attribute_section [ (attribute_list (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (boolean_literal false)) )))) ]) (attribute_section [ (attribute_list (attribute (identifier Obsolete)) , (attribute (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier NonSerialized))) , (attribute (identifier NonSerialized)) , (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (conditional_or_expression (conditional_or_expression (boolean_literal true)) || (conditional_and_expression (and_expression (and_expression (boolean_literal false)) & (equality_expression (boolean_literal true)))))) ))) ,) ])) (field_modifier private) (field_modifier volatile) (type (integral_type int)) (variable_declarators (identifier f2)) ;)) (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (keyword return)) :) (attribute_list (attribute (identifier Obsolete)) , (attribute (identifier TrailingComma)) ,) ]) (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Handler)) ( (parameter_list (fixed_parameter (type (class_type object)) (identifier (contextual_keyword value)))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type (integral_type int)) (method_header (member_name (identifier m)) (type_parameter_list < (decorated_type_parameter (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier t))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint class) , (constructor_constraint new ( ))))) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (base_access base . (identifier m))) ( (argument_list (identifier t)) ))) ;)) (statement (return_statement return (expression (literal 1)) ;))) })))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body (block { (statement_list (return_statement return (expression (literal "A")) ;)) }))) (set_accessor_declaration set (accessor_body ;))) }))) (class_member_declaration (property_declaration (property_modifier public) (property_modifier abstract) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) }))) }))) })))) +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (class_declaration (class_modifier public) (class_modifier (unsafe_modifier unsafe)) partial class (identifier A) (class_base : (interface_type_list (interface_type (identifier C)) , (interface_type (identifier I)))) (class_body { (class_member_declaration (finalizer_declaration ~ (identifier A) ( ) (finalizer_body (block { })))) (class_member_declaration (field_declaration (field_modifier private) (field_modifier readonly) (type (integral_type int)) (variable_declarators (identifier f1)) ;)) (class_member_declaration (field_declaration (attributes (attribute_section [ (attribute_list (identifier Obsolete)) ]) (attribute_section [ (attribute_list (identifier NonExisting)) ]) (attribute_section [ (attribute_list (attribute (attribute_name (qualified_alias_member (identifier Foo) :: (identifier NonExisting))) (attribute_arguments ( (positional_argument_list (positional_argument (contextual_keyword var)) , (positional_argument (literal 5))) ))) ,) ]) (attribute_section [ (attribute_list (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (boolean_literal false)) )))) ]) (attribute_section [ (attribute_list (attribute (identifier Obsolete)) , (attribute (namespace_or_type_name (identifier System) . (identifier NonSerialized))) , (attribute (identifier NonSerialized)) , (attribute (attribute_name (identifier CLSCompliant)) (attribute_arguments ( (positional_argument_list (conditional_or_expression (conditional_or_expression (boolean_literal true)) || (conditional_and_expression (and_expression (and_expression (boolean_literal false)) & (equality_expression (boolean_literal true)))))) ))) ,) ])) (field_modifier private) (field_modifier volatile) (type (integral_type int)) (variable_declarators (identifier f2)) ;)) (class_member_declaration (method_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (keyword return)) :) (attribute_list (attribute (identifier Obsolete)) , (attribute (identifier TrailingComma)) ,) ]) (attribute_section [ (attribute_target_specifier (attribute_target (identifier method)) :) (attribute_list (identifier Obsolete)) ])) (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Handler)) ( (parameter_list (fixed_parameter (type (class_type object)) (identifier (contextual_keyword value)))) )) (method_body (block { })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type (integral_type int)) (method_header (member_name (identifier m)) (type_parameter_list < (decorated_type_parameter (identifier T)) >) ( (parameter_list (fixed_parameter (type (identifier T)) (identifier t))) ) (type_parameter_constraints_clause where (type_parameter (identifier T)) : (type_parameter_constraints (primary_constraint class) , (constructor_constraint new ( ))))) (method_body (block { (statement_list (statement (expression_statement (statement_expression (invocation_expression (primary_expression (base_access base . (identifier m))) ( (argument_list (identifier t)) ))) ;)) (statement (return_statement return (expression (literal 1)) ;))) })))) (class_member_declaration (property_declaration (property_modifier public) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body (block { (statement_list (return_statement return (expression (literal "A")) ;)) }))) (set_accessor_declaration set (accessor_body ;))) }))) (class_member_declaration (property_declaration (property_modifier public) (property_modifier abstract) (type (class_type string)) (member_name (identifier P)) (property_body { (accessor_declarations (get_accessor_declaration get (accessor_body ;))) }))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tree.svg index 13cf1c024..99884be2e 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-F/Reference/sample.tree.svg @@ -1,23 +1,23 @@ - - - - - - - - - - - + + + + + + + + + + + - + - - - + + + - + @@ -27,9 +27,9 @@ - - - + + + @@ -40,7 +40,7 @@ - + @@ -53,22 +53,22 @@ - - - - + + + + - + - + @@ -92,7 +92,7 @@ - + @@ -106,1595 +106,1590 @@ - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -false - - - -identifier - - - -expression - - - -] - - - -; - - - -namespace + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +variable_declarators - - -) + + +t - - -& + + +property_modifier - - -[ + + +, - - -T + + +] - - -Obsolete + + +identifier - - -) + + +] - - -class_member_declaration + + +int - - -5 + + +expression - - + + identifier - - -CLSCompliant - - - -, - - - -A - - - -; + + +attributes - - -method_header + + +attribute_list - - -class + + +class_body - - -( + + +Foo - - -NonExisting + + +attribute - - + + attribute_list - - -statement_expression + + +|| f1 - - -variable_declarators - - - -attribute_list - - - -identifier + + +] - - -. + + +interface_type - - -field_declaration + + +: - - + + identifier literal - - -attribute_arguments - - - + + identifier - - -accessor_declarations - - - -method - - - -] - - - -: + + +{ - - -literal + + +attribute_section - - -; + + +attribute_list - - -} + + +positional_argument_list - - -: + + +positional_argument - - + + expression_statement - - -identifier + + +[ - - -interface_type + + +int - - -Handler + + +attribute_target_specifier - - -identifier + + +[ - - -unsafe + + +public - - -field_declaration + + +return - - -positional_argument_list + + +( - - + + identifier - - -positional_argument_list - - - -My - - - -namespace_or_type_name + + +type - - -integral_type + + +NonSerialized - - + + identifier - - -TrailingComma + + +property_declaration - - -method_declaration + + +property_modifier - - -class_body + + +"A" - - -} + + +get_accessor_declaration - - -class_base + + +var field_modifier - - -{ - - - -m + + +return_type - - -attribute + + +class_modifier - - -attribute + + +boolean_literal - - -, + + +) - - -invocation_expression + + +attribute_section - - -return + + +: - - -return + + +attribute_section - - -conditional_or_expression + + +Obsolete - - -{ + + +equality_expression - - -public + + +fixed_parameter - + -where - - - -class_member_declaration +type_parameter - - -attribute_target + + +object - - -method_header + + +return_type - - + + identifier - - -] + + +1 - - -integral_type + + +identifier + + + +; attribute_list - - -and_expression - - - -attribute_list + + +parameter_list - - -T + + +) - - -, + + +and_expression - - + + identifier - - -] + + +P - - -identifier + + +; - - -return_type + + +; - - -method_body + + +abstract - - -class_modifier + + +field_modifier - - -identifier - - - -attribute_arguments + + +block - - -base_access + + +invocation_expression - - -property_declaration + + +:: - - -base + + +qualified_identifier - - -I + + +identifier - - -: + + +method_modifiers - - -T + + +namespace_or_type_name - - -statement_list + + +) - - + + identifier - - -NonSerialized + + +positional_argument - - -variable_declarators + + +volatile - - -( + + +Handler - - -identifier + + +argument_list - - -var + + +( - - -class_modifier + + +] - - -: + + +identifier - - -get_accessor_declaration + + +class_modifier - - -namespace_body + + +namespace - - -method_declaration + + +method_header - - -conditional_or_expression + + +{ - - + + ref_method_modifier - - -attribute_section + + +} - - -] + + +int - - -NonExisting + + +attribute - - -boolean_literal + + +, - - -attributes + + +block - - -fixed_parameter + + +statement - - -type + + +field_modifier - - -contextual_keyword + + +; - - -} + + +primary_constraint - - -} + + +P - - -argument_list + + +string - - -, + + +true - - -[ + + +attribute_list - - -class_member_declaration + + +] - - -positional_argument + + +( - - + + ( - - -interface_type_list + + +type - - -class_declaration + + +accessor_body - - -and_expression + + +method_declaration - - -block + + +keyword - - -t + + +> - - -C + + +[ - - + + +attribute_name + + + identifier - - -attribute_section + + +field_modifier - - -false + + +} - - -identifier + + +T - - -NonSerialized + + +accessor_declarations - - -string + + +< - - -attribute + + +identifier - - -; + + +class_type - - -public + + +System - - -attribute_name + + +value + + + +identifier - - + + ) - - -fixed_parameter + + +, - - -unsafe_modifier + + +type_parameter_constraints - - -class_type + + +class - - -prog + + +unsafe - - + + identifier - - -positional_argument - - - -equality_expression + + +variable_declarators - - -attribute_section + + +field_declaration - - -class_member_declaration + + +get_accessor_declaration - - -member_name + + +property_modifier - - -type + + +class_member_declaration - - -identifier + + +{ - - -class_type + + +attribute - - -true + + +, - - -set + + +] - - -namespace_or_type_name + + +attribute_arguments - - -member_name + + +set_accessor_declaration - - -( + + +, - - -constructor_constraint + + +namespace_member_declaration - - -, + + +string - - -[ + + +attributes - - -attribute_section + + +type - - + + identifier - - + + +My + + + { - - -attribute_target_specifier + + +prog - - -method_modifiers + + +method_header - - -return_statement + + +attribute_list - - -[ + + +identifier - - -statement + + +{ - - -return_type + + +attribute_section - - -attribute + + +: - - -conditional_and_expression - - - -attribute_target_specifier + + +, - - -parameter_list + + +method_body - - -public + + +{ - - -property_modifier + + +A - - -primary_constraint + + +integral_type - - -P + + +and_expression - - -private + + +{ - - -primary_expression + + +attribute_target - - -) + + +; - - -field_modifier + + +conditional_and_expression - - -statement + + +Obsolete - - -accessor_body + + +5 - - -} + + +attribute_section - - -] + + +public - - -boolean_literal + + +statement_list - - -; + + +identifier - - -attribute_name + + +} - - -public + + +T - - -identifier + + +method_body - - -compilation_unit + + +return - - -field_modifier + + +contextual_keyword - - -new + + +base - - -. + + +public - - -[ + + +namespace_declaration - - -class_member_declaration + + +identifier - - -partial + + +statement - - -type + + +} - - -attribute + + +C - - -property_body + + +TrailingComma - - -set_accessor_declaration + + +[ - - -identifier + + +attribute_section - - -property_modifier + + +method_declaration - - -attribute_list + + +literal qualified_alias_member - - -volatile - - - -[ + + +) - - -get_accessor_declaration + + +; - - -|| + + +boolean_literal - - -type_parameter_list + + +set - - -attribute_section + + +boolean_literal - - -return + + +attribute - - -f2 + + +literal - - -method_body + + +& - - -P + + +class_declaration - - -object + + +identifier - - + + block - - -attribute_list + + +[ - - -property_modifier + + +( - - -attribute_list + + +ref_method_modifier - - + + } private - - -identifier + + +} - - -, + + +. - - -identifier + + +false - - -) + + +attribute_section - - -; + + +CLSCompliant - - -identifier + + +type - - -attribute_name + + +constructor_constraint - - -CLSCompliant + + +member_name - - -positional_argument_list + + +attribute_target_specifier - - -member_name + + +attribute_target - - -int + + +where - - -int + + +identifier - - -namespace_member_declaration + + +type_parameter_constraints_clause - - -attribute + + +parameter_list - - -block + + +accessor_body - - -true + + +identifier - - -1 + + +[ - - -get + + +[ - - -, + + +method_modifiers - - -Foo + + +field_declaration - - -Obsolete + + +( - - -member_name + + +{ - - -} + + +fixed_parameter - - -) + + +attribute - - -value + + +identifier - - -) + + +attribute - - -method_modifiers + + +property_declaration - - -class + + +NonExisting - - -attribute_target + + +method - - -( + + +conditional_or_expression - - -, + + +private - - -interface_type + + +class_member_declaration - - -integral_type + + +return - - -) + + +; - - -type_parameter + + +partial - - -statement_list + + +attribute_arguments - - -{ + + +attribute_list - - + + identifier - - -m + + +class - - -literal + + +accessor_body - - -contextual_keyword + + +, - - + + +identifier + + + class_member_declaration - - + + +t + + + +finalizer_body + + + class_type - - -type + + +public - - -type + + +readonly - - -attributes + + +unsafe_modifier + + + +integral_type - - + + identifier - - -{ + + +statement_list - - -property_declaration + + +statement_expression - - -{ + + +class_member_declaration - - -accessor_declarations + + +I - - -} + + +. - - -boolean_literal + + +} - - -int + + +identifier - - -void + + +positional_argument_list - - -identifier + + +member_name - - -t + + +primary_expression - - -decorated_type_parameter + + +get - - -] + + +, - - -string + + +base_access - - -namespace_declaration + + +block - - -public + + +expression - - -( + + +property_body - - -parameter_list + + +attribute - - -type_parameter_constraints + + +class_member_declaration - - + + identifier - - -get + + +integral_type - - -keyword + + +property_body - - -Obsolete + + +( - - -boolean_literal + + +( - - -, + + +compilation_unit + + + +attribute + + + +identifier A - - -( - - - -attribute + + +m - - -type + + +class_base - - -Obsolete + + +type_parameter_list - - -> + + +decorated_type_parameter - - -accessor_body + + +return_statement - - -attribute_section + + +interface_type - - -( + + +Obsolete - - -"A" + + +true - - -< + + +f2 - - -[ + + +void - - -qualified_identifier + + +finalizer_declaration - - -field_modifier + + +, - - -property_body + + +conditional_or_expression - - -System + + +T - - -identifier + + +attribute_name - - -ref_method_modifier + + +) - - -finalizer_declaration + + +accessor_declarations - - -expression + + +attribute_arguments - - -{ + + +class_member_declaration - - -finalizer_body + + +public - - -:: + + +new - - -identifier + + +contextual_keyword ~ - - -, + + +identifier - - -readonly + + +false - - -{ + + +boolean_literal - - -class_member_declaration + + +: - - -type_parameter_constraints_clause + + +type - - -attribute_section + + +return_statement - - -abstract + + +} - - -return_statement + + +Obsolete - - -accessor_body + + +CLSCompliant - - -attribute + + +interface_type_list - - + + +class_member_declaration + + + +) + + + identifier - - -attribute_arguments + + +) - - -; + + +] - - -block + + +type + + + +NonExisting + + + +m + + + +, + + + +namespace_body + + + +class_type + + + +get + + + +positional_argument_list + + + +attribute_name + + + +NonSerialized + + + +member_name + + + +member_name \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.gruntree.red.txt index 1a1f78f27..2b6bc6914 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.gruntree.red.txt @@ -208,11 +208,8 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.stderr.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.stderr.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.tree.red.txt index 659968f67..b2451249c 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (enum_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier type)) :) (attribute_list (identifier Flags)) ])) (enum_modifier public) enum (identifier E) (enum_body { (enum_member_declarations (enum_member_declaration (identifier A)) , (enum_member_declaration (identifier B) = (constant_expression (identifier A))) , (enum_member_declaration (identifier C) = (constant_expression (additive_expression (additive_expression (literal 2)) + (multiplicative_expression (identifier A))))) , (enum_member_declaration (identifier D))) , }))) (namespace_member_declaration (delegate_declaration (delegate_modifier public) delegate (return_type void) (delegate_header (identifier Delegate) ( (parameter_list (fixed_parameter (type (class_type object)) (identifier P))) ) ;))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier Test)) (namespace_body { (using_directive (using_namespace_directive using (namespace_name (identifier System)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Collections))) ;)) (namespace_member_declaration (class_declaration (class_modifier public) class (identifier Список) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier static))) (return_type (identifier IEnumerable)) (method_header (member_name (identifier Power)) ( (parameter_list (fixed_parameters (fixed_parameter (type (integral_type int)) (identifier number)) , (fixed_parameter (type (integral_type int)) (identifier exponent)))) )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Список)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier Список) = (local_variable_initializer (object_creation_expression new (type (identifier Список)) ( ))))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Список)) . (identifier Main))) ( ))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier counter) = (local_variable_initializer (parenthesized_expression ( (expression (additive_expression (additive_expression (literal 0)) + (multiplicative_expression (literal 0)))) ))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier אתר) = (local_variable_initializer (literal 0)))))) ;)) (statement (while_statement while ( (boolean_expression (relational_expression (relational_expression (pre_increment_expression ++ (unary_expression (post_increment_expression (primary_expression (identifier counter)) ++)))) < (shift_expression (pre_decrement_expression -- (unary_expression (post_decrement_expression (primary_expression (identifier exponent)) --)))))) ) (embedded_statement (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier result)) (assignment_operator =) (expression (additive_expression (additive_expression (additive_expression (multiplicative_expression (multiplicative_expression (identifier result)) * (unary_expression (identifier number)))) + (multiplicative_expression (unary_expression + (unary_expression (post_increment_expression (primary_expression (post_increment_expression (primary_expression (identifier number)) ++)) ++))))) + (multiplicative_expression (identifier number)))))) ;)) (statement (yield_statement yield return (expression (identifier result)) ;))) }))))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier static)) (return_type void) (method_header (member_name (identifier Main)) ( )) (method_body (block { (statement_list (foreach_statement foreach ( (local_variable_type (integral_type int)) (identifier i) in (expression (invocation_expression (primary_expression (identifier Power)) ( (argument_list (argument (literal 2)) , (argument (literal 8))) ))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Console)) . (identifier Write))) ( (argument_list (argument (literal "{0} ")) , (argument (identifier i))) ))) ;)) })))) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier async)) (return_type void) (method_header (member_name (identifier Wait)) ( )) (method_body (block { (statement_list (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (member_access (primary_expression (member_access (primary_expression (member_access (primary_expression (identifier System)) . (identifier Threading))) . (identifier Tasks))) . (identifier Task))) . (identifier Delay))) ( (argument_list (literal 0)) ))))) ;)) })))) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier AsyncAnonymous)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier task) = (expression (invocation_expression (primary_expression (member_access (primary_expression (member_access (primary_expression (identifier Task)) . (identifier Factory))) . (identifier StartNew))) ( (argument_list (lambda_expression async (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (return_statement return (expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (object_creation_expression new (type (identifier WebClient)) ( ))) . (identifier DownloadStringTaskAsync))) ( (argument_list (literal "http://example.com")) ))))) ;)) })))) )))))) ;)) })))) }))) }))) })))) +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier My)) (namespace_body { (namespace_member_declaration (enum_declaration (attributes (attribute_section [ (attribute_target_specifier (attribute_target (identifier type)) :) (attribute_list (identifier Flags)) ])) (enum_modifier public) enum (identifier E) (enum_body { (enum_member_declarations (enum_member_declaration (identifier A)) , (enum_member_declaration (identifier B) = (constant_expression (identifier A))) , (enum_member_declaration (identifier C) = (constant_expression (additive_expression (additive_expression (literal 2)) + (multiplicative_expression (identifier A))))) , (enum_member_declaration (identifier D))) , }))) (namespace_member_declaration (delegate_declaration (delegate_modifier public) delegate (return_type void) (delegate_header (identifier Delegate) ( (parameter_list (fixed_parameter (type (class_type object)) (identifier P))) ) ;))) (namespace_member_declaration (namespace_declaration namespace (qualified_identifier (identifier Test)) (namespace_body { (using_directive (using_namespace_directive using (namespace_name (identifier System)) ;)) (using_directive (using_namespace_directive using (namespace_name (namespace_or_type_name (identifier System) . (identifier Collections))) ;)) (namespace_member_declaration (class_declaration (class_modifier public) class (identifier Список) (class_body { (class_member_declaration (method_declaration (method_modifiers (method_modifier (ref_method_modifier public)) (method_modifier (ref_method_modifier static))) (return_type (identifier IEnumerable)) (method_header (member_name (identifier Power)) ( (parameter_list (fixed_parameters (fixed_parameter (type (integral_type int)) (identifier number)) , (fixed_parameter (type (integral_type int)) (identifier exponent)))) )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (identifier Список)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier Список) = (local_variable_initializer (object_creation_expression new (type (identifier Список)) ( ))))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Список)) . (identifier Main))) ( ))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier counter) = (local_variable_initializer (parenthesized_expression ( (expression (additive_expression (additive_expression (literal 0)) + (multiplicative_expression (literal 0)))) ))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier אתר) = (local_variable_initializer (literal 0)))))) ;)) (statement (while_statement while ( (boolean_expression (relational_expression (relational_expression (pre_increment_expression ++ (unary_expression (post_increment_expression (primary_expression (identifier counter)) ++)))) < (shift_expression (pre_decrement_expression -- (unary_expression (post_decrement_expression (primary_expression (identifier exponent)) --)))))) ) (embedded_statement (block { (statement_list (statement (expression_statement (statement_expression (assignment (unary_expression (identifier result)) (assignment_operator =) (expression (additive_expression (additive_expression (additive_expression (multiplicative_expression (multiplicative_expression (identifier result)) * (unary_expression (identifier number)))) + (multiplicative_expression (unary_expression + (unary_expression (post_increment_expression (primary_expression (post_increment_expression (primary_expression (identifier number)) ++)) ++))))) + (multiplicative_expression (identifier number)))))) ;)) (statement (yield_statement yield return (expression (identifier result)) ;))) }))))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier static)) (return_type void) (method_header (member_name (identifier Main)) ( )) (method_body (block { (statement_list (foreach_statement foreach ( (local_variable_type (integral_type int)) (identifier i) in (expression (invocation_expression (primary_expression (identifier Power)) ( (argument_list (argument (literal 2)) , (argument (literal 8))) ))) ) (embedded_statement (block { (statement_list (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier Console)) . (identifier Write))) ( (argument_list (argument (literal "{0} ")) , (argument (identifier i))) ))) ;)) })))) })))) (class_member_declaration (method_declaration (method_modifiers (method_modifier async)) (return_type void) (method_header (member_name (identifier Wait)) ( )) (method_body (block { (statement_list (expression_statement (statement_expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (member_access (primary_expression (member_access (primary_expression (member_access (primary_expression (identifier System)) . (identifier Threading))) . (identifier Tasks))) . (identifier Task))) . (identifier Delay))) ( (argument_list (literal 0)) ))))) ;)) })))) (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier AsyncAnonymous)) ( )) (method_body (block { (statement_list (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier task) = (expression (invocation_expression (primary_expression (member_access (primary_expression (member_access (primary_expression (identifier Task)) . (identifier Factory))) . (identifier StartNew))) ( (argument_list (lambda_expression async (anonymous_function_signature (explicit_anonymous_function_signature ( ))) => (anonymous_function_body (block { (statement_list (return_statement return (expression (await_expression await (unary_expression (invocation_expression (primary_expression (member_access (primary_expression (object_creation_expression new (type (identifier WebClient)) ( ))) . (identifier DownloadStringTaskAsync))) ( (argument_list (literal "http://example.com")) ))))) ;)) })))) )))))) ;)) })))) }))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.tree.svg index d358a9a25..994d268a4 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-I/Reference/sample.tree.svg @@ -1,12 +1,12 @@ - - - - + + + + - - - + + + @@ -59,7 +59,7 @@ - + @@ -79,2517 +79,2512 @@ - - - - + + + + - - - + + + - + - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -identifier + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +block - - -identifier + + +delegate_header - - -multiplicative_expression + + +explicitly_typed_local_variable_declaration - - -identifier + + ++ - - -= + + +primary_expression - - -= + + +0 - - -; + + +expression - - -public + + +primary_expression - - -local_variable_initializer + + +ref_method_modifier - - + + +Factory + + + { - - -; + + +Main - - -identifier + + +; - - -exponent + + +Список - - -method_header + + +delegate_declaration - - + + additive_expression - - -{ - - - -argument_list + + +declaration_statement - - -: + + +identifier - - -= + + +prog - - -type + + +statement_list - - + + identifier - - -enum - - - -) + + +{ - - -identifier + + +statement - - -number + + +async - - -statement_list + + +await - - + + ; - - -) + + +A - - -literal + + +identifier - - -0 + + +identifier - - -member_access + + +, - - -primary_expression + + +identifier - - -) + + +type - - -"http://example.com" + + +attribute_list - - -( + + ++ - - -type + + +unary_expression - - -( + + +identifier - - -( + + +type - - -new + + +) - - + + identifier - - -attribute_target_specifier + + +namespace_name - - -invocation_expression + + +local_variable_declaration - - -Список + + +method_body - - -) + + +class_type - - -parameter_list + + +identifier - - -public + + +return_type - - -member_access + + +invocation_expression - - -block + + +} - - -invocation_expression + + +method_declaration - - -= + + +P - - -} + + +method_header - - -{ + + +attribute_target_specifier - - -statement_list + + +Wait - - -Delegate + + +primary_expression - - -statement_list + + +; - - -identifier + + +expression - - -0 + + +literal - - -class_member_declaration + + +; - - -primary_expression + + +Collections - - -} + + +literal + + + +explicitly_typed_local_variable_declarators - - + + return_type - - -. + + +delegate - - -"{0}·" + + +parameter_list - - -identifier + + +expression_statement - - -integral_type + + +System + + + +) - - + + block - - + + identifier - - -yield + + +identifier - - -( + + +class_modifier - - -System + + +method_modifiers - - + + ) - - -primary_expression - - - -class_member_declaration + + +. - - -statement + + +< - - -{ + + +pre_increment_expression - - -statement + + +) - - -[ + + +boolean_expression - - -2 + + +block - - -lambda_expression + + +primary_expression - - -fixed_parameter + + +type - - -+ + + +foreach_statement - - -object_creation_expression + + +method_declaration - - -statement + + +method_declaration - - -. + + +return_statement - - -Список + + +invocation_expression - - -expression_statement + + +invocation_expression - - -D + + +} - - -identifier + + +using_directive - - -} + + +primary_expression - - + + namespace_body - - -unary_expression + + +method_modifier - - -identifier + + +Main - - -var + + +class_member_declaration - - -member_access + + +( - - -namespace_body - - - -while + + +identifier - - -} + + +identifier - - -namespace_member_declaration + + +additive_expression - - -P + + +block - - -primary_expression + + +parenthesized_expression - - -= + + +) - - -task + + +method_header - - -identifier + + +{ - - -local_variable_initializer + + +literal - - -int + + +embedded_statement - - -int + + +local_variable_declaration - - -) + + +identifier - - -unary_expression + + +statement - - -declaration_statement + + +primary_expression - - -argument + + +. - - -) + + +public - - -identifier + + +primary_expression - - -) + + +primary_expression - - -static + + +local_variable_type - - -) + + +namespace - - -i + + +} - - -void + + +method_modifier - - + + identifier - - + + +embedded_statement + + + +ref_method_modifier + + + unary_expression - - -multiplicative_expression + + +enum_member_declaration - - -namespace + + +) - - -literal + + +static - - -literal + + +type - - -, + + +post_increment_expression - - + + ; - - -statement_expression + + +pre_decrement_expression - - -Test + + +type - - -explicitly_typed_local_variable_declarators + + ++ - - -identifier + + +0 - - -member_access + + +method_modifiers - - -embedded_statement + + +namespace_or_type_name - - -method_declaration + + +, - - + + identifier - - -2 + + +number - - -statement + + +statement_list - - -* + + +identifier - - -StartNew + + +statement - - -expression + + +) - - -enum_member_declaration + + +member_access + + + ++ - - + + explicitly_typed_local_variable_declarator - - -ref_method_modifier + + +multiplicative_expression - - -constant_expression + + +method_body + + + +fixed_parameter + + + +Delay + + + +identifier + + + +implicitly_typed_local_variable_declarator enum_member_declarations - - -} - - - -. + + +assignment - - -yield_statement + + +primary_expression - - -result + + +identifier - - -return + + +namespace_body - - -expression_statement + + +block - - -IEnumerable + + +method_header - - -class_declaration + + +using_directive - - -literal + + +enum_member_declaration - - -) + + +void - - -delegate + + +local_variable_initializer - - -static + + +D - - + + identifier - - -int - - - -type + + +) - - -++ + + +int - - -unary_expression + + +statement_expression - - -primary_expression + + +type - - -identifier + + +( - - -counter + + +System - - -) + + +namespace_declaration - - -primary_expression + + +integral_type - - + + declaration_statement - - -enum_body - - - -statement - - - -; + + +primary_expression - - -namespace_or_type_name + + +local_variable_declaration - - -My + + +explicitly_typed_local_variable_declarators - - -identifier + + +argument - - -expression_statement + + +( - - -namespace_member_declaration + + +argument - - -member_access + + +using_namespace_directive - - -method_header + + +integral_type - - -Power + + +exponent - - -; + + +unary_expression - - -type + + +result - - -additive_expression + + +primary_expression - - -< + + +( - - -object_creation_expression + + +IEnumerable - - -Flags + + +Console - - -ref_method_modifier + + +} - - + + identifier - - -type + + +number - - -namespace_or_type_name + + +A - - -. + + +} - - + + ) - - -prog + + +; - - -+ + + +foreach - - -explicitly_typed_local_variable_declarators + + +explicitly_typed_local_variable_declaration - - -async - - - -explicitly_typed_local_variable_declaration - - - -counter - - - -assignment + + +{ - - -+ + + +identifier - - -argument_list + + +expression_statement - - + + primary_expression - - -E + + +A - - -void + + +) - - + + identifier - - -expression - - - -constant_expression + + +expression_statement - - -] + + +class - - + + new - - -) - - - -invocation_expression + + +( - - -member_access + + +result - - + + identifier - - -Console - - - -using + + +( - - -multiplicative_expression + + +identifier - - -type + + +literal - - -DownloadStringTaskAsync + + +{ - - -explicit_anonymous_function_signature + + +integral_type - - -Write + + +int - - -( + + +namespace_member_declaration - - -type + + +i - - -integral_type + + +expression - - -return_type + + +) - - -} + + +literal - - + + identifier - - -post_increment_expression + + +compilation_unit - - -foreach_statement + + += - - -; + + +statement - - -statement_list + + +integral_type - - -identifier + + +unary_expression - - -void + + +[ - - -statement_list + + +counter - - -explicitly_typed_local_variable_declaration + + +2 - - + + . - - -( + + +enum_modifier - - -argument_list + + +) - - -statement + + +0 - - -class + + +StartNew - - -literal + + +( - - -. + + +enum_declaration - - -in + + +explicitly_typed_local_variable_declarators - - -( + + +literal - - -type + + +multiplicative_expression - - -) + + +class_member_declaration - - -implicitly_typed_local_variable_declaration + + +} - - -; + + +method_body - - -{ + + +-- - - -System + + +method_declaration - - -אתר + + += + + + +, - - + + member_access - - -fixed_parameters + + +. - - -, + + +argument_list - - -i + + +post_increment_expression - - -public + + +async - - -identifier + + +class_member_declaration - - -await_expression + + +return_type - - -primary_expression + + +identifier - - -number + + +Tasks - - -method_header + + +Task - - -member_name + + +Threading - - -++ + + +enum - - -identifier + + +explicitly_typed_local_variable_declaration - - -identifier + + +enum_member_declaration - - -identifier + + +) - - + + identifier - - -multiplicative_expression + + +{ - - + + invocation_expression - - -attribute_target - - - -} - - - -delegate_declaration + + +statement_list - - -fixed_parameter + + +statement_expression - - -= + + +local_variable_initializer - - -method_modifiers + + +exponent - - -fixed_parameter + + +public - - -Factory + + +member_access - - -C + + +multiplicative_expression - - -delegate_modifier + + +qualified_identifier - - -, + + +invocation_expression - - -method_body + + +fixed_parameters - - -implicitly_typed_local_variable_declarator + + +var - - -member_access + + +literal - - -method_declaration + + +void - - -primary_expression + + +await_expression - - -Список + + +statement_list - - -identifier + + +} - - -expression + + +B - - -method_modifiers + + +, - - -async + + +local_variable_declaration - - -await + + +. - - -attribute_list + + +statement_list - - + + qualified_identifier - - -method_body - - - -0 - - - -; + + +int - - -8 + + +declaration_statement - - -class_member_declaration + + +-- - - -anonymous_function_body + + +class_body - - + + identifier - - -multiplicative_expression + + +expression - - -identifier - - - -using_namespace_directive - - - -statement_list + + +E - - -primary_expression + + +identifier - - -return_type + + +namespace_member_declaration - - -+ + + +identifier - - -) + + +post_increment_expression - - -=> + + +Power - - -additive_expression + + +task - - -namespace_declaration + + +identifier - - + + { - - -. - - - -method_modifier + + += - - -using + + +result - - -{ + + +2 - - + + ( - - -explicitly_typed_local_variable_declarator + + +expression_statement - - -assignment_operator + + +void - - -parenthesized_expression + + +) - - -Wait + + +member_access - - -method_body + + +( - - -primary_expression + + +anonymous_function_body - - -method_modifier + + +fixed_parameter - - -) + + +multiplicative_expression - - -identifier + + +( - - -Task + + +identifier - - -argument_list + + +void - - -attribute_section + + +explicitly_typed_local_variable_declarator - - -public + + +additive_expression - - -post_increment_expression + + +identifier - - + + anonymous_function_signature - - -{ + + +method_modifier - - -namespace + + +object - - -{ + + +] - - -void + + +statement - - -primary_expression + + +( - - -using_namespace_directive + + +number - - -foreach + + +argument - - -( + + +literal - - -member_name + + +unary_expression - - -expression + + +delegate_modifier - - -member_name + + +identifier - - -{ + + +explicitly_typed_local_variable_declarator - - + + identifier - - -await - - - -int + + +attributes - - -+ + + +declaration_statement - - -member_access + + +type - - -literal + + +{ - - -identifier + + +method_body - - -block + + +{ - - -( + + +argument_list - - -namespace_member_declaration + + +identifier - - -namespace_name + + +; - - -enum_member_declaration + + +constant_expression - - + + argument - - -method_modifiers + + +i - - -, + + +enum_member_declaration - - -unary_expression + + += - - -Список + + +argument_list - - -method_declaration + + +; - - -literal + + +identifier - - -invocation_expression + + +await_expression - - -method_modifiers + + +class_member_declaration + + + +Delegate - - + + identifier - - -local_variable_declaration + + +C - - -. + + +My - - -declaration_statement + + +object_creation_expression - - + + identifier - - -. + + +static - - -Список + + +, - - -enum_declaration + + +0 - - -( + + +expression - - -; + + +literal - - -post_increment_expression + + +statement_expression - - -boolean_expression + + +attribute_section - - -WebClient + + +"{0}·" - - -block + + +) - - -multiplicative_expression + + +primary_expression - - -parameter_list + + +using - - -class_type + + +member_access - - + + +Список + + + identifier - - -expression + + +. - - -expression + + +enum_body - - -A + + +Список - - -additive_expression + + +( - - -primary_expression + + +++ - - -primary_expression + + +( - - -return + + +member_access - - -explicitly_typed_local_variable_declarator + + +primary_expression - - -} + + +אתר - - -statement_expression + + +int - - -literal + + +shift_expression - - -pre_decrement_expression + + +++ - - -class_modifier + + +. - - -) + + +( - - -Threading + + +await - - -, + + +statement - - -Tasks + + += - - -pre_increment_expression + + +: - - -primary_expression + + +using_namespace_directive - - + + identifier - - -statement_expression + + +=> - - -identifier + + +) - - -identifier + + +} - - -literal + + +fixed_parameter - - -relational_expression + + +in - - -additive_expression + + +primary_expression - - -statement_list + + +namespace_member_declaration - - -return_type + + +relational_expression - - -return_statement + + +++ - - -( + + +number - - -class_member_declaration + + +object_creation_expression - - -unary_expression + + +"http://example.com" - - -local_variable_initializer + + +implicitly_typed_local_variable_declaration - - -integral_type + + +member_access - - -block + + +while_statement - - + + identifier - - -block - - - -B - - - -identifier + + +return - - -namespace_declaration + + +++ - - + + identifier - - -int - - - -method_header - - - -qualified_identifier + + +counter - - -local_variable_declaration + + +method_modifiers - - -; + + +member_name - - -; + + +namespace_name - - -exponent + + +yield - - --- + + +attribute_target - - -Task + + +* - - -enum_member_declaration + + +int - - -unary_expression + + += - - -embedded_statement + + +{ - - -primary_expression + + +post_decrement_expression - - -method_declaration + + +invocation_expression - - -local_variable_declaration + + +; - - -( + + +, - - + + identifier - - -identifier + + +argument_list - - -using_directive + + +statement_expression - - + + ( - - -additive_expression + + +namespace_member_declaration + + + +new - - + + identifier - - -primary_expression + + +Write - - -( + + +} - - -declaration_statement + + +unary_expression - - -local_variable_type + + +unary_expression - - -enum_modifier + + +Power - - -number + + +return_type - - -} + + +Task - - -identifier + + +; - - --- + + +ref_method_modifier - - -identifier + + +method_header + + + +member_name , - - + + +Test + + + +while + + + +integral_type + + + +local_variable_initializer + + + +public + + + +unary_expression + + + identifier - - -Delay + + +additive_expression - - -{ + + +AsyncAnonymous - - + + +statement_list + + + primary_expression - - -block + + +return - - -} + + +class_declaration - - -invocation_expression + + +member_access - - -; + + +identifier - - -local_variable_declaration + + +block - - -method_modifier + + +method_modifiers - - -result + + +yield_statement - - -A + + +} - - -explicitly_typed_local_variable_declarators + + +multiplicative_expression - - -primary_expression + + +identifier - - -. + + +( - - -statement_expression + + +Список - - -AsyncAnonymous + + +relational_expression - - -namespace_name + + +DownloadStringTaskAsync - - -await_expression + + +; - - -type + + +WebClient - - -additive_expression + + +System - - -method_body + + +parameter_list - - -A + + +primary_expression - - -System + + +return_type - - -Main + + ++ - - -0 + + +statement - - + + +member_name + + + +constant_expression + + + identifier - - -} + + +. - - -( + + +explicit_anonymous_function_signature - - -identifier + + +namespace_declaration - - -, + + +assignment_operator - - -Collections + + +type - - -delegate_header + + +argument_list - - + + +; + + + identifier - - -integral_type + + +block - - -unary_expression + + +additive_expression - - -object + + +identifier - - -statement + + +{ - - -Main + + +; - - -result + + +public - - -expression_statement + + +type - - -post_decrement_expression + + +member_name - - -shift_expression + + +using - - -attributes + + +Flags - - -relational_expression + + +identifier - - -++ + + +8 - - -using_directive + + +identifier - - -( + + +expression - - -class_body + + += - - -Power + + +identifier - - -argument_list + + +multiplicative_expression - - -explicitly_typed_local_variable_declaration + + +) - - -namespace_member_declaration + + +Список - - -while_statement + + +member_access - - -++ + + +additive_expression - - -return_type + + +primary_expression - - -argument + + +additive_expression - - -number + + +lambda_expression - - -= + + +namespace - - -argument + + +} - - -integral_type + + +. - - -enum_member_declaration + + +identifier - - -ref_method_modifier + + +. - - -identifier + + +primary_expression - - -compilation_unit + + +( - - -member_name + + +statement_list \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.gruntree.red.txt index 93a959c2d..41fd1cf7c 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.gruntree.red.txt @@ -81,31 +81,25 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Boo -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Bar -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Boo +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ Bar +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument_list -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ < +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ type_argument -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ integral_type +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ int ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ > ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -442,11 +436,8 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ConsoleApplication1 -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ConsoleApplication1 ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tree.red.txt index f96f7ea8e..7947016d7 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Bar3)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier x) = (expression (object_creation_expression new (type (namespace_or_type_name (namespace_or_type_name (namespace_or_type_name (identifier Boo)) . (identifier Bar) (type_argument_list < (type_argument (integral_type int)) >)) . (identifier Foo) (type_argument_list < (type_argument (class_type object)) >))) ( )))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier x)) . (identifier Method) (type_argument_list < (type_argument (class_type string)) , (type_argument (class_type string)) >))) ( (argument_list (argument (literal " ")) , (argument (literal 5)) , (argument (object_creation_expression new (type (class_type object)) ( )))) ))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier q) = (expression (query_expression (from_clause from (identifier i) in (expression (object_creation_expression new (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer (literal 1)) , (element_initializer (literal 2)) , (element_initializer (literal 3)) , (element_initializer (literal 4))) }))))) (query_body (query_body_clause (where_clause where (boolean_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (literal 5)))))) (select_or_group_clause (select_clause select (expression (identifier i)))))))))) ;))) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator implicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s)) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (namespace_or_type_name (namespace_or_type_name (identifier ConsoleApplication1)) . (identifier Test))) ( ))) ;)) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator explicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s) (default_argument = (expression (literal "")))) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (identifier Test)) ( ))) ;)) })))) }))) })))) +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (method_declaration method_modifiers (return_type void) (method_header (member_name (identifier Bar3)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier x) = (expression (object_creation_expression new (type (namespace_or_type_name (identifier Boo) . (identifier Bar) (type_argument_list < (type_argument (integral_type int)) >) . (identifier Foo) (type_argument_list < (type_argument (class_type object)) >))) ( )))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier x)) . (identifier Method) (type_argument_list < (type_argument (class_type string)) , (type_argument (class_type string)) >))) ( (argument_list (argument (literal " ")) , (argument (literal 5)) , (argument (object_creation_expression new (type (class_type object)) ( )))) ))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier q) = (expression (query_expression (from_clause from (identifier i) in (expression (object_creation_expression new (type (array_type (non_array_type (integral_type int)) (rank_specifier [ ]))) (object_or_collection_initializer (collection_initializer { (element_initializer_list (element_initializer (literal 1)) , (element_initializer (literal 2)) , (element_initializer (literal 3)) , (element_initializer (literal 4))) }))))) (query_body (query_body_clause (where_clause where (boolean_expression (relational_expression (relational_expression (identifier i)) > (shift_expression (literal 5)))))) (select_or_group_clause (select_clause select (expression (identifier i)))))))))) ;))) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator implicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s)) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (namespace_or_type_name (identifier ConsoleApplication1) . (identifier Test))) ( ))) ;)) })))) (class_member_declaration (operator_declaration (operator_modifier public) (operator_modifier static) (operator_declarator (conversion_operator_declarator explicit operator (type (identifier Test)) ( (fixed_parameter (type (class_type string)) (identifier s) (default_argument = (expression (literal "")))) ))) (operator_body (block { (statement_list (return_statement return (expression (object_creation_expression new (type (identifier Test)) ( ))) ;)) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tree.svg index 0f0a0b46c..24807612f 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-K/Reference/sample.tree.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + @@ -42,28 +42,26 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -177,1154 +175,1141 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +non_array_type + + + +class_member_declaration + + + +select_clause + + + +identifier + new - - -query_body_clause + + +identifier - - -argument + + +( - - -var + + +{ - - -default_argument + + +identifier + + + +element_initializer + + + +argument element_initializer - - -type_argument_list + + +[ - - -int + + +i - - -identifier + + +void - - -( + + +, ( - - -; - - - -( + + +object_creation_expression - - -type + + +type_argument - - -declaration_statement + + +ConsoleApplication1 - - -statement_list + + +literal - - -type + + +implicitly_typed_local_variable_declarator - - -static + + +implicit - - -member_name + + +Foo - - -expression_statement + + +} - - -array_type + + +implicitly_typed_local_variable_declarator - - -class_type + + +{ literal - - -5 + + +fixed_parameter - - -3 + + +public - - -identifier + + +, - - -primary_expression + + +class - - -> + + +; - - -integral_type + + +. - - -object_creation_expression + + +argument_list - - -type_argument + + +type - - -namespace_member_declaration + + +invocation_expression - - -collection_initializer + + +namespace_or_type_name - - -public + + +) - - -identifier + + +> - - + + +type + + + return - - -identifier + + +statement - - -class_type + + +{ - - -string + + +type - - -namespace_declaration + + +prog - - -Test + + +< - - -= + + +. - - -Test + + +operator_modifier - - -implicitly_typed_local_variable_declarator + + +identifier - - -[ + + +) - - -type + + +class_member_declaration - - + + } - - -return_statement - - - -( - - - -object_creation_expression + + +var - - -integral_type + + +identifier - - -conversion_operator_declarator + + +Bar3 - - + + ; - - -from + + +} - - -x + + +argument - - -conversion_operator_declarator + + +operator_modifier - - -rank_specifier + + +identifier - - -expression + + +explicit - - -"" + + +expression_statement - - -select_or_group_clause + + +Test - - -namespace_or_type_name + + +primary_expression - - -implicit - - - -class_member_declaration - - - -namespace_body + + +class_body - - -identifier + + +expression - - + + object_creation_expression - - -i - - - -i - - - -ConsoleApplication1 - - - -new - - - -qualified_identifier - - - + + } - - -statement + + +string - - -new + + +identifier - - -{ + + +2 - - -} + + +compilation_unit - - -type + + +integral_type - - -) + + +method_header - - -, + + +int - - -identifier + + +class_type - - -element_initializer_list + + +member_name - - -from_clause + + +] - - -Boo + + +{ - - -element_initializer + + +type - - -( + + +. - - -identifier + + +Test - - + + ) - - -identifier - - - -var - - - -shift_expression - - - -] - - - -object_or_collection_initializer + + +class_type - - -int + + +declaration_statement - - -; + + +s - - -non_array_type + + +namespace_body - - -identifier + + +new - - -object + + +statement_list - - -, + + +type - - -block + + +statement_list - - -. + + +static - - -s + + +new - - -) + + +argument - - -return_statement + + +public q - - -Test + + += - - -local_variable_declaration + + +identifier - - -type_argument_list + + +namespace_member_declaration - - -type_argument_list + + +query_body - - -new + + +; - - -identifier + + +class_type - - -primary_expression + + +literal - - -class_type + + +object - - -static + + +; - - + + object_creation_expression - - -} + + +query_body_clause - - -class_member_declaration + + +from_clause - - -statement + + +where_clause - - -) + + +operator_declarator - - -member_access + + +return_statement - - + + identifier - - -. - - - -boolean_expression + + +implicitly_typed_local_variable_declaration - - -operator + + +Boo - - -> + + +select expression - - -2 + + +element_initializer - - -{ + + +3 - - -explicit + + +operator_declaration - - -{ + + +fixed_parameter - - -< + + +object_or_collection_initializer - - -Test + + +implicitly_typed_local_variable_declaration - - -literal + + +( - - -operator_body + + +) - - -string + + +Bar - - -, + + +Test + + + +method_body + + + +class_type + + + +identifier literal - - -relational_expression + + +} - - -Foo + + +< - - -{ + + +> - - -identifier + + +operator_declaration - - -class_member_declaration + + +) - - -operator_declaration + + +, - - -( + + +operator_declarator - - -Method + + +expression - - -; + + +ConsoleApplication1 - - + + +statement + + + +class_declaration + + + identifier - - -> + + +< - - -invocation_expression + + +return_type - - -new + + +i - - -Bar + + +literal - - -object_creation_expression + + +type - - -implicitly_typed_local_variable_declarator + + +block - - -literal + + +in - - -statement_expression + + +query_expression - - -, + + +) - - -local_variable_declaration + + +integral_type - - -literal + + +identifier - - -select_clause + + +rank_specifier - - -) + + +type - - -) + + +expression - - -operator_declarator + + +5 + + + +operator_modifier + + + +shift_expression + + + +( + + + +, + + + +method_modifiers - - + + +class_type + + + type_argument - - -implicitly_typed_local_variable_declaration + + +identifier - - -argument_list + + +1 - - -where + + +select_or_group_clause - - -where_clause + + +block - - -< + + +class_member_declaration - - -> + + +statement_expression = - - -argument - - - -literal - - - -expression + + +) - - -i + + +object - - -} + + +> - - -class_type + + +type - - -identifier + + +statement_list - - -in + + +array_type method_declaration - - -class_type + + +i - - -class + + +expression - - -1 + + +4 - - -identifier + + +type_argument - - + + identifier - - -s + + +var - - + + identifier - - -query_expression - - - -, + + +object_creation_expression - - -expression + + +; - - -argument + + +declaration_statement - - -literal + + +class_type - - + + Test - - -= - - - -ConsoleApplication1 - - - -type - - - -type + + +string relational_expression - - -string + + +) - - -element_initializer + + +type_argument_list + + + +type_argument_list + + + +new + + + +x + + + +( + + + +, + + + +} + + + +object_creation_expression - - -{ + + +conversion_operator_declarator - - -type_argument + + +default_argument - - -. + + +element_initializer - - -{ + + +( - - -operator_modifier + + +. - - + + expression - - -operator_body + + +static - - -identifier + + +new - - + + return - - -statement_list + + +x - - -literal + + +relational_expression - - -} + + +qualified_identifier - - -operator + + +local_variable_declaration - - + + ( - - -namespace + + +literal - - + + identifier - - -operator_modifier - - - -namespace_or_type_name - - - -method_header - - - -string + + +"" - - -, + + +identifier - - -public + + +"·" - - -statement + + +operator_body - - -declaration_statement + + +type - - -namespace_or_type_name + + +5 - - -compilation_unit + + +element_initializer_list - - -; + + +where - - -expression + + +identifier - - -implicitly_typed_local_variable_declaration + + +local_variable_declaration - - -class_type + + +s - - -block + + +int - - -prog + + +string - - -return_type + + +type_argument - - -< + + +primary_expression - - -block + + +Method - - -type + + +from - - -operator_modifier + + += - - + + expression - - -namespace_or_type_name + + +{ - - -statement_list + + +namespace_declaration - - + + namespace_or_type_name - - -fixed_parameter - - - -fixed_parameter - - - -( - - - -. - - - -identifier + + +string - - -x + + +{ - - -5 + + +statement - - -operator_modifier + + +, - - -method_modifiers + + +literal - - -type + + +return_statement - - -4 + + +conversion_operator_declarator - - -object + + +member_access - - -Bar3 + + +Test - - -method_body + + +operator_body - - -void + + +boolean_expression - - -operator_declarator + + +( - - -select + + +literal - - -class_declaration + + +type_argument_list - - -class_body + + +namespace - - -type_argument + + +block - - -) + + +operator_modifier - - -"·" + + +collection_initializer - - -query_body + + +identifier - - -element_initializer + + +> - - -operator_declaration + + +operator - - -) + + +identifier - - -type + + +operator \ No newline at end of file diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.gruntree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.gruntree.red.txt index 4524c9249..84bf70b71 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.gruntree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.gruntree.red.txt @@ -412,11 +412,8 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -629,22 +626,19 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_alias_member ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ qualified_alias_member -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ global -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ :: +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ contextual_keyword +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ global ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ :: +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ @@ -692,11 +686,8 @@ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ namespace_or_type_name -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System -⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ identifier +⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ System ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ . ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎛ diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tree.red.txt b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tree.red.txt index ac82a2f97..6d3a299e0 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tree.red.txt +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tree.red.txt @@ -1 +1 @@ -(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (property_declaration (property_modifier public) (type (identifier Type)) (member_name (identifier Foo)) (property_body { (accessor_declarations (get_accessor_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier Obsolete)) (attribute_arguments ( (positional_argument_list (literal "Name")) , (named_argument_list (named_argument (identifier error) = (attribute_argument_expression (boolean_literal false)))) )))) ])) get (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier result) = (expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_argument (integral_type int)) >))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier t) = (expression (equality_expression (equality_expression (typeof_expression typeof ( (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) ))) == (relational_expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier Nullable) (type_argument_list < (type_argument (integral_type int)) >))) )))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier t)) (assignment_operator =) (expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_argument (array_type (non_array_type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (rank_specifier [ ]) (rank_specifier [ ]) (rank_specifier [ ]))) >))) ))))) ;)) (statement (return_statement return (expression (typeof_expression typeof ( (unbound_type_name (identifier IEnumerable) (generic_dimension_specifier < >)) ))) ;))) }))) (set_accessor_declaration set (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier t) = (expression (typeof_expression typeof ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier Int32))) )))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier t)) . (identifier ToString))) ( ))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier t)) (assignment_operator =) (expression (contextual_keyword value)))) ;))) })))) }))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Constants)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (additive_expression (additive_expression (additive_expression (additive_expression (literal 1)) + (multiplicative_expression (literal 2))) + (multiplicative_expression (literal 3))) + (multiplicative_expression (literal 5)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (namespace_or_type_name (qualified_alias_member (identifier (contextual_keyword global)) :: (identifier System))) . (identifier String))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier s) = (local_variable_initializer (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (literal "a")) + (multiplicative_expression (cast_expression ( (type (namespace_or_type_name (namespace_or_type_name (identifier System)) . (identifier String))) ) (unary_expression (literal "a"))))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "A")))))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ConstructedType)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier List) (type_argument_list < (type_argument (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (null_literal null)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier c) = (local_variable_initializer (member_access (primary_expression (identifier i)) . (identifier Count))))))) ;))) })))) }))) })))) +(prog (compilation_unit (namespace_declaration namespace (qualified_identifier (identifier ConsoleApplication1)) (namespace_body { (namespace_member_declaration (class_declaration class (identifier Test) (class_body { (class_member_declaration (property_declaration (property_modifier public) (type (identifier Type)) (member_name (identifier Foo)) (property_body { (accessor_declarations (get_accessor_declaration (attributes (attribute_section [ (attribute_list (attribute (attribute_name (identifier Obsolete)) (attribute_arguments ( (positional_argument_list (literal "Name")) , (named_argument_list (named_argument (identifier error) = (attribute_argument_expression (boolean_literal false)))) )))) ])) get (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier result) = (expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_argument (integral_type int)) >))) )))))) ;)) (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier t) = (expression (equality_expression (equality_expression (typeof_expression typeof ( (type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) ))) == (relational_expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier Nullable) (type_argument_list < (type_argument (integral_type int)) >))) )))))))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier t)) (assignment_operator =) (expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier IEnumerable) (type_argument_list < (type_argument (array_type (non_array_type (nullable_value_type (non_nullable_value_type (integral_type int)) (nullable_type_annotation ?))) (rank_specifier [ ]) (rank_specifier [ ]) (rank_specifier [ ]))) >))) ))))) ;)) (statement (return_statement return (expression (typeof_expression typeof ( (unbound_type_name (identifier IEnumerable) (generic_dimension_specifier < >)) ))) ;))) }))) (set_accessor_declaration set (accessor_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (implicitly_typed_local_variable_declaration var (implicitly_typed_local_variable_declarator (identifier t) = (expression (typeof_expression typeof ( (type (namespace_or_type_name (identifier System) . (identifier Int32))) )))))) ;)) (statement (expression_statement (statement_expression (invocation_expression (primary_expression (member_access (primary_expression (identifier t)) . (identifier ToString))) ( ))) ;)) (statement (expression_statement (statement_expression (assignment (unary_expression (identifier t)) (assignment_operator =) (expression (contextual_keyword value)))) ;))) })))) }))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier Constants)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (additive_expression (additive_expression (additive_expression (additive_expression (literal 1)) + (multiplicative_expression (literal 2))) + (multiplicative_expression (literal 3))) + (multiplicative_expression (literal 5)))))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (qualified_alias_member (identifier (contextual_keyword global)) :: (identifier System)) . (identifier String))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier s) = (local_variable_initializer (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (additive_expression (literal "a")) + (multiplicative_expression (cast_expression ( (type (namespace_or_type_name (identifier System) . (identifier String))) ) (unary_expression (literal "a"))))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "a"))) + (multiplicative_expression (literal "A")))))))) ;))) })))) (class_member_declaration (method_declaration (method_modifiers (ref_method_modifier public)) (return_type void) (method_header (member_name (identifier ConstructedType)) ( )) (method_body (block { (statement_list (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (namespace_or_type_name (identifier List) (type_argument_list < (type_argument (integral_type int)) >))) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier i) = (local_variable_initializer (null_literal null)))))) ;)) (statement (declaration_statement (local_variable_declaration (explicitly_typed_local_variable_declaration (type (integral_type int)) (explicitly_typed_local_variable_declarators (explicitly_typed_local_variable_declarator (identifier c) = (local_variable_initializer (member_access (primary_expression (identifier i)) . (identifier Count))))))) ;))) })))) }))) })))) diff --git a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tree.svg b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tree.svg index e4b4287f2..3867d19d6 100644 --- a/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tree.svg +++ b/tools/GrammarTesting/Tests/Parsing/Samples/v6/AllInOneNoPreprocessor-v6-split/part-M/Reference/sample.tree.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + @@ -198,12 +198,11 @@ - - - - - - + + + + + @@ -236,24 +235,24 @@ - - - + + + - + - + - - - - - + + + + + @@ -285,1801 +284,1787 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -System + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +attribute_list - - -explicitly_typed_local_variable_declarators + + +member_name - - -literal + + +nullable_value_type - - + + identifier - - -class_declaration - - - -accessor_body - - - -{ - - - -IEnumerable - - - -( - - - -local_variable_declaration + + +"a" - - -integral_type + + +int - - + + < - - + + . - - -typeof_expression - - - -identifier - - - -local_variable_declaration - - - -= - - - -= + + +explicitly_typed_local_variable_declarators - - -statement + + +implicitly_typed_local_variable_declaration - - -identifier + + +declaration_statement - - -statement + + +block explicitly_typed_local_variable_declarator - - -identifier - - - -additive_expression - - - -= + + +prog - - -} + + +typeof - - -attribute_arguments + + +( - - -statement + + +typeof_expression - - -+ + + +, - - -type + + +namespace_or_type_name - - -additive_expression + + +ToString - - -List + + +literal - - + + identifier - - -primary_expression + + +"A" - - -int + + +. - - -type + + +expression - - -+ + + +integral_type - - -; + + +accessor_body - - -( + + +identifier - - -public + + +> - - -] + + +5 - - -primary_expression + + +] - - -additive_expression + + ++ - - -type + + +return_statement - - -explicitly_typed_local_variable_declarator + + +IEnumerable = - - -) + + +( - - -namespace_or_type_name + + +? - - -+ + + +Type - - + + identifier - - -== + + +explicitly_typed_local_variable_declarator - - -int + + +identifier - - -attribute + + +class_body - - -IEnumerable + + +identifier - - -attribute_argument_expression + + +var - - -literal + + +multiplicative_expression - - -i + + +t - - -expression + + +} - - -typeof + + +cast_expression - - -method_body + + +local_variable_initializer - - -identifier + + +local_variable_declaration - - -= + + +statement - - -return_type + + +typeof - - -] + + +System - - -identifier + + +additive_expression - - -statement - - - -} - - - -{ + + +type_argument - - -nullable_type_annotation + + +integral_type - - -( + + +namespace_or_type_name - - -expression_statement + + +property_body - - -] + + +String - - -relational_expression + + +type - - -class + + +{ - - -< + + +public - - -"A" + + +c - - + + identifier - - -explicitly_typed_local_variable_declaration + + +declaration_statement - - -literal + + += - - -; + + +identifier - - -value + + +nullable_value_type - - -namespace_body + + +multiplicative_expression - - -non_array_type + + +method_body - - + + identifier - - -s + + +qualified_identifier - - -. + + +implicitly_typed_local_variable_declaration - - -; + + +relational_expression - - -explicitly_typed_local_variable_declarators + + +ConsoleApplication1 - - -integral_type + + +"Name" - - -; + + +type - - -positional_argument_list + + +equality_expression - - -, + + +set - - -get + + +( - - -i + + +identifier - - -) + + +attribute_argument_expression - - -return_type + + +block - - -ConsoleApplication1 + + +additive_expression - - -named_argument + + += - - -generic_dimension_specifier + + +} - - -"a" + + +type - - -method_header + + +literal - - -; + + +local_variable_initializer - - -} + + +namespace_body - - + + identifier - - -identifier + + +literal - - -integral_type + + +) - - -type + + +> - - -identifier + + +literal - - -prog + + +null_literal - - -explicitly_typed_local_variable_declaration + + +multiplicative_expression - - -method_header + + +typeof - - -namespace_or_type_name + + +Foo - - -{ + + +typeof_expression - - -namespace_declaration + + +nullable_type_annotation - - -int + + ++ - - -member_name + + +IEnumerable - - -attribute_name + + +property_modifier - - + + ) - - -type + + +} - - -; + + +statement - - -3 + + +explicitly_typed_local_variable_declaration - - -local_variable_initializer + + +statement - - -[ + + +class_member_declaration - - -literal + + +declaration_statement - - -typeof_expression + + +integral_type - - -int - - - -integral_type - - - -{ - - - -method_declaration - - - -void - - - -identifier - - - -= - - - -. - - - -identifier - - - -method_modifiers + + +) statement - - -explicitly_typed_local_variable_declaration - - - -public - - - -} + + +"a" - - -non_nullable_value_type + + +) - - -> + + +literal - - -type_argument_list + + +implicitly_typed_local_variable_declaration - - -local_variable_declaration + + +statement - - -+ + + +local_variable_initializer - - -identifier + + +accessor_body - - -t + + +{ - - -) + + +( - - -; + + +global - - -< + + +Nullable - - + + additive_expression - - -Type - - - -local_variable_declaration - - - -t + + +nullable_type_annotation - - -= + + +type - - -literal + + +identifier statement_expression - - -null_literal + + +explicitly_typed_local_variable_declarators - - -attribute_list + + +] - - -multiplicative_expression + + +additive_expression - - -expression + + +identifier - - -int + + +ref_method_modifier - - -"a" + + +; - - -statement + + +block - - -class_member_declaration + + +i - - -type + + +expression - - -Nullable + + +additive_expression - - -( + + +type_argument_list - - -namespace_or_type_name + + +identifier - - -Test + + +local_variable_declaration - - -> + + +identifier - - -additive_expression + + +declaration_statement - - -result + + +attributes - - -integral_type + + +unbound_type_name - - -type + + +invocation_expression - - -local_variable_declaration + + +t - - -typeof + + +statement_expression - - -var + + +expression_statement - - -namespace_or_type_name + + ++ - - -) + + +[ - - -( + + +s - - -"Name" + + +identifier - - -multiplicative_expression + + +) - - -statement + + +declaration_statement - - -ConstructedType + + +identifier - - -) + + +return - - -var + + +class_declaration - - -literal + + +expression_statement - - -false + + +method_modifiers - - -multiplicative_expression + + +{ - - -contextual_keyword + + +Obsolete - - -identifier + + +null - - -declaration_statement + + +[ - - -return_statement + + +int - - -null + + ++ - - -expression + + +non_array_type - - -implicitly_typed_local_variable_declaration + + +non_nullable_value_type - - + + +< + + + +; + + + +attribute_section + + + +i + + + +named_argument_list + + + +positional_argument_list + + + +error + + + +return_type + + + +attribute + + + +} + + + ++ + + + +} + + + +block + + + +var + + + +statement + + + identifier - - -statement_list + + +typeof_expression - - -accessor_declarations + + +literal - - -class_member_declaration + + +{ - - -assignment + + +; + + + +IEnumerable + + + +non_nullable_value_type + + + +method_body + + + +Test + + + +result + + + +( + + + +int + + + +type < - - -( + + +equality_expression - - -implicitly_typed_local_variable_declarator + + ++ - - -? + + +"a" - - -( + + +additive_expression - - -int + + +assignment - - + + type - - -statement + + +) - - + + +declaration_statement + + + statement - - -unary_expression + + +{ - - -cast_expression + + +explicitly_typed_local_variable_declaration - - -] + + +rank_specifier - - -= + + +additive_expression - - -) + + +; - - -nullable_value_type + + +namespace_or_type_name - - -explicitly_typed_local_variable_declarator + + +; - - -"a" + + +type_argument_list - - -identifier + + +named_argument - - -namespace + + +( - - -block + + +> - - -property_body + + +unary_expression - - -local_variable_initializer + + +literal - - -ref_method_modifier + + +boolean_literal - - -explicitly_typed_local_variable_declarator + + +attribute_name - - -block + + +public - - -non_nullable_value_type + + +accessor_declarations - - -member_access + + +; - - -[ + + +( - - -IEnumerable + + ++ - - -namespace_or_type_name + + +type_argument - - -literal + + +( - - -explicitly_typed_local_variable_declarators + + +statement - - -expression + + +multiplicative_expression + + + +:: + + + +local_variable_initializer + + + +) + + + +) + + + +additive_expression + + + +void + + + +implicitly_typed_local_variable_declarator + + + +declaration_statement + + + +namespace implicitly_typed_local_variable_declarator - - -type - - - -local_variable_declaration - - - -multiplicative_expression + + +assignment_operator - - -; + + +member_access - - -typeof_expression + + +integral_type - - -accessor_body + + +method_declaration - - -rank_specifier + + +== - - + + additive_expression - - -typeof + + +integral_type - - -unbound_type_name + + +member_access - - -) + + +identifier - - -type_argument_list + + +"a" - - -get_accessor_declaration + + += - - -System + + +statement - - -> + + +namespace_or_type_name - - -additive_expression + + +generic_dimension_specifier - - -typeof_expression + + +statement - - + + +. + + + literal - - -c + + +return_type - - -qualified_alias_member + + +) - - -typeof + + +; - - -expression_statement + + +) - - -additive_expression + + +} - - -error + + +List - - -namespace_or_type_name + + +type - - -block + + +t - - -. + + +statement_expression - - -expression_statement + + +"a" - - -return + + +assignment_operator - - -explicitly_typed_local_variable_declarators + + +typeof_expression - - -multiplicative_expression + + +< - - + + statement_list - - -identifier - - - -+ - - - -identifier - - - -additive_expression - - - -class_body - - - -implicitly_typed_local_variable_declaration + + +multiplicative_expression - - -void + + +2 - - -identifier + + +class_member_declaration - - -member_access + + += - - -class_member_declaration + + +attribute_arguments - - -. + + +contextual_keyword - - -; + + +] - - + + typeof - - -unary_expression + + +int - - -) + + +expression - - + + +( + + + type_argument - - -equality_expression + + +local_variable_declaration - - -statement + + +{ - - -"a" + + +get - - -( + + +value - - + + identifier - - -implicitly_typed_local_variable_declarator + + +set_accessor_declaration - - -< + + +statement_list - - + + +class + + + +String + + + expression - - -compilation_unit + + ++ - - -ref_method_modifier + + +} + + + +; - - -method_declaration + + +; - - + + ; - - -public + + +void - - -Int32 + + +method_header - - -typeof_expression + + +namespace_declaration - - + + +public + + + identifier - - -multiplicative_expression + + +explicitly_typed_local_variable_declaration - - -attributes + + +contextual_keyword - - -type + + +unary_expression - - -} + + +1 - - -statement_list + + +identifier - - -statement + + +integral_type - - + + identifier - - -? + + +typeof_expression - - -( + + +identifier - - -integral_type + + +. - - -t + + +statement_list - - -declaration_statement + + += - - -[ + + +assignment - - -( + + +identifier - - -{ + + +? - - -) + + +; - - -literal + + +System - - -namespace_or_type_name + + +statement - - -equality_expression + + +Constants - - -var + + +explicitly_typed_local_variable_declarators - - -invocation_expression + + +int - - -{ + + +unary_expression - - -declaration_statement + + +t - - -Count + + +additive_expression - - -type_argument + + +explicitly_typed_local_variable_declarators - - -> + + +System - - -named_argument_list + + +get_accessor_declaration primary_expression - - -[ - - - -member_name - - - -assignment_operator - - - -literal - - - -int - - - -rank_specifier - - - + + local_variable_declaration - - -contextual_keyword - - - -} + + +expression - - -declaration_statement + + +identifier - - -array_type + + +property_declaration - - -String + + +literal - - + + multiplicative_expression - - -+ + + +typeof - - -implicitly_typed_local_variable_declaration + + +typeof - - -> + + +int - - -identifier + + +( - - -typeof_expression + + +qualified_alias_member - - -rank_specifier + + +type_argument_list - - -typeof + + +identifier - - + + identifier - - -{ + + +array_type - - -set_accessor_declaration + + +namespace_or_type_name - - -method_body + + +t - - -explicitly_typed_local_variable_declaration + + +false - - -identifier + + += - - -i + + +[ - - + + = - - -namespace_or_type_name + + +> - - -expression + + +) - - -type_argument + + +var - - -property_declaration + + +( - - -assignment_operator + + +local_variable_declaration - - -type + + +i - - -5 + + += - - + + member_name - - -local_variable_initializer - - - -additive_expression - - - -type_argument_list + + +rank_specifier - - -identifier + + +literal - - -; + + +method_header - - -"a" + + +member_name - - -+ + + +statement_list - - -( + + +explicitly_typed_local_variable_declaration - - -set + + +primary_expression - - -assignment + + +. - - + + identifier - - -statement_expression - - - -ToString - - - -t + + +namespace_or_type_name - - -= + + +expression - - -type_argument_list + + +{ - - -t + + +expression_statement - - -System + + +identifier - - -) + + +rank_specifier - - -nullable_value_type + + +identifier - - -namespace_member_declaration + + +typeof_expression - - -declaration_statement + + +compilation_unit - - + + namespace_or_type_name - - -declaration_statement + + +integral_type - - -identifier + + +< - - -multiplicative_expression + + +int - - -statement_list + + +multiplicative_expression - - -attribute_section + + +class_member_declaration - - -nullable_type_annotation + + +Int32 - - -namespace_or_type_name + + +type - - -boolean_literal + + +method_modifiers - - -declaration_statement + + +type_argument - - -2 + + +type - - -:: + + +3 - - -local_variable_initializer + + +ref_method_modifier - - -method_modifiers + + +type - - -unary_expression + + +[ - - -type_argument + + +] - - + + identifier - - -Obsolete + + +namespace_member_declaration - - -property_modifier + + +local_variable_declaration - - -literal + + +identifier - - -} + + +type_argument_list - - -qualified_identifier + + +primary_expression - - -statement_expression + + +local_variable_declaration - - -identifier + + +type - - -Foo + + +Count - - -global + + +multiplicative_expression - - -Constants + + += - - -String + + +literal - - -+ + + +explicitly_typed_local_variable_declarator - - -integral_type + + +ConstructedType - - -block + + +implicitly_typed_local_variable_declarator - - -1 + + +> + + + +explicitly_typed_local_variable_declarator + + + +method_declaration \ No newline at end of file From 1d639da3ffdd4135b8a7957d57cc85aab9100232 Mon Sep 17 00:00:00 2001 From: Nigel-Ecma <6654683+Nigel-Ecma@users.noreply.github.com> Date: Tue, 6 May 2025 09:24:30 +0000 Subject: [PATCH 256/259] Apply suggestions from code review Co-authored-by: Jon Skeet --- standard/basic-concepts.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/standard/basic-concepts.md b/standard/basic-concepts.md index da3711dcd..0d587c165 100644 --- a/standard/basic-concepts.md +++ b/standard/basic-concepts.md @@ -887,7 +887,7 @@ A *type_name* is a *namespace_or_type_name* that refers to a type. Following resolution as described below, the *namespace_or_type_name* of a *type_name* shall refer to a type, or otherwise a compile-time error occurs. -A *namespace_or_type_name* refers to a type or a namespace. Resolution to a particular namespace or type involves two steps based on dividing the grammar into an leading part, being one of the grammar fragments: +A *namespace_or_type_name* refers to a type or a namespace. Resolution to a particular namespace or type involves two steps based on dividing the grammar into a leading part, being one of the grammar fragments: - `identifier type_argument_list?` - `qualified_alias_member` @@ -898,7 +898,7 @@ and a trailing part, being the grammar fragment: First the leading part is resolved to determine `R₀`, the starting namespace or type. -If the leading part of the *namespace_or_type_name* is a *qualified_alias_member*, then `R₀` is the namespace or type identified by resolving that as described in *Qualified alias member* [§14.8.1](namespaces.md#1481-general). +If the leading part of the *namespace_or_type_name* is a *qualified_alias_member*, then `R₀` is the namespace or type identified by resolving that as described in [§14.8.1](namespaces.md#1481-general). Otherwise, the leading part, being the grammar fragment *identifier type_argument_list?*, will have one of the forms: @@ -912,7 +912,7 @@ where: `R₀` is determined as follows: -- If `x` is zero and the *namespace_or_type_name* appears within a generic method declaration ([§15.6](classes.md#156-methods)) but outside the *attributes* of its *method-header,* and if that declaration includes a type parameter ([§15.2.3](classes.md#1523-type-parameters)) with name `I`, then `R₀` refers to that type parameter. +- If `x` is zero and the *namespace_or_type_name* appears within a generic method declaration ([§15.6](classes.md#156-methods)) but outside the *attributes* of its *method-header*, and if that declaration includes a type parameter ([§15.2.3](classes.md#1523-type-parameters)) with name `I`, then `R₀` refers to that type parameter. - Otherwise, if the *namespace_or_type_name* appears within a type declaration, then for each instance type `T` ([§15.3.2](classes.md#1532-the-instance-type)), starting with the instance type of that type declaration and continuing with the instance type of each enclosing class or struct declaration (if any): - If `x` is zero and the declaration of `T` includes a type parameter with name `I`, then `R₀` refers to that type parameter. - Otherwise, if the *namespace_or_type_name* appears within the body of the type declaration, and `T` or any of its base types contain a nested accessible type having name `I` and `x` type parameters, then `R₀` refers to that type constructed with the given type arguments. If there is more than one such type, the type declared within the more derived type is selected. From 4894c574d9f82586eaa66e4d16e050ab64fd600a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 6 May 2025 08:09:45 -0400 Subject: [PATCH 257/259] [create-pull-request] automated change (#1321) Co-authored-by: jskeet --- standard/grammar.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/standard/grammar.md b/standard/grammar.md index 3a30dad16..12fffd6a0 100644 --- a/standard/grammar.md +++ b/standard/grammar.md @@ -572,9 +572,8 @@ type_name ; namespace_or_type_name - : identifier type_argument_list? - | namespace_or_type_name '.' identifier type_argument_list? - | qualified_alias_member + : identifier type_argument_list? ('.' identifier type_argument_list?)* + | qualified_alias_member ('.' identifier type_argument_list?)* ; // Source: §8.1 General @@ -1134,9 +1133,12 @@ typeof_expression ; unbound_type_name - : identifier generic_dimension_specifier? - | identifier '::' identifier generic_dimension_specifier? - | unbound_type_name '.' identifier generic_dimension_specifier? + : identifier generic_dimension_specifier? ('.' identifier generic_dimension_specifier?)* + | unbound_qualified_alias_member ('.' identifier generic_dimension_specifier?)* + ; + +unbound_qualified_alias_member + : identifier '::' identifier generic_dimension_specifier? ; generic_dimension_specifier From 428e5fedfd78d53a91e9634b0dad2d055151cae6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 8 May 2025 10:15:17 -0400 Subject: [PATCH 258/259] Bump xunit.runner.visualstudio in /tools in the dotnet group (#1324) Bumps the dotnet group in /tools with 1 update: [xunit.runner.visualstudio](https://github.com/xunit/visualstudio.xunit). Updates `xunit.runner.visualstudio` from 3.0.2 to 3.1.0 - [Release notes](https://github.com/xunit/visualstudio.xunit/releases) - [Commits](https://github.com/xunit/visualstudio.xunit/compare/3.0.2...3.1.0) --- updated-dependencies: - dependency-name: xunit.runner.visualstudio dependency-version: 3.1.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj index 1d056aa4a..31826730d 100644 --- a/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj +++ b/tools/MarkdownConverter.Tests/MarkdownConverter.Tests.csproj @@ -17,7 +17,7 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive all From 7207d15f7ff5080278fcd76ac839fd2e81dc443f Mon Sep 17 00:00:00 2001 From: Rex Jaeschke Date: Fri, 9 May 2025 13:31:00 -0400 Subject: [PATCH 259/259] remove leading spaces --- standard/expressions.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/standard/expressions.md b/standard/expressions.md index a874836b8..3fc262f2f 100644 --- a/standard/expressions.md +++ b/standard/expressions.md @@ -214,11 +214,11 @@ In expressions, operators are referenced using operator notation, and in declara > *Note*: For an example of overloading the `++` and `--` operators see [§15.10.2](classes.md#15102-unary-operators). *end note* - |**Operator notation** | **Functional notation** | - |---------------------- | -------------------------| - |`«op» x` | `operator «op»(x)` | - |`x «op»` | `operator «op»(x)` | - |`x «op» y` | `operator «op»(x, y)` | +|**Operator notation** | **Functional notation** | +|---------------------- | -------------------------| +|`«op» x` | `operator «op»(x)` | +|`x «op»` | `operator «op»(x)` | +|`x «op» y` | `operator «op»(x, y)` | User-defined operator declarations always require at least one of the parameters to be of the class or struct type that contains the operator declaration.

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